Skip to Content
Technical Articles

Content Transport Using SAP Cloud Platform Transport Management Service in SAP CPI CF Environment


This blog discusses the steps and configurations to transport Integration Packages using Transport Management Service between multiple tenants by exporting it from one tenant and importing it in another.

Customer using SAP’s TMS and having Test and Production Cloud Integration tenants have the option to use the feature to transport and Integration Package from Test to the Production landscape using the TMS service.

This can be achieve using Content Agent Service which will acts like an agent that allows to assemble the SAP CPI content and export it to transport queue.

In this blog we will cover end to end configuration to set up the SAP Cloud Integration(CF) for TMS.


1.Two separate SAP CPI tenants.(They will act as source and Target tenant)
2.Subscription and admin access to SAP CPI Transport Management Service.
3.Sample integration content to for transport from source to target.



1.Creating an instance and Service Key for the Content Agent service in the source CF space.

Global Account–>Subaccount–>Service Marketplace–>Content Agent–>Create Instance


Creating Instance of Content Agent Service


Instance Creation for Content Assembly

Select next and finish it.

Now Create Service Key for this instance:

You can find Service Instance in previous step under Service Instances. Select Service instance and Create Service Key for it.


Service Key Creation

Once Service Key created you will get url,clientid,clientsecret which is used in step 4 for destination creation.

2.Creating an instance and Service Key for Process Integration Runtime (PI) service in the source CF space.

Global Account–>Subaccount–>Service Marketplace–>Process Integration Runtime–>Create Instance


Creating Instance for PI Service

Select service plan as api


Selecting Service Plan

in next step provide “WorkspacePackagesTransport” role to it and finish instance creation.


Assign Role to instance

Now create service key for this instance. Follow the same steps as followed for Content Agent service Key creation.

After creation of Service Key you will get  url,clientid,clientsecret, which required at creation of destination in Step 5.

3.Creating an instance and Service Key for the Transport Management service in the source CF space.

Global Account–>Subaccount–>Service Marketplace–>Transport Management–>Create Instance


TMS Instance

Follow the same steps as in step 1 and create Service Instance and Service key for Transport Management Service.

4.Create destination ContentAssemblyService in Source Tenant.

Global Account–>Subaccount–>Connectivity–>Destinations–>New Destination–>Service Instance


                                        Crating Destination for Content Assembly Service

Here Destination name ContentAssemblyService is case sensitive. Select next it will fetch details form service instance created in step 1.


Content Assembly Destination

Conection Test:


Connection Test

You can ignore error 401.

5.Create destination CloudIntegration in Source Tenant.

Global Account–>Subaccount–>Connectivity–>Destinations–>New Destination

Name: CloudIntegration (case sensitive)
Token Service URL: tokenurl form service key
Provide Client ID and Client Secret from service key created in step 2.


Cloud Integration Destination

Connection Test:


Connection Test Cloud Integration

You can ignore error code 401.

6.Create Destination TransportManagementService in Source Tenant.

Global Account–>Subaccount–>Connectivity–>Destinations–>New Destination–>Service Instance


TMS Destination

Here Destination name TransportManagementService is case sensitive. Select next it will fetch details form service instance created in step 3.

Add Additional property:

sourceSystemId=<Source_Node_Name>  (This is node which is created in step 1 in TMS Config)

Connection test:


TMS Connection test

You can ignore error code 401.

7.Create Destination for Target Tenant in source tenant.

Global Account–>Subaccount–>Connectivity–>Destinations–>New Destination



Authentication: Basic

Connection Test:


Target Destination Connection Test

8.Enable transport setting to Transport Management Service in Source Tenant.


Find Edit button at bottom of right corner on same page.


Enabling Transport Setting

Note: To enable this setting AuthGroup.Administrator role required.

Also you need WorkspacePackagesTransport  role to transport package from source tenant to target tenant.(To enable transport button in design tab).Below are the steps to assign the same.

a.Global Account–>Subaccount–>Security–>Role Collections–>Add Collection(+)

b.Global Account–>Subaccount–>Security–>Roles search for WorkspacePackagesTransport, click on it and assign it to role collection created in previous step.

c.Global Account–>Subaccount–>Security–>Role Collections search the collection created in “step-a ” and assign user for this collection.

d.Logout and login again to into CPI, You can find transport button is enabled.

