How to set a default value on a Reference field when reference qualifier only returns one value?

Injila Ahmed
ServiceNow Employee
ServiceNow Employee

We have a reference field in which we want to stamp a value if just one value is returned by Reference qualifier.

1 ACCEPTED SOLUTION

Hitoshi Ozawa
Giga Sage
Giga Sage

Hi Injila,

Can just set the default value on the reference field. Following is an example of setting a default value when the script include is returning a comma delimited list of items. Sample script include UserUtil.getNumUser(n) returns n number of users from sys_user table.

Case 1: Only 1 record returned

Reference qualifier

javascript: 'sys_idIN' + ( new UserUtil().getNumUser(1));  // 1 indicated to only return 1 user

Default value

javascript: var u=(new UserUtil().getNumUser(1));(u.indexOf(',')<0)?u:'';

Execution result:

find_real_file.png

Reference qualifier

javascript: 'sys_idIN' + ( new UserUtil().getNumUser(2));  // 2 indicated to only return 2 users

Default value

javascript: var u=(new UserUtil().getNumUser(2));(u.indexOf(',')<0)?u:'';

Execution result:

find_real_file.png

View solution in original post

2 REPLIES 2

Brad Bowman
Kilo Patron
Kilo Patron

If you want to check this when the form loads, or when other field(s) change then you can create a Client Script that uses GlideAjax to call a Script Include.  The SI would query the reference table with the same criteria as the reference qualifier, pushing each result (sys_id) into an array that is returned to the client script as a string.  Back in the client script after the GA call, split the response into an array, and if there's only one member use setValue on the reference field with that value.

Hitoshi Ozawa
Giga Sage
Giga Sage

Hi Injila,

Can just set the default value on the reference field. Following is an example of setting a default value when the script include is returning a comma delimited list of items. Sample script include UserUtil.getNumUser(n) returns n number of users from sys_user table.

Case 1: Only 1 record returned

Reference qualifier

javascript: 'sys_idIN' + ( new UserUtil().getNumUser(1));  // 1 indicated to only return 1 user

Default value

javascript: var u=(new UserUtil().getNumUser(1));(u.indexOf(',')<0)?u:'';

Execution result:

find_real_file.png

Reference qualifier

javascript: 'sys_idIN' + ( new UserUtil().getNumUser(2));  // 2 indicated to only return 2 users

Default value

javascript: var u=(new UserUtil().getNumUser(2));(u.indexOf(',')<0)?u:'';

Execution result:

find_real_file.png