Skip to Content
Technical Articles
Author's profile photo nikhil gursal

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 ContentAssemblyService 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 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%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.

 

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

1)CTS+ Direct- Reference document link.

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.

4)Export/Import – This is manual process of Export and Import objects from Source to Target account.

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

 

Assigned Tags

      80 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Dwayne DeSylvia
      Dwayne DeSylvia

      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

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      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

      Author's profile photo Dwayne DeSylvia
      Dwayne DeSylvia

      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

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      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

      Author's profile photo Dwayne DeSylvia
      Dwayne DeSylvia

      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!

      Author's profile photo RISHI JADHAV
      RISHI JADHAV

      Nice Article Nikhil?

      Author's profile photo sandeep palicherla
      sandeep palicherla

      Hi Nikhil,

      I am facing error like below when i click check configuration. But i did all configuration as required.

      Any idea on below error:

      Thanks,

      Sandeep

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      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

      Author's profile photo sandeep palicherla
      sandeep palicherla

      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

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      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

      Author's profile photo sandeep palicherla
      sandeep palicherla

      Hi Nikhil,

      Thanks for your time here.

      I tried but still same issue. It seems lookup is not happening to destinations in subaccount.

      Do we have any logs for this?

      Thanks,

      Sandeep

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      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

      Author's profile photo Nikhil Save
      Nikhil Save

      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

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      Hi Nikhil,

      Please reverify Step No-3,4,5 and 6.

      Especially check URL is correct from CloudIntegration destination.

      Regards,

      Nikhil

      Author's profile photo Nikhil Save
      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

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      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

      Author's profile photo Nikhil Save
      Nikhil Save

      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

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      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

       

      Author's profile photo Nikhil Save
      Nikhil Save

      Hi Nikhil,

      Please find below.

      Regards,

      Nikhil Save

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      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

      Author's profile photo Vasudeva Gembali
      Vasudeva Gembali

      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?

       

      Vasu

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      Hi Vasudeva,

      Please refer below Sample Configuration Scenario which is as per your requirement.

      https://help.sap.com/viewer/7f7160ec0d8546c6b3eab72fb5ad6fd8/Cloud/en-US/22e1ed69b9e24701a97955b97fc3ca8c.html

      Refer below screenshots:

      Create three nodes in TMS Dev,Test and Prod

      Using Landscape Wizard setup route for Dev->Test–>Prod by selecting Three nodes landscape

      Provide respective details in each node.

       

      Let me know if you need any other help on this.

      Regards,

      Nikhil

      Author's profile photo Vasudeva Gembali
      Vasudeva Gembali

      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.

       

      vasu

       

      Author's profile photo Vasudeva Gembali
      Vasudeva Gembali

      Hi @nikhilgursal,

      Please advise me if i can able to reach you on whatsup. Here is my contact if you can ping me. +65 8511 5735.

       

      Author's profile photo Vasudeva Gembali
      Vasudeva Gembali

      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.

      vasu

      Author's profile photo Learning SAP
      Learning SAP

      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

      Thanks

      Shyam

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      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.

      Regards,

      1. Nikhil
      Author's profile photo shyam singh
      shyam singh

      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.

      Thanks

      Shyam

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      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.

      https://answers.sap.com/questions/13144464/error-during-deployment-of-tr-in-transport-managem.html

      Regards,

      Nikhil

      Author's profile photo shyam singh
      shyam singh

      Thanks NIKHIL GURSAL , I was able to solve the issue. By creating Transport/PI service instances on the destination system resolved the issue.

      Author's profile photo Vasudeva Gembali
      Vasudeva Gembali

      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?

       

      Vasu

      Author's profile photo Vasudeva Gembali
      Vasudeva Gembali

      Hi NIkil,

       

      When i am trying to create TMS nodes, there is no authorization. May i know which role is required?

      Author's profile photo Manivannan Ganapathi
      Manivannan Ganapathi

      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.

      Regards,

      Manivannan G

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      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.

       

       

      Regards,

      Nikhil

      Author's profile photo Cassio Fernandes
      Cassio Fernandes

      Hi Nikhil,

      I tried to follow this tutorial, but service "Transport Management" at step 3 does not show up, neither I can add it through the entitlements. Is this because this is a paid service and does not come by default for customers?

      Best regards,

      Cassio

      Author's profile photo Hiteshwar Singh
      Hiteshwar Singh

      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.

       

       

      Regards,

      Hiteshwar

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      Hi Hiteshwar,

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

      Regards,

      Nikhil

       

       

      Author's profile photo Mohamad Akkad
      Mohamad Akkad

      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?

      Regards

      Firas

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      Hi Firas,

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

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

      Author's profile photo Mohamad Akkad
      Mohamad Akkad

      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

      Firas

      Author's profile photo Vasudeva Gembali
      Vasudeva Gembali

      Hi Nikil,

       

      When is the roadmap for iflow transports individually instead of the package?

      Author's profile photo Ankit Soni
      Ankit Soni

      Hi Nikhil(@nikhilgursal),

      Thanks for creating blog with all screenshots in one place, its too many different redirections for steps with standard sap help.

      For the step to create destination for target - https://deploy-service.cfapps.us10.hana.ondemand.com/slprot/<OrgNameOfTarget>/<SpaceNameOfTarget>/slp

      For which instance on target sub account we have to create service key (clientid/secret for basic auth) ? I created service key for processing integration runtime with api service plan and WorkspacePackagesTransport role and used that in source system for creating destination in this step but I am getting 401 Unauthorized instead of 200 OK as per your screenshot.

      Can you please let me know which role is required for the target URL you have on that step ?

       

      Thanks,

      Ankit

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      Hi Ankit,

      Thanks for your feedback.

      You don't need to create Service key in target account for destination you are talking, just use your user id and password which you used to login into your target account which will be act as Basis auth.

      Let me know if you still get 401 error.

      Regards,

      Nikhil

      Author's profile photo Ankit Soni
      Ankit Soni

      Hi Nikhil,

       

      Thanks for quick response.

      My user/pass works but I get Response returned: "404: Not Found". Do I have to activate anything else in target account other than integration suite and content agent service instance?

      All steps in source account done as per your blog.

      Our account region is ap10 so only thing from host in your URL I have changed to ap10 and used my QA account org/space.

      Also, how do I use technical user instead of my user for this ?

       

      Thanks,

      Ankit

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      Hi Ankit,

      Please reverify Org Name and Space name of target account is right in below URL, this will be the cause for this issue. You will get this details in target subaccount page.

      https://deployservice.cfapps.us10.hana.ondemand.com/slprot/<OrgNameOfTarget>/<SpaceNameOfTarget>/slp

      You can create technical user as Global Account-->Sub Account-->Security-->Users-->Create in CF environment.

      Regards,

      Nikhil

       

      Author's profile photo Ankit Soni
      Ankit Soni

      Hi Nikhil,

      Thanks, yes org name & space name are matching as per target account. I tried both below URLs(removed org & space before pasting here). Not sure if there is any step which is also required to activate this slp URL on target account?

      https://deployservice.cfapps.ap10.hana.ondemand.com/slprot/<myorg>/<myspace>/slp

      https://deploy-service.cfapps.ap10.hana.ondemand.com/slprot/<myorg>/<myspace>/slp (you have dash in blog )

       

      Thanks,

      Ankit

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      Hi Ankit,

      The below URL is standard and correct one(with dash).

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

      No additional step required in target account, your destination is unable to reach target account.(Probably something wrong in URL, try with  recreating destination)

      I have checked deploy service status for ap10 ,its available.

      Below is the SAP help url for your refence.

      Create Transport Destinations - SAP Help Portal

      Regards,

      Nikhil

      Author's profile photo Andrey Tkachuk
      Andrey Tkachuk

      Hi Nikhil,

      Thanks a lot for the article!
      I was able to upload the mtar-package to the CTM and this is displayed in the test node. But while exporting, I get the error: Error during deployment initialization: Not Found error occurred during processing of operation 'Get Version'

      #img

      What could be the problem?
      Thank you!

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      Hi Andrey,

      Thanks.

      From error message I can see, You have selected content type as "Application content" in target node in TMS.(From screenshot your target node is "test").

      Please change it to "Multi-Target Application" it will work .Source and Target file type should be same. i.e. mtar.

      Regards,

      Nikhil

      Author's profile photo Andrey Tkachuk
      Andrey Tkachuk

      Hi Nikhil,

      Thanks for the recommendations!

      I guess I made a mistake on one of the steps.

      I planned the "test" node as the source and the "prod" node as the target.

      Now I have set such parameters, but I still see an error. :

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      Hi Andrey,

      From transport log provided by you,I can see you have added target destination and content type in source node (test).

      Please do below corrections:

      1.Keep Content Type blank for source Node(test in your case)

      2.Keep destination blank for source node.(test in your case)

      3.Make sure target destination and content type (Multi-Target Application) is correct in target node (Prod in your case)--This looks okay from screenshot.

      Regards,

      Nikhil

      Author's profile photo Andrey Tkachuk
      Andrey Tkachuk

      Success!

      The route has passed!

      I made a mistake while importing the package. I was trying to restart an old package that was opened by Application content. But now the main question remains. Where is in my CPI? )) I do not see the new iFlow that I wanted to transfer from test to prod)

      Am I doing the right thing to add the file into the test node?

      When I click on the import, I get the error:

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      Can you see this TR request in TMS under Prod import queue ? If yes then you need to import it then it will be available in your target CPI tenant after successful import.

      Author's profile photo Andrey Tkachuk
      Andrey Tkachuk

      I understand that I am very close to victory!

       

      I want to check if I am doing everything correctly:

      1. Add the mtar-file to the "test" node. I see es in the Entries list. In the "prod" node, this is not visible in the list.

      2. In "test" note I call the command: "Import Selected". I get an error that the TargetDestanation is not configured. But, the package is visible in the prod node!

      3. In "prod" node also call "Import Selected" and get status Succeeded, but in CPI I do not see iFlow from packeg.

       

      As a result, I am left with two questions:

      1. How, at what point should the package appear in the "prod" node?

      2. What is the Destinations to deploy the iFlow to my CPI? Maybe I made a mistake there.

       

       

      Thank you very much for your quick help!

      Author's profile photo Sujit Gawade
      Sujit Gawade

      Hi Nikhil,

      Nice and well explained article..!! Thank you for this detailed work instructions 🙂

      I am having two questions Nikhil as below.

      1. my current scenario is, we are having separate separate subaccounts for each system (Dev, QA and prod) in our global account. Do i need to configure this in every subaccount or only Dev subaccount is enough as the transports would origin from here?

       

      2. Is this configuration works or can be applied if i am having different different subaccounts for Development, quality and production systems in the same global account?

      If yes, at step 7, after creating the target destination, i am getting response as below:

      Connection to "TargetDestination" established. Response returned: "404: Not Found"

       

      Thank you,

      Best Regards,

      Sujit.

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      Hi Sujit,

      Thanks for your feedback.

      Please find below inline comment on your queries.

      1.my current scenario is, we are having separate separate subaccounts for each system (Dev, QA and prod) in our global account. Do i need to configure this in every subaccount or only Dev subaccount is enough as the transports would origin from here?

      -->You just need to configure this in Source subaccount (Dev in your case ).

      2.Is this configuration works or can be applied if i am having different different subaccounts for Development, quality and production systems in the same global account?

      If yes, at step 7, after creating the target destination, i am getting response as below: Connection to "TargetDestination" established. Response returned: "404: Not Found"

      -->Here you need to add two destinations (For QA and Prod) , later this will be used under TMS node config.

      For the error 404 ,reverify URL of deploy service and Org name and Space name of your destination. Target subaccount should be active (QA and Prod ).

      Regards,

      Nikhil

       

       

       

       

      Author's profile photo Sujit Gawade
      Sujit Gawade

      Hi Nikhil,

      Thank you very much for addressing my queries 🙂

      However, still i can not solve this error. Can you please let me know from where we can get this deploy URL? Is it somewhere from the service keys which we have generated in the previous steps?

      If possible can we please have a connect over a call in order to check this? Kindly let me know.

       

      Thank you,

       

      Best Regards,

      Sujit Gawade.

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      Hi Sujit,

      Below is the deployment service URL which is configured in Target destination. This is standard, we just need to update Org name and Space name of target subaccount.

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

      Note: If your org or space name contains a space, replace it with the URL escape character %20

      Refer below to get more clarity on target destination for transport.

      https://help.sap.com/viewer/7f7160ec0d8546c6b3eab72fb5ad6fd8/Cloud/en-US/c9905c142cf14aea86fe2451434faed9.html

      Regards,

      Nikhil

      Author's profile photo Nikhil Anand
      Nikhil Anand

      Hi Nikhil

      I get an 401:Unauthorised error while creating the target destination. Could you please give some pointers.

       

      Scenario :-

      I have two different trail accounts. Account A & Account B, with user id as A1 & B1 respectively

      I want to migrate Iflows from A to B.

      I am creating target destination in A, and provide the details of 'B'

      The username details provided in this targetDestination is B1. Additionally, i have added all the available roles to user B1.

       

      Thanks in Advance !!

      Author's profile photo NIKHIL GURSAL
      NIKHIL GURSAL

      Hi Nikhil,

      As error stated its authorization issue.

      As per  scenario you explained, you are doing it in correct way.

      If both trial accounts are in same global account, your creds will be same for both the account.

      And if you are trial accounts sits on different global account then your creds will be different.

      Regards,

      Nikhil

      Author's profile photo Peter Geukens
      Peter Geukens

      Thank you for this amazing blog!

      I do have a question for which I don't seem to find an answer.

       

      I understand that content can only be transported between the same environment, e.g. dev & test both in Neo.

      But can the TMS service itself be located on a different account, e.g. a CF environment.

      I have create a trial account (CF) which I want to use to test the TMS functionality but like to connect our 2 CPI tenants running in another environment (NEO).

       

      So basically, does the TMS service be in the same (sub)account then the CPI?

       

      Thanks a lot!

      Author's profile photo NIKHIL GURSAL
      NIKHIL GURSAL

      Hi Peter,

      Thanks for your feedback.

      Yes, as per below SAP page  this should work as TMS currently available in CF only.

      https://help.sap.com/viewer/7f7160ec0d8546c6b3eab72fb5ad6fd8/Cloud/en-US/5fef9d6b1cb047b2b18d9eb57aa15352.html

      Regards,

      Nikhil

      Author's profile photo Thomas MONS
      Thomas MONS

      Hello Nikhil,

      If having TMS and SAP CPI in different subaccounts works, where should we deploy the content agent, PI runtime and TMS instances ? In the subaccount of SAP CPI ? Or in the subaccount of Cloud Transport Management ?

      Similarly, the destinations should be created in Cloud Transport subaccount ?

      Thank you for your reply.

      Regards,

      Thomas

      Author's profile photo NIKHIL GURSAL
      NIKHIL GURSAL

      Hi Thomas,

      Yes,TMS and SAP CPI can be provisioned to diffrent subacounts but with below condition/Configuration:

      Suppose you have three subacounts Dev,Test and Prod then,
      1.Transport Management Service can be provisioned to any single subaccount.
      2.Content Agent Service (can be provisioned to any single one subaccount, where should have a destination for CI and TMS configured)

      Refer below blog for better clarity on this:
      https://blogs.sap.com/2022/03/25/transport-sap-cloud-integration-ci-cpi-content-with-transport-management-service-tms-and-content-agent-service-cas/

      Regards,
      Nikhil

      Author's profile photo Thomas MONS
      Thomas MONS

      Hello Nikhil,

       

      Thank you for the information and the link ! Much appreciated.

      One last question : the PI runtime instance should be created in the subaccount where SAP CI resides ? Or in the subaccount where CAS resides ?

      Thank you very much.

      Regards,

      Thomas

      Author's profile photo NIKHIL GURSAL
      NIKHIL GURSAL

      Hi Thomas,

      We need to provide client id, client secret and and token URL from PI runtime service key in Step 5 for CloudIntegration destination.

      So, as per my understanding PI runtime instance should be created in subaccount where CAS resides because we have to create destinations for CI and TMS in this subaccount.

      Regards,

      Nikhil

      Author's profile photo Harshad chaudhari
      Harshad chaudhari

      Hi Nikhil,

      It is really a nice blog. I am facing error like below when I click check configuration in step 8. I did all configuration as required.

      Any idea on below error "Destination lookup failed" .

       

      Error%20sanpshot

      Error snapshot

      Author's profile photo NIKHIL GURSAL
      NIKHIL GURSAL

      Hi Harshad,

      Thanks for your feedback.

      First check ping test by changing Transport mode to Mtar download ,If it works then it will give clarity on Step 1 and 4 is correct. If it not work then perform step 1 and 4 again by deleting older one.

      Let me know if it not work.

      Regards,

      Nikhil

       

       

      Author's profile photo Alexander Clen Riva
      Alexander Clen Riva

      Great Blog NIKHIL GURSAL

      I am following the steps but I facing the below error in "Check Configuration"

      {"results":[{"status":"SUCCESS","description":"Configuration check for CloudIntegration"},{"status":"ERROR","description":"Configuration check for TransportManagementService","error":{"uuid":"53f497c1-3a92-42e6-b328-857da06c0b12","internalMessage":"Error occurred while accessing TMS. Kindly check destination [TransportManagementService]"}}]}

      The "Check connection" for Point 6 set up is getting 401, green.

       

      Changed to "MTAR Download" and "Check Configuration" and it is getting successful message.

      {"results":[{"status":"SUCCESS","description":"Configuration check for CloudIntegration"}]}

       

      I verified again the step for Point 6(URL, Client Id, Client Secret, and Token Service URL). Any idea what more can I check?

       

      Author's profile photo Alexander Clen Riva
      Alexander Clen Riva

      I found the correction.

      I was using the wrong Token Url.

      This should be https://xxxxxtrial.authentication.us10.hana.ondemand.com/oauth/token

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      Great...

      Author's profile photo Biswajit Singh
      Biswajit Singh

      Hi Nikhil,

      Very well explained blog ! I would like to understand what would be the steps needed if are trying to integrate CTS+ to cloud foundry. Will it also need content agent service as in this case ? Would really help if there can be a blog for this.

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      Hi Biswajit,

      Thanks for your feedback.

      I did not get chance to work on fully automated setup using CTS+ for Cloud Integration transport but worked on semi automated.

      Content agent service helps in binding objects , so yes its required in CF if you want to create transport objects.

      In semiautomated setup , you need to follow steps 1,2,4 and 5 from this blog. and in Cloud Integration Transport mode as MTAR download. We will get .mtar file once we transport object. after that this .mtar can be attached in TR created in charm and routes for transport will be maintained by Basis team.

      Refer below SAP page for more details on CTS+ setup.

      https://help.sap.com/docs/CLOUD_INTEGRATION/368c481cd6954bdfa5d0435479fd4eaf/3cdfb512a75941d187b6f5a86e418983.html

      Regards,

      Nikhil

      Author's profile photo Biswajit Singh
      Biswajit Singh

      Hi Nikhil,

      Thanks a lot for your inputs. We are perhaps looking to go ahead with a fully automated setup through CTS+ direct. I would just like to clarify a few queries for this.

      1.As you mentioned, for a fully automated setup as well i guess steps 1,2,4 and 5 should be sufficient. Although i believe these steps will have to be performed for all the subaccounts in scope. Can you please confirm on the same.

      2.Once the above step is done, remaining steps should pretty much be the same as that mentioned on the cts+ documentation for mtar file except we will need to setup a cloud connector for dev tenant to trigger transports from cpi to the solution manager system instead of using the transport web organizer. For this i believe this blog can be taken as a reference Content Transport using CTS – Cloud Integration – Part 1 | SAP Blogs Let me know if you feel the same.

      3.For step 8 , can you confirm if the same roles are needed for CTS+ also. If so, can i assign my user details which is on step 'c' or there is some specific user details.

      4. For step 4 , Can you please confirm if the content agent url gets fetched automatically or not ?

       

      Many Thanks,

      Biswajit.

      Author's profile photo NIKHIL GURSAL
      NIKHIL GURSAL

      Hi @Biswajit Singh,

      Below is the my understanding on your points.

      1.As you mentioned, for a fully automated setup as well i guess steps 1,2,4 and 5 should be sufficient. Although i believe these steps will have to be performed for all the subaccounts in scope. Can you please confirm on the same.

      ==>Yes , the step number 1,2,4 and 5 will be required.

      I don't think we need to perform this steps in all subaccounts because we will use only Source subaccount to transport object to CTS+ and then CTS+ will take to forward it in higher environment for that there will be few more steps need to perform which you asked in your 2nd point.

      2.Once the above step is done, remaining steps should pretty much be the same as that mentioned on the cts+ documentation for mtar file except we will need to setup a cloud connector for dev tenant to trigger transports from cpi to the solution manager system instead of using the transport web organizer. For this i believe this blog can be taken as a reference Content Transport using CTS – Cloud Integration – Part 1 | SAP Blogs Let me know if you feel the same.

      ==>Yes, most of the steps will be same like.

      Refer answer provided in below question.

      https://answers.sap.com/questions/13652879/setup-direct-transport-creation-on-cloud-foundry-t.html?childToView=13655922

      3.For step 8 , can you confirm if the same roles are needed for CTS+ also. If so, can I assign my user details which is on step 'c' or there is some specific user details.

      ==> in step 8 , WorkspacePackagesTransport role required to enable Transport button in source CPI and will be having authorizations to push .mtar to target (In your scenario it will be CTS+).

      Youi can use your user or we can create new user specific for this requirement.

      4. For step 4 , Can you please confirm if the content agent url gets fetched automatically or not ?

      ==>Yes, it will fetch all required details automatically you only need to use Service instance instead of Blank template in destination creation and chose service instance of content assembly service.

      Regards,

      Nikhil

      Author's profile photo Biswajit Singh
      Biswajit Singh

      Thanks a lot for clarifying on the points Nikhil. Now its much clearer on what has to be done to get CTS+ working. This will really help us a lot going forward !

       

      Best Regards, 

      Biswajit. 

      Author's profile photo Louis Huang
      Louis Huang

      Hi, NIKHIL GURSAL.

      Nice blog. Thanks for your sharing.

      I did check configuration in CPI under settings - >Configuration check.

      It showed successful message as below.

      {"results":[{"status":"SUCCESS","description":"Configuration check for CloudIntegration"},{"status":"SUCCESS","description":"Configuration check for TransportManagementService"}]}

       

      However I got an error message when I tried to export my iflow.

      "Unable to export MTAR file. Check the destination configuration." 

      Any idea what more can I check?

       

      Thanks a lot.

      Author's profile photo nikhil gursal
      nikhil gursal
      Blog Post Author

      Hi Louis,

      This is strange. If connection test is successful from CPI settings then there should be no issue.

      As per below SAP KBA there should something wrong in destination due to which this error.

      https://me.sap.com/notes/0003116318

      You can try below options.

      Check destination ping test from BTP->Destination

      At last you  can give try by recreating Transport Management Service destination again.

      Regards,

      Nikhil

      Author's profile photo Vinicius Souza
      Vinicius Souza

      Hello @nikhil,

       

      I'm configuring my environment with 2 layers one with the Integration Suite and another one with the Cloud Transport Management.

       

      In the subaccount I have the CPI (DEV, QAS and PRD) the Destinations configured are CloudIntegration, ContentAssemblyService and TransportManagementService.

       

      And in the subaccount I'm subcribed to Cloud Transport Management the Destinations are pointing to the target DEV, QAS and PRD.

       

      Is it possible to configure de CTM like I'm trying to do?

       

      Att.,

      Vinicius

      Author's profile photo NIKHIL GURSAL
      NIKHIL GURSAL

      Hi Vinicius Souza ,

      Below is my suggestion as per understanding , If you have three subaccounts Dev, QAS and Prod then , you will need to subscribe integration suite in each subaccount to access Cloud Integration for respective environments.

      Cloud Transport Management service needs to subscribe in Dev tenant only and in the Dev subaccount  do the configuration as per above blog and Target destination will be for QAS and Prod in Dev subaccount.

      Regards,

      Nikhil