Then check configuration for Transport Management Service You will get below result if your destinations are correct.


Configuration Check Result


1.Creating Source Transport Node

TMS–>Transport Nodes–>Add Node(+)

Just Provide Name and check Allow Upload to Node. Leave everything as it is(by default) and save it.


Source Node

2.Create Target Transport Node:

TMS–>Transport Nodes–>Add Node(+)

Provide Name and check allow upload to node checkbox then select Content Type as Multi-Target Application and Select Destination of Target System which is created in step 7 in CPI Config.


Target Node

3.Create Transport Route:

TMS–>Transport Routes–>Add Route(+)

Provide name for route and select the source and target node and save it.


Transport Route

TMS setup is done.


1.Select Package from source tenant which need to transport to target tenant.

Provide description for TR.


Package to be transport

Then click on transport and you will get pop up as below with TR number:


TR Number

2.In Transport Management you can find this TR in Target Node’s import queue:


TR ready to import in target tenant

Select TR and click on import. This will take some time and you will find TR status in Transport Action Logs


TR Imported in target tenant

3.Check the package in your target tenant:


Package imported in target tenant

Now we can deploy this artifact in target tenant.


In addition to this, there are two more options of transport in CPI:

1)CTS+ Direct- Will update blog once end to end configuration is done.

2)MTAR Download- For this use step number 1,2,4,5 and in step 8 select MTAR Download as transport mode, this will simply download .mtar file when we transport object.

3)Transport Management Service-This can be achieved by performing all above steps.


We have learnt:

How to configure Cloud Integration for TMS.

Transport setting to perform Transport of Integration Packages using TMS.

End to end testing on TR transport using TMS from source tenant to target tenant.

I hope this blog will reduce time for configuration. I have tried to cover each minor step so that anyone can able to implement this change.






