Multiple tables for the same components

JordiDG
Tera Contributor

I have a question on what tables to use.

 

Currently I see multiple tables for the same components.

Examples: 

1a. cmdb_ci_service_business

1b. cmdb_ci_service (service classification = business)

 

2a. spm_service_portfolio

2b. service_portfolio

 

At least they mentioned the following in the ServiceNow Docs for the Technical Services to make it clear:

"Previously, technical services were mapped to the [cmdb_ci_service] table and were classified as “technical services." Starting with the Paris release, technical Services are now mapped to the [cmdb_ci_service_technical] table."

 

Therefore I can assume it is the same for the 1a and 1b mentioned Business Services (1a being the new way and 1b being the old way). But this is not mentioned clearly in the Docs as they did with the Technical Services and they are even mixing it together, making it more confusing. See picture.

 

With regards to the service portfolio. "service_portfolio" is mentioned everywhere in the Docs. However, when looking up that table, it does not exist. And if you click on Business Service Portfolio in the application navigator, it will send you to the spm_service_portfolio table. 

 

So what are the correct / best practice tables to use?

 

Kind regards,

 

Jordi

1 ACCEPTED SOLUTION

EricDohr
ServiceNow Employee
ServiceNow Employee

[Service] cmdb_ci_service is a table that extends to other tables, including Business Service [cmdb_ci_service_business], Technical Service [cmdb_ci_service_technical], and more.  If a record is created in a child table, the records will be visible in the parent table.  ServiceNow originally had the cmdb_ci_service table, and as Service Portfolio Management has grown, the need to differentiate records and have specific tables has increased, resulting in the new tables.

 

While the child table has similar fields to the parent, you can have unique fields. 

 

If you are focused on Business Services, Technical Services, and Service Offerings, I highly recommend checking out Service Builder, as that will help you create the proper records at the right table.  Mark and Caitlin just posted a YouTube video on this topic that may help answer key questions; definitely check it out.

 

For Service Portfolio Management, a few key tables include

  • Service Portfolios [spm_service_portfolio] – Where you define portfolios
  • Taxonomy Layer Definitions [spm_taxonomy_layer_definition] – the layers of a portfolio
  • Taxonomy nodes [spm_taxonomy_node] – Nodes that align to a layer and a portfolio
    • You associate Services to Nodes as part of the Service Portfolio Management

 

Here is a really handy document regarding “ServicePortfolio Management – Process Workshop

 

Tables that are extended from Service [cmdb_ci_service]

EricDohr_0-1668092857552.png

 

Note, there are tables that are extended from here such as tables of Application Services

View solution in original post

13 REPLIES 13

Barry Kant
ServiceNow Employee
ServiceNow Employee

Hi Jordi,

regarding the first:
cmdb_ci_service is the base table for all kind of services and until the Service Builder introduction mostly used for Business Services as well ( Service Classification == Business Service). While using Service Builder the new Services are stored in cmdb_ci_service_business and cmdb_ci_service_technical.  And therefore the cmdb_ci_service table is kind of obsolete. 

regarding the Service Portfolio. The spm_service_portfolio is the CSDM Service Portfolio table. It originates outside of the cmdb and was coming from the Service Portfolio Management product. Not to be mixed with the current Strategic Portfolio Management today. Service Portfolio Management was in a separate SKU, but today is in the ITSM Basic if I am correct. 

Cheers,
Barry


Thanks, appreciate the fast reply! With regards to cmdb_ci_service_business/technical being the new way, I thought so already indeed. Just wanted to get it verified. But with regards to the Service Portfolio, do you know why it is referenced everywhere in the CSDM Docs that it is service_portfolio even though the application navigator links to the spm_service_portfolio table and you also refer to it as being correct? 

EricDohr
ServiceNow Employee
ServiceNow Employee

[Service] cmdb_ci_service is a table that extends to other tables, including Business Service [cmdb_ci_service_business], Technical Service [cmdb_ci_service_technical], and more.  If a record is created in a child table, the records will be visible in the parent table.  ServiceNow originally had the cmdb_ci_service table, and as Service Portfolio Management has grown, the need to differentiate records and have specific tables has increased, resulting in the new tables.

 

While the child table has similar fields to the parent, you can have unique fields. 

 

If you are focused on Business Services, Technical Services, and Service Offerings, I highly recommend checking out Service Builder, as that will help you create the proper records at the right table.  Mark and Caitlin just posted a YouTube video on this topic that may help answer key questions; definitely check it out.

 

For Service Portfolio Management, a few key tables include

  • Service Portfolios [spm_service_portfolio] – Where you define portfolios
  • Taxonomy Layer Definitions [spm_taxonomy_layer_definition] – the layers of a portfolio
  • Taxonomy nodes [spm_taxonomy_node] – Nodes that align to a layer and a portfolio
    • You associate Services to Nodes as part of the Service Portfolio Management

 

Here is a really handy document regarding “ServicePortfolio Management – Process Workshop

 

Tables that are extended from Service [cmdb_ci_service]

EricDohr_0-1668092857552.png

 

Note, there are tables that are extended from here such as tables of Application Services

JordiDG
Tera Contributor

Thanks for the detailed and clear explanation & fast reply!  I will definitely check out the video and asset. 

 

The only thing I still don't understand is why the service_portfolio table is mentioned everywhere in the CSDM Docs even though the table to use seems to be the spm_service_portfolio as you mentioned (and is also linked to in the application navigator)