ChaRM with SAP Solution Manager: Distribute Transports automatically into multiple clients

Charm: Multiple Targets


Image you have a standard 3-system landscape (development, quality assurance, production). However, in the productive environment you have to maintain multiple clients. This can be the case, eg. if you have several companies hosted in one system. Example TMS configuration with multiple target clients in productive system.

Using ChaRM in Solution Manager requires you to select one specific target system:client combination for your change document. As consequence: Will you have to create a change document for every client, even if the changes are exactly the same!?

Solution Manager Configuration

For the next steps, several assumptions are made:

  • Solution Manager version is 7.2 (7.1 should also work).
  • ChaRM and cCTS is setup, so that transports for system line DEV -> QAS -> PRD work with client 100.
  • Change document used is based on an urgent correction.

With the TMS configuration shown in the first picture (using transport group /PROD/), transports are automatically cloned for every target client. The challenge is, that during the processes in ChaRM, the transport will be imported into the client specified as target, but other transports remain in the queue of system PRD. At the end of the blog post a background job will be installed which imports the objects into remaining clients.

Adjusting the Solution

Every system:client combination has to be part of the solution. Therefore, we need to assign PRD:110 to the production branch of a new component group. Start transaction SLAN in your Solution Manager, add a new component group, and assign only a production system. Solution configuration containing the new target client 110.

Cluster Assignment

Open the TMS configuration in your domain controller of your solution manager landscape. Change to edit mode and open the details of your production cluster. There you have to enter client 110 as new target. Client 110 added as target in TMS cluster configuration

Central CTS configuration

It is mandatory to add the system PRD:110 to the cCTS configuration of your Solution Manager. All checks should be passed. Go to your Solution Manager and start transaction SZENCONFIG. For instructions on cCTS configuration, you can follow the official How-To guide by SAP. System PRD:110 added to cCTS configuration and successfully validated

Setup of Change Cycle and Background Job

After the basic setup is done, the client 110 can be used in a change cycle. Even if we do not want to use the target PRD:110 directly for an change document, we want to use the task list of the change cycle to setup a background job. Therefore, this system needs to be part of the system landscape. Create a new change cycle or edit an existing one and (re-)define system landscape. If the solution configuration in Solution Manager and TMS configuration of the satellite system are maintained properly, Solution Manager should be able to calculate transport routes including PRD:110. System landscape of Change Cylce with both target clients.

Do not to forget to turn on the usage of cCTS. In the next steps check the cluster assignments of each system:client.

Background Job

What happens currently?

  1. Create an RFC and assign the change cycle.
  2. In the scope of this RFC add an urgent change for the system PRD:100.
  3. Now perform the normal steps to develop/test/deploy your change. This will transport your changes as usual from DEV:100 to QAS:100 and finally PRD:100. The transport for PRD:110 will remain in the queue of production system.

How can you import the remaining transports of PRD queue automatically? For this we need to go back to the change cycle and open the task list. There you will find tasks for both systems: PRD:100 and PRD:110. Task list for system PRD:110. Selected task used to synchonize transports to multiple cliens.

If you click the task, the Synchronize Urgent Change a popup will be shown. There you can execute the task immediately with the transports shown in the upper part of the popup, or you can schedule a job. We want to choose the second option. For example you can plan the job every 15 minutes. The background user must have sufficient roles in the satellite system to perform remotely transports. Schedule the synchronization as background job.

This job will find relevant transports using a special attribute of the transport object: SAP_CTS_PROJECT contains the CTS project name and SAP_TMWFLOW contains task list id of corresponding RFC.

Extra: You can also configure multiple test clients. There is an additional task for target system called Synchronize Urgent Changes from other Test Systems, which also can be scheduled as background job.

How to change or delete Background Jobs

Background jobs for task list items cannot be changed using standard transaction SM37 (here you can see only completed executions). To maintain task list jobs use CCM Administration Cockpit (transaction CM_ADM_COCKPIT). In tab Scheduled Import Jobs you can redefine or delete your background jobs.