Show/Hide selected variables in list collector variable in child ritm

Ashwin Perumal1
Tera Contributor

Hello All,

I have a list collector variable and for each selection of the list collector variable I am creating a child RITM using flow designer and to display variable editor for child ritms i am having a custom action which creates record in sc_item_option_mtom so that all variables are displayed in variable editor in my child ritms. For each child ritm i am having short des as "Child ritm created for" + that selected value in list collector. So now my requirement is to show only one selected option in list collector for each ritm as I am creating separate ritms for each selection.

For eg : in list collector I am selecting two values like ABC, DEF and from my flow two child ritms will be created along with parent with each short des like child ritm created for ABC. So in this ritm i need to show only ABC as selected option in list collector and should remove DEF from list collector selected option

Can anyone pls help me how to achive this. I have tried some coding in backgriund script but its updating one value for all ritms from array instead of updating different values for each riym from array


Code:

var childRITMArray = [];
var childGr = new GlideRecord('sc_req_item');
childGr.addQuery('parent', '6f17706bc399d210e5887a53e4013120');
childGr.query();
while (childGr.next()) {
    var childSysId = childGr.getUniqueValue();
    childRITMArray.push(childSysId);
    //var parentServer = childGr.variables.my variable.name; //is a list collector variable which stored in array
    var array = ['63d2a741877ae51057e197183cbb35a7', 'fc12a7c997f2a510b4c4f727f053af3f12'];

    for (var i = 0; i < childRITMArray.length; i++) {
        for (var j = 0; j < array.length; j++) {
            var scMtom = new GlideRecord('sc_item_option_mtom');
            scMtom.addQuery('request_item', childRITMArray[i]);
            scMtom.addQuery('sc_item_option.item_option_new', '1f9e893647a63113a6d28062736d433b'); //sysId of list collector variable
            scMtom.query();
            if (scMtom.next()) {
                var scItem = new GlideRecord('sc_item_option');
                scItem.addQuery('sys_id', scMtom.sc_item_option);
                scItem.query();
                if (scItem.next()) {
                    scItem.value = array[j];
                    scItem.update();
                    //scItem.insert();

                }
            }
        }
    }
}
gs.log("Child RITMS Id: " + childRITMArray);
gs.log("Array: " + array);
gs.log("Print: " + scItem.value);
Can any one guide me on this.Thanks in advance
0 REPLIES 0