auto populate caller details when caller field changes but it was note populating can any one help
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-17-2025 04:15 AM
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
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-18-2025 04:41 AM
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
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-18-2025 05:00 AM
so what's populating and what's not?
share what debugging did you do from your side?
Regards,
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-19-2025 06:58 AM
3 fileds were populating as expected and issue was i have given incorrect filedname in onchange client script.
