Integration of Deployment Tools

Deployment orchestration is an essential part of change enablement and SAP Cloud ALM supports the integration of different deployment tools to serve this purpose. By enabling the deployment management, you can orchestrate the deployment of transport requests through your implementation landscape. 

Please be aware that transport-related data will be pushed to SAP Cloud ALM from your managed systems by setting up the integration.

The integration with the deployment tools and the respective solutions in the table below is already available. 

Deployment ToolIntegrated Solutions
Change and Transport System (CTS)SAP S/4HANA Cloud, private edition
CTSSAP S/4HANA
CTSSAP NetWeaver Application Server for ABAP on-premise
Cloud Transport Management service (CTMS)SAP Integration Suite (more under supported content types)
CTMSSAP BTP Cloud Foundry environment (more under supported content types)
CTMSSAP BTP Neo environment (more under supported content types)

Change and Transport System (CTS) Integration

To use the transport capabilities of SAP Cloud ALM in conjunction with the Change and Transport System (CTS), you've to establish a connection between SAP Cloud ALM and your managed systems.

This guide will lead you through the steps that are needed to establish the connection.

Before you can start enabling the transport management for SAP S/4HANA Cloud, private edition or SAP NetWeaver Application Server for ABAP on-premise, please fulfill the following prerequisites.

Note: In case you want to enable the transport management for ST-PI 7.40 SP15 please contact our product management directly.

  • Check that the profile parameter icm/HTTPS/client_sni_enabled is set to TRUE. For more information, refer to SAP Note 510007. Transaction code RZ11 can be used to check for the parameter setting.
  • Check that DigiCert Global Root CA is imported in STRUST under SSL Client (Anonymous) and SSL Client (Standard).   

Create a Space and Configure Entitlements

As a first step, you need to create a space and configure your entitlements in the subaccount containing your SAP Cloud ALM subscription.

To do this, perform the steps described in Enabling SAP Cloud ALM API until you reach the section Create a New Instance. Then, proceed as described below.

Create a New Instance

1) Choose Cloud Foundry > Spaces.

2) Select the created space. You now see the application list of your created space.

3) Choose Services > Instances

4) Choose the Create dropdown and click on Service Instance.

5) Under Basic Info provide the following details:

  • Service: SAP Cloud ALM API

  • Plan: standard

  • Instance Name: Enter a meaningful name, for example CALMFeatureDeployment.

6) Choose Next.

7) When creating a service instance for feature deployment, the following configuration in json format is needed in order to assign the required scopes to the service instance.

Paste the following JSON code into the text editor:

{

    "xs-security": {

        "xsappname": "<Your Instance Name>",

        "authorities": [

            "$XSMASTERAPPNAME.imp-cdm-feature-manage-ui"

        ]

    }

}

  • Replace <Your Instance Name> with your instance name. Make sure it's not already used in another service instance and doesn't contain spaces or special characters.

  • Authorities: Make sure to use exactly the string provided above.

8) Choose Create.

9) When your instance has been created, it's added to the instance list. To show the details of the instance click on the newly created instance.

Create a Service Key

The service key allows you to configure the transport management in the managed system so that it can connect to an SAP Cloud ALM API service instance.

1) Choose (Actions) and select Create Service Key.

2) Enter a name for your service key, such as sap_cloud_alm_key.

3) Choose Create.

4) Next to your newly created service key, choose  (Actions) and select View.

5) You can now see your service key in JSON format.

The service key is structured in the following way:

  • Endpoints: e.g.,eu20.alm.cloud.sap
  • OAuth URL: Service Key parameter.
  • Client ID: Service key parameter clientid.
  • Client secret: Service key parameter clientsecret.

Copy this newly created service key in JSON format to the clipboard because it's needed later in the Maintain HTTP Destination section of this guide.

 

As prerequisite please make sure that your TMS is configured properly. We recommend to configure client-specific transport routes and please make sure that "Automatic recording of changes" is set for client-specific objects (transaction SCC4).

