- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-14-2023 01:01 PM
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-14-2023 01:12 PM
I think you are suppose to parse it to JSON before the loop. Also can you try the for loop?
var mrvsValues = current.variables.mrvs_sys_ids;
gs.info("payload = "+ mrvsValues);
var payloadParsed = JSON.parse(mrvsValues); //this gets my input readable
for(var i in payloadParsed)
{
gs.info('Parsed: '+payloadParsed[i]);
var grAsset = new GlideRecord('alm_hardware');
grAsset.addQuery('sys_id', payloadParsed[i]);
grAsset.query();
if (grAsset.next()){
grAsset.install_status = '6';
grAsset.update();
}
}
Please mark this response as correct or helpful if it assisted you with your question.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-14-2023 01:11 PM
You need to parse each value as you loop through the array.
var mrvsValues = current.variables.mrvs_sys_ids;
gs.info("payload = " + mrvsValues);
mrvsValues.forEach(function (value) {
var payloadParsed = JSON.parse(value); //this gets my input readable
gs.info('Parsed: ' + payloadParsed);
var grAsset = new GlideRecord('alm_hardware');
grAsset.addQuery('sys_id', payloadParsed);
grAsset.query();
if (grAsset.next()) {
grAsset.install_status = '6';
grAsset.update();
}
});
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-14-2023 01:24 PM
No success with suggestion above. I see an error in log
loadRow failure: java.lang.NullPointerException:

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-14-2023 01:12 PM
I think you are suppose to parse it to JSON before the loop. Also can you try the for loop?
var mrvsValues = current.variables.mrvs_sys_ids;
gs.info("payload = "+ mrvsValues);
var payloadParsed = JSON.parse(mrvsValues); //this gets my input readable
for(var i in payloadParsed)
{
gs.info('Parsed: '+payloadParsed[i]);
var grAsset = new GlideRecord('alm_hardware');
grAsset.addQuery('sys_id', payloadParsed[i]);
grAsset.query();
if (grAsset.next()){
grAsset.install_status = '6';
grAsset.update();
}
}
Please mark this response as correct or helpful if it assisted you with your question.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-14-2023 01:28 PM
Thanks a million SanjivMeher!