Some PDIs are currently unavailable, and PDI actions are paused. View the latest updates here. Read More

SAP Cloud ALM to ServiceNow CMDB Integration – CI Mapping and Relationship Modeling via API

AnkithaC
Tera Contributor

 

Hello Team,

We are currently working on integrating SAP Cloud ALM (CALM) with ServiceNow CMDB using APIs and would like to understand the recommended approach for CI mapping and relationship creation.

From the CALM Landscape API, we receive Technical Systems containing information such as:

  • Technical Systems (ABAP, HANA DB, Java, Web Dispatcher, Cloud Connector, etc.)
  • Instances
  • Databases
  • Installed Software
  • Related Systems (relatedSystems)
  • Logical Systems

We are looking for guidance on the following:

  1. What ServiceNow CMDB classes are typically used to map SAP CALM entities?

    • ABAP Systems
    • SAP S/4HANA Systems
    • SAP HANA Databases
    • Application/Database Instances
    • Cloud Connectors
  2. How are relationships generally mapped into ServiceNow CMDB?

    • Should the related Systems attribute be used to create Depends on / Used by relationships?
    • Has anyone implemented HANA Database ↔ ABAP System relationships using CALM data?
  3. Is there a recommended mapping model for:

    • Technical System → CMDB CI Class
    • Instance → Server/Application Instance CI
    • Database Container → Database CI
    • Installed Software → Software Installation CI
  4. Are there any best practices for using IRE (Identification and Reconciliation Engine) when importing SAP CALM landscape data through APIs?

As an example, in CALM we see relationships like:

 

PE1 (SAP S/4HANA)
   ↔
PH1 (SAP HANA Database)

 

BP1 (SAP S/4HANA)
   ↔
YE8 (SAP HANA Database)

 

and we are evaluating whether these should be represented in ServiceNow as:

 

SAP Application CI
    Depends On
SAP HANA Database CI

 

Any implementation experiences, sample mappings, architecture recommendations, or lessons learned would be greatly appreciated.

 

Thank you.

 

1 REPLY 1

Vikram Reddy
Tera Guru

Hi @AnkithaC,

 

Don't invent SAP-specific classes for this, map CALM entities onto the base CSDM classes ServiceNow already ships. That keeps you inside standard Discovery/Service Mapping patterns instead of maintaining a custom class tree forever.

  • Technical System (ABAP, S/4HANA, Java): model as cmdb_ci_appl (Application), optionally rolled up under a cmdb_ci_business_app for the business-facing view
  • HANA Database: cmdb_ci_database for the database, cmdb_ci_db_instance for the running instance
  • Instances: attach as the child cmdb_ci_db_instance or app server instance, related to the host server
  • Cloud Connector: no dedicated class exists, model it as a cmdb_ci_appl running on its host, tagged so it's identifiable
  • Installed Software: cmdb_sam_sw_install if you're licensed for Software Asset Management, otherwise cmdb_ci_spkg

For relatedSystems, yes, that's exactly where Depends on::Used by belongs, PE1 (S/4HANA) Depends On PH1 (HANA DB​) is the correct direction since the app depends on the database, not the other way around.

On IRE: don't insert CIs directly. Push the CALM payload through an Import Set using CMDBTransformUtils, or Integration Hub ETL, so identification rules actually fire. Build your identifier rule on SID plus hostname or instance number, whatever CALM gives you that's stable, so re-imports update the same CI instead of creating duplicates.

 

Thank you,
Vikram Karety
Octigo Solutions INC