How to Split Mulitline Variable type by using Business rule
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-09-2024 11:45 AM
Hi,
I have a catalog item and variable type is multiline text. I have to comma separate the values to insert in another table. How we can achieve this.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-09-2024 05:04 PM
Hi @Arun91
You can try the below script:
before Insert business rule and change the field name as per your requirement
(function executeRule(current, previous /*null when async*/ ) {
var requestItemSysId = current.sys_id; // Replace with the actual sys_id
var commaSeperatedValues = [];
var multiLineText = current.variables.special_accommodations.toString();
if (multiLineText) {
var valuesArray = multiLineText.split(' ');
for (j = 0; j < valuesArray.length; j++) {
var newRecord = new GlideRecord('incident');
newRecord.initialize();
newRecord.caller_id = '77ad8176731313005754660c4cf6a7de';
newRecord.short_description = valuesArray[j]; /
newRecord.insert();
}
}
})(current, previous);
Regards,
Sai Venkatesh
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-10-2024 06:41 AM
Seems the desire here is to split based on a new line character. Some logic for that follows:
// find a journal entry with multi-line text
var sjf = new GlideRecord('sys_journal_field');
sjf.addQuery('sys_id', '04554d105301121063141ab0a0490ee6');
sjf.query();
while (sjf.next()) {
gs.info("Value: " + sjf.value);
// replace all new lines with a comma
var newText = sjf.value.replaceAll('\n', ',');
gs.info('newText = ' + newText);
}
// now convert newText to an array
var newLines = newText.split(',');
for (i = 0; i < newLines.length; i++ ) {
gs.info("line " + i + " = " + newLines[i]);
}
// now create one or more records in another table using the newLines array values.
// ...
I have no idea what table a business rule would be defined on. I see variable values for sc_req_item records, but I have no idea what table they are stored in. If the desired 'field' is a variable, I see an OOB BR defined on the sc_req_item table named "Start Workflow" that accesses the variables.