logo

NJP

ServiceNow Learning 148: Do you know what is GlideFilter API?

Import · Jan 17, 2024 · article

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

View original source

https://www.servicenow.com/community/developer-blog/servicenow-learning-148-do-you-know-what-is-glidefilter-api/ba-p/2783861