Make OOTB table extensible for application

lorenzvdv1
Kilo Contributor

I am about to create a Software Asset application in which I want to extend the cmdb_software_product_model and alm_license table. (I know there is a plugin available, but it does not work for us.)

The problem I'm running into now is that these tables are not extensible. I know ServiceNow best practices dictate to avoid customizing OOTB objects and work in application scope, but having tables not extensible does not allow one to make an application based on them.  

Now I need to make an update set in Global to set Extensible to true, create my application and extend the tables, and create an update set to set Replace on upgrade back to true. On upgrade the table configuration will be reset to Extensible: False, but that's ok because this does not affect existing child tables.

Is there a better way than the last paragraph?

Why are some tables not extensible?

Thank you for your time.

1 ACCEPTED SOLUTION

Chuck Tomasi
Tera Patron

Hi Lorenz,



What you propose is acceptable. Make the OOB table extensible and then create your own table extended from that in your scope. That's a great way to avoid conflict with OOB items and upgrades.



Let me know if there are any specific questions or issues you need addressed.


View solution in original post

3 REPLIES 3

Chuck Tomasi
Tera Patron

Hi Lorenz,



What you propose is acceptable. Make the OOB table extensible and then create your own table extended from that in your scope. That's a great way to avoid conflict with OOB items and upgrades.



Let me know if there are any specific questions or issues you need addressed.


Thank you for confirming, Chuck. Then I'm only wondering why some tables are not extensible and why the functionality exists.



The question 'why?' is asked here as well and remained unanswered:


Why is "Requested Item" [sc_req_item] table not extensible?


Can we extend an Incident Table?


While I don't have a definitive answer why some tables are not extensible, I think it's just the original SN author (or product manager) realizing that some tables may need to be extended in the future. You have to remember that some of these tables are over a decade old and the use cases we're using today are different than those from back then. It was also a lot harder to do a table extension back then - no simple checkbox on a table form (if I recall correctly from 2008.)