Data model · LessonBy Praveen T, ServiceNow Trainer, 9 yrs · Published · ServiceNow · all levels
Table extension and the task model
How table inheritance works, what extending task gives you, and when a standalone table is the better choice.
Quick answer
How table inheritance works, what extending task gives you, and when a standalone table is the better choice.
Key takeaways
- Extend task when you need task behaviour, not by habit
- A query on the parent returns every child row
- Reference and configuration tables should stand alone
- Keep hierarchies shallow, two levels is usually enough
Inheritance basics
An extended table inherits every field, business rule, ACL and UI policy from its parent, and adds its own. Incident extends task, which extends nothing. Rows live in the parent table structure, so a query on task returns incidents, problems and changes together.
What you inherit from task
Number, assignment group, assigned to, state, priority, approvals, SLAs, work notes and the activity stream. If your process needs those, extend task. If it is reference data such as a list of buildings, do not.
When not to extend
Extending brings the parent along for the ride.
- A pure reference table should extend nothing so it stays small and fast
- Extending task adds task business rules that may not apply
- Deep hierarchies make queries and reports harder to reason about
- Custom tables that extend nothing are easy to move between scopes
Practice challenge
+0 XPStreak ×0
Question 1 of 2
What does a table that extends task inherit?
Frequently asked questions
Does extending a table copy data?
No. Extended tables share the parent storage, which is why a task query returns incidents as well.
Can I stop inheriting one parent business rule?
Not selectively. You can add a condition to the parent rule to exclude your table, which is why extending task casually causes trouble.