i am unable to get the userdetails instead it is return null value.can any one help me

Kongaleti Navee
Tera Contributor
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading || newValue === '') {
        return;
    }
    var abc = g_form.getValue('u_name');
 
    var ga = new GlideAjax('AutoPopulateUserDetails');
    ga.addParam('sysparm_name', 'getUserDetails');
    ga.addParam('sysparm_usr', 'abc');
    ga.getXML(ResponseFunction);
 
    function ResponseFunction(response) {
        var answer = response.responseXML.documentElement.getAttribute("answer");
        alert(answer);
        var results = JSON.parse(answer);
 
        g_form.setValue('u_first_name',);
        g_form.setValue('u_last_name',);
        g_form.setValue('u_location',);
        g_form.setValue('u_manager',);
        g_form.setValue('u_email',);
 
 
 
 
 
var AutoPopulateUserDetails = Class.create();
AutoPopulateUserDetails.prototype = Object.extendsObject(AbstractAjaxProcessor, {
 
    type: 'AutoPopulateUserDetails',
    getUserDetails: function() {
        var xyz = this.getParameter('sysparm_usr');
 
        var gr = new GlideRecord('sys_user');
        gr.addQuery('sys_id', xyz);
        gr.query();
if(gr.next()){
 
return gr.u_first_name +";" + gr.u_last_name + ";" + gr.u_manager + ";" + gr.u_location + ";"+ gr.u_email;
 
}
 
    },
 
 
});
6 REPLIES 6

Danish Bhairag2
Tera Sage
Tera Sage

Hi @Kongaleti Navee ,

 

Issue is with this line in ur client script

 

ga.addParam('sysparm_usr', 'abc');

 

Please remove single qoutes from abc variable n check u should get proper value.

 

ga.addParam('sysparm_usr', abc);

 

Thanks,

Danish

 

ersureshbe
Giga Sage
Giga Sage

Hi, 

I'm seeing you defined u_. It's wrong. The following fields are oob. So you can't call it as u_ and remove & add like first_name, last_name etc.,

 

gr.u_first_name +";" + gr.u_last_name + ";" + gr.u_manager + ";" + gr.u_location + ";"+ gr.u_email;

 

Regards,
Suresh.

ersureshbe
Giga Sage
Giga Sage

Hi,  

Additionally, check below it's populating sysid or not 

   var abc = g_form.getValue('u_name')

// Add alert box and display ABC values.

alert(ABC);

 

Regards,
Suresh.

Aniket Chavan
Tera Sage
Tera Sage

Hello @Kongaleti Navee ,

 

Please give a try to the code below and let me know how it works for you 

 

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading || newValue === '') {
        return;
    }
    var abc = g_form.getValue('u_name');
    g_form.addInfoMessage("User Name: " + abc);

    var ga = new GlideAjax('AutoPopulateUserDetails');
    ga.addParam('sysparm_name', 'getUserDetails');
    ga.addParam('sysparm_usr', abc);
    ga.getXML(ResponseFunction);

    function ResponseFunction(response) {
        var answer = response.responseXML.documentElement.getAttribute("answer");
        g_form.addInfoMessage("Response from Server: " + answer);

        var results = JSON.parse(answer);

        g_form.setValue('u_first_name', results.split(';')[0]);
        g_form.setValue('u_last_name', results.split(';')[1]);
        g_form.setValue('u_manager', results.split(';')[2]);
        g_form.setValue('u_location', results.split(';')[3]);
        g_form.setValue('u_email', results.split(';')[4]);

        g_form.addInfoMessage("User Details Updated Successfully.");
    }
}

Let me know your views on this and Mark Correct if this solves your query and also mark 👍Helpful if you find my response worthy based on the impact.

 

Thanks,

Aniket