Required Authorizations

You need to consider two users in the managed ABAP system for the setup. Please note that the authorization steps are only needed for system client 000. For other clients these steps can’t be performed.

  • To run transaction /SDF/ALM_SETUP, the user needs the PFCG role SAP_SDF_ALM_SETUP.
  • For a SAP S/4HANA Cloud, private edition system you can request user CUST_TC for client 000. The user is authorized to run the setup transaction.

Note (not relevant for SAP S/4HANA Cloud, private edition system): In role SAP_SDF_ALM_SETUP, you need to maintain the authorization field S_BTCH_NAM > BTCUNAME either with “*” or with the user name of the user you plan to use as data collection background job user.

  • The user you specify as background user, requires the PFCG role SAP_SDF_ALM_METRIC_PUSH_FND and the role SAP_BC_TRANSPORT_ADMINISTRATOR.
  • For SAP S/4HANA Cloud, private edition systems user BATCH_USER can be specified as background user.

Note: Download the latest version of the role SAP_SDF_ALM_METRIC_PUSH_FND from SAP Note 3104662 .

Configuration of PUSH data provider

Log on to ABAP system client 000 and start transaction /n/SDF/ALM_SETUP. If you start the transaction the first time, it will look like this: 


In transaction /SDF/ALM_SETUP please perform the following steps:

  1. Target SAP Cloud ALM Destination: 
  • To create a new SAP Cloud ALM Destination, enter a name (e.g. SAP Cloud ALM) and choose the Enter key.
  • To change an existing SAP Cloud ALM destination, select one from the F4 input help and choose the Enter key.
  • After pressing the Enter key, the subsequent fields are filled out.

2  Maintain HTTP Destination:

  • Choose Update Destination
  • Copy and paste the content from the JSON file created during the enablement of the Enabling SAP Cloud ALM API by clicking Paste Service Keys.
  • Alternatively, you can enter the required fields for connecting SAP Cloud ALM manually:
    • Token Endpoint: Enter the SAP Cloud ALM OAuth URL.
    • Client ID: Enter SAP Cloud ALM client ID.
    • Client Secret: Enter SAP Cloud ALM client secret.
    • Proxy User (if necessary)
    • Proxy Password (if necessary)
    • Proxy Host (if required by your network infrastructure. For SAP S/4HANA Cloud, private edition, enter value: proxy)
    • Proxy Port (if required by your network infrastructure. For SAP S/4HANA Cloud, private edition, enter value: 3128)
  • Choose Ok to close the popup.
  • To delete a destination choose Delete Destination.

3  Enter Registration Target:

  • Enter the target SAP Cloud ALM root url depending on your region e.g. https://eu10.alm.cloud.sap.
  • Enter the background user you created to perform the data collection.
  • Choose Register to call SAP Cloud ALM and register the system. If it’s successful, an LMS ID is retrieved and is displayed.
  • To unregister a system, choose Unregister.

Note: This stops all data collection and heartbeat measurements.

4. Select the use cases you want to collect and push data for: 

The push mechanism supports the following use-cases:

  • For the domain controller: Feature Deployment: Read Transport Landscape
  • For development systems: Feature Deployment: Manage Transports
  • All other systems (test or production): Feature Deployment: Import Transports

5. If everything is set up correctly, it should look like this:

6. Activate following usecases:

  • Feature Deployment: Read Transport Landscape: It reports the STMS landscape configuration to SAP Cloud ALM. You need to setup on one system per domain only. Currently supported landscapes are:

a) Landscapes with at least two systems per route (also virtual systems)

b) Landscapes with basic consolidation and/or delivery targets (no target groups, delivery confirmation procedures, workflow-driven transports)

