Notifications

42 views

Symptoms


 Getting Error "Create Operation against 'x_<customer_table> 'rhino.global' has been refused due to the table's cross-scope access policy"

 

Release


 All

  

Cause


Caused by a script from a table that is in another Application Scope (i.e. Global) that tries to insert a record into a custom table belonging to a different Application Scope.

In one scenario, there was a business rule that needs to create a record for 'x_<customer_table>'

Example:  Business Rule via incident table which is in the 'Global' application scope.

function onAfter(current,previous){

var csCustomTable=new GlideRecord("x_custom_table");

csCustomTable.initialize();

...

...

csCustomTable.insert();

 

Resolution


Enable the 'Can Create' option for the 'x_<custom_table>'

1. Navigate to System Definition > Tables

2. Open the record for the custom table. 

3. In the Application Access section, check the box for 'Can create' 

 

Additional Information


 Please review the documentation below as well: 

https://docs.servicenow.com/bundle/london-platform-administration/page/administer/table-administration/task/t_CreateATable.html

In the Application Access section, define the scope protection for the table. For more information, see Application access settings.

Can create 

Select the check box to to allow script objects from other application scopes to create records in this table. This option offers runtime protection. For example, a script in another application can insert a new record in this table. This option is available only when the Can read check box is selected. 

Clear the check box to prevent script objects from other application scopes from creating records in this table. 

Article Information

Last Updated:2019-03-03 20:02:53
Published:2019-03-04