It is a usual practice to periodically copy all the data from a production system to a test system for setting up a demo system, test system or a training system. In case of SAP Business suite system customers copy their production system to a test system using for example system copy and in case of SAP Cloud for Customer (C4C) a copy of a productive using the service control center as mentioned in the link here.
A pictorial view of the copy process is shown below.
The challenge is after the systems are copied, how to ensure the integration still works, for example if we edit an account/customer in the copied cloud for customer tenant, the change is updated in the corresponding copied SAP Business suite system.
In this blog I will discuss about the various aspects that need to be considered for exchanging data between the copied tenant for Cloud for Customer. This post is about explaining the concept even though as a customer or partner, we would simply use the tool to perform the steps discussed here.
Note: The scope is here limited to integration with SAP Cloud for Customer.
As we know ID mappings are always stored against the communication system.
That is in the back end implementation all ID mappings are associated with a technical UUID representing the business system ID defined in the communication system.
Tenant copy process copies all the communication system, communication arrangements , ID mappings from the production tenant to the test tenant. Since the test system for the corresponding SAP Business Suite system will have a different IDOC logical system ID, it makes sense to create a new communication system for the business suite system in the copied tenant. So now for the integration to work all the ID mapping entries need to be adjusted to use the UUID corresponding to the communication system we just created.
Business Transaction Document (BTD) Reference:
BTD reference is used to depict the follow up documents in other words it is used to show the document flow. As shown below for Sales Quote 883 in SAP Cloud for Customer, Sales Order 35868 was created in ERP and then subsequent documents from ERP are also shown.
As the subsequent documents are coming from an external system, the relation ship between Sales Quote and the ERP order is stored using BTD reference along with the system instance ID from the communication system. Since in the copied tenant all the BTD references still point to old communication system, these entries need to be adjusted to point to the new communication system in the copied tenant.
Sequencing at application level (In-app sequencing):
In SAP Cloud for Customer sequencing at application level is used for cases where EOIO has some limitations. The app sequencing is maintained using a simple counter. As an example let’s assume we have a sales order which was replicated from ERP to C4C. Now we change the sales order in C4C and the changes are sent to ERP. But in the mean time the Sales order is also changed in ERP, so the change message that is coming from C4C should be ignored by ERP and this is achieved using in application sequencing.
In the example above.
1. ERP sends the sales order to C4C and set the counter value to 1. The Counter is also send in the replication message and stored in C4C as a remote counter.
2. C4C changes the sales order and sends the changed order to ERP along with the remote counter value 1
3. In the mean time ERP order has changed and counter is updated to 2.
4. So when ERP receives the message from C4C, with counter value 1, it knows it’s an old message and ignores it.
As with ID mapping and BTD references, the app sequences are also stored with a reference to the communication system ID, which needs adjustment post tenant copy/refresh.
The tenant adaptation utility adjusts all the above mentioned objects so that integration between the copied systems will work smoothly without much manual effort. In the next blog will talk about how to the use this utility along with required prerequisites and known boundaries(what we support).