You must be Logged on to comment or reply to a post.
  • Great article!  On step 8, I can't edit the dropdown to enable the Transport Service.  I have the AuthGroup.Administrator role but don't see the IntegrationContent.Transport role anywhere.  What service provides that role?  thanks

    • Hi Dwayne,

      Thanks for doing POC on this blog.

      Check the edit button on CPI Setting–>Transport at the right bottom of page. Refer screenshot provided here.

      It took me while to search first time.

      Also I have modify blog and added steps to enable transport tab in design under step 8.



      • Wow I missed that button thanks for pointing it out!  Another question - is it possible to create this scenario in a trial account with a single tenant and two spaces?  Would be good to let folks try it out who don't have have two tenants to work with.  Thanks

        • Hi Dwayne,

          Yes, you can create this scenario in trial account as well with Single Global account having two different subaccount with respective spaces.



          • Thanks for adding additional details regarding the transport roles that are required.  Everything works except actually transporting it to a QA subaccount in the trial, but that's because you can only provision 1 instance of Integration Suite in trial.  But everything else works, thanks for the great blog!

  • /
    • Hi Sandip,

      Thanks for reading and doing POC on this.

      First off all - Check connection test for CloudIntegration and TransportManagmentService destinations. If it is successful then and only then check configuration for TMS in CPI Setting-->Transport else cross verify destination config again.

      Hope this will sort out your issue.



      • Hi Nikhil,

        I have done both destinations and it's showing Connection to "XXXXXXX" established. Response returned: "401: Unauthorized"

        CloudIntegration:  {URL}/api/1.0/transportmodule/Transport

        {URL} is this CPI tenant right?



        • Hi Sandeep,

          Yes,{URL} is source CPI tenant URL. If the connection test is successful for both destinations then this should be work.

          Check configuration by changing transport mode to MTAR Download, for this only CloudIntegration destination required and do let me know result of it.



          • Hi Sandeep,

            I have no idea on logs. I would suggest you to check all config again from starting to till destination creation. If you do not found any correction then raise ticket with SAP.



  • Hi Nikhil ,

    Nice blog!!!!!

    I am facing an issue in "check configuration". I am getting below response.

    {"results":[{"status":"ERROR","description":"Configuration check for CloudIntegration","error":{"errorCode":"1041","parameters":{"destinationName":"CloudIntegration"}}},{"status":"ERROR","description":"Configuration check for TransportManagementService","error":{"errorCode":"1038"}}]}

    When i checked "CloudIntegration" destination , got below response.

    Connection to "CloudIntegration" established. Response returned: "301: Moved Permanently" response.

    Could you please advise.


    Nikhil Save

      • Hi Nikhil,


        Thanks for your time.

        I am little confused in step 5. Could you please advise from where we need to take Source Tenant Url for below.



        Nikhil Save

        • Hi Nikhil,

          You will get source tenant URL from Service Key created in step 2.(find value of URL)

          This is your source CPI tenant URL.



          • Hi Nikhil,


            I have used that URL only but we are getting "Failure reason: "An error of type SSLHandshake occurred during check connection!""

            Any idea what could be the reason.


            Nikhil Save

          • This is authentication error. Reverify token url, client id and client secret.

            If there is no discrepancy, send me screenshot of destination by hiding necessary details, will check it.




          • /
          • From screenshot everything looks okay except URL.

            You are doing this POC on .eu10 trial region and I did this in .us10 trial region.

            Please check below highlighted once, If you do not found any correction then raise ticket with SAP

  • Hi NIkil,

    URGENt: Please help.

    For TMS subscription, we have selected a separate subaccount. We have TMS, DEV, QA, PROD subaccounts now.


    Can you please advise me the transportation path and nodes to build the configuration?



  • Dear Nikil,

    Refer: 3.Creating an instance and Service Key for the Transport Management service in the source CF space.


    Here, my transport management service is activated in separate subaccount than my source (dev instance)/target which is QA. Where to execute this step

    1. In my TMS subaccount where TMS service is activated /subscribed.
    2. In my DEV CPI subaccount where TMS is not subscribed.


    Note: TMS is in the separate subaccount. i have my CPI instances DEV, QA and PROD in seperate subaccounts.




  • Hi Nikil,

    I am really appreciated for your support. I can able to fix the issue after I moved the TMS activation from another subaccount to the Development environment. And, rest of the steps exactly above.


    Thanks a lot.


  • Hi Nikhil,

    I am getting the below error while importing the package on a destination tenant. FYI, I am using two trail account to transport package from one to the another one. All roles assigned.

    Would appreciate your help



    • Hi Shyam,

      Looks like you are using trial accounts with different regions. Exa. eu10 and us10.

      Try to use transport between same region accounts and do the respective config.

      Hopefully this will resolve your issue.


      1. Nikhil
  • Nikhil,

    I am trying to import it to another account in  the same EU10 region.

    Not sure why I am getting this FileStorage error as I don't have any other application deployed to the destination trial account.



    • Hi Shyam,

      I was also facing this issue, transporting in same region resolved my issue.

      I already raised this question in SAP community, i got answer-- this seems to be an issue with the Cloud Foundry deployment service

      Please go through communication in below URL, you will get clarity on issue.



  • HI Nikil,


    As discussed earlier, i have created DEV==>Qa and TMS service is working good. Now the time to extend to QA to PROD. What are the steps I need to follow now?



  • Hi Nikhil,

    Hope you are doing good :). Thanks for this blog.

    I am trying to enable the Cloud Transport Management system in our CloudFoundry subaccount but i don't find any Process integration Runtime & Transport Management service in CF Subaccount. Any idea whether the approach is changed after any upgrade in the cockpit or do i need to enable something in subaccount.


    Manivannan G

    • Hi Manivannan,

      Thanks for reading blog.

      Yes, SAP has changed path of enabling service after upgrade. Previously services were available under Subaccount-->Subscription, now you can find same in Subaccount-->Services-->Service Marketplace.

      Please refer below screenshot's.





  • Hi Nikhil,


    Under my subaccount, for transport management service don't have the option to choose standard plan and create an instance of it. Just I can subscribe to the application and hence unable to execute the step 3. Could you help me out on the same.





    • Hi Hiteshwar,

      Click on create button on top right corner, it will redirect to instance creation.(Refer below screenshot)





  • Hi Nikhil,


    I followed your great POC step by step and I'm getting an error "Unable to export MTAR file. Check the destination configuration." when I try to transport the CI package I have tripple check all destinations and I couldn't find any deference.

    any thoughts or Ideas how to fix it?



    • Hi Firas,

      Please check configuration in CPI under settings - >Configuration check.

      If its successful then there should be no issue.Refer below screenshot.

      • Hi Nikhil,

        I have got It, I made a mistake in step 2 instead of the API instance I created an integration-flow instance. I changed it an everything works fine.

        Best Regards