
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-30-2024 03:36 PM - edited ‎10-30-2024 04:08 PM
We recently had a request from our end users that they didn't like putting in a request multiple times when they needed to select multiple items. Ex, Software requests. It would be nice to select all the software titles in 1 request and be done. Of course this can be done in many ways but at our organization we are required to have an RITM for each selection for audit purposes. Yep a pain.
That said we had originally solved this predicament by adding a multi-row variable set on the catalog item (MRVS) and the underlying flow would loop through each selection and order another catalog item. Ex, the main catalog item might be called Software Request and the secondary catalog item might be called Provision Software. All the the secondary catalog items would be children of the parent and we would wait for all of those to close out before closing the parent. This works but I honestly didn't like having to maintain 2 catalog items and any future request for this functionality would also require 2 catalog items. No fun to maintain and support.
I was able to solve this issue with a little insight from this KB, https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB1002849
I created 1 catalog item called Software Request. Again it would have a MRVS so that users can add as many software titles as they need to be installed on their pc. I added a read only field called "parent" which gets set to true and is hidden on the RITM. When submitted this field will be true by default. The flow then looks to see if the RITM is a parent with just a single item OR is a child, which would also have just 1 item. I will show this below. When true we create the approval, tasks, etc and the RITM is worked to completion.
If there is more than 1 items being requested on the parent then you must loop through them and call a subflow on each one. The subflow is nothing more than submit catalog item request calling the same catalog item. The key is that in the main flow you uncheck the wait box on the subflow. This will cause a new flow context to kick off for the children requests. From there I update each child RITM by setting the parent field to the parent request. Again we wait for all children to be closed out before closing the parent.
MAIN FLOW (Software Request)
SUBFLOW (Order Additional Software Request)
Note: you will need to create all the inputs you need to order the Software Request catalog item including an input for the parent record. Make sure to uncheck the parent field, these are children. The update record step 2 is nothing more than setting the parent on the child. Hence why you need the input for the parent RITM. Ex, Parent request 12345 has 5 software selections. This subflow gets called 5 times for each selection and we set the parent to 12345.
This results in the parent record (12345) showing all 5 selections in the MRVS field and then there will be 5 related RITMs for each selection. Once those are closed out than the parent will close.
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-30-2024 03:38 PM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎10-30-2024 03:38 PM
Solved