- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-24-2023 06:13 AM - edited 02-26-2023 11:10 PM
Hi Developers,
I'm trying to build a new Catalog Item for Minor changes required on existing Catalog Item on the system.
I just have rough design in my mind & I was wondering,
How can I create a variable in New Item, Which will show all variable of the selected Catalog Item that user wants to modify.
Ex:- Below I have selected "Naveen Learning" Catalog Item.
Now I want to create a new variable below this ("Select Catalog Item") which will show all available variable under this Item. So user can select for modification.
I tried to create a variable referencing to item_option_new table but this show all the variables available in the system. I need to show only which are related to above selected Catalog Item.
Please suggest.
Thank you.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-01-2023 01:06 AM
variables can be directly linked to catalog item or they can be part of some variable set
so use this; you need to use script include for this
javascript:'cat_item='+ current.variables.choose_variable_from_the_catalog + '^ORsys_idIN' + fetchVariables(current.variables.choose_variable_from_the_catalog);
function fetchVariables(itemSysId){
var arr = [];
var gr = new GlideRecord("io_set_item");
gr.addQuery("sc_cat_item", itemSysId);
gr.query();
while(gr.next()) {
var rec = new GlideRecord('item_option_new');
rec.addQuery('variable_set', gr.variable_set);
rec.query();
while(rec.next()){
arr.push(rec.getUniqueValue());
}
}
return arr.toString();
}
If my response helped please mark it correct and close the thread so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-24-2023 06:33 AM - edited 02-24-2023 06:35 AM
Hi,
You'd want to do something like what you've already done, but then add filtering to that variable reference field (go into the variable configuration/settings) to use the catalog item they selected in the previous field (select catalog item). So for filtering you can use:
javascript(colon)"cat_item="+current.variables.select_catalog_item_field_name_here;
It's javascript and then a : next to it, but the forums strip it out when I post so I had to post it like I did above.
Please consider marking my reply as Helpful and/or Accept Solution, if applicable. Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-24-2023 08:08 AM
Hi Allen,
Thank you for the response.
I have tried this but no luck.
Not sure if I have done it in right way.
Please look & suggest
I can't use static Item here so used the variable Name which hold current Item value.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-01-2023 07:28 AM
Hi,
As I mentioned in my reply....please refer to the bold statement:
It's javascript and then a : next to it, but the forums strip it out when I post so I had to post it like I did above.
It's not javascript(colon)...
Please consider marking my reply as Helpful and/or Accept Solution, if applicable. Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-24-2023 10:19 AM
Hi, @Naveen87 change "Use Reference Qualifier" type as Advanced and update the script line as below.
Thanks,
Pooja M