- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-14-2023 05:54 AM
I have a catalog form which contains location variable referenced to location table.
I want to show only unused values of location table in form.
I don't want to show the values used by user table.
How to achieve this????
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-14-2023 07:51 AM - edited ‎11-14-2023 07:51 AM
Hi @Sourabh22
You can write an Script Include , assume 'ExcludeLocation' and a function called 'getExcludedLocations()' and you can write below code in it:
var usrLoc= [];
var usr = new GlideAggregate('sys_user');
usr.addAggregate('COUNT', 'location');
usr.addEncodedQuery("location!=NULL");
usr.groupBy('location');
usr.query();
while(usr.next())
{
usrLoc.push(usr.getValue('location'));
}
var locArr = [];
var loc = new GlideRecord('cmn_location');
loc.addEncodedQuery("sys_idNOT IN"+locArr);
loc.query();
while(loc.next())
{
locArr.push(loc.getUniqueValue());
}
return "sys_idIN"+locArr;
You can now call this Script Include in your Reference Qualifier of Variable using below link:
javascript: new ExcludeLocation().getExcludedLocations();
Thanks
Anubhav Ritolia
ServiceNow Rising Star 2023
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-14-2023 06:56 AM
Hi @Sourabh22
I guess you want to show all Locations value in the Variable choice which are not been referred in User Table, Right?
Thanks
Anubhav Ritolia
ServiceNow Rising Star 2023
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-14-2023 07:51 AM - edited ‎11-14-2023 07:51 AM
Hi @Sourabh22
You can write an Script Include , assume 'ExcludeLocation' and a function called 'getExcludedLocations()' and you can write below code in it:
var usrLoc= [];
var usr = new GlideAggregate('sys_user');
usr.addAggregate('COUNT', 'location');
usr.addEncodedQuery("location!=NULL");
usr.groupBy('location');
usr.query();
while(usr.next())
{
usrLoc.push(usr.getValue('location'));
}
var locArr = [];
var loc = new GlideRecord('cmn_location');
loc.addEncodedQuery("sys_idNOT IN"+locArr);
loc.query();
while(loc.next())
{
locArr.push(loc.getUniqueValue());
}
return "sys_idIN"+locArr;
You can now call this Script Include in your Reference Qualifier of Variable using below link:
javascript: new ExcludeLocation().getExcludedLocations();
Thanks
Anubhav Ritolia
ServiceNow Rising Star 2023
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-14-2023 08:36 AM
Thanks for your response
It is still showing all values in the location field.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-14-2023 07:32 PM
Could you please share screenshot of what you gave written.
Thanks
Anubhav Ritolia
ServiceNow Rising Star 2023