- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-20-2022 09:42 AM
If user selects any Requester in 'USER NAME' field. Then 'Line Manager' field should be auto populated with requester Manager. PFA
My Code is :
Script Include:
var getUserDetails = Class.create();
getUserDetails.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getManager:function() {
var user = this.getParameter('sysparm_manager');
gs.log('USER Manager :'+user);
var mgr = new GlideRecord('sys_user');
mgr.addQuery('manager', user);
mgr.addQuery();
gs.log('manager1 :' + mgr.manager);
if(mgr.next()){
gs.log('manager2 :' + mgr.manager);
return mgr.manager;
}
} ,
type: 'getUserDetails'
});
OnChange Client script:
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading) {
return;
}
if (newValue == '') {
g_form.clearValue('linemanager');
}
var ga = new GlideAjax('getUserDetails');
ga.addParam('sysparm_manager', 'getManager');
ga.addParam('sysparm_manager', g_form.getValue('user_name'));
ga.getXML(getManagerDetails);
}
function getManagerDetails(response) {
var mgrVal = response.responseXML.documentElement.getAttribute("answer");
alert(mgrVal);
g_form.setValue("linemanager", mgrVal);
}
Please help on this
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-20-2022 10:23 AM
Hello Suresh
please replace this line mg.addQuery(); WITH mg.query(); in the script include and try
Please mark my answer correct if it helps you
Just replace your script include to below
var getUserLineManager = Class.create();
getUserLineManager.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getManager:function() {
var user = this.getParameter('sysparm_req');
var mg = new GlideRecord("sys_user");
mg.addQuery("sys_id", user);
mg.query();
if(mg.next()){
return mg.manager.toString();
}
},
type: 'getUserLineManager'
});
Please mark my answer correct if it helps you
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-20-2022 09:49 AM
Hello,
You can write an on change client script on requestor field and call a script include for this using glide ajax
Client script:
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading) {
return;
}
if(newValue == ''){
g_form.clearValue('manager_field_name');
}
var ga = new GlideAjax('getUserLineManager');
ga.addParam('sysparm_name', "getManager");
ga.addParam('sysparm_req', g_form.getValue('requestor_field_back_end_name'));
ga.getXMLAnswer(function(answer){
g_form.setValue("manager_field_name", answer);
});
}
Script include:
var getUserLineManager = Class.create();
getUserLineManager.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getManager:function() {
var user = this.getParameter('sysparm_req');
var mg = new GlideRecord("sys_user");
mg.addQuery("sys_id", user);
mg.addQuery();
if(mg.next()){
return mg.manager.toString();
}
} ,
type: 'getUserLineManager'
});
Please mark my answer correct if it helps you
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-20-2022 10:15 AM
var getUserLineManager = Class.create();
getUserLineManager.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getManager:function() {
var user = this.getParameter('sysparm_req');
var mg = new GlideRecord("sys_user");
mg.addQuery("sys_id", user);
mg.addQuery();
if(mg.next()){
return mg.manager.toString();
}
},
type: 'getUserLineManager'
});
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading) {
return;
}
if(newValue == ''){
g_form.clearValue('linemanager');
}
var ga = new GlideAjax('getUserLineManager');
ga.addParam('sysparm_name', "getManager");
ga.addParam('sysparm_req', g_form.getValue('user_name'));
ga.getXMLAnswer(function(answer){
alert(answer);
g_form.setValue("linemanager", answer);
});
}
i am getting answer as 'null' value
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-20-2022 10:23 AM
Hello Suresh
please replace this line mg.addQuery(); WITH mg.query(); in the script include and try
Please mark my answer correct if it helps you
Just replace your script include to below
var getUserLineManager = Class.create();
getUserLineManager.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getManager:function() {
var user = this.getParameter('sysparm_req');
var mg = new GlideRecord("sys_user");
mg.addQuery("sys_id", user);
mg.query();
if(mg.next()){
return mg.manager.toString();
}
},
type: 'getUserLineManager'
});
Please mark my answer correct if it helps you

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-20-2022 09:54 AM
Hi Suresh,
Just change this line in client script
ga.addParam('sysparm_manager', 'getManager');
to
ga.addParam('sysparm_name', 'getManager');
Mark as correct and helpful if it solved your query.
Regards,
Sumanth