ServiceNow Learning 148: Do you know what is GlideFilter API?
Hi All,
Today I would cover GlideFilter API.
The GlideFilter API enables filtering queries to determine if one or more records meet a specified set of requirements.
Methods for this API are accessible using the GlideFilter global object.
Case sensitivity
The GlideFilter API is case-sensitive by default. Use the setCaseSensitive() method to enable or disable case sensitivity. GlideRecord queries are case-insensitive.
The following example shows how a GlideRecord query is case-insensitive and results in the same user record with upper or lower case.
var gr = new GlideRecord('sys_user');
gr.addQuery('first_name', 'Abel');
gr.query();
while (gr.next())
gs.info("Upper case query: " + gr.getDisplayValue());
var gr = new GlideRecord('sys_user');
gr.addQuery('first_name', 'abel');
gr.query();
while (gr.next())
gs.info("Lower case query: " + gr.getDisplayValue());
GlideRecord query() output shows the same results display regardless of case.
Upper case query: Abel Tuter
Lower case query: Abel Tuter
The following example shows how GlideFilter only retrieves the matched value of the record for the upper case condition. The lower case condition does not provide a match.
// Matches the 'Abel Tuter' user record
var gr = new GlideRecord('sys_user');
gr.query();
var condition = 'first_name=Abel';
var glideFilter = new GlideFilter(condition, 'filterCondition');
while (gr.next()) {
if (glideFilter.match(gr, true))
gs.info("Upper case condition: " + gr.getDisplayValue());
}
// The following code does not match 'Abel Tuter' user record
var gr = new GlideRecord('sys_user');
gr.query();
var condition = 'first_name=abel';
var glideFilter = new GlideFilter(condition, 'filterCondition');
while (gr.next()) {
if (glideFilter.match(gr, true))
gs.info("Lower case condition: " + gr.getDisplayValue());
}
The output reveals that the filter only returns upper case results with default case-sensitivity:
Upper case condition: Abel Tuter
Hope this helps you.
I hope this article helpful. Please mark it as helpful and bookmark if you like it.
Regards,
Shamma Negi
https://www.servicenow.com/community/developer-blog/servicenow-learning-148-do-you-know-what-is-glidefilter-api/ba-p/2783861