- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-09-2023 04:06 AM
Hi experts,
I'm trying to pass list of values based on the list collector values selected. The below is the script configured.
answer = [];
var list = current.variables.access_type.toString();
gs.info('hcv: ' + list);
var listSplit = list.split(',');
gs.info('listsplit: ' + listSplit);
for (var i = 0; i < listSplit.length; i++) {
var user = new GlideRecord('u_active_directory_software_approver');
user.addQuery('u_software_subject.sys_id', listSplit[i].trim());
gs.info('software_sub1: ' + listSplit[i].getDisplayValue());
user.query();
while (user.next()) {
gs.info('recordfoundhc');
var approverValue = user.u_approver;
gs.info('u_approver value: ' + approverValue.getDisplayValue());
answer.push(approverValue);
}
gs.info('Answer array is: ' + answer);
}
For the script Im getting the u_approver_value log returning two desired values as expected
u_approver value: d69683af58dab4009433855ae41cd8e6
u_approver value: f6460f2f58dab4009433855ae41cd87a
Answer array is: f6460f2f58dab4009433855ae41cd87a,f6460f2f58dab4009433855ae41cd87a
but in answer log I'm getting only one sys id repeated twice because of this only one approver is pushed in answer .
Please help
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-09-2023 04:09 AM
@Hemachithra Please update your script as follows.
answer = [];
var list = current.variables.access_type.toString();
gs.info('hcv: ' + list);
var listSplit = list.split(',');
gs.info('listsplit: ' + listSplit);
for (var i = 0; i < listSplit.length; i++) {
var user = new GlideRecord('u_active_directory_software_approver');
user.addQuery('u_software_subject.sys_id', listSplit[i].trim());
gs.info('software_sub1: ' + listSplit[i].getDisplayValue());
user.query();
while (user.next()) {
gs.info('recordfoundhc');
var approverValue = user.u_approver.toString(); //toString() will resolve the duplicate sys_id issue
gs.info('u_approver value: ' + approverValue.getDisplayValue());
answer.push(approverValue);
}
gs.info('Answer array is: ' + answer);
}
Hope this helps.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-09-2023 04:09 AM
@Hemachithra Please update your script as follows.
answer = [];
var list = current.variables.access_type.toString();
gs.info('hcv: ' + list);
var listSplit = list.split(',');
gs.info('listsplit: ' + listSplit);
for (var i = 0; i < listSplit.length; i++) {
var user = new GlideRecord('u_active_directory_software_approver');
user.addQuery('u_software_subject.sys_id', listSplit[i].trim());
gs.info('software_sub1: ' + listSplit[i].getDisplayValue());
user.query();
while (user.next()) {
gs.info('recordfoundhc');
var approverValue = user.u_approver.toString(); //toString() will resolve the duplicate sys_id issue
gs.info('u_approver value: ' + approverValue.getDisplayValue());
answer.push(approverValue);
}
gs.info('Answer array is: ' + answer);
}
Hope this helps.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-09-2023 04:21 AM
Thanks a lot it worked . Can I store the answer array in workflow scratchpad and use it to query in later activity in workflow.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-09-2023 04:23 AM
@Hemachithra Thanks for marking my answer correct.
Yes you can store the answer array in workflow scratchpad and use it later on.
Also don't forget to upvote my answer.