Skip to Content
Technical Articles
Author's profile photo Sookriti Mishra

Everything you need to know about SAP Cloud Transport Management _ End to End guide

Hello Beautiful People,
OMG! Finally, I implemented this. And, it was so easy. Well, it’s always difficult until you have faced it.

I have always wanted to implement this, but not a single client that I worked for wanted to give this comfort of Transport Management to their developers until I met my current client, who also are enthusiasts like me, and they were like, “Sookriti, we have got to do this!”.

And thus, I started. The first thing I did was, hit the SAP Cloud Integration Community. I gathered a couple of blogs. I am going to drop them in the reference section. This blog is a quick summary of everything I did that the bloggers mentioned, and also what they didn’t.

It’s my belief that if stumble upon my blog, and want to follow it, chances are, you won’t be disappointed.

Image tagged in penguins squad - Imgflip

 

Pre-requisites:

A Global Account, a Subaccount, a Space, and below Entitlements:

Source
/Target
Service Name Technical Name Plan Status
Source Cloud Transport Management alm-ts standard (Application)
Source Cloud Transport Management transport standard
Source Process Integration Runtime it-rt
integration-flow
Source Process Integration Runtime it-rt
api
Source Integration Suite integrationsuite
enterprise_agreement (Application)
Source
Content Agent Service
content-agent-ui
free (Application)
Source
Content Agent Service
content-agent
application
Source
Content Agent Service
content-agent
standard
Target
Integration Suite integrationsuite
enterprise_agreement (Application)
Target
Process Integration Runtime it-rt
integration-flow
Target Process Integration Runtime it-rt
api

 


Create Subscription/ Instance, Service Key, and Destinations in Source and Target Subaccounts in BTP Cockpit

Copy paste this table below in an excel sheet, and start configuring.

Reference No.
Source/ Target
Entitlement Name
Subscription
Instance
Instance – Service (Plan)
Service Key
Destination
Destination Name
 
 
A
B
C
D
E
F
G
1
Source
Cloud Transport Management
TransportManagementService
2
Source
Integration Suite
3
Source
Process Integration Runtime
 
Process Integration Runtime (integration-flow)
4
Source
Process Integration Runtime
Process Integration Runtime (api)
CloudIntegration
5
Source
Content Agent Service
Content Agent Service (Plan)
ContentAssemblyService
6
Source
       ✅
TargetDestination 
7
Target
Integration Suite
8
Target
Process Integration Runtime
Process Integration Runtime (api)

In Source BTP Subaccount:

Reference A1 || Create Entitlements for Cloud Transport Management 

Service Name Technical Name Plan Status
Cloud Transport Management alm-ts standard (Application)
Cloud Transport Management transport standard

 

Reference B1 || Create Subscription for Cloud Transport Management

Services ➡ Instances and Subscriptions ➡ Click Create]

Instance Name
(as per naming convention)
Service Plan
CloudTransportManagement Cloud Transport Management standard

Reference E1 || Create Service Key for Cloud Transport Management

Services ➡ Instances and Subscriptions ➡ Select Instance ➡ Create Service Key

Reference F1 || Create Destination TransportManagementService

Connectivity ➡️ Destinations

Create a destination for the Instance which you created for Cloud Transport Management.
The name of the Destination should be, TransportManagementService

On the next screen, you will see all the elements from the Service Key created for Cloud Transport Management. In case you don’t see the URL, Client ID, Client Secret, and Token Service URL, then open the Service Key JSON file, and manually copy and paste it.
Add an additional property like sourceSystemId and the value, the same as what you will create as a Transport Node in SAP Cloud Transport Management. In my case, I am mentioning CF_DEV_NODE.

 

Connection Test

Reference A2 || Create Entitlement for Integration Suite

Service Name Technical Name Plan Status
Integration Suite integrationsuite
enterprise_agreement (Application)

Reference B2 || Create Subscription Integration Suite

Services ➡ Instances and Subscriptions ➡ Click Create

Reference A3, A4 || In Source _ Create Entitlement for Process Integration Runtime

Service Name Technical Name Plan Status
Process Integration Runtime it-rt
integration-flow
Process Integration Runtime it-rt
api

Reference B3, B4 || Create Instance for Process Integration Runtime – api

Services ➡ Instances and Subscriptions ➡ Click Create

You will need to create 2 Instances to be created like below. One for integration-flow plan, two, for api plan

The service key generated for the plan integration-flow can be used for the authentication of Cloud Integration end-point URLs using OAuth-based authentication.

The service key generated for plan api shall be used to create a Destination for Cloud Transport Management, as shown below:


Reference E4 || Create Service Key for Process Integration Runtime

Services ➡ Instances and Subscriptions ➡ Select Instance ➡ Create Service Key

Reference F4 || Create Destination

Connectivity ➡️ Destinations

Create a destination for the Instance which you created for Cloud Transport Management.
The name of the Destination should be, CloudIntegration.
– First, open the Service Key, i.e. the JSON code, where you will find the Client ID, Client Secret, Token Service URL.

