How to hide child table (Inc) choice values from parent table (Task) filters based on user region

santhoshini2
Tera Contributor

Hi Community,

I’m looking for suggestions or best practices for handling choice value visibility between parent and child tables.

Scenario:

  • Task is the parent table

  • Incident is a child table

  • Both share the State field, but each table has its own choice values

Example:

  • Task → State choices: Open, In Progress

  • Incident → State choices: Received, Awaiting Info

Issue:
When creating list filters or report filters on the Task table, the Incident-specific state choices (Received, Awaiting Info) are also visible. This is confusing for users who only work with Task-level data.

Requirement:
For users belonging to a specific region (say XYZ region😞

  • They should only see Task-level state choices in Task list & report filters

  • They should not see Incident-specific state choices in the parent table filters

Question:
Is there any recommended or supported approach to:

  • Hide child table choice values from parent table filters?

  • Apply this behavior conditionally based on user attributes like region?

I’d appreciate any guidance around configuration, limitations, or possible workarounds (best practices preferred).

Thanks in advance for your help!

4 REPLIES 4

Ankur Bawiskar
Tera Patron

@santhoshini2 

you can't restrict child table choices on parent table filters.

Why your agents work on parent task table?

those are meant to work on INC, CHG, PRB etc

I don't think you can hide that

💡 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

Thanks for the response @Ankur Bawiskar

Just to clarify, this requirement is not for Task / Incident.
The actual scenario is Case as the parent table with custom Case extension tables.

  • Case → parent table

  • Custom Case tables → extended from Case

  • All tables share the same State field but have table-specific choice values

Business users work primarily with Case-level lists and reports for:

  • Unified case reporting

  • Cross-region visibility

  • Business-facing dashboards (not ITIL process tables)

Requirement remains the same:
When users filter or report on the Case table, they should only see parent Case state choices.
State values that belong only to custom Case tables should not appear in Case list/report filters—especially for users from specific regions.

If this is still a platform limitation with choice inheritance, it would be helpful to know:

  • Whether this is officially unsupported for Case extensions

  • Or if there are any recommended design patterns / workarounds for this use case

Appreciate any expert guidance.

@santhoshini2 

I think it's not possible to hide the choices in filter conditions.

💡 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

Tehreemm
Tera Contributor

 

Hi @santhoshini2 
There is no fully supported way in ServiceNow to “hide” child table choice values from the parent table filters, because choice lists are inherited across the table hierarchy. The recommended best practice is to manage choice visibility through dictionary overrides, sys_class_name filtering, or role/region‑based UI policies rather than trying to suppress values globally.
 
Why This Happens
  • Shared field inheritance: The State field is defined on the parent table (Task). Any child table (e.g., Incident) that adds its own choices extends the parent’s choice list.
  • Filters/reports behaviour: When filtering on the parent table, ServiceNow shows all possible values across the hierarchy, including child‑specific ones. This is expected platform behaviour.
 
Best Practices & Options
1. Dictionary Overrides
  • Create dictionary overrides for the State field on child tables (Incident, Problem, etc.).
  • This allows each child table to have its own choice list without polluting the parent’s filter view.
  • Limitation: Overrides affect the field at the form level, but filters/reports on the parent table may still show all values.
2. sys_class_name Filtering
  • Use the sys_class_name field to restrict filters/reports to only parent table records.
  • Example: Add a condition sys_class_name = task in reports or list views to exclude child table records.
  • This prevents child‑specific choices from appearing when users are working with Task‑only data.
3.Role/Region‑Based UI Policies
  • Apply UI policies or client scripts to conditionally hide or restrict choice values based on user attributes (e.g., region, role).
  • For XYZ region users, you can script the filter widget to only display Task‑level states.
  • Limitation: This requires customization and careful testing to avoid breaking OOTB behavior.
4. Reporting Best Practice
  • Instead of filtering directly on Task, build separate reports/dashboards scoped to each table (Task vs Incident).
  • This avoids confusion and ensures users only see relevant state
In short: You cannot natively hide child table choices from parent filters in ServiceNow. The supported best practice is to use dictionary overrides and sys_class_name filtering, with optional UI policies for region‑based visibility.

Here are Few KB articles from ServiceNow for help:
How to hide extended-table records from base-table list views - Support and Troubleshooting

If My response helped you in anyway do mark it helpful...

Regards,TZ