- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-14-2022 06:22 AM - edited 11-14-2022 06:24 AM
hello Experts!
need help on advanced reference qualifier
scenario :- I've two variables in normal change record producer "requested for" "service offering",
service offering is dependent upon requested for service offering shows the serivces subscribed by requested for
i've written a reference qualifier it is working fine connected with service offering field but its not picking the
requested for value, when I hard code requested by its worked fine but its not picking it on its own
Record Producer
reference qualifier
Script include
var cd_serviceOffering_re_qual = Class.create();
cd_serviceOffering_re_qual.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getOfferings: function(USerString) {
//requested for's company
var grZero = new GlideRecord('sys_user');
grZero.addQuery('sys_id', current.u_requested_for);
grZero.query();
if (grZero.next()) {
var company = grZero.company;
var requestedFor = grOne.sys_id;
}
//company
var grOne = new GlideRecord('service_subscribe_company');
grOne.addQuery('core_company', company);
grOne.query();
if (grOne.next()) {
serviceOferrings = grOne.service_offering + ',';
}
//group
var grTwo = new GlideRecord('sys_user_grmember');
grTwo.addQuery('user', requestedFor);
grTwo.query();
while (grTwo.next()) {
var grThree = new GlideRecord('service_subscribe_sys_user_grp');
grThree.addQuery('sys_user_group', grTwo.group);
grThree.query();
while (grThree.next()) {
serviceOferrings = serviceOferrings + ',' + grThree.service_offering;
}
}
return 'sys_idIN' + serviceOferrings;
},
type: 'cd_serviceOffering_re_qual'
});
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-14-2022 10:11 PM
Hi @Aditya Kumar ,
As far I understand, you are not passing any parameter within the function for to be able to be fetched in the script include. Could you try passing the parameter in the reference qualifier as:
javascript: new cd_serviceOffering_re_qual.getOfferings(current.variables.requested_for);
current doesn't essentially work in script include, for more details refer to below doc:
https://snprotips.com/blog/2019/12/18/can-script-includes-use-the-current-variable
Aman Kumar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-14-2022 11:29 PM
my code now. please help its something no one is able to figure out around me
var cd_serviceOffering_re_qual = Class.create();
cd_serviceOffering_re_qual.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getOfferings: function(USerString) {
//requested for's company
var grZero = new GlideRecord('sys_user');
grZero.addQuery('sys_id', USerString);
grZero.query();
if (grZero.next()) {
var company = grZero.company;
var requestedFor = grZero.sys_id;
}
//company
var grOne = new GlideRecord('service_subscribe_company');
grOne.addQuery('core_company', company);
grOne.query();
if (grOne.next()) {
serviceOferrings = grOne.service_offering + ',';
}
//group
var grTwo = new GlideRecord('sys_user_grmember');
grTwo.addQuery('user', requestedFor);
grTwo.query();
while (grTwo.next()) {
var grThree = new GlideRecord('service_subscribe_sys_user_grp');
grThree.addQuery('sys_user_group', grTwo.group);
grThree.query();
while (grThree.next()) {
serviceOferrings = serviceOferrings + ',' + grThree.service_offering;
}
}
return 'sys_idIN' + serviceOferrings;
},
type: 'cd_serviceOffering_re_qual'
});
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-14-2022 11:47 PM
it worked aman thanks again for being a savior before a important call really appreciate your knowledge sir
you helped me time and again how can we connect in social media can i follow u in other spaces

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-15-2022 12:57 AM
Hi Aditya,
I am available at linkedin:
https://www.linkedin.com/in/aman-kumar-45b64a148/
Feel free to reach out!
Aman Kumar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-14-2022 11:44 PM - edited 11-14-2022 11:49 PM
Hi Aditya
Try this, keep logs and check the value of serviceOferrings.
var cd_serviceOffering_re_qual = Class.create();
cd_serviceOffering_re_qual.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getOfferings: function(USerString) {
//requested for's company
var serviceOferrings = [];
var grZero = new GlideRecord('sys_user');
grZero.addQuery('sys_id', USerString);
grZero.query();
var company = '',
requestedFor = '';
if (grZero.next()) {
company = grZero.company;
requestedFor = grZero.sys_id;
}
//company
if (company != '') {
var grOne = new GlideRecord('service_subscribe_company');
grOne.addQuery('core_company', company);
grOne.query();
if (grOne.next()) {
serviceOferrings.push(grOne.service_offering.toString());
}
}
//group
if (requestedFor != '') {
var grTwo = new GlideRecord('sys_user_grmember');
grTwo.addQuery('user', requestedFor);
grTwo.query();
while (grTwo.next()) {
var grThree = new GlideRecord('service_subscribe_sys_user_grp');
grThree.addQuery('sys_user_group', grTwo.group);
grThree.query();
while (grThree.next()) {
serviceOferrings.push(grThree.service_offering.toString());
}
}
}
return 'sys_idIN' + serviceOferrings;
},
type: 'cd_serviceOffering_re_qual'
});
Mark it helpful if this helps you to understand. Accept solution if this give you the answer you're looking for
Kind Regards,
Rohila V
2022-25 ServiceNow Community MVP