Skip to Content
Technical Articles
Author's profile photo George Yu

Use SAP Cloud Application Lifecycle Management (CALM) System to Monitor Your SAP S/4HANA Cloud 3-System Landscape Systems – Part 1: Setup

Similar as the SAP Solution Manager for the on-premises-centric solutions, SAP Cloud Application Lifecycle Management (CALM) system is designed to monitor your cloud-centric landscapes, including both cloud solutions as well as on-premises solutions.  Its functions are divided into four categories:

  1. CALM for Implementation – includes project management, integration with Central Business Configuration (CBC), test preparation and execution, defects, analytics, project landscape, cloud transport management and others.
  2. CALM for Operations – monitor cloud solutions from different perspectives: business process, integration and exception, real user and performance, job and automation, health, intelligent event processing, business service management and notification management.
  3. CALM for Service – provides access to service and support topics.
  4. Administration – builds up a foundation for CALM to work, such as user management, landscape management, and others.

SAP%20Cloud%20ALM%20Main%20Screen

SAP Cloud ALM Main Screen

In this series of blogs, I will focus on using CALM for operations in SAP S/4HANA Cloud (S4HC) 3-system landscape, i.e., development, test, and production systems.  The System ID (SID) for them are VOR, VP6 and VP7, respectively.  Considering there are two tenants for development system, we have VOR-100 as the configuration client, and VOR-80 as the development client.  In total, we have four tenants to monitor.

Using%20CALM%20to%20monitor%20S4HC%203-System%20Landscape

Using CALM to monitor S4HC 3-System Landscape

 

Create Service VOR-100 Manually

What is the Service within the Landscape Management? To use a simple analogy, it is a mailbox to store all the information being delivered from a specific system. All the monitoring functions within the CALM use the data stored in this Service.  Therefore, it is the foundation of CALM monitoring functions.

There are three ways to create services in Landscape Management app (Refer to Setup and Administration for SAP Cloud ALM).

  • Automatic Import by SAP (Preferred) – this is the case for most S4HC customers. Your system information is automatically imported into the CALM on a daily basis by the System Landscape Information Service (SLIS) as soon as your systems are provisioned.  If your service is not imported, you have to create it manually. I will present an example soon.
  • Automatic Creation by Service Registration – Some cloud services can push the service information to CALM during the registration process on that cloud service, such as SAP SuccessFactors and S4HC. However, sometimes this might not work in S4HC. I will present an example soon.
  • Manual Creation (Only if required) – If the above two methods don’t work, you have to create a service manually. I will present an example soon.

By opening a service, you can easily identify how the service is created.  In this example, this service is created by registration (Source: REGISTRED, Registration status: Registered, Created By: anonymous).

A%20Registered%20Service%20in%20System%20Landscape%20Management

A Registered Service in System Landscape Management

Note: if you are an SAP customer and your system related services are already imported successfully, skip to next section Maintain Communication System and Communication Arrangements.  This step is only relevant to failed creation of services, or some SAP internal cloud services not connected to SLIS like customers. 

Launch CALM system and open Landscape Management Fiori App in the Administration section.

Landscape%20Management%20Fiori%20App%20in%20CALM

Landscape Management Fiori App in CALM

In the Landscape Management window, click on Add button to add a new service.

Add%20A%20Service%20in%20Landscape%20Management

Add A Service in Landscape Management

Among General Properties, several entries need attention:

  • Name: for easy recognition at later configuration work, I suggest using <SID>-Client No For example, VOR-80 stands for client 80 of VOR system. If the service is created automatically or by registration, the URL might be used.
  • Description: could be the same as Name, since it is displayed on the 2nd line with less importance. If the service is created automatically or by registration, the URL might be used. You can shorten it by using the <SID>-Client No
  • Tenant ID: It is the unique ID associated with the tenant. If there is another service using this Tenant ID, you will get a warning message “This tenant ID is already used by another cloud service.  Use a different tenant ID.”
  • Root URL: It is the URL to access the system, minus /ui/. For example, if the system access URL is https://myxxxxxx.lab.s4hana.cloud.sap/ui, you enter https://myxxxxxx.lab.s4hana.cloud.sap
  • External ID: although it is not marked as mandatory, in fact, it is needed. Without External ID entry here, your Communication Arrangement will fail during the Save process (to be discussed later).

After hit the Save button, a service is created.  At this moment, you will see “Not Configured” in the Status column.

The%20Initial%20Screen%20of%20A%20Newly%20Created%20Service

The Initial Screen of A Newly Created Service

After you started data push from the cloud services, and your monitoring functions are configured, some of them will become “Active”.

An%20Active%20Service%20in%20Landscape%20Management

An Active Service in Landscape Management

There are six icons on the top right corner. I will explain some of them.

  • Edit a service – if this service is created manually, you have the full rights to edit all properties. If it is registered or automatically imported, you can only change the description.
  • Delete a service – You can only delete a manually created service, if it is not being used for monitoring scopes. Otherwise, you have to  deselect the service from the monitoring scope first before you can delete it.
  • Action logs – display changes made to this service, from its creation, to become active, etc. In the below figure, you can see each change is logged: name change, tenant name change, description change and customer name change.

A%20Landscape%20Management%20Service%20Action%20Log

A Landscape Management Service Action Log

 

Maintain Communication Systems and Communication Arrangements on the S4HC Tenant

After receiving side is ready, we are going to focus on the sending side, the S4HC tenant.

