- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-09-2023 03:29 AM
Hello eveyone, I have an issue about deletion of catalog item variables with script. My categories, catalog items and catalog item variables have been created and automated using script. But there is a problem about deletion of catalog item variables with script. I can't delete any catalog item variables. I have specified the script section I used below.
var gr = new GlideRecord("item_option_new");
gr.addQuery('sys_scope',scope);
gr.query();
if(gr.next()){
gr.deleteRecord(true);
}
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-09-2023 05:23 AM
@Alpcan you might have to create a cross scope policy to do it via your scope
navigate to Application -cross scope access and create a new one like below
Target scope is your scope and target name is your table name and select operation as delete
and set status as allowed.
Hope this helps
Mark my answer correct if this helps you
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-09-2023 03:32 AM
Hello @Alpcan ,
You need to specify for which catalog item you are deleting the variables for by adding one more addQuery like below
var gr = new GlideRecord("item_option_new");
gr.addQuery('sys_scope',scope); // your scope name
gr.addQuery('cat_item','your_catalog_item_sys_id');
gr.query();
while(gr.next()){ // use while to delete multiple variables
gr.deleteRecord(); //no need to pass true as param for deleteRecord method
}
Hope this helps
Mark my answer correct if this helps you
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-09-2023 04:16 AM
Hello @Mohith Devatte,
Thanks for your quick reply. I tried what you said, but I still could not delete it. When I check the logs, I can see the variable names of the catalog item.
var gr = new GlideRecord("item_option_new");
gr.addQuery('sys_scope',scope);
gr.addQuery('cat_item',cat_sys_id);
gr.query();
while(gr.next()){
gs.info(gr.name);
gr.deleteRecord();
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-09-2023 04:23 AM
@Alpcan are you trying this in background scirpt ?
please try running it in BG as it immediately shows in the output if it has scope issues to delete the record.
I am assuming its a cross scope issue where you don't have access to delete the records
Please try running the script in BG and let me know the output
Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-09-2023 04:33 AM