c) Landscapes with client-specific transport routes (CTC, optional)

  • Feature Deployment: Manage Transports: It reports transport requests to SAP Cloud ALM for assignment to features. It’s only necessary to set up on source systems, specifically DEV systems.
  • Feature Deployment: Import Transports: This task queries to-be-imported requests from SAP Cloud ALM and triggers the import job. It's only necessary to set up on consolidation and target systems for import (that is, QA and PRD)

Reconfiguration of transport routes

  • Reconfiguring your TMS transport routes can lead to inconsistent transport data on SAP Cloud ALM end. The mismatch with respect to your target tenants may interrupt your deployment process.
  • Ensure that all features and the assigned transports are deployed to production before you reconfigure TMS.
  • In case there are still transports in the import queues which are not yet transported you have to import them via STMS manually.

Cloud Transport Management Service (CTMS) Integration

To use the transport capabilities of SAP Cloud ALM in conjunction with the SAP Cloud Transport Management service, you've to establish a connection between SAP Cloud ALM and the SAP Cloud Transport Management service.

SAP Cloud Transport Management will be subscribed automatically in your SAP Cloud ALM subaccount during provisioning of SAP Cloud ALM. Using this SAP Cloud Transport Management tenant in conjunction with SAP Cloud ALM is free of charge. It is not possible to use an existing SAP Cloud Transport Management tenant in conjunction with SAP Cloud ALM.

This guide will lead you through the steps that are needed to establish the connection for the SAP Cloud Integration use case.

Note

Please note that all the steps below only refer to an exemplary setup for SAP Cloud Integration as part of the SAP Integration Suite. For other integration solutions, the steps are similar but may differ in certain aspects. In this case, refer to the documentation of your integration solution.

You can skip this step in case Cloud Transport Management is already showing up in the Instances and Subscriptions area as application to which your subaccount is currently subscribed.

To use the SAP Cloud Transport Management service in SAP Cloud ALM, you have to subscribe to the service in your SAP Cloud ALM subaccount in SAP BTP. Before you subscribe, check if you're entitled to use the SAP Cloud Transport Management service.

  1. Go to your SAP BTP global account and choose your SAP Cloud ALM subaccount.

  2. To check your entitlements, go to Entitlements and choose Configure Entitlements.

  3. Search for the Cloud Transport Management service in the search bar. If no results are shown in the service list, choose Add Service Plans.

  4. Check the checkbox Standard (Application) Standard Plan and choose Add 1 Service Plan

  5. Now, the Cloud Transport Management service appears in the service list. Choose Save.

  6. Go to Instances and Subscriptions and choose Create.

  7. In the New Instance or Subscription, select Service Cloud Transport Management and the standard plan in the Plan dropdown. Then choose Create.

  8. You're now subscribed to the SAP Cloud Transport Management service.

  9. Now, you can assign members of your team to roles. Usually, the two roles you need are TMS_Viewer_RC and TMS_LandscapeOperator_RC.

    You can assign the roles in the User Management app in SAP Cloud ALM.

    Note

    For more information, refer to Assign Roles to Users in SAP Cloud ALM.

  10. Now, you can access the Cloud Transport Management service from within your subaccount in the SAP BTP cockpit by choosing Go to Application.

     

Create Service Instances

As a first step, you've to enable content transport in the Cloud Foundry environment by subscribing to the Content Agent (using the ContentAssemblyService) and Service Broker (using the Process Integration Runtime). Please follow the steps described in the Enabling Content Transport, Cloud Foundry Environment guide.

Note

Not every step is required in every case. For example, if you already created a space for transport management within your subaccount, you can skip certain steps.

After you've followed all the steps in this guide, please proceed with the next step.

Creating HTTP Destinations, Cloud Foundry Environment

In the next step, you need to create destinations in your SAP BTP subaccount in order to transport integration packages from a source tenant to the target tenant.

Please follow the steps described in the Creating HTTP Destinations, Cloud Foundry Environment guide.

Note

The URLs you've extracted in step a. and that you've to use in step b. are structured in the following way: 

