Product Information
Create transport requests from Features in SAP Cloud ALM
In this blog post I’d like to explain how to create transport requests in your SAP NetWeaver Application Server for ABAP on-premise or SAP S/4HANA Cloud, private edition, development clients from within a feature.
Prerequisites
- The basic configuration to enable transport management for SAP S/4HANA on-premise, SAP S/4HANA Cloud, private edition, and SAP NetWeaver Application Server for ABAP on-premise must be done –> SAP Cloud ALM Setup & Admin Guide or blog post Enabling change & deployment management in SAP Cloud ALM for SAP S/4HANA and SAP S/4HANA Cloud, private edition.
- To enable the creation of transports from SAP Cloud ALM you must install SAP Note 3322679 and execute the program /SDF/NOTE_3322679 as mentioned.
- Check, whether you’ve activated the “Feature Deployment: Read Transport Landscape” use case in transaction /SDF/ALM_SETUP in client 000 of your domain controller.
- Execute ALM Setup transaction (/n/sdf/alm_setup) in each development client you’d like to create transports for. The service key of your SAP Cloud ALM API instance you used already for registering client 000 to your SAP Cloud ALM tenant can be used to maintain the HTTP destination. Make sure that the use case “Feature Deployment: Manage Transports per Client” is activated. We recommend to use 1 minute as collection interval.
Configuration
Nice to know: For releasing transports for a certain export client from within Features the same prerequisites must be met.
Enablement step in CALM
System group with the respective development clients assigned must be available within your project. In application Projects & Setup create a system group and assign it to a deployment plan.
System Group setup
Assignment to deployment plan
Make sure that the deployment plan is assigned to your project you would like to create transport requests for.
Assign deployment plan to project
How to handle transport creation
Use the Create button in a feature of the given project and select “Transport” from the drop down.
Create transport
In the creation dialog following fields must be filled:
- Fill in a meaningful title for the transport request. We recommend a naming convention.
- Select whether it should be a customizing or a workbench transport request.
- Enter a User ID existing in the managed system for the transport owner. This field is optional – in case you do not enter a user or the user does not exist in the managed system we use the background user of your registration as fallback transport owner.
- Select the export client which is read from the system group assigned to the project as described before.
- Select the consolidation target fetched from the TMS configuration.
Creation dialog
By confirming the dialog by hitting the “create” button a transport creation is scheduled. The job on the managed system will provide feedback as soon as the Transport is created. During this time the status of the transport shows as “Creation Pending”.
Creation pending
In the history you will see two entries, one with the user scheduling the creation and the system action providing the transport information.The modifiable transport can be used by the developer to do the requested change.
History entry and transports section
Nice to know: Transport creation is possible in feature statuses “In Specification”, “In Implementation” and “In Testing” and you must have the project lead role assigned.
Wrap Up
To ensure that a feature is utilized as starting point for your change you can withdraw the authorizations to create transports in the managed system. This leads to a better organization of your development team activities.
Looking forward to receiving feedback. For latest updates and notifications you can follow me by clicking Moritz Gysler.
Hi Moritz,
great blog. Looking forward to manage Transports in CALM projects.
Do I have run /n/sdf/alm_setup in Client 000 for Transport integration, too, or is the working client sufficient?
Export Tennant and Target are not found in "create Transport" option.

