Welcome to Community Week 2025! Join us to learn, connect, and be recognized as we celebrate the spirit of Community and the power of AI. Get the details  

Create Multiple Ritm based on Multirow Variable set

sureshmakal
Tera Contributor

Hi All,

 

I have Requirement need to create multiple ritm based Multirow Variable set. Based on adding rows create ritms
ex: if user add 4 rows in variable set, 4 ritms has to create under one REQ. IN every ritm variable should be populated. Then 1st row in variable set  has to populate in 1st ritm , 2nd variable set has to populate in 2nd like that for all ritms. Please help me on this requirement.

 

Thanks 

Suresh. 

 

 

 

 

 

 

7 REPLIES 7

Nilesh Pol
Kilo Sage
Kilo Sage

@sureshmakal 

you can utilize a combination of workflows and scripting. Here's a step-by-step approach to implement this:

Step 1: Set Up the Multi-row Variable Set

  1. Create a Multi-row Variable Set: Define the multi-row variable set in your catalog item with the necessary variables (e.g., name, description, etc.).

Step 2: Workflow Configuration

  1. Create a Workflow: Design a workflow that will handle the creation of RITMs based on the multi-row entries.

  2. Add a Script to Process Multi-row Entries: Use a script within the workflow to iterate over the multi-row variable set and create individual RITMs for each row.

Step 3: Script to Create RITMs

Here's a sample script to guide you through the process:

(function executeWorkflow(current, previous) {
    // Get the Multi-row Variable Set
    var multiRowVariableSet = current.variables.multi_row_variable_set; // Replace with your actual variable set name

    // Iterate through each row in the Multi-row Variable Set
    for (var i = 0; i < multiRowVariableSet.length; i++) {
        var row = multiRowVariableSet[i];

        // Create a new RITM
        var ritmGR = new GlideRecord('sc_req_item');
        ritmGR.initialize();
        ritmGR.request = current.sys_id; // Link to the current REQ
        ritmGR.short_description = 'RITM for ' + row.variable_name; // Customize as needed
        ritmGR.insert();

        // Populate the RITM with variables from the row
        // Assuming you have variables like 'variable_name', 'variable_description', etc.
        ritmGR.variables.variable_name = row.variable_name;
        ritmGR.variables.variable_description = row.variable_description;
        // Add more variables as needed

        ritmGR.update();
    }
})(current, previous);

Step 4: Workflow Execution

  1. Attach the Workflow to the Catalog Item: Ensure the workflow is attached to the catalog item so that it executes when a request is submitted.

Hi @Nilesh Pol,

We trying create flow designer, help me with flow designer  

@sureshmakal 

Guide to Using Flow Designer

Step 1: Set Up the Multi-row Variable Set

  1. Create a Multi-row Variable Set: Define the multi-row variable set in your catalog item with the necessary variables (e.g., name, description, etc.).

Step 2: Create a Flow in Flow Designer

  1. Navigate to Flow Designer: Go to Flow Designer in ServiceNow.

  2. Create a New Flow: Click on New to create a new flow.

  3. Define the Trigger:

    • Set the trigger to Service Catalog and specify your catalog item. This will ensure the flow starts when a request for this item is submitted.

Step 3: Add Actions to the Flow

  1. Add an Action to Iterate Over Multi-row Variable Set:

    • Use the For Each action to iterate over the rows in the multi-row variable set.
    • You'll need to reference the multi-row variable set from the catalog item. This can typically be done by accessing the variable set directly in the flow.
  2. Create RITMs for Each Row:

    • Within the For Each loop, add a Create Record action.
    • Set the table to sc_req_item (Requested Item).
    • Map the fields in the RITM to the variables from the current row in the multi-row variable set. For example:
      • Request: Set this to the sys_id of the current request.
      • Short Description: Use a combination of static text and variables from the row to create a meaningful description.
      • Map other variables as needed to populate the RITM.
  3. Update RITM Variables:

    • If your RITM requires specific variables to be set, ensure that these are mapped from the multi-row variable set fields.

Step 4: Test the Flow

  1. Submit a Request: Test the flow by submitting a request for the catalog item with multiple rows in the multi-row variable set.

  2. Verify RITMs: Check that the correct number of RITMs are created and each is populated with the appropriate variables from the multi-row variable set

Hi @Nilesh Pol ,

Only one ritm is creating by using this script