The URL you can find in the section uaa in the JSON file relates to the token endpoint. You can identify this URL by checking if the term "authentication" is included in the URL. The URL above the uaa section of the JSON file relates to the service endpoint. (see screenshot below)

To do this, perform the steps described in Enabling SAP Cloud ALM API. Please make sure to add the correct scope for the integration use case SAP Cloud Transport Management Service as described in step 7 of section Maintain an Instance

Paste the following JSON code into the text editor:

JSON Code

{

    "xs-security": {

        "xsappname": "<Your Instance Name>",

        "authorities": [

"$XSMASTERAPPNAME.imp-cdm-feature-display-ui",

"$XSMASTERAPPNAME.imp-cdm-feature-manage-ui"

        ]

    }

}

  • Replace <YourInstanceName> with your actual instance name. Make sure it's not already used in another service instance and doesn't contain spaces or special characters.
  • Authorities: Make sure to use exactly the string provided above.

 

The following section deals with the creation of destinations, transport nodes, and transport routes to configure the content transport landscape.

To set up the SAP Cloud Transport Management service destination, please follow the steps in the Creating HTTP Destinations and Transport Route guide. When you open the guide, choose the blue box called Cloud Transport Management to see the information relevant to you.

Important

  • You have to configure auto forward mode for the transport nodes in order to make use of Cloud ALM in conjunction with Cloud Transport Management.

Note

The following linked documentation refers to Enabling Content Transport, Neo environment but also applies to Enabling Content Transport, Cloud Foundry environment.

 

Proceed directly to step 2 and enter your credentials from the SAP Cloud ALM API instance according to the table. Step 1, the creation of CloudIntegration, has already been covered in the first section Set Up SAP Cloud Integration in this guide.

In the URL section for the endpoint, you enter the URL of your SAP Cloud ALM API instance that follows a pattern like this: https://eu10.alm.cloud.sap/api/imp-cdm-transport-management-api/v1. The first part of the URL until /api depends on your company account and is variable.

 

  1. In the SAP BTP cockpit, under Services Instances and Subscriptions choose Integration Suite.
  2.  You're led to the SAP Integration Suite app. Here, choose the first tile under Capabilities called Design, Develop, and Operate Integration Scenarios.
  3. Choose Tenant Settings.
  4. Choose the Transport tab, choose Edit, and select Transport Management Service from the Transport Mode dropdown. Choose Save in the bottom-right corner.
  5. Then, choose Check Configuration. Afterwards, validate the status for all configuration steps. This means, the status is Success for both Configuration Check for CloudIntegration and TransportManagementService.
  6. Assign the necessary roles to the users. This can be done either in the SAP BTP cockpit or in the User Management app of SAP Cloud ALM. For more information about the personas, users and roles refer to the information described in Persona.
  7. After this step, go back to the SAP Integration Suite and choose the Transport button. Give the transport a description and add comments if necessary.
  8. Now, you get a confirmation popup with an ID for this transport. Write down the ID.
  9. Go back to the the SAP Cloud Transport Management service UI via the SAP BTP cockpit. The newly created ID should appear now in the SAP Cloud Transport Management service.
  10. Go to the Features app in SAP Cloud ALM. Now, you can check if the transport with this ID has arrived now in the transport list.

Now, you've set up the connection of the SAP Cloud Transport Management service with SAP Cloud ALM.

Note: More information about which roles are required to accomplish the various tasks related to SAP Cloud Integration can be found here: Tasks and Permissions.

The task that is needed here, is WorkspacePackagesTransport and has to be assigned to a role. Because there's no custom role assigned to the WorkspacePackagesTransport task, you've to create a role. You can freely choose a name by yourself, for example CTMS_Admin.

After you've created a new role, you can assign the new role to a user. This can either be done in the SAP BTP cockpit or in the User Management app of SAP Cloud ALM.

For more information about how to assign roles to users in SAP Cloud ALM, refer to the information described in Assign Roles to Users in SAP Cloud ALM.