Working client is added System group as DEV System and added to deployment plan.
Best regards,
Christoph
Hi Christoph,
Thanks a lot for your feedback.
How to enable the Transport Integration in general is described in the Setup & Administration Guide for SAP Cloud ALM. Therefore the setup transaction has to be executed in client 000 as well.
In client 000 the following use cases must be activated:
In order to create transports the setup transaction must be executed in the working client and the use case "Feature Deployment: Manage Transports per Client" has to be activated there.
I have added a note in the prerequisites section which must be installed on the managed system on top.
Hope that helps.
Best regards,
Moritz
Hi Moritz,
Thank you very much for your fast response and checking the issue in our Cloud ALM system.
Feature-Transports could be enabled for the first three Cloud ALM customers, now.
Great help, looking forward to our next Cloud ALM session.
Kind regards from Lake Constance
Christoph
May I already say: Works like CharRM? 🤠
Anyway - it may not be all there yet, as we are used to from ChaRM, but it looks very good already...and the features that are there, are working: I just tested it. Even a proper orchestration of transports of different development systems is already possible.
Hi Moritz,
Thank you very much for this very helpful blog.
We have an error during release of transport request for one of our features in ALM.
The error is: "Release Failed in DER~100"
Can you please tell where can we see the logs for this error?
Thank you.
Hi Oleksii,
Thanks for your query.
You can click on the status of the transport. There you should see the error in a popover.
Most likely it is due to the fact that the corresponding transport tasks of the transport request have not been released.
Hope that helps.
Best regards,
Moritz
Hi Moritz
I could see the Transports and Assign Features to the Transports created in my S4HANA 2022 managed system from the Cloud ALM, but still could not create the Transport from Cloud ALM due to the same missing tenants - FYI - I have completed all possible prerequisites mentioned in your documents according to my best knowledge. Funny that I could see TRs that were created in the Managed System and could assign features to already created TRs there, but I still could not create the TR initially from Cloud ALM - where is the missing point?
I could not create a new TR but could assign to already created in the managed system
Hi Adi,
Did you make sure that the use case “Feature Deployment: Manage Transports per Client” is activated in your working client.
In addition you have to create a system group in SAP CLoud ALM. This system group must be assigned to a deployment plan and the deployment plan must be assigned to your project you are working in.
If this is not fixing the issue maybe the job to read the landscape data is not running properly.
Hope that helps.
Best regards,
Moritz
Hi Moritz
Thank you for your information - how could we check teh batch job that you have kindly mentioned?
I checked all other points hereafter - looks legit:
Please see hereafter:
Hi Adi,
We are not yet supporting 1-system landscapes, that's most likely the problem.
Why is it a problem for your use case? Because we do not receive proper landscape data for a 1-system landscape.
Please check blog post Enabling change & deployment management in SAP Cloud ALM for SAP S/4HANA and SAP S/4HANA Cloud, private edition.
Here it is mentioned:
We are working on an enhancement here. Will be delivered next week .
Best regards,
Moritz
Hi Moritz
Thank you for your comment. @Sumit Shankar and @Xavier Dupeyrat have organised a call tomorrow - we think there is more than just this issue..
Have a great rest of the evening.
Adi
How could we recreate Trust in case that SSL cwertificates on our S4HANA system were corrupted and we are getting this error:
SSL handshake with synctegral-pty-ltd-cloudalm.authentication.eu10.hana.ondemand.com:443 failed: SSSLERR_PEER_CERT_UNTRUSTED (-102)
Peer's X.509 certificate (chain) validation failed (missing trust?)
SapSSLSessionStartNB()==SSSLERR_PEER_CERT_UNTRUSTED
SSL:SSL_read() failed (536872221/0x2000051d)
OTR-Based Exception of Class: /SDF/CX_CALM_CONNECTOR
Hello Moritz,
We are performing a PoC for Features and as part of it, we have configured multiple clients in one system and configured the Transport Routes accordingly. Client1 as Dev, Client2 as Quality & Client3 as Prod.
We have performed the setup transaction client 000 as well and activated the below settings
Feature Deployment: Manage Transports
Feature Deployment: Read Landscape
Feature Deployment: Import Transports
We have also performed the setup transaction in all clients(client 1,2 & 3) and the use case "Feature Deployment: Manage Transports per Client" has been activated.
Unfortunately we are unable to see any option in the dropdown menu of Export Tenant and also no transports in the Assign option.
We have implemented the Note 3322679 and implemented the manual activity in the managed system.
Note: We have created the System Group and Deployment Plan and also the Project.
We see that there is a message in the job SDF/CALM_CDM_TR_PROC_CL_DEP-20 as below
Post request returned with status 403
Post request failed with status 403
Kindly assist us on the same.
Thanks
Raj
Hi Raj,
Have you added the authorization scopes during the maintenance of your SAP Cloud ALM API instance in the SAP BTP subaccount?
It's explained in step 7 of "Maintain an Instance" in the Setup Guide - Enabling SAP Cloud ALM API.
Her is the JSON snippet.
{
"xs-security": {
"xsappname": "<Your Instance Name>",
"authorities": [
"$XSMASTERAPPNAME.imp-cdm-feature-display-ui",
"$XSMASTERAPPNAME.imp-cdm-feature-manage-ui"
]
}
}
Hope that helps.
Best regards,
Moritz
hey Moritz Gysler your hint made me solve my issue with CTMS on CALM so thank you for that! To improve your blog:
There s a lot of copy and paste of same documentation point regarding how to create the essential TransportManagementService but i could not find a nice screenshot of a successful working destination so here i come 🙂 :
Hi amo,
Thanks for the code snippet and the screenshot of the destination. It's all about the style. 😉
The field xsappname refers to the SAP Cloud ALM API instance name which has been created, totally right.
Regarding the 404 error I have added a note in blog post Enabling Change & Deployment Management in SAP Cloud ALM for SAP Integration Suite – Cloud Integration some time back:
Best regards,
Moritz
AWESOME! hope to deal with you again around CALM! cheers!A
Hello Moritz,
I have performed the step 7 of "Maintain an Instance" in the Setup Guide - Enabling SAP Cloud ALM API. and the error message in the job log is disappeared, but unfortunately the creation of Transport is still not happening.
I am still unable to the option in the dropdown menu of Export Tenant and also no transports in the Assign option.
Kindly assist us
Thanks
Raj Chava
Raj Chava what about the following equally important 🙂 steps after 7? Moritz Gysler this is for your in theory 🙂
Hi Raj,
Please make sure to go through all the configuration steps to enable change & deployment management as described in this blog post.
Furthermore you can execute program /SDF/CALM_CDM_DIAGNOSTICS in your development system or check whether the corresponding job is released and executed.
As last step don't forget to assign your development client to a system group and the system group via deployment plan to your SAP Cloud ALM project.
Best regards,
Moritz
Hello Moritz,
Please find the below activities that were done to enable the Feature.
Pre-Req
-> TMS is done in single system with multiple clients - Dev as 200, QA as 201, Prod as 202
-> Implemented ST-PI SP22
-> Latest version of Note 3322679 – SAP Cloud ALM – CDM: Create Transport from Feature has been implemented and manual activity report has been run "/SDF/NOTE_3322679"
-> icm parameters have been set accordingly
-> Certificates have been imported to the system
Setup
-> Subaccount is created and has the Cloud ALM subscription
-> Space is created and assigned the role of Space Developer
-> Authorities have been assigned to the space ""$XSMASTERAPPNAME.imp-cdm-feature-manage-ui""
-> SAP Cloud ALM API is selected under the standard plan.
-> key has been created and the same has been used for all the clients (000,200,201,202) to register to Cloud ALM
SAP System
-> Setup T-code has been executed and registered all the clients and also pushed the data successfully to LMDB of Cloud ALM.
->Use-case : Feature Deployment: Read Transport Landscape has been enabled in 000 client of same system.
->Use-case : Feature Deployment: Manage Transports has been activated in the Dev - 200 client
->No Use-case is enabled for the clients 201 & 202 as the only option available is "Feature Deployment: Manage Transport per Client"
->/SDF/CALM_CDM_DIAGNOSTICS Job is running 000 client.
->System Group is created with different clients as Dev -200,QA-201 & Prod-202.
->Deployment plan is created and assigned to a Project.
After performing all these activities, I am still not able to see any options in the dropdown menu of "Export Tenant" while creating the Transport.
Thanks
Raj Chava
Hi Raj,
Can you please check whether you have applied the version 11 of the master note 3322679.
There we have a fix in for the one system landscape:
Apart from that the configuration looks good.
Best regards,
Moritz
Hello Moritz,
Yes, I have implemented the version 11 of SAP Note 3322679 in our env.
Please be noted that our system is on-premise.
Thanks
Raj Chava
Hi Raj,
Can you please activate the use case Feature Deployment: Manage Transports in client 000 as well.
And then deactivate and activate the Read Transport Landscape use case once again.
Best regards,
Moritz
Great! It worked Moritz.
Thanks a lot for your assistance. Nice to work with you on this.
Thanks
Raj Chava
Hello Moritz,
Thanks for such a nice blog. Would a 4 system landscape be supported? DEV --> QA --> Pre-PRD --> PRD?
If so,
Looking forward to hearing from you. Thanks much in advance.
Hi Ricardo,
Thanks for the feedback.
We support 4-tier landscapes since we are considering the TMS configuration in your managed systems.
Hope that helps.
Best regards,
Moritz
Hi Moritz,
Thanks much for your answer. It is so helpful. I'll reach out in case any further doubts.
Hi Moritz,
One more question, I see in your system groups' screenshot, the systems show the working clients O11-100, O12-200 and O13-100. Do I need to register any client for non-Developments systems? Per Say, register QA-200, PRD400? and if so, which feature shall I select?
Asking this since the SAP guides says to select the feature "manage transport per client" only in Development systems where options to Create transports, Delete empty transports,Release transports, Transport of copies are required.
Hope you can clarify this question. Thanks
Hi Ricardo,
Indeed it is only needed to add the respective development clients you want to create transports for to the development role in system groups.
Activating the use case "manage transports per client" must be done in the development client only.
Best regards,
Moritz
Thanks much. Then, I will just register client 000 for Non Development systems.