In the S4HC tenant, two Fiori Apps are related with CALM monitoring setup:

  • Communication Systems – defines which system you are going to communicate to
  • Communication Arrangements – defines what information you are going to communicate to

You can follow either the video tutorials or step-by-step guides to create the Communication System and Communication Arrangement: Setup for SAP S/4HANA Cloud. I will discuss a few points not mentioned there.

 

The CALM Service Key

For S4HC monitoring, we need to create a communication channel to push the system real time data from a S4HC tenant to the CALM. As usual, the CALM system will safeguard from any intruders.  Only allowed user, communication user, can connect and send info to it.  The communication user is formed with a pair of Client ID and Client Secret.  The Client ID and Client Secret is contained in a system generated Service Key.

The CALM is running on an SAP Business Technology Platform (BTP). You need to ask the BTP administrator to generate this Service Key from the BTP Cockpit, in the subaccount the CALM resides in.

Here is an example of a Service Key.

An%20Service%20Key%20Example

An Service Key Example

What relevant to our setup are the following three lines:

    • Api: the URL string of the CALM system.  When we use the URL, the “/api” is omitted.
    • clientid: the name of the communication user.
    • clientsecret: the password of the communication user.

The Communication System

If you are familiar with SAP ECC or S/4 HANA systems, this step is similar as using transaction sm59 to create an RFC destination to a remote system.  It is the CALM system in this case.  However, different from the transaction sm59, you have no capability to test the connection when creating a communication system.  I wish a similar feature can be implemented so that we know all the information entered are correct before using it in a communication arrangement.

The details of creating a communication system is documented at SAP Help Portal.

The Communication Arrangement

This step is to define the purpose (communication arrangement) using a specific communication system created beforehand.

In a S4HC tenant, many communication types and purposes are predefined.  For example, SAP_COM_0527 is for ‘Application Monitoring Push Integration’, SAP_COM_0395 is for ‘Asset Management Master Data Integration’, and others.  In our case, we use SAP_COM_0527.

The Communication Arrangement I created is called “CALM Push”.  It uses the Communication System called “CALM-ACTIVATE”.  Depending on what you want to monitor, you select the data set to be collected and sent to the CALM in the Additional Properties section.  In my case, I selected all of them.

Additional%20Properties%20in%20Communication%20Arrangement

Additional Properties in Communication Arrangement

During the Communication Arrangement creation, the underlining Communication System is checked.  For example, if you didn’t enter the client ID/Secret, you get the below error:

The communication system doesn't contain any suitable outbound user

If you use the same communication system to create a new communication arrangement, you get the below error:

An arrangement for this scenario and system already exists

If your landscape service was not created correctly on the CALM side, for example, you didn’t enter External ID during manual creation, you get the below error:

400: Bad Request {"RegistrationStatus":"ERROR","ServiceId":"","TenantId":
"","ServiceType":"","Messages":[{"MessageId":"MSG_SLIS_NOT_FOUND_IN_LMS",
"MessageType":"ERROR","Description":{"Language":"en","Text":"The object d

In a 3-System Landscape, we usually have two tenants for development system: client 100 for configuration and client 080 for development. When you enter External ID, make sure you enter three digits; for example, for development tenant you need to enter 080 instead of 80.  Otherwise, you can create/save the Service in the Landscape Management Fiori App without an error, but when you create a system arrangement in the System Arrangements Fiori App, you will get above 400 error!

After the Communication Arrangement is saved, its collected data will be pushed over to the CALM system according to your job execution schedule.  From the CALM system, you can see some capabilities become Active.

An%20Active%20Service%20in%20Landscape%20Management

An Active Service in Landscape Management

The details of creating a communication arrangement is documented at SAP Help Portal.

Setting Up S4HC 3-System Landscape Monitoring in the CALM

By repeating above steps three more times, we can set up four services in the Landscape Management in the CALM, and Communication System/Arrangement in each S4HC tenant (VOR-80, VOR-100, VP6 and VP7), respectively.

Four Services for a 3-System Landscape S4HC Systems

In my next blog, I will discuss Use SAP Cloud Application Lifecycle Management (CALM) System to Monitor Your SAP S/4HANA Cloud 3-System Landscape Systems – Part 2: Real User and Performance Monitoring.

 

(Updated on November 10, 2022)

Assigned Tags

      4 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Saumitra Deshmukh
      Saumitra Deshmukh

      Great blog George Yu ! This is surely going to benefit our ecosystem using the SAP Cloud ALM going forward. Well explained.

      Thanks,
      Saumi

      Author's profile photo Huijie Zhang
      Huijie Zhang

      Hi George,

      Great blog.

      I tried to add my Integration Suite on my Trial account to the demo environment (https://calm-demo.eu10.alm.cloud.sap/shell/run?sap-ui-app-id=sap.crun.landscape#/CloudService) and when I save, I got 401-Insufficient Authorizations.

      Is this because the user that I am using for ALM not added to my Trial environment?

      Thank you George

      Author's profile photo George Yu
      George Yu
      Blog Post Author

      Hi Huijie,

      By quickly looking at your Add Service, the External ID seems strange. It is usually the client ID, a 3 digit numerical number. But you are using somelike like a Client ID or a Client Secret. Can you check on that?

      Regards,

      George

      Author's profile photo Huijie Zhang
      Huijie Zhang

      Hi George, That's a good one. I never know what to use as the External ID for Cloud Integration. I guess the 3-Digit number may be for S/4HANA?

      I tried the Cloud Integration service instance id (65ddbc82-5f9f-4a60-811d-591dd0d9b2ea), that didn't work either.

      Thank you.