Skip to Content
Technical Articles

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

Introduction:

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.

Pre-requisites:

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.

Configuration:

SAP CPI:

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%20Instance%20of%20Content%20Agent%20Service

Creating Instance of Content Agent Service

Instance%20Creation%20for%20Content%20Assembly

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%20Key%20Creation

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%20Instance%20for%20PI%20Service

Creating Instance for PI Service

Select service plan as api

Selecting%20Service%20Plan

Selecting Service Plan

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

Assign%20Role%20to%20instance

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%20Instance

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 ContentAssrmblyService is case sensitive. Select next it will fetch details form service instance created in step 1.

Content%20Assembly%20Destination

Content Assembly Destination

Conection Test:

Connection%20Test

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)
URL:<SourceTenantUrl>/api/1.0/transportmodule/Transport
Authentication:OAuth2ClientCredentials
Token Service URL: tokenurl form service key
Provide Client ID and Client Secret from service key created in step 2.

Cloud%20Integration%20Destination

Cloud Integration Destination

Connection Test:

Connection%20Test%20Cloud%20Integration

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%20Destination

TMS Destination

Here Destination name TransportManagmentService 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%20Connection%20test

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

Target%20Destination

URL:

https://deploy-service.cfapps.us10.hana.ondemand.com/slprot/<OrgNameOfTarget>/<SpaceNameOfTarget>/slp

Authentication: Basic

Connection Test:

Target%20Destination%20Connection%20Test

Target Destination Connection Test

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

Setting–>Transport

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

Enabling%20Transport%20Setting

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%20Check%20Result

Configuration Check Result

SAP TMS:

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%20Node

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%20Node

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%20Route

Transport Route

TMS setup is done.

Testing:

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

Provide description for TR.

Package%20to%20be%20transport

Package to be transport

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

TR%20Number

TR Number

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

TR%20ready%20to%20import%20in%20target%20tenant

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%20Imported%20in%20target%20tenant

TR Imported in target tenant

3.Check the package in your target tenant:

Package%20imported%20in%20target%20tenant

Package imported in target tenant

Now we can deploy this artifact in target tenant.

Summary:

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.

 

 

Reference:

https://blogs.sap.com/2020/08/30/introducing-sap-cloud-platform-content-agent-enhanced-transport-capabilities-for-sap-cloud-platform-integration-suite-content/

 

Thanks

 

21 Comments
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.

      Thanks,

      Nikhil

      /
      • 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,

          Nikhil

          • 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.

      Regads,

      Nikhil

      • 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?

        Thanks,

        Sandeep

        • 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.

          Regards,

          Nikhil

          • 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.

            Thanks,

            Nikhil

  • Recently, the global shipping giant UPS has launched a new employee service portal. The company believes in attracting the best talent and looking after them once they come on board. The company has always attributed its success to its team of employees. They are categorical in stating that in the service business, you cannot thrive without having a good talent pool. upsers.com

  • 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.

    Regards,

    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.

        URL:<SourceTenantUrl>/api/1.0/transportmodule/Transport

        Regards,

        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.

          Regards,

          Nikhil

          • 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.

            Regards,

            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.

            Thanks

            Nikhil

             

          • /
          • 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

            /