- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-20-2022 11:40 PM
HI Team,
I have a record producer. Inside record producer i have created a multi row variable set name calle d as "item_list". Inside multi row variable set i had 6 variables.
As soon as i submit the record producer from portal, A record is creating to that table but fields are showing empty.
So how can i map those MRVS variable content inside native view table fields?
\
I had created a before Business rule to map MRVS to table fields but not working
the MRVS log is showing error like below
(function executeRule(current, previous /*null when async*/) {
var value = current.variables.items_list; // MRVS variable name here
gs.log('Inside :', value);
var parser = JSON.parse(value);
gs.log(parser);
var addtable = new GlideRecord('x_pl4_move4u_item');
for(var i=0;i<parser.length;i++){
addtable.name = parser[i].name;
addtable.move_request = parser[i].move_request;
addtable.is_fragile = parser[i].is_fragile;
addtable.category = parser[i].category;
addtable.short_description = parser[i].short_description;
addtable.volume = parser[i].volume;
addtable.insert();
}
})(current, previous);
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-21-2022 03:24 AM
are you using correct variable name within mrvs here?
var parserList = JSON.parse(producer.items_list);
current.name = parserList[0].name;
current.move_request = parserList[0].move_request;
current.is_fragile = parserList[0].is_fragile;
current.category = parserList[0].category;
current.short_description = parserList[0].short_description;
current.volume = parserList[0].volume;
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-21-2022 04:01 AM
Hi,
I already mentioned that if user adds n rows it would create n+1 records in target
n records from your script
1 record from the OOB record producer once you submit
use as per your design what business team wants
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-21-2022 04:04 AM
my business requirement is if user add 1 row then only 1 record should create
If user add2 rows then only 2 records should create.
There should be be create any addiitional record that too with out information
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-21-2022 04:45 AM
Hi,
additional row is the one which would get created by default when record producer is submitted.
then you can use catalog item instead of record producer
Have workflow attached to that catalog item and use run script to create n records based on n rows of MRVS
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-20-2022 11:48 PM
Hello, Author
why business rule? You can use the Record producer script try the below
var parser = JSON.parse(producer.items_list);
gs.log(parser);
var addtable = new GlideRecord('x_pl4_move4u_item');
for(var i=0;i<parser.length;i++){
addtable.name = parser[i].name;
addtable.move_request = parser[i].move_request;
addtable.is_fragile = parser[i].is_fragile;
addtable.category = parser[i].category;
addtable.short_description = parser[i].short_description;
addtable.volume = parser[i].volume;
addtable.insert();
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-20-2022 11:52 PM