How to take string values from multi-row variable set to populate the Watch List on an incident

patricklatella
Mega Sage

Hi all,

this should be easy I would think, but something isn't working.  I have a record producer with a mult-row variable set with one variable (single line text) for capturing email addresses to be added to the incident's Watch List when the record producer is submitted.

How do I access the values in the multi-row variable set to populate the Watch List?  In the RP script i'm going with:

current.watch_list = producer.name_of_variable_in_variable_set; //variable in the variable set

Guessing there must be more to it?

thanks!

 

1 ACCEPTED SOLUTION

Hi Patrick,

I had some more time to fiddle with this and got it to work with the below.  There's something about the record producer script vs an RITM workflow script that is making the shortcut not work somehow - even though the array seems to be created correctly.

var emailArr = [];
var mrvs = producer.bkbmrvstxt; //internal name of your MRVS
for(var i=0;i<mrvs.v_email.length;i++){ //name of the variable in the MRVS
emailArr.push(mrvs.v_email[i]);
}
current.watch_list = emailArr.join(',');

View solution in original post

12 REPLIES 12

Brad Bowman
Kilo Patron
Kilo Patron

See this article for some things I have been able to do to get the values from a MRVS. RP scripts behave like server scripts, so this should be on the easier side.

https://community.servicenow.com/community?id=community_article&sys_id=5ebe74c0db2f00905129a851ca961...

 

Thanks Brad, I'll check it out.  I would think this would be easy...just need to find the script.  

Ankur Bawiskar
Tera Patron
Tera Patron

Hi Patrick,

you can get the value; parse it and then set the value in watch_list

I assume your json looks like this:

[
{
"email": "amy.jone@example.com"
},
{
"email": "abel.tuter@example.com"
}
]

Script for this: ensure you add the proper json key and the variable name

var str = producer.name_of_variable_in_variable_set;

var parser = JSON.parse(str);

var length = parser.length;
var emailArray = [];

for(var i=0;i<length;i++){
emailArray.push(parser[i].email.toString());
}

current.watch_list = emailArray.join(',');

Mark Correct if this solves your issue and also mark 👍 Helpful if you find my response worthy based on the impact.
Thanks
Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

Hi Ankur,

thanks for the response.  How do I add the proper JSON key?