- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-26-2022 03:49 PM
Hi ,
I Am trying to get the user details like department , user id , manager , when the requested for changes in Service catalog but i am not able to get it . Please find the script below and let me know if any changes has to be done.
Script Include :
getUserValues: function() {
var grUser = new GlideRecord('sys_user');
grUser.addQuery('sys_id', this.getParameter('sysparm_requestedfor'));
grUser.query();
if (gr.next()) {
var userID = grUser.user_name;
var Email = grUser.email;
var department = grUser.department.name;
var manager = grUser.manager.name;
return userID + '$' + Email + '$' + department + '$' + manager;
}
Client Script : On Change (Requested For )
var requestedFor = g_form.getValue('requested_for');
var ga = new GlideAjax('GettingUserDetails');
ga.addParam('sysparm_name', 'getUserValues'); // Function name should be provided
ga.addParam('sysparm_requestedfor', requestedFor);
ga.getXML(callback);
function callback(resp) {
var ans = resp.response.Xml.documentElement.getAttribute('answer');
var sepAnswer = ans.split('$');
g_form.setValue('user_name', sepAnswer[0]);
g_form.setValue('email', sepAnswer[1]);
g_form.setValue('department', sepAnswer[2]);
g_form.setValue('manager', sepAnswer[3]);
}
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-26-2022 11:16 PM
Hi @sushma9 ,
Thanks for marking this answer as helpful, if this resolved your issue, please then mark it correct to set this thread to solved/closed.
BR.
BR.
Ishaan Shoor

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-26-2022 05:22 PM - edited 11-26-2022 06:14 PM
Hi @sushma9
There were some issues in your scripts and I've updated them, kindly update the code at your end and let me know how you go.
Client Script
function onChange(control, oldValue, newValue, isLoading) {
var requestedFor = g_form.getValue('requested_for');
var ga = new GlideAjax('GettingUserDetails');
ga.addParam('sysparm_name', 'getUserValues'); // Function name should be provided
ga.addParam('sysparm_requestedfor', requestedFor);
ga.getXMLAnswer(callback);
function callback(resp) {
var ans = resp;
var sepAnswer = ans.split('$');
g_form.setValue('user_name', sepAnswer[0]);
g_form.setValue('email', sepAnswer[1]);
g_form.setValue('department', sepAnswer[2]);
g_form.setValue('manager', sepAnswer[3]);
}
}
Script Includes
var GettingUserDetails = Class.create();
GettingUserDetails.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getUserValues: function() {
var details = '';
var requestedforSysID = this.getParameter('sysparm_requestedfor');
var grObj = new GlideRecord("sys_user");
grObj.addQuery("sys_id", requestedforSysID); //comparing sysID
grObj.query();
if (grObj.next()) {
//getting user details
details = grObj.user_name + '$' + grObj.email + '$' + grObj.department + '$'+ grObj.manager;
}
return details;
},
type: 'GettingUserDetails'
});
If my answer helped you in any way or if this resolved your issue, please then mark it as helpful or correct accordingly to set this thread to solved.
Regards,
Ishaan
BR.
Ishaan Shoor

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-26-2022 11:16 PM
Hi @sushma9 ,
Thanks for marking this answer as helpful, if this resolved your issue, please then mark it correct to set this thread to solved/closed.
BR.
BR.
Ishaan Shoor

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-26-2022 08:42 PM
Hi @sushma9 ,
You can follow below post for the requirement, it exactly does what you are looking for:
Aman Kumar