Get a first look at what's coming. The Developer Passport Australia Release Preview kicks off March 12. Dive in! 

auto populate caller details when caller field changes but it was note populating can any one help

ArunaTunga
Tera Contributor

Client script: table is incident filed name is caller

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
   if (isLoading || newValue === '') {
      return;
   }

   //Type appropriate comment here, and begin script below
   var ga= new GlideAjax('UserDetails');
   ga.addParam('sysparm_name','getUserDetails');
   ga.addParam('sysparm_user',newValue);
   ga.getXML(function(response){
    var answer = response.responseXML.documentElement.getAttribute('answer');
    var data = JSON.parse(answer);
    g_form.setValue('u_caller_department',data.department);
    g_form.setValue('u_caller_email',data.email);
    g_form.setValue('u_caller_manager',data.manager);
   });
   
}


Script includes (enabled client callable):

var UserDetails = Class.create();
UserDetails.prototype = Object.extendsObject(AbstractAjaxProcessor, {

    getUserDetails : function(){
    var userId = this.getParameter('sysparm_user');
    var details ={};
    var gr= new GlideRecord('sys_user');
   
    if(gr.get(userId)){
        details.department = gr.department.getDisplayValue();
        details.manager=gr.manager.getDisplayValue();
        details.email = gr.email+'';
    }
     return JSON.stringify(details);
    },
    type: 'UserDetails'
});
7 REPLIES 7

PoonkodiS
Giga Sage

@ArunaTunga ,

Script include:

var UserDetails = Class.create();
UserDetails.prototype = Object.extendsObject(AbstractAjaxProcessor, {

    getUserDetails: function () {
        var userId = this.getParameter('sysparm_user');
        var details = {};
        var gr = new GlideRecord('sys_user');

        if (gr.get(userId)) {
            details.department = gr.department.toString(); // sys_id
            details.manager = gr.manager.toString();       // sys_id
            details.email = gr.email.toString();
        }

        return JSON.stringify(details);
    },

    type: 'UserDetails'
});
 
Client Script:
//Type appropriate comment here, and begin script below
   function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading || !newValue) {
        return;
    }

    var ga = new GlideAjax('UserDetails');
    ga.addParam('sysparm_name', 'getUserDetails');
    ga.addParam('sysparm_user', newValue);
    ga.getXML(function (response) {
        var answer = response.responseXML.documentElement.getAttribute('answer');
        var data = JSON.parse(answer);

        g_form.setValue('department', data.department);
        g_form.setValue('manager', data.manager);
        g_form.setValue('email', data.email);
    });
}
 
 
 
 
Regards,
Poonkodi

Ankur Bawiskar
Tera Patron

@ArunaTunga 

so what's populating and what's not?

share what debugging did you do from your side?

Regards,
Ankur
Certified Technical Architect  ||  10x ServiceNow MVP  ||  ServiceNow Community Leader

@Ankur Bawiskar 

3 fileds were populating as expected and issue was i have given incorrect filedname in onchange client script.