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 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)
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 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
URL:
https://deploy-service.cfapps.us10.hana.ondemand.com/slprot/<OrgNameOfTarget>/<SpaceNameOfTarget>/slp
Authentication: Basic
Connection Test:
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 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
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 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.
Testing:
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- 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
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!
Nice Article Nikhil?
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
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 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
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
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,
Please reverify Step No-3,4,5 and 6.
Especially check URL is correct from CloudIntegration destination.
Regards,
Nikhil
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
Hi Nikhil,
Please find below.
Regards,
Nikhil Save
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?
Vasu
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
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
Note: TMS is in the separate subaccount. i have my CPI instances DEV, QA and PROD in seperate subaccounts.
vasu
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.
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
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
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,
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
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
Thanks NIKHIL GURSAL , I was able to solve the issue. By creating Transport/PI service instances on the destination system resolved the 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?
Vasu
Hi NIkil,
When i am trying to create TMS nodes, there is no authorization. May i know which role is required?
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
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
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
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
Hi Hiteshwar,
Click on create button on top right corner, it will redirect to instance creation.(Refer below screenshot)
Regards,
Nikhil
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
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
Firas
Hi Nikil,
When is the roadmap for iflow transports individually instead of the package?
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
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
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
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
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
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
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!
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
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.
:
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
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:
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.
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!
Hi Nikhil,
Nice and well explained article..!! Thank you for this detailed work instructions 🙂
I am having two questions Nikhil as below.
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.
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
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.
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
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 !!
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
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!
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
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
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
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
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
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 snapshot
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
Great Blog NIKHIL GURSAL
I am following the steps but I facing the below error in "Check Configuration"
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.
I verified again the step for Point 6(URL, Client Id, Client Secret, and Token Service URL). Any idea what more can I check?
I found the correction.
I was using the wrong Token Url.
This should be https://xxxxxtrial.authentication.us10.hana.ondemand.com/oauth/token
Great...
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.
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
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.
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
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.
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.
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
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
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
We have setup 3 landscape CPI with CTMS.
We test the export from DEV to QAS successfully. We are able to import import QAS and it auto forward to PRD.
1) The issue we see the transport owner is not the email of user.
2) In the instance and Subscription in QAS, we do see an automatic created instance -- process_integration_transport_instance_mtls. Inside this instance for every transport that we import it created automatically each Service Key for each transport.
Any idea how to resolve the above? it should be that for every transport it will create a new service key and also the owner name is not human readable which is required by audit.
Hi Steven Foo
Your question is valid , the owner name should be readable which can be used for audit purpose.
As per my understanding Process Integration Runtime API service creates new service key for each transport and due wo which the user name is set dynamically in TMS.
Can you please raise this with SAP.
Regards,
Nikhil
Hi Nikil,
Nice article. Thanks for sharing valuable information. I am working on POC by seeing this article in my trail account. I am facing the below error when I tried to check the connection of TMS.
Please let me know should we use the User name password as our Puser ID and Passowrd or Client ID and secert as the password.
simillary in step 6 created sourceSystemId=<Source_Node_Name> (This is node which is created in step 1 in TMS Config)
How to create Node in Step 1.
Thanks,
Saritha. S
Hi Saritha,
Thanks for feedback.
Use your user name and password ( P/S User ) for target destination or you can create new technical user.
To create node follow TMS–>Transport Nodes–>Add Node(+) and provide the same name which you provided in step 6 i.e. Source Node Name (Refer step 1 in TMS Config).
Regards,
Nikhil
Hi
I am getting below error while importing transport in CPI PRD
Package moved successfully from Dev-->QA-->UAT
Hi Shreeram Wagh ,
From error message looks like deploy service of Prod is not reachable. Please check the destination of prod you are using in Prod node.
Also, verify URL in destination is correct (mainly domain, org name and space). Refer below community answer.
https://answers.sap.com/questions/13612561/exception-during-start-of-deployment-for-deploy-ty.html
Regards,
Nikhil
Hi NIKHIL GURSAL ,
initally I've setup TMS half a year ago for testing and it was working. Have a CI (fka CPI) on NEO environment.
When I check now it is not working anymore. Have not changed anything. Also checked s-user credentials and checked the other credentials. Should be up to date. Any option to narrow down the root cause? The log of the "Check Configuration" is not that helpful.
Error Message CPI
Thanks.
Hi Timmy Becker,
This is showing authentication error message for TransportManagementService destination but as you confirmed credentials are up to date.
I will suggest to recreate service and destination for TransportManagementService and slservice again , as if SAP done any changes in deployment service model it can affect this.
If it's not resolved by following above , please raise ticket with SAP.
Thanks,
Nikhil
Hi NIKHIL,
The destination created in step 7 uses basic authentication but doesn't indicate where the credentials come from. Where would I create the user or find the existing credentials for this destination?
Hi Rob Becker ,
I have not mentioned that part here, I used my personal user which is used to login into (Target) tenant.
You can maintain specific technical user in your target tenant by navigating to BTP -->Global account-->Subaccount (Target Subaccount) -->Security-->Users-->Create and same can be used in destination.
Regards,
Nikhil
After moving the IFLOW to PROD, how can we deploy the IFLOW as part of this move
Hi Murugesh Karunamurthy ,
Once iflow is in Prod tenant, you need to deploy it manually by navigating to Design and select Package containing Iflow and under Artifacts select iflow which needs to deploy in prod, there you will find Deploy button.
Regards,
Nikhil
Hi NIKHIL GURSAL ,
Is it possible to do transport between two different trial accounts.
I am getting below error while trying to do so:
Please help me with this.
Thanks and Regards,
Keerthana
Hi Keerthana Jayathran ,
Yes we can do transport between two different trial accounts.
Please check if configuration check test successful in Cloud Integration setting for TMS ? (Refer Step 8 - check configuration )
Regards,
Nikhil
Hi NIKHIL GURSAL ,
Thanks for your reply.
I checked the configuration,its successful.

