I want to share my experience with regards to data load from SAP CRM OnPrem to SAP C4C via SAP PI/PO. In this blog,I am putting down steps which clearly explains on how bulking/packaging the data in both OnPremise and PI/PO can bring a better throughput for the Initial data load.
This blog will explain how different package size in CRM OnPremise and PI/PO can impact the outbound traffic from PI/PO which will in-turn help in a better throughput.
SAP PI/PO Configuration for Bulking:
I want to include the SAP PI/PO configuration first because this will determine how the package size can impact the bulking. If the bulking is not configured properly, then we cannot achieve the required results.
The packet size feature should be enabled in PI/PO.
We need to define the packet size in the Define package size in PI with IDoc sender adapter.
Once the IDOC’s are send from SAP CRM OnPremise to PI/PO in bulk, PI send the messages (Web service) to C4C in bulk i.e. depending on the packet size defined in OnPremise and PI/PO , multiple IDOC will be packaged into fewer messages(Web Services).
But, for desired output one often thinks “what” values should be maintained in those parameters. Below table provides a snapshot on how the packet size affect the outbound messages from PI:
e.g. IF in CRM OnPremise the packet size is set as 5 (how to define the packet size in CRM is explained in the later part of the document) and in PI the packet size is 4 and the no. of IDOC generated in CRM is 6 , then there will be 3 outbound messages created in PI/PO:
- In the 1st pass , 5 IDOC’s sent to PI/PO, but as the packet size is 4 in PI/PO, the 5 IDOC’s will be further divided in 2 files ( 1st with 4 IDOC and 2nd with 1 IDOC).
- In the 2nd pass remaining 1 IDOC (6-1) will be sent to PI and one outbound message will be generated in PI/PO.
It is recommended that the PI packet size is always kept more than the packet size value of CRM OnPremise.
SAP CRM OnPremise configuration for bulking:
(in this we have used Account/Contact (business partner) replication as an example)
- Go to transaction WE20 and choose the relevant site for C4C
- Choose the relevant Outbound Message Type
- Choose the Option “Collect IDOCs” and provide the packet size
- Once this is done, go to the Inbound message type
- Choose the option as “Trigger by background job”
- After the configuration, execute the report :
CRMPCD_BUPA_EXTRACT – for Business Partner
Run the report in back ground by providing the packet size.
- Once the report is executed, go to transaction BD87
Here you can see that all the IDOC’s which is generated are collected with “yellow” status 30)
- Once the IDOC is collected, execute the report : “CRMPCD_IDOC_SEND_BY_CONTENT”.
Provide the message type and content information
- Content information:
Just an example: this can be changed as well.
IDOC segment type 1: E101US_EI_BUPA_CENTRAL_MAIN
IDOC field 1: GROUPING
Value: ****grouping value****
Make sure that when you execute the report, you have to segregate between Contacts and Accounts IDOC’s else it will cause issue in C4C.
First execute the report first for Accounts and then Contacts.
- Provide the Number of IDOC per RESTOUT000 and Max number.
Execute first in the test flag and see how many IDOC are getting processed.
- After this, execute the report without test flag.
- Execute the report in the back ground.
- Go in PI and monitor the messages : Provide the sender/receiver interface name to monitor the specific messages and see everything is working fine.
- Please open few messages and check if it is consists of information of more than one BP in one message (depends on what is the packet size you provided in the partner profile).
Outbound from SAP C4C to SAP OnPremise
- Once the above steps are completed, the confirmation message will be sent from C4C to CRM.
- This can be checked via transaction BD87 or WE02.
3. The IDOC’s will be collected as well as we have changed the partner profile
- Execute the report : “RBDAPP01” to process the inbound IDOC’s
- Provide the message type and packet size
- Enable the parallel processing as well.
And execute the report in background to process the inbound IDOC’s, For parallel processing (packaging) the PI setting has to be changed.