Scope Application Cross-scope access policy

avinash21
Mega Contributor

Hi All

I have built a scoped application which constitutes of few tables, when a record is inserted on one of the table , it inserts a record in the table X in global scope. a BR is written on this X table under scoped application on insert for aborting the insert if some condition matches.I found the below error when BR fires.

"Access to api 'setAbortAction' from scope 'x_0016_licence_man' has been refused due to the api's cross-scope access policy"

I have read other post on cross-scope access policy but did not found a valid solution to his problem , Can some one please help me in sorting this out.

TIA

19 REPLIES 19

Chuck Tomasi
Tera Patron

Can you share the details of the script you are using?



Is table X allowing other scopes to create/update records from other scopes? Hint: go to the table definition and look in the Application Access section to ensure it has something like this:



find_real_file.png


Hi Chuck



I have verified this , I have provided the access as per   your screenshot above.But this doesnot solved the issue.



TIA


Pradeep Sharma
ServiceNow Employee
ServiceNow Employee

Hello Avinash,



I'm assuming you are aborting the record on global table i.e business rule created in scoped application. If yes then this is expected behavior. you cannot abort the database transaction on the table, not in your scope. Please refer the below link for more info.


Creation Restrictions Across Application Scopes - ServiceNow Wiki



Please let me know if you have any questions.


Hi Pradeep



Yes you are correct , the BR created is in custom scoped application but refers to table(sys_user_has_role)created in Global scope.Is there any alternative to achieve this.?