– For the URL (underneath the description field), as https://<cloud integration source tenant url>/api/1.0/transportmodule/Transport
– The cloud integration source tenant URL can be found in the JSON file mentioned as “url”: “https://somethingSomething.region.hana.ondemand.com”.
Connection Test
.

Reference A5 || Create Entitlement for Content Agent Service

Service Name Technical Name Plan Status
Content Agent Service
content-agent-ui
free (Application)
Content Agent Service
content-agent
application
Content Agent Service
content-agent
standard

Reference C5 || Create Instance for Content Agent Service

Services ➡ Instances and Subscriptions ➡ Click Create

Instance Name
(as per naming convention)
Service Plan
ContentAgentService Content Agent Service standard

Reference E5 || Create Service Key for Content Agent Service

Services ➡ Instances and Subscriptions ➡ Select Instance ➡ Create Service Key

Reference F5 || Create Destination for Content Agent Service

Connectivity ➡️ Destinations

Create a destination for the Instance which you created for Content Agent Service.
The name of the Destination should be, ContentAssemblyService
On the next screen, you will see all the elements from the Service Key created for Content Assembly Service. In case you don’t see the URL, Client ID, Client Secret, and Token Service URL, then open the Service Key JSON file, and manually copy and paste it.

Connection Test

Reference F6 || Create Destination to connect with TargetDestination

Connectivity ➡️ Destinations

Create a destination to connect with the Target system. The name of the Destination can be anything, but let’s go for the name as TargetDestination.
The URL will be: https://deploy-service.cfapps.<Region of the Target Subaccount> .hana.ondemand.com/slprot/<Name of the Target Subaccount>/<Name of the Target Subaccount’s Space>/slp

 


Connection Test

In case you have more than 2 sub-accounts, and you wish to generate a TR each for all the CPI Tenant, add multiple Destination for Target, as shown below:

To summarise:

– the below 2 subscriptions and 4 instances will be left created, and each instance will have a Service Key created:

– the below 4 destinations will be left created:

In Target BTP Subaccount:

Add the entitlements for Integration Suite, and Process Integration Runtime (iflow, and api), in the same way as you added in the Source BTP Tenant.


Create Transport Nodes, and Transport Routes in SAP Cloud Transport Management

Create Transport Nodes

In SAP Cloud Transport Management, create a Transport each representing the Source and the Target Cloud Integration Tenants like below:

The Source Node should have the following settings:

The Target Node should have the following settings:

Create Transport Routes

Create Transport Routes as shown below. One route each representing the route from Dev to the lower environments. 

MINIONS Finally! All configs are complete


Testing Time!

STEP 1: Open the Cloud Integration’s Development or the Source Tenant, and click on Transport button. Then, a pop-up window will open, where you can fill in your precious comments, and select the check-box, as should below, in case you want the “Created By” to reflect your name. If you do not hit that check-box, it will show a system-generated name.

STEP 2: After the TR has been successfully generated, you will see a message like below:

 STEP 3: Open Cloud Transport Management portal, and open the node which represents the Target Node, to import.

 

Tears of joy! 

Tears of joy Blank Template - Imgflip 

 

 

Go try it out, let know if it worked. If it didn’t, let me know that too!
Toodles!

Sookriti Mishra

❤️ As Roy T. Bennett says: “Be the reason someone smiles. Be the reason someone feels loved and believes in the goodness in people.

 

 

 

Special thanks to the bloggers whose blogs I referred to while implementing this:

– https://blogs.sap.com/2022/01/28/introduction-to-cloud-platform-transport-management-service-for-sap-cpi-cloud-foundry-environment./

Assigned Tags

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

      Thanks for the blog Sookriti Mishra .

      One question or shortcoming is, is there a way to set the values of the Externalized Parameters, etc for the target landscape during the transport process?

      Author's profile photo Harald Stevens
      Harald Stevens

      Hi Jacques,

      in my understanding the values of externalized parameters are not transported on purpose, because they can be different in different tenants of your Cloud Integration landscape (Dev, Test, Prod, ...). The idea is that you set the externalized parameters (manually) once for each of your tenants. After that they get reused during each transport of artifacts using them.

      Please note that after an import of Cloud Integration artifacts, they are available in their new version in the design time of the target environment. They have to be actively deployed to the runtime in order to be used. In this process you could also adjust the externalized parameters if needed.

      Kind regards
      Harald

       

      Author's profile photo Jacques Otto
      Jacques Otto

      Thanks Harald Stevens Yes I understand that.  What I meant was, it would have been nice to have been able to set the values of these parameters for the target system from within Transport Mangament Service, when you do the import to the target environment.

      Author's profile photo Jack Drilegna
      Jack Drilegna

      Hi Sookriti,

      This is very informative.

      Couple of questions:

      1. Does the tool move iFlows with whole version history?
      2. Is it possible to downgrade version in production after the transport?
      3. If iflows already exist in production, will it only move the new version or create another iflow?

      Thanks