How to split Multi-Row Variable Set rows into multiple RITMs for a single Request?

VishwamitraM
Tera Expert

Hi Community,

I have a requirement related to catalog items with a Multi-Row Variable Set (MRVS).

Currently, when a user submits a catalog request that includes multiple rows in the MRVS, ServiceNow creates:
• One Request (REQ), and
• One Request Item (RITM),
with all MRVS rows stored under that single RITM in the sc_multi_row_question_answer table.

Requirement:
For one Request (REQ), I need to generate multiple RITMs — essentially, one RITM per MRVS row.

Example:
• If the MRVS contains 2 rows (e.g., two different order items),
• Then I want the system to create 2 RITMs under the same Request, instead of 1 RITM containing both rows.

Question:
• Is there a standard way to achieve this in ServiceNow?

I’d appreciate any guidance, best practices, or examples from anyone who has implemented this before.

Thanks in advance!

1 ACCEPTED SOLUTION

Ankur Bawiskar
Tera Patron

@VishwamitraM 

No OOTB way for this. you will require custom solution

you can use For Each in your main Flow of catalog item and then iterate over MRVS

Then use "Submit Catalog Item Request" flow action to submit those many REQ

Remember you will have multiple REQs for each row, you will have to update the newly created RITM to update the REQ with the parent REQ
I shared solution here in this link on how to do

Create multiple RITM based on data in MRVS using Flow Designer 

submit new ritm based on mrvs and update new RITMs with old REQ.gif

If my response helped please mark it correct and close the thread so that it benefits future readers.

Regards,
Ankur
✨ Certified Technical Architect  ||  ✨ 10x ServiceNow MVP  ||  ✨ ServiceNow Community Leader

View solution in original post

12 REPLIES 12

Sure Ankur.. Thanks..Will try to implement how to achieve it.

 

Regards,

Vishwamitra Manav

When you need to bypass the OOB RITM creation and instead create multiple RITMs based on the rows in an MRVS, all under the same Request, you can use a fully custom approach with an onSubmit() Catalog Client Script and a Script Include.

The onSubmit() script prevents the normal Catalog submission, sends the MRVS data to the server, and the Script Include creates the required RITMs under a single Request.

However, because the OOB RITM creation is being bypassed, the Catalog form may still consider itself unsaved when you redirect the user after the custom process completes. This can result in the "Changes you made may not be saved" or dirty form warning.

To handle this, you can use a separate redirect function that intercepts the form's unload event and then redirects the user only after the custom RITM creation process has completed successfully.

sushantnrve
Tera Contributor

Hi Ankur ,

 

I tried this and still it is creating multiple Req with RITM .

 

I have linked parent RITM in for each group.

 

Regards

Sushant