Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-13-2020 04:59 PM
Hi,
I'm trying to update a MRVS in a Business Rule. This code below reads content from one MRVS and adds it to another. It seems to work; the final log statements show that my "objResources.interMRVS" value is exactly as expected, but the MRVS in the RITM doesn't get updated.
Is there something I'm missing?
(function executeRule(current, previous) {
var objResources = {}; // JSON array of source/target language pairs
var requestMRVS, internalMRVS;
var gr = new GlideRecord('sc_req_item');
gr.addQuery('sys_id', current.parent.sys_id);
gr.query();
if (gr.next()) {
requestMRVS = gr.variables.source_and_target_language; // this is the requestor's form data
internalMRVS = gr.variables.source_target_language_internal; // this is the more detailed, internal data
} else {
return;
}
gs.log('requestMRVS.getRowCount() = ' + requestMRVS.getRowCount(), 'nc5');
objResources.requestMRVS = requestMRVS;
objResources.internalMRVS = internalMRVS;
objResources.gr = gr;
gs.log('objResources.requestMRVS = ' + objResources.requestMRVS, 'nc5');
try {
var requestMRVSRowCount = objResources.requestMRVS.getRowCount();
gs.log('requestMRVSRowCount = ' + requestMRVSRowCount, 'nc5');
for (var i = 0; i < requestMRVSRowCount; i++) {
var requestRow = objResources.requestMRVS.getRow(i);
var newInternalRow = objResources.internalMRVS.addRow();
newInternalRow.setCellValue('source_language_internal', requestRow.source_language_new);
newInternalRow.setCellValue('target_language_internal', requestRow.target_language_new);
}
objResources.gr.variables.source_target_language_internal = JSON.stringify(objResources.internalMRVS);
} catch (e) {
gs.log('setInternalRequestLanguageItems failed because: ' + e.message, 'nc5');
}
gs.log('final objResources.requestMRVS = ' + objResources.requestMRVS, 'nc5');
gs.log('final objResources.internalMRVS = ' + objResources.internalMRVS, 'nc5');
})(current, previous);
Thanks,
Nathan
Solved! Go to Solution.
Labels:
- Labels:
-
Scripting and Coding
1 ACCEPTED SOLUTION

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-13-2020 05:04 PM
Can you try this
(function executeRule(current, previous) {
var objResources = {}; // JSON array of source/target language pairs
var requestMRVS, internalMRVS;
var gr = new GlideRecord('sc_req_item');
gr.addQuery('sys_id', current.parent.sys_id);
gr.query();
if (gr.next()) {
requestMRVS = gr.variables.source_and_target_language; // this is the requestor's form data
internalMRVS = gr.variables.source_target_language_internal; // this is the more detailed, internal data
} else {
return;
}
gs.log('requestMRVS.getRowCount() = ' + requestMRVS.getRowCount(), 'nc5');
objResources.requestMRVS = requestMRVS;
objResources.internalMRVS = internalMRVS;
// objResources.gr = gr;
gs.log('objResources.requestMRVS = ' + objResources.requestMRVS, 'nc5');
try {
var requestMRVSRowCount = objResources.requestMRVS.getRowCount();
gs.log('requestMRVSRowCount = ' + requestMRVSRowCount, 'nc5');
for (var i = 0; i < requestMRVSRowCount; i++) {
var requestRow = objResources.requestMRVS.getRow(i);
var newInternalRow = objResources.internalMRVS.addRow();
newInternalRow.setCellValue('source_language_internal', requestRow.source_language_new);
newInternalRow.setCellValue('target_language_internal', requestRow.target_language_new);
}
gr.variables.source_target_language_internal = JSON.stringify(objResources.internalMRVS);
} catch (e) {
gs.log('setInternalRequestLanguageItems failed because: ' + e.message, 'nc5');
}
gr.update();
gs.log('final objResources.requestMRVS = ' + objResources.requestMRVS, 'nc5');
gs.log('final objResources.internalMRVS = ' + objResources.internalMRVS, 'nc5');
})(current, previous);
Please mark this response as correct or helpful if it assisted you with your question.
1 REPLY 1

Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-13-2020 05:04 PM
Can you try this
(function executeRule(current, previous) {
var objResources = {}; // JSON array of source/target language pairs
var requestMRVS, internalMRVS;
var gr = new GlideRecord('sc_req_item');
gr.addQuery('sys_id', current.parent.sys_id);
gr.query();
if (gr.next()) {
requestMRVS = gr.variables.source_and_target_language; // this is the requestor's form data
internalMRVS = gr.variables.source_target_language_internal; // this is the more detailed, internal data
} else {
return;
}
gs.log('requestMRVS.getRowCount() = ' + requestMRVS.getRowCount(), 'nc5');
objResources.requestMRVS = requestMRVS;
objResources.internalMRVS = internalMRVS;
// objResources.gr = gr;
gs.log('objResources.requestMRVS = ' + objResources.requestMRVS, 'nc5');
try {
var requestMRVSRowCount = objResources.requestMRVS.getRowCount();
gs.log('requestMRVSRowCount = ' + requestMRVSRowCount, 'nc5');
for (var i = 0; i < requestMRVSRowCount; i++) {
var requestRow = objResources.requestMRVS.getRow(i);
var newInternalRow = objResources.internalMRVS.addRow();
newInternalRow.setCellValue('source_language_internal', requestRow.source_language_new);
newInternalRow.setCellValue('target_language_internal', requestRow.target_language_new);
}
gr.variables.source_target_language_internal = JSON.stringify(objResources.internalMRVS);
} catch (e) {
gs.log('setInternalRequestLanguageItems failed because: ' + e.message, 'nc5');
}
gr.update();
gs.log('final objResources.requestMRVS = ' + objResources.requestMRVS, 'nc5');
gs.log('final objResources.internalMRVS = ' + objResources.internalMRVS, 'nc5');
})(current, previous);
Please mark this response as correct or helpful if it assisted you with your question.