When i am trying to create a record from spm_service_portfolio then i am facing this issue (attach)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-13-2025 06:57 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-13-2025 08:20 AM
Error Breakdown:
"Lower performance score threshold must be between 1 and 99"
→ There is likely a field validation rule or UI policy checking the range for a field like lower_threshold and upper_threshold. You may not see these fields if they are hidden on the form.
"Access to API 'setAbortAction' from scope 'sn_spm' has been refused due to the API’s cross-scope access policy"
→ This means a script is calling a global function (setAbortAction) from within a scoped app (sn_spm), but the cross-scope privilege is not allowed.
"Invalid update"
→ This is the result of the failed validations above.
✅ Fix Steps
1. Check and populate hidden mandatory fields
There are likely fields like:
Lower performance score threshold
Upper performance score threshold
These fields might be:
Hidden by a UI policy or form layout
Required by a business rule or script
What to do:
Personalize the form or use the gear icon → “Configure Form Layout” to expose those fields
Set values like:
Lower threshold: 1
Upper threshold: 100
2. Fix or bypass cross-scope issue
The setAbortAction() function cannot be called from the sn_spm scope without proper permissions
If this is a custom script include or business rule, you will need to:
Either remove or refactor the use of setAbortAction()
Or allow cross-scope calls via:
System Definition > Cross-Scope Access
Search for sn_spm → global and allow access to setAbortAction (if permitted in your org)
If you are not the app owner or cannot modify scope permissions, this should be escalated to your admin or platform owner.
3. Test in lower environment
Try to replicate the issue in a sub-production instance
Check if the fields are pre-populated in that instance
If not reproducible, check for missing data policies, UI scripts, or configuration differences between Prod and lower environments
Temporary Workaround
If you're blocked and need to insert a record urgently, try using a background script with all required fields:
var gr = new GlideRecord('spm_service_portfolio');
gr.initialize();
gr.name = 'Test Portfolio';
gr.lower_performance_score_threshold = 1;
gr.upper_performance_score_threshold = 100;
gr.insert();
This bypasses UI policies but must still respect server-side validations.