Adding columns to sc_cat_item or extending sc_cat_item

Sanjay Rallapal
Tera Expert

Hello folks,

I have a need to add custom attributes to Catalog Items. I have learned that there are two approaches

1. Modify sc_cat_item and add attributes

2. Create a new table that extends sc_cat_item


 My customer has a production SNOW instance and I have to decide which approach to take. I went through https://www.servicenow.com/community/architect-articles/custom-table-avoid-subscription-consumption/...

I want to make sure that my solution doesn't impose new licensing requirements or otherwise break the customer's upgrade.

Can I please get some guidance?

1 ACCEPTED SOLUTION

Harneet Sital
Mega Sage
Mega Sage

Hi @Sanjay Rallapal , agree with what John mentioned above that there are pros and cons to both models and completely depends on your use case. If I were you and based on the limited information above, I would have created additional fields on the OOB table reasons being -

1. During upgrades if a new feature has come up you would know about it otherwise if you manage it via a new extended table you may miss it. 

2. As John mentioned, not just on the service portal but you may have to check where else the table is used, scripts, and other configurations where it is queried and you may need to make adjustments accordingly and these will be yet again technical debts. 

3. A new custom table extending the OOB table is a licensed table, meaning you will have to consume one of the tables provided in your package. 

 

So unless you need something that cannot be achieved using the current table by adding additional columns you should consider option A. 

 

-Harneet Sital
Request you please mark my answer as helpful or correct based on the impact
Find all my ServiceNow articles here

View solution in original post

2 REPLIES 2

johnfeist
Mega Sage
Mega Sage

Hi Sanjay,

 

Both approaches have their pros and cons.  If all catalog items will have the new attributes, then go ahead and add them.  If some catalog items need to have the new attributes but others don't is shouldn't be a big issue as long as they are not mandatory or you are able to use scripting to control when they are needed.  Extending sc_cat_item also has its challenges to make sure that they are properly included in your portal or ESC.  I don't know enough about how ServiceNow includes items to give a definite answer about that.

 

If the new attributes will impact how items are fulfilled, you should be able to handle that via BRs, Client Scripts and SIs.  As far as what impact adding the table will have on your customer's licensing, that is a question that they need to address with their sales team as every SN customer can have differing agreements.

Hope that helps.

:{)

Helpful and Correct tags are appreciated and help others to find information faster

Harneet Sital
Mega Sage
Mega Sage

Hi @Sanjay Rallapal , agree with what John mentioned above that there are pros and cons to both models and completely depends on your use case. If I were you and based on the limited information above, I would have created additional fields on the OOB table reasons being -

1. During upgrades if a new feature has come up you would know about it otherwise if you manage it via a new extended table you may miss it. 

2. As John mentioned, not just on the service portal but you may have to check where else the table is used, scripts, and other configurations where it is queried and you may need to make adjustments accordingly and these will be yet again technical debts. 

3. A new custom table extending the OOB table is a licensed table, meaning you will have to consume one of the tables provided in your package. 

 

So unless you need something that cannot be achieved using the current table by adding additional columns you should consider option A. 

 

-Harneet Sital
Request you please mark my answer as helpful or correct based on the impact
Find all my ServiceNow articles here