merging 10 custom tables into one table

rBh
Tera Contributor
Spoiler
 

Hi Team,

 

Our client has requested that we merge 10 custom tables into a single table and introduce a "Type" field containing the names of all existing tables as dropdown values.

Each of the current tables has:

  • Different approval processes
  • Different UI Actions
  • Different business processes
  • Different user access restrictions
  • Different form sections and fields

In the proposed design, based on the selected Type, the system would display the relevant fields and sections and execute the corresponding approvals and UI Actions.

Could you please advise whether merging these 10 tables into a single table is considered a best practice? Given the differences in processes, security requirements, UI configurations, and business logic, would it be better to retain separate tables (or use a parent-child table structure) instead of consolidating everything into one table?

 

Please share your recommendations and any best practices that should be considered for this design approach.

 

Thanks,
Bhavana

2 REPLIES 2

yashkamde
Mega Sage

Hello @rBh ,

 

As per my understanding, the proposed single-table design trades short-term simplicity for long-term technical debt. ServiceNow's table inheritance model exists precisely for this scenario shared identity, divergent behavior. A parent-child structure gives you a unified reporting layer (query the parent for all records) while preserving isolated logic, security, and UI per type. This is the same pattern ServiceNow itself uses for Task, ITSM, HR, and Legal modules.

 

If my response helped mark as helpful and accept the solution.

Tanushree Maiti
Tera Patron

Hi @rBh 

Combining 10 distinct custom tables with fundamentally different business processes into one table is a ServiceNow anti-pattern. This approach often leads to difficult maintenance, complicated ACL management, and cluttered forms.

 

Instead of that -

  • Create a single custom parent table that contains all the globally shared fields across all 10 processes.
  • Create 10 child tables extending this parent table.

 

 

Please Accept the solution if it assisted you with your question & Mark this response as Helpful.
Regards
Tanushree Maiti
ServiceNow Technical Architect
LinkedIn: https://www.linkedin.com/in/tanushreemaiti