Questions about when I should EXTEND a table

psenkow
Kilo Contributor

I am new to ServiceNow & CMDB, & we are just implementing Fuji.   We would like to start by using the CMDB out-of-the-box.   After we use it awhile we will better know what additional information we want to track.   (1) Can I EXTEND the tables at any time, or must I do this when we first implement the CMDB?   What are the hazards of waiting to extend tables later?  

(2) Where do I look to see if a table is extensible?

This is my first posting in the community, and I really appreciate your feedback!

3 REPLIES 3

manikorada
ServiceNow Employee
ServiceNow Employee

Patricia,




(1) Can I EXTEND the tables at any time, or must I do this when we first implement the CMDB?   What are the hazards of waiting to extend tables later?


- You can extend a table at any time.



(2) Where do I look to see if a table is extensible?


- Navigato to System Definition-> Tables, tables which can be extended will have the flag 'Is Extensible' as true.


SeanM1
Tera Guru

Hi Patricia



Below is a table from the developer site, which I have printed and pinned up on my desk.


https://developer.servicenow.com/app.do#!/training/article/developer_platform_introduction_module_3_...



find_real_file.png


In addition to Sean's suggestion, there's also some good advice in the ServiceNow Wiki's Planning Best Practices section Modifying the Application Design - ServiceNow Wiki which I've excerpted below.   Similar guidance as what Sean provided:


---------------------------


2.1.2 Know When to Extend a Base Table


Extending a base table incorporates all the fields of the original table and creates new fields for the new table. This inheritance is used to create major subcategories of data. In general, when you create a new table, it should extend a base table if:


  • The fields or attributes of an existing table are similar to the ones you want to use.
  • The scripts for an existing table are useful for the application.
  • The information contained in the new table is essential to the process that will use the table. For example, if the process is task based, extending the Task [task] table may be a better option than creating a new table with many of the same fields. Similarly, if the process involves an asset (that is, a CI), extending one of the CMDB tables may be a better solution than creating a new table, as long as you extend a table that contains the majority of the fields you require.
NoteNote: Supporting data, such as department codes, customer zones, pay grades, and approval look-ups, typically do not have fields in common with existing ServiceNow tables and often require you to create standalone table.


Also consider these guidelines when deciding whether to extend a table:


  • If the table contains items that need to be assigned, or if a workflow is involved, the new table should extend the Task [task] table.
  • If the table contains a list of assets or services, the new table extends the Configuration Item [cmdb_ci] table.
  • If the table contains an aggregated list of different items, such as incidents, service catalog requests, or problems, a table hierarchy is required. For example, a table with a list of tasks assigned to you is an extended table. A single list is not possible across multiple tables unless extended tables are used.

-----------------------------


Hope this helps!



Marty