Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Cannot delete record(s) from background script

xiaix
Tera Guru

This is the script I'm trying to run (in Global scope):

(function () {
    gs.print("First, deleting any old records.");
    var record = false;
	record = new GlideRecord('sn_wsd_core_workplace_profile');
    record.query();
	if (record.next()) {
        gs.print("Deleting "+record.getRowCount()+' sn_wsd_core_workplace_profile records.');
        record.deleteMultiple();
    }
	record = new GlideRecord('sn_wsd_core_space');
    record.query();
	if (record.next()) {
        gs.print("Deleting "+record.getRowCount()+' sn_wsd_core_space records.');
        record.deleteMultiple();
    }
	record = new GlideRecord('sn_wsd_core_floor');
    record.query();
	if (record.next()) {
        gs.print("Deleting "+record.getRowCount()+' sn_wsd_core_floor records.');
        record.deleteMultiple();
    }
	record = new GlideRecord('sn_wsd_core_building');
    record.query();
	if (record.next()) {
        gs.print("Deleting "+record.getRowCount()+' sn_wsd_core_building records.');
        record.deleteMultiple();
    }
	record = new GlideRecord('sn_wsd_core_campus');
    record.query();
	if (record.next()) {
        gs.print("Deleting "+record.getRowCount()+' sn_wsd_core_campus records.');
        record.deleteMultiple();
    }
	record = new GlideRecord('sn_wsd_core_site');
    record.query();
	if (record.next()) {
        gs.print("Deleting "+record.getRowCount()+' sn_wsd_core_site records.');
        record.deleteMultiple();
    }
	record = new GlideRecord('sn_wsd_core_region');
    record.query();
	if (record.next()) {
        gs.print("Deleting "+record.getRowCount()+' sn_wsd_core_region records.');
        record.deleteMultiple();
    }
}();

 

This is the result I get:

 

*** Script: First, deleting any old records.
*** Script: Deleting 41 sn_wsd_core_workplace_profile records.
Security restricted: Delete operation against 'sn_wsd_core_workplace_profile' from scope 'rhino.global' has been refused due to the table's cross-scope access policy
*** Script: Deleting 41 sn_wsd_core_space records.
Security restricted: Delete operation against 'sn_wsd_core_space' from scope 'rhino.global' has been refused due to the table's cross-scope access policy
*** Script: Deleting 1 sn_wsd_core_floor records.
Security restricted: Delete operation against 'sn_wsd_core_floor' from scope 'rhino.global' has been refused due to the table's cross-scope access policy
*** Script: Deleting 1 sn_wsd_core_building records.
Security restricted: Delete operation against 'sn_wsd_core_building' from scope 'rhino.global' has been refused due to the table's cross-scope access policy
*** Script: Deleting 1 sn_wsd_core_campus records.
Security restricted: Delete operation against 'sn_wsd_core_campus' from scope 'rhino.global' has been refused due to the table's cross-scope access policy
*** Script: Deleting 1 sn_wsd_core_site records.
Security restricted: Delete operation against 'sn_wsd_core_site' from scope 'rhino.global' has been refused due to the table's cross-scope access policy
*** Script: Deleting 1 sn_wsd_core_region records.
Security restricted: Delete operation against 'sn_wsd_core_region' from scope 'rhino.global' has been refused due to the table's cross-scope access policy

Well, this sucks. So I change my application scope to "Workplace Safety Management", run the script, same issue.
So then, while I'm still in Workplace Safety Management scope, I go to each of those tables and click the "Delete" checkbox:
find_real_file.png

I even go into the Workspace Location table (which is extended by most of the above listed tables) and set "Can delete" to true:
find_real_file.png

I try running the script... same result!

So then I do my least favorite thing of all in ServiceNow... open Studio (bleh)

find_real_file.png

Then try to go into settings:

find_real_file.png

But oh look, isn't this lovely:

find_real_file.png

I mean c'mon.

Anyone know what magic mantra's I need to chant to allow me to run some scripts to clean out old records?

20 REPLIES 20

I had the same problem and this command solved this issue