Understanding Multi-Row Variable Set on Catalog Task

MarkyMark1
Tera Expert

I'm trying to understand how a multi-row variable set works within a catalog task.  If you look at SN's docs

 Paris Service Catalog Docs

find_real_file.png

By what I'm readying here it sounds to me like you a MRV set won't work or more accurately be available / displayed on a catalog task.   Looking at articles on the community it seems some validate this information.  

find_real_file.png

 

But a teammate of mine said sure you can.... So on my developer instance I spun up a catalog item with an mrv set along with a workflow that creates a catalog task to help me understand myself.

 

find_real_file.png

 

So here is my simple basic MRV set.

 

 

find_real_file.png

 

And added it in the Catalog Task workflow activity.

 

find_real_file.png

 

So I created a new Order and looking at the resulting created catalog task it shows me the data from my MRV set.

 

find_real_file.png

 

So what am I misunderstanding from what the ServcieNow Docs and related Community posts that say it isn't possible?

My lack of service catalog experience is showing apparently but I hopefully someone can shine some light on my confusion.

 

Thanks

3 REPLIES 3

Cory Hitchings
Giga Guru

Hi Mark. 

This is from the site itself: 

Single-row variable set

Use a single-row variable set to capture data from variables that are grouped together, while submitting a catalog item request for a single entity.

Multi-row variable set

Use a multi-row variable set to capture variable data in a grid layout while submitting a catalog item request for a group of entities. For example, for HR during the reorganization of employees, a single record producer should be able to capture the relevant information such as the department and manager for a group of employees. Also, when you request a catalog item to order virtual machines and servers, configuration options should be captured as a single request. In this case, a requester can define multiple hardware units as rows and their configuration options as columns of a multi-row variable set.

You cannot include the following variable types in a multi-row variable set:

  • Break
  • Container End
  • Container Start
  • Container Split
  • HTML
  • Label
  • List Collector
  • Macro
  • Macro with label
  • UI Page
Note:
  • The Map to field functionality is not supported for variables used in a multi-row variable set.
  • Cascading functionality for variables in an order guide is not supported for a multi-row variable set.
  • A multi-row variable set is not displayed when added within a container.
  • A multi-row variable set is supported in the variable summarizer only in Service Portal.
  • You cannot add variables with read roles in a multi-row variable set.
  • When you clone a request that contains a multi-row variable set, the information that is specified in the multi-row variable set is available in all cloned requests. All UI policies and client scripts on the multi-row variable set are also cloned.
  • Set a limit to the number of rows that you can add to a multi-row variable set by using the max_rows attribute in the Variable Set attributes field.
You can define catalog client scripts, catalog UI policies, and catalog data lookups for a multi-row variable set. But, you cannot edit the visibility settings of its variables using catalog client scripts and catalog UI policies, that is, the g_form.setVisible() is not honored in catalog client scripts, and the Visible field of a catalog UI policy action is read-only and set to Leave alone.

Narsing1
Mega Sage

Looks like your question is related to setting the Variable Global field to true / false.  Here you go.

  • You have in general, 2 ways to display your variable in a Catalog Task
    • Adding the Variables via Slush Bucket from a Catalog Task Activity under Workflow
    • Check the Global variable to true to appear in all views.
  • But, there is a catch.  If it is a Multi Row Variable Set, and when you attach that variable to the Catalog Item, you only use the parent name of that variable in all your scripts.  In this case, you really don't need to specify (of course it will not accept) Global as true inside a Multirow variable set.

Please mark it as correct answer if it helps

Thanks,

Narsing

singharmeet
Tera Contributor

Hi,

I have a similar but different issue, I need to get multi row variable set and create multiple tasks from each row of data and include only that row in the task. Can anyone help.