Impact of setting a field to be inactive on the dictionary
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-29-2024 04:41 AM
On the dictionary there's an "Active" field. I want to know exactly what the impact is in ServiceNow of setting a field to be inactive on the dictionary, using that active field. I'm thinking here specifically of fields on CIs, or on tasks such as change requests, but it's a general question.
The docs page here says "When this check box is cleared, the field is not used by the system". It doesn't say exactly what that means though.
I believe that setting a field to be inactive hides it in the UI, so that users can't see it in lists of fields e.g in filter conditions. This is a key requirement we have, to hide fields that users don't need to be aware of because we don't actually use them in our instance.
But does it do anything else too? Can it break any functionality to make a field inactive? Is it OK to make OOTB fields inactive?
There was an earlier post Setting fields of a table to active=false [sys_dictionary.active] that asked the same thing but it never got answered. So raising it again now, in the hope that someone can provide a definitive answer, ideally someone from ServiceNow.
Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-07-2024 06:00 AM
Hi Kieran,
I opened a HI case, as you suggested. They came back and said that deactivating the field means "this field will not be used by the system, this means that ACL's, BR's or whatever other functionality is looking at this field will ignore it when it is inactive". However, I did some investigation in my Personal Development Instance, which contradicts that. The Support people then agreed with my findings. I've logged feedback on that docs page to point out that the information they've given is wrong.
Below is the feedback I logged against the docs page, which describes what I did and what I found.
Regards
Michael
Feedback submitted about docs page at https://docs.servicenow.com/bundle/washingtondc-platform-administration/page/administer/data-diction...
"The information about the "Active" field is wrong. It says "When this check box is cleared, the field is not used by the system". However, I've just checked in my PDI and deactivating a custom field does not stop it being queried in script, or being used as part of pre-existing filter conditions on things like business rules.
In my PDI I created a field, populated it on a few CIs, created a business rule that displayed an info message if the CI had a non-empty value for that field, then deactivated it on the dictionary. The field was no longer visible via the UI, but the business rule continued to work correctly. In fact, if I included that field in the filter conditions on the business rule and then deactivated the field, it no longer appeared on screen when I view the business rule, but I could see it was still there when I did "Show XML" and it still functioned the same as when the field was active.
This demonstrates that deactivating a field purely hides it from view but does not in fact change the way that field is used in the system. That contradicts the information in the docs pages, where it says "When this check box is cleared, the field is not used by the system", because inactive fields definitely *are* used by the system. They *are* still used, but they're just not visible in the UI.
So that would make it important to track down every place a field was being used across the system and make sure nothing depended on that field, before deactivating it."