Multirow variable sets (MRVS) are a fairly recent addition to the Service Catalog in ServiceNow, having been introduced in the London release. Unlike a traditional variable set, which is a collection of singular variables, a MRVS allows the population of an arbitrary* number of rows of data, displayed in a table format, with a series of predefined field columns. Some field types, such as list collectors and macros, and other service catalog functionality (such as ‘Map to field’) are not available from a MRVS. See the official documentation for more details: Service Catalog Variable Sets
Multirow Variable Set – Which variable types are not supported
You cannot include the following variable types in an MRVS:
- Attachment
- Break
- Container End
- Container Start
- Container Split
- HTML
- Label
- Macro (aka custom)
- Macro with label (aka custom with label)
- Rich Text Label
- UI Page

Features in Quebec
Variable hidden or be a unique key
You can configure an MRVS variable to disallow duplicate values. For information about the Unique field, see Create a service catalog variable.


You can hide a variable in the MRVS so that it does not appear when the modal is open. But there is the limitation for this function. It is now hidden on list

You cannot add variables with read roles in an MRVS.

Catalog Client Script
onLoad()
onLoad Client Script runs on the level of “pop up modal” when it pops up after user clicks the “Add” Button. What we can do with onLoad Client Script:
- Load default data to fill in any field on MRVS form
- Read-only/Hide some fields if needed (Not Recommend => Better use “hidden” field on variable or UI Policy on MRVS level.)


onChange()
Client Script onChange() is triggered whenever there is a change from user or system on a field value. The purpose of such kind of tool is to:
- Validate the field value
- Populate other values from the change of specific field value


onSubmit()
This runs after user hits the Add Button to add 1 row to the table.