When i checked the Transport Action Log,i could see that the File Upload is successful but the Export To Node is in running state.
Regards,
Keerthana
Hi Keerthana Jayathran
Okay ,can you share the transport logs ?
Regards,
Nikhil
Hello Dear NIKHIL GURSAL,
Please consider this bit urgent request since we are getting charged for Integration Suite Standard edition.
I have an enterprise BTP partner account , Have configured the Cloud Transport Management for transport of Integration suite packages from one Tenant(sub account) to another by referring the below blogs:
Introduction to Cloud Platform Transport Management service for SAP CPI Cloud Foundry environment. | SAP Blogs .
https://sapzero2hero.com/2022/06/15/sap-cpi-transport-package-by-using-transport-management-service-tms/
After the configuration, I'm getting the below error while checking the configuration on my Cloud Integration transport mode.
Error in the http client {0}:Error while getting slpManagementClient : Unauthorized
Just FYI, I have already tried recreating and updating the service instance with keys for content agent service by referring below note
https://me.sap.com/notes/0003090560
Could you please help here? Any help will be highly appreciated!
Regards,
Ankush Dhar
Hi Ankush Dhar ,
Can you please share screenshot of error message from Cloud Integration setting for connection test of TMS?
Regards,
Nikhil
Hello NIKHIL GURSAL,
Thanks for the reply, please find the screenshot as below:
Kindly have a look. thanks.
Cloud Integration setting connection test TMS error
Hi Ankush Dhar ,
From error message issue looks with binding object means for content assembly service.
As you already recreated service and instance of the same by referring SAP note.
Have you recreated destination for the same again ?if not ,pls recreate and check.Refer step from this blog.
As a truboolshting,to ensure issue is with contents transport services (contents assembly service) pls change the transport mode to .mtar download and check connection. It will show same error and if not then you will get sucess message for cloud integration destination.
We can further check on above results.
Regards,
Nikhil
Hello NIKHIL GURSAL
Thanks for the help, i am able to proceed now.
I am able to see the import request in target node ,however after running import i am seeing below error.
CTS+ process failed. Error: "Service operation failed: Controller operation failed: 404 Updating service "process_integration_transport_instance_mtls" failed: Not Found: Error creating service "process_integration_transport_instance_mtls" from offering "it-rt" and plan "api": Service plan api not found. "
Just FYI, Process Integration runtime instance with api plan is already created in Source sub account.
Could you please help me with this.
Appreciate your support.
Thanks,
Ankush
Hi Ankush Dhar ,
Great!
For above error it's clearly saying issue with process integration api instance.
You need to use details of above instance service key in destination cloud integration.
Please reverfy step 2 and 5 from this blog.
Regards,
Nikhil
Hello Ankush Dhar,
I'm facing this same problem. Did you manage to solve? What did you do?
Thanks,
Luan.
Hi Nikhil,
Am getting the below error while importing to target tenant. And both the tenants in the same region but different global accounts.
Transport request 'Demo - transporting package' (id: 84): Exception during start of deployment for deploy type 'SLP_CTS': Error during deployment initialization: Not Found
Hi Jyotheesh T ,
In your target destination URL ,if your org name and space contains white space you need to replace it with some special characters due to which this issue may occurs.
If it has space then this should be replaced with %20
Refer below sap community answer:
https://answers.sap.com/questions/13704788/slp-cts-error-during-deployment-initialization-not.html
Regards,
Nikhil
Hi Nikhil,
Thank you for your reply. I have checked, there is no white spaces in the URL. Previously it is worked in my trail account. After the account got expired, in the new account is not working.
Dear, NIKHIL GURSAL
could you try to give me a help .... I'm configuring the BTP TMS.
And I have this error.
would you know what it could be.
Exception during start of deployment for deploy type 'SLP_CTS': Process configuration failed: {0}: Internal Server Error: Error while executing REST API call: Create SL Management Protocol process
Hi Emerson Nascimento ,
From error message looks like issue while deploying content on target tenant. Please check your target destination URL is maintained correctly. Specifically org name and org space.
Regards,
Nikhil
Hello NIKHIL GURSAL
After running import i am seeing below error.
CTS+ process failed. Error: "Service operation failed: Controller operation failed: 404 Updating service "process_integration_transport_instance_mtls" failed: Not Found: Error creating service "process_integration_transport_instance_mtls" from offering "it-rt" and plan "api": Service plan api not found. "
Just FYI, Process Integration runtime instance with api plan is already created in Source sub account.
Could you please help me with this.
Thanks.
Hi Luan Matos ,
Refer below SAP note.
https://me.sap.com/notes/0003089513
Regards,
Nikhil
Hello NIKHIL GURSAL ,
Thanks for the quick response.
I have looked at the note and am not facing this issue. I managed to create the "Process Integration Runtime" service in the "API" plan. I did this procedure about 4 times to make sure I hadn't done it wrong. Inserted several times in "Destination". Everything is as it was taught by you.
I confess that I don't know what else to do to resolve this error on import. Is there anything you can help me to resolve?
Thanks!
Hi Luan Matos ,
From screenshot you have created Process integration service API plan , which is as per blog required for TMS .
Can you also create instance and key for Process integration service for "Integration -flow" plan as i know this is required for authentication of Iflows and to enable esb messaging send role on iflow level. do let me know result.
Thanks,
Nikhil
Hi NIKHIL GURSAL ,
I didn't create an instance or a service key with the "integration-flow" plan because I didn't see it in your article, just the creation of a "Process Integration Runtime" with the "API" plan.
Once I create this instance and service key, what do I do after that? What new steps should I take? Can you instruct me?
Thanks!
Hi Nikhil,
Appreciate you putting together this blog and more thankful about answering all the questions posted above. Had a lot of information and doubts answered.
So from what I am reading above, is it accurate to say that the Transport Management Service HAS to be created on the Dev subaccount of CPI or is there a way we can have a separate subaccount having the Cloud Transport Management service installed on it and make the configuration to Dev -> QA -> Prod. and the same then could be used to configure other transport routes like BTP ABAP environment as well?