- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
on 12-14-2020 04:20 AM
This script identifies the areas in which user criteria is used.
var userCriteriaSysId = '**************************' ; // update user criteria sys Id
var tableList = [];
var referenceList = [];
var grTable = new GlideRecord('sys_dictionary');
grTable.addEncodedQuery('reference=user_criteria^internal_type=reference');
grTable.query();
while(grTable.next()) {
tableList.push(grTable.name + "");
}
for (var k=0; k<tableList.length;k++) {
//gs.print(tableList[k]);
var returnList = checkUserCriteria(userCriteriaSysId,tableList[k]);
if(returnList.length >0) {
for (var l=0; l<returnList.length;l++) {
referenceList.push(returnList[l]);
}
}
}
for (var q=0;q<referenceList.length;q++) {
gs.print(referenceList[q]);
}
function checkUserCriteria(sysId, tableName) {
var returnList = [];
var query = 'user_criteria=' + sysId;
var grReference = new GlideRecord(tableName);
grReference.addEncodedQuery(query);
grReference.query();
while(grReference.next()) {
returnList.push(tableName+ "|" + grReference.sys_id +"|" + sysId);
}
return returnList;
}
Sample output
*** Script: m2m_sp_instance_uc_can_view|11cc4166db1ddc10d5************|78060fac871023000e3***********
*** Script: m2m_sp_instance_uc_can_view|79de3c6edb99dc10d57***********|78060fac871023000e3**********
- 1,777 Views

- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
You're a life saver. Thank you for this!
And just because I'm pedantic here's the same script but formatted using the code button:
var userCriteriaSysId = ''; // update user criteria sys Id
var tableList = [];
var referenceList = [];
var grTable = new GlideRecord('sys_dictionary');
grTable.addEncodedQuery('reference=user_criteria^internal_type=reference');
grTable.query();
while (grTable.next()) {
tableList.push(grTable.name + "");
}
for (var k = 0; k < tableList.length; k++) {
//gs.print(tableList[k]);
var returnList = checkUserCriteria(userCriteriaSysId, tableList[k]);
if (returnList.length > 0) {
for (var l = 0; l < returnList.length; l++) {
referenceList.push(returnList[l]);
}
}
}
for (var q = 0; q < referenceList.length; q++) {
gs.print(referenceList[q]);
}
function checkUserCriteria(sysId, tableName) {
var returnList = [];
var query = 'user_criteria=' + sysId;
var grReference = new GlideRecord(tableName);
grReference.addEncodedQuery(query);
grReference.query();
while (grReference.next()) {
returnList.push(tableName + "|" + grReference.sys_id + "|" + sysId);
}
return returnList;
}
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
@apjohn2 hope this works with custom mapped field as well 🙂