Restrict requested for / his manager / opened by --to cancel request once catalog task is generated

Sachin Gavhane
Giga Guru

Hi Team,

Requirement:
Configure ServiceNow so that once a Catalog Task (sc_task) is generated for a specific Catalog Item (sc_cat_item) under a Request Item (RITM), the request cannot be canceled by the Requested For user, their Manager, or the Opened By user.

Authorization Control:
Only users who are members of the Assignment Group associated with the generated Catalog Task should have permission to cancel the request. All other users, including the requester, requester’s manager, and request creator, must be restricted from canceling the request.

Scope:

  • Applies after at least one catalog task is created for the RITM

  • Enforcement should be based on assignment group membership of the catalog task

  • Cancellation attempts by unauthorized users should be blocked (UI action hidden/disabled or server-side validation)

    I have tried to achieve this using business rule -- but in design review it was recommended to do with decision table - also it should not impact globally to all.

    Please help @Ankur Bawiskar 






2 REPLIES 2

Ankur Bawiskar
Tera Patron
Tera Patron

@Sachin Gavhane 

I don't know which design review told you to use Decision table here

If your BR is checking for RITMs belonging to particular catalog item only then it won't impact globally

💡 If my response helped, please mark it as correct and close the thread 🔒— this helps future readers find the solution faster! 🙏

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

danesh
Giga Guru

You can implement a Decision Table to evaluate cancel permissions based on inputs like Catalog Item, task presence, and user’s assignment group membership.
A lightweight Business Rule will invoke this Decision Table only when a request transitions to “Canceled,” ensuring no global impact.
This approach centralizes logic for easy governance, supports item-specific rules, and allows future changes without code modifications.