Issue
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>'
- Navigate to System Definition > Tables
- Open the record for the custom table.
- In the Application Access section, check the box for 'Can create'
Related Links
Please review the documentation below as well:
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 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. lear the check box to prevent script objects from other application scopes from creating records in this table.