Issue with Domain Specific Choice Lists

Chris Sanford1
Kilo Guru

I am trying to configure domain specific incident categories on the 'category' field. I have pre-existing global domain choices, and then added a new one in a specific domain. None of my choices are inactive. For an incident in the specific domain, I expected to see all the global ones, as well as the domain specific choice. However this does not seem to be the case. I only see the new choice in that specific domain, and the global ones appear on all of the other domains except that one.

 

According to ServiceNow's documentation on this subject at https://docs.servicenow.com/bundle/kingston-platform-administration/page/administer/company-and-doma..., I found the following paragraph:

 

find_real_file.png

 

From what I can tell this appears to be a false statement. I confirmed in my out of box developer instance the same behavior. Am I missing something here?

1 ACCEPTED SOLUTION

Deepak Ingale1
Mega Sage

Hi Chris,

 

Your observation is correct. We need to configure required choice from global domain again in our desired domain.

 

View solution in original post

14 REPLIES 14

Deepak Ingale1
Mega Sage

Hi Chris,

 

Your observation is correct. We need to configure required choice from global domain again in our desired domain.

 

Ok thanks. For what it's worth I also discovered that if you right click the field on the form and click 'Configure choices', then add the fields there, then it will automatically duplicate the global ones for you into the specific domain. So I guess maybe that is the preferred way of doing it rather than creating new records in sys_choice table directly.

As per my knowledge on Domain separation, Choice options and Form Sections (Data) are considered exception in domain separation. Data flows from down to top i.e parent domain can see the data/records of child domains, vice versa is not true. But Choice defined in parent domain are always visible in the child domains. Because of this behavior choice options are considered exception in domain separation.

Yes, that was essentially my understanding too. Choice lists are considered processes, not data so child domains should be able to see parent domain choices, unless a domain override exists.

However that's not actually always true, as per my question and deepak's response. sys_choice records defined in a parent domain are only visible in the child domains if there are no sys_choice records defined for that field in the child domain. So as soon as you create a sys_choice record in a given domain, all the parent choices for that field disappear. I would expect it to work more like form layouts and sections, where if you can override specific sections in a child domain, but all the other parent sections will still be there until individually overriden.

Unless you use the 'configure choice list' macro, where it seems if you modify one choice, the system will automatically create clones of all the other parent domain sys_choice records into the child domain. Very strange behavior but that is how ServiceNow seems to work. Also interesting is the lack of a sys_overrides field on sys_choice.