- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-10-2016 09:05 AM
So I completed the domain separation training a few weeks back and learned all about sys_overrides etc.
I am having an issue around one concept that was taught. When you create a process override and mark it as inactive; the intended behavior is that it should not run at either the specified domain or higher level domain due to the override. It was later explained that the only way to revert from the use of the override is to delete it and that marking it as inactive essentially disables it for that domain. Is this true?
What I am running into is that we have a notification defined at global and it is active. We created an override for "Domain A". When both are active, the "Domain A" notification goes out due to the override. When I mark Domain A's notification as inactive (active unchecked), the global notification is going out.
I found a way around this but I don't know enough about what it is that I did to make it not go out and it appears to go against was was taught.
What I did was the following (within notifications on the form):
1) Added Related Lists: "Notifications->Overrides" & a few other related lists that had the overrides at the end. Really only need to worry about the Notifications override for this scenario.
** NOTE ** - On either record all these related lists have nothing in them.
2) Enabled the "Edit" UI Action for the related list (the Notifications->Override list)
3) Navigate to Domain A's defined notification (the override)
4) Click Edit (causing it to display all the global defined notifications), found the one that my Domain A's notification overrides and selected it.
** NOTE ** - After doing this, now i see the record name in the "Notifications->Overrides" and "Rules->Overrides" related lists
5) With Domain A's notification still active, I tested the conditions and the notification DID NOT go out.
If I go back and have Domain A's related lists populated and the record set as Inactive, the global goes out
If I go back and remove the records from the related lists and set active = true, the Domain A notification goes out.
If i go back and make Domain A's record Inactive with no records in the related list, global notification goes out
Again, on Domain A's notification, if related lists are populated and record is active, neither global or domain specific goes out.
* in all cases the sys_overrides field on Domain A's record is populated with the proper record (the global one that we wish to override).
To state the overall question again:
When you create a process override and mark it as inactive, the intended behavior is that it should not run at either the specified domain or higher level domain due to the override. Is this true?
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎02-09-2017 02:34 AM
According to the ServiceNow Domain Separation Best Practices, it is not possible to override an element and set Active=false. The system will ignore the override in this case because it is inactive. To override and deactivate, set a condition of false or sys_id | is | empty.
Therefore, the expected behavior should be:
- Global notification active, Domain A notification active --> Domain A notification is sent
- Global notification active, Domain A notification inactive --> global notification is sent
- Global notification active, Domain A notification active with "false" condition --> No notification is sent
Another approach is to enhance the condition of the global Notification instead of creating an override, which leaves you with only one element to manage. This, however, strongly depends on the process.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-10-2016 10:06 AM
Let's say there's a business rule in global, you create an override in Domain A, and mark the global one inactive. The rule will only run if the Domain is A, and and child domains off of that domain, but will not run in global.
If you wanted to remove the override, you need to delete the reference in the Override field, then you can delete the rule. Otherwise, you're deleting BOTH rules.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-10-2016 10:17 AM
Only issue is that the one defined at the global level needs to apply to the rest of my domains. (I'd sure love if our implementation partners built a "TOP" domain )

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-10-2016 10:21 AM
Is there a process domain instead of TOP?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎11-10-2016 10:43 AM
There is one, however it'd be a significant change for us to migrate that from global to the top level process domain. We are looking to re-deploy Service Now due to all the issues introduced form our implementation partner.
Either way, is it expected behavior that if a lower level domain has an override defined for a record that setting it to inactive should prevent it from triggering at that level or higher or is there something I am missing?