For all the customers upgrading to London, the variable set is now treated as a first class citizen and as a result of this, a catalog item cannot have a variable set(internal_name) and a variable (name) with the same name.

This has been mentioned in the London release notes.


The following is a script which will help the customers upgrading to London identify the variables which have this configuration.

It is recommended to run this script after an upgrade to London.



(function() {
   var variables = new GlideRecord('item_option_new');
   while( {
      var varSet = variables.getValue('variable_set');
      var varName = variables.getValue('name');
      if (!varSet)
      else {
         var varSetGr = new GlideRecord('item_option_new_set');
         varSetGr.addQuery('sys_id', varSet);
         if (
            if (varSetGr.getValue('internal_name') === variables.getValue('name'))
               gs.print('Variable name and Internal name of the variable set are the same for ' + varName);
   var gr = new GlideRecord('io_set_item');
   while ( {
      var varSetName = gr.variable_set.internal_name;
      var catItem = gr.getValue('sc_cat_item');
      var variables = new GlideRecord('item_option_new');
      variables.addQuery('cat_item', catItem);
      while ( {
         if ( == varSetName) {
            gs.print("Variable name is same as variable set name for " + varSetName);


Running this in the background scripts will give us the list of variables/variable sets which are wrongly configured.




Article Information

Last Updated:2018-12-12 05:48:34