- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-01-2022 01:28 AM
We have Test Catalog Item "Order a Laptop" -> were a reference field "Requested For" - "sys_user".
Field 1: Requester --> Satisfies specific User Criteria'
Filed 2: Requester For --> We need a filter for the users only who satisfy the user criteria same as Requester
So the Data populated in the Requested For field should populate the users only who satisfy the User criteria same as the logged-in user.
Could somebody help?
Solved! Go to Solution.
- Labels:
-
Service Catalog
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-01-2022 02:12 AM
you can get all user criterias which are satisfied by that user selected in Requester variable using User Criteria Loader API
UserCriteriaLoader - API to Evaluate User Criteria
Steps to be used in script include
1) get user criterias satisfied by logged in user using -> getAllUserCriteria
2) then query sys_user table and for each user check if user matches any of the above listed user criterias
3) return that array of users in advanced ref qualifier
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-01-2022 01:31 AM
Hello,
You need to configure a reference qualifier for that reference field.
https://docs.servicenow.com/en-US/bundle/sandiego-platform-administration/page/script/server-scripting/concept/c_ReferenceQualifiers.html
Let me know if it helps.
Regards,
Omkar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-01-2022 01:46 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-01-2022 02:12 AM
you can get all user criterias which are satisfied by that user selected in Requester variable using User Criteria Loader API
UserCriteriaLoader - API to Evaluate User Criteria
Steps to be used in script include
1) get user criterias satisfied by logged in user using -> getAllUserCriteria
2) then query sys_user table and for each user check if user matches any of the above listed user criterias
3) return that array of users in advanced ref qualifier
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-01-2022 02:18 AM
Script include
function getFilteredUsers(userSysId){
var allCriterias = new sn_uc.UserCriteriaLoader.getAllUserCriteria(userSysId);
var arr = [];
var gr = new GlideRecord("sys_user");
gr.addActiveQuery();
gr.query();
while (gr.next()) {
if(sn_uc.UserCriteriaLoader.userMatches(gr.getUniqueValue(), allCriterias))
arr.push(gr.getUniqueValue());
}
return 'sys_idIN' + arr.toString();
}
Advanced ref qualifier:
javascript: getFilteredUsers(current.variables.requesterVariable);
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader