Introduction:
Update 27.3.2023: Updated links to standard documentation and details of CTMS destinations.
SAP BTP BUILD platform has recently added a new transport process functionality that has been welcomed with open arms by all developers who have to handle transfers of processed in past. This functionality enables developers to transfer processed data between different tenants such as dev, test, and prod in a more controlled and seamless way. The new transport process setup is described in detail on the help page and takes advantage of two utility services on SAP BTP, namely SAP Cloud Transport Management and SAP Content Agent Service.
The new transport process functionality (which is called promoting) allows to seamlessly move applications and other processed data from one tenant to another, which is a crucial step in the development lifecycle. This is particularly important when working on complex enterprise applications that need to be tested thoroughly before being released into production. The new transport process setup provides developers with more control over their processes and ensures that any changes made to applications are thoroughly tested and vetted before being released into the production environment.
So, let's get started and explore the new transport process functionality in SAP BTP BUILD platform.
Setting up the Environment:
The new transport process functionality in SAP BTP BUILD platform requires the setup of three different tenants - source, target, and CTMS (Cloud Transport Management System) - to function correctly. In this section, we will walk you through the steps required to set up each tenant and configure them to work together to enable the new transport process functionality.
Setting up the CTMS tenant:
It's worth noting that the CTMS (Cloud Transport Management System) tenant needs to be set up in advance before you can use the new transport process functionality in SAP BTP BUILD platform. This tenant is responsible for managing the transport process between the source and target tenants and requires specific configuration.
Best practice is to set up the CTMS on a special subaccount for single tenant applications/services. However, this setup process is beyond the scope of this article. For more information on setting up the CTMS, please refer to the SAP Help page on this link:
https://help.sap.com/docs/TRANSPORT_MANAGEMENT_SERVICE/7f7160ec0d8546c6b3eab72fb5ad6fd8/66fd7283c62f.... This setup process may be covered in a future article.
Setting CAS in source tenant
In addition to the SAP BTP BUILD platform, the source tenant also requires an instance of the Content Agent Service (CAS) to work with the CTMS. The CAS serves as a link between BUILD content and the CTMS, providing the necessary functionality to export and import the content from and to the CTMS.
To set up the CAS in the source tenant, you'll need to create an instance of the Content Agent Service in the subaccount. You can find detailed information on how to create an instance of the Content Agent Service in the SAP Help page on this link:
https://help.sap.com/docs/CONTENT_AGENT_SERVICE/ae1a4f2d150d468d9ff56e13f9898e07/1f45ddc3d6194886802....
Once you have created the CAS instance, you'll need to create a new destination with the name "TransportManagementService". This destination serves as a connection to the CTMS instance. You can create this destination in the SAP BTP Cockpit by navigating to your subaccount and selecting "Destinations" from the left-hand menu. Detailed info can be found here:
https://help.sap.com/docs/CONTENT_AGENT_SERVICE/ae1a4f2d150d468d9ff56e13f9898e07/eed66f35f9d148c8ae5... You should use clientId and clientSecret from the CTMS instance (from Single service tenant).
Next, you'll need to create a new destination in the CTMS subaccount as a connection to the source tenant. This destination will also need to be created in the SAP BTP Cockpit, and it should point to the "TransportManagementService" destination in the source tenant. Detailed info can be found here:
https://help.sap.com/docs/CONTENT_AGENT_SERVICE/ae1a4f2d150d468d9ff56e13f9898e07/06bd9e2d55084eaf923...
Keep in mind, that during configuration of CTMS transport nodes and transport path, you have to have defined both destinations (source and target subaccounts). Both of those destinations needs to be configured in subaccount where CTMS is configured.
You should use clientId and clientSecret from the CAS instance (from Source tenant)
This will setup both direction connection between Source tenant (CAS/BUILD) and CTMS tenant/service
Setting up the CAS in target tenant
Setting up the target tenant is a simpler process than the source tenant. Like the source tenant, the target tenant requires an instance of the BUILD platform and a CAS instance. Once these are in place, you'll need to get the credentials from the service key of the CAS instance.
Next, you can create a new destination in the CTMS subaccount that represents the target tenant. If you have multiple target tenants, such as test and prod, you'll need to repeat this process for each tenant.
https://help.sap.com/docs/CONTENT_AGENT_SERVICE/ae1a4f2d150d468d9ff56e13f9898e07/06bd9e2d55084eaf923...
With the required connections set up, you'll be able to take advantage of the new transport process functionality in SAP BTP BUILD platform and transfer content between tenants more easily and in a more controllable way. It's worth noting that the configuration of CTMS transport nodes and routes is outside the scope of this article, but they will need to be set up correctly to take full advantage of the transport process functionality.
Promoting the process
Transporting, or promoting as SAP calls it, is a straightforward process.
To transport a process from the source tenant to the target tenant, you need to first release the process on the source tenant. Once the process is released, navigate to the version you want to promote and click on the promote button. This will create a transport request, which you can then import into the target tenant.
To import the transport request, you'll need to go to CTMS and select the target node where you want to import the transport. Then, click on the Import button and select the transport request you want to import.
Once the transport is imported successfully, go to the target tenant's build lobby. Here, you'll see a new button labeled import queue.
Click on this button, and you'll see the imported process in the import queue.
To import the process into the target tenant's build lobby, click on the process and then click on the import button.
After the import is complete, the process will be available in the target tenant's build lobby, and you can continue working on it as needed.
Disclaimer: All the pictures and content was created by myself. You can find the same blog post in my second blog page -
https://vbalko.blogspot.com/2023/02/transporting-content-in-sap-build.html