- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-17-2021 03:43 AM
How I can use system properties here? I want to filter out some locations and those locations I want to keep it in sys_properties. I tried but was not able to achieve.
Please suggest.. Thanks in advance...
Below is working client callable script include, only I want to use system properties instead of encodedquery
var FilterOutOfScopeLocations = Class.create();
FilterOutOfScopeLocations.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getInScopeCases: function() {
var arr = [];
var gr = new GlideRecord('xyz');
queryString = 'reported_person.location.countryNOT LIKEChina^reported_person.location.countryNOT LIKERussia^reported_person.location.countryNOT LIKENetherlands^reported_person.location.countryNOT LIKEBelgium^reported_person.location.countryNOT LIKEIsrael^reported_person.location.countryNOT LIKETaiwan^reported_person.location.countryNOT LIKESingapore';
gr.addEncodedQuery(queryString);
// gr.addQuery('reported_person.location.country', gs.getProperty('sp.filterOutOfScopelocations.country'));
gr.query();
while (gr.next()) {
arr.push(gr.sys_id.toString());
}
return 'sys_idIN' + arr;
},
type: 'FilterOutOfScopeLocations'
});
Solved! Go to Solution.
- Labels:
-
Scripting and Coding

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-17-2021 09:57 AM
Give another try like this.
var getIncDetailsRow = Class.create();
getIncDetailsRow.prototype = Object.extendsObject(AbstractAjaxProcessor, {
myFun: function(){
var arr = [];
var grp = new GlideRecord('sys_properties');
grp.get('name','MYTEST'); // add your properties name
var prop = grp.getValue('value').split(',');
var gr = new GlideRecord('incident');
for(var i = 0;i<prop.length; i++)
gr.addQuery('short_descriptionNOT LIKE'+prop[i]);
gr.query();
while(gr.next()){
arr.push(gr.getUniqueValue());
}
return arr;
},
type: 'getIncDetailsRow'
});
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-17-2021 10:37 AM
It worked. Thanks amazing!

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-17-2021 04:18 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-17-2021 07:50 AM
Hi,
For filtering records using query use this
I assume you want to filter with exact names
reported_person.location.countryNOT INChina,Russia,Netherlands,Belgium,Israel,Taiwan,Singapore
Can you try this once
var FilterOutOfScopeLocations = Class.create();
FilterOutOfScopeLocations.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getInScopeCases: function() {
var arr = [];
var prop = gs.getProperty('propertyName');
var gr = new GlideRecord('xyz');
var queryString = 'reported_person.location.countryNOT IN' + prop;
gr.addEncodedQuery(queryString);
gr.query();
while(gr.next()) {
arr.push(gr.sys_id.toString());
}
return 'sys_idIN' + arr;
},
type: 'FilterOutOfScopeLocations'
});
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
‎03-17-2021 09:36 AM
Thanks Ankur.
Tried this. Its not giving me the expected result.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-17-2021 10:09 AM
Hi,
are you trying to compare exact value of country or willing to search for the country name
script I shared should work fine for exact country match
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader