- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-10-2025 05:17 AM - edited 02-10-2025 11:08 AM
I have added a field called "analysis_notes" to a table and I have to make it always editable for users with the "abc" role.
There is a prevoiusly existing write ACL for all fields in the table (custom_table.*) that prevents editing when state is Closed.
I figured I just had to create a write ACL for that field, and for that role. It looks like this:
Operation: write
Name: custom_table.analysis_notes
Roles: abc
Its not working! After the record gets closed, all fields become read-only. I tried the Security Debugger and the ACL evaluates to "Cached=False".
I have also tried:
-Waiting over the weekend and check if it started working (I know how silly this sounds, but I've heard it worked for someone with a similar issue)
-Deactivating old ACL
-Removing the role from the user I impersonate and adding it again
-Adding the role to myself
-Testing from an incognito browser
-Having a teammate test
Update:
For some reason it is looking for the role "admin" instead of "abc", which is the one I configured in the ACL.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-10-2025 06:15 AM
If table level WRITE blocks then field level WRITE won't help.
User needs to pass table.None WRITE ACL 1st if present and then field level will be evaluated
Your table level ACL is blocking and hence not working
1 workaround is design a UI page to take input for that field and then use GlideRecord to update the record.
No ACLs to be configured.
That UI page will be invoked from UI action and this UI action will be shown only to those users
I have created a blog for the same. please enhance
Update record using UI page and UI action
If my response helped please mark it correct and close the thread so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-10-2025 06:15 AM
If table level WRITE blocks then field level WRITE won't help.
User needs to pass table.None WRITE ACL 1st if present and then field level will be evaluated
Your table level ACL is blocking and hence not working
1 workaround is design a UI page to take input for that field and then use GlideRecord to update the record.
No ACLs to be configured.
That UI page will be invoked from UI action and this UI action will be shown only to those users
I have created a blog for the same. please enhance
Update record using UI page and UI action
If my response helped please mark it correct and close the thread so that it benefits future readers.
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-10-2025 10:40 AM
There is a table ACL but deactivating it doesn't work either.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-12-2025 09:44 AM
Actually you are right, there was a condition on the table level ACL I was overlooking.
Didn't need to use the workaround.
Thanks