Do fields on extended tables get added to the parent table?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-28-2024 06:52 AM
I created a custom table for a survey followup form, and extended it from task table to take advantage of some fields. When I'm saving the form or adding columns I am getting a notification on some of them that it's adding the column to 800,000 Task records. This is confusing, because I thought my own extended table columns are only added to my extended table. More confusing, I go to dictionary entries for Task and the columns in question aren't listed there. Why does it only do this for certain columns? They have unique names, like u_customer_concern.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-30-2024 05:47 AM
Hi @LearnUseThrive ,
Not sure what you're doing / how your doing it, but button line is, that fields on extended tables do not get added to the table that it is extended from.
If my answer has helped with your question, please mark my answer as accepted solution and give a thumb up.
best regards
Anders
If my answer has helped with your question, please mark my answer as the accepted solution and give a thumbs up.
Best regards
Anders
Rising star 2024
MVP 2025
linkedIn: https://www.linkedin.com/in/andersskovbjerg/
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-30-2024 06:39 AM
Hello @LearnUseThrive ,
When you create a child table from Task you can use any of the fields which are already available in the Task Table.
If you are creating new Custom Columns on your Tables (either task or child table) it will have the prefix "u_field_name" .
when you create a new column on Task , ServiceNow's DB Schema will create a referenced link to the All the records in the table . i.e., it is trying to create a new field in all the existing records to store the value for the newly created column.
If my answer has helped with your question, please mark my answer as accepted solution and give a thumb up.
Best regards
Subramani Arulkumar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-30-2024 08:21 AM
Hi @LearnUseThrive ,
When you add new field to parent, that field will automatically be inherited by all child tables.:
1.[create table ] has a line "For tables that extend another table, fields on the parent table also appear on the Table Columns embedded list for the current table. If you modify these fields, remember that all changes to fields on the parent table also affect all child tables, not just the current table."
2.[add fields from parent to child ] also confirms that to add new field to all child, just add to parent, which will automatically show-up in all child tables.
->Business rules are inherited. It is likely that the BR is running, triggering an event
->The ACL is also inherited down to extended tables.
You don't have to add the role to the users, you can add a new ACL on the extended table for that particular field (if the parent has a specific ACL for the field).
->workflows and notification are not inherited from parent to child.
->Business rules, Client scripts marked as inherit, UI Actions, UI policies.
->It's actually easier to just right click a record as admin, choose Configure - All It will give the same as incident.CONFIG (table name.CONFIG) and you can look through all that affects the table. The hardest I feel to adjust are UI Actions as they have the same names and need duplicate values (I think the field is called) to override parent action.
If I could help you with your Query then, please hit the Thumb Icon and mark it as Correct !!
Thanks & Regards,
Sumanth Meda
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎03-30-2024 08:57 AM
The observed behavior is due to the database schema design, see:
for the task table, it is a single table in the database, any new columns on child tables that can't use a existing database column on task that matches the storage type, causes a new table column on task to be created, and result in the observed behavior.
In some cases, for example, a new custom column on change_request can share a database table column used on the incident table. Then no database alter is required.