SAP C4C Integration: Achieving BP Replication with Account ID equal to Customer ID in SAP ECC
This document explains the customization to be made to the standard integration for Business Partner Replication from SAP On Premise system with SAP Cloud for Customer Internal ID same as the Business Partner ID on SAP ECC system.
Note:
1. Please note that the Number Ranges on C4C cannot be Alphanumeric. (Either Alphabetical or Numeric is allowed)
2. Similar configuration as mentioned below can also be used for Material Master Replication.
Kindly check the below documentation which elaborate the same.
SAP C4C Integration: Customization to achieve the Product Internal ID same as SAP ECC Product ID
Standard behavior:
In Standard Integration Scenario, Account ID is assigned using the internal number range in C4C and stores the Business Partner ID in the External ID field.
Required Behavior:
To achieve Business Partner Replication with Account Internal ID on C4C same as Business Partner ID for SAP ECC.
Customization:
To achieve this, make the below changes in the message mapping of the middleware (SAP PI/SAP HCI) for this interface:
1. Maintain the External Number Ranges for Business Partners in SAP C4C such that it matches the Internal Number Ranges on SAP ECC.
2. In standard mappings, Field KUNNR from the SAP ECC IDOC is mapped to the Internal ID of SAP C4C.
3. Now add another mapping for this field. Add the mapping from KUNNR from SAP ECC IDOC structure to ReceiverInternalID of the SAP C4C.
4. Save the mapping and test the integration.
Results:
Performing above configurations will result for Business Partner Replication from SAP ECC to C4C with C4C Account ID same as the Business Partner ID from ECC.
good blog..
one thing to keep in mind though - this may cause an issue if account creation can be triggered from C4C and also can happen in ERP at the same time...
Thanks Pragya. 🙂
If I correctly understood your comment, when account is created in C4C the internal number range from C4C is picked which can be synced in ECC as external number range.
Regards,
Chandan
So to make this more real live scenario:
We have in ERP...
Internal Number Range = 5.000.000 - 5.999.999
External Number Range = 6.000.000 - 6.999.999
We have in C4C...
Internal Number Range = 7.000.000 - 7.999.999
External Number Range = 5.000.000 - 5.999.999
When we create a customer in ERP assuming your modifikations with ERP internal ID 5.000.001 it will be create in C4C also with 5.000.001. When we create a customer in C4C with internal ID 7.000.001 it will be created in ERP with 6.000.001.
Is this what you are proposing?
Cheers
Jens
Chandan,
Customization Step 3. Do you have to remove leading zeros or append zeros to KUNNR while mapping to ReceiverInternalID ?
Thanks & Regards,
Shrikant Kamble
Shrikant,
Step 3 will get the value of KUNNR into ReceiverInternalID similarly as it will come in the External ID on C4C.
Regards,
Chandan
Hello Chandan
Thanks for this article. Some times clients do have such requirement.
I have a query, whether an ERP Order number can be similar to a quote number in C4C. For instance, the Quote number is 1313 in C4C, can the order num be prefixed/suffixed by O or SO to number the Sales Order in ECC as SO1313 or O1313.
Or is there any other way out....
Thanks in advance.
Malay
Thanks Malay, My idea for posting this document was to make the reader aware to try to see if any modification on message mapping can suffice the Number Range requirements. I posted the knowledge that I have gained.
Unfortunately I have not tried this yet. But you can inspect the message mapping to understand how the standard mapping are and if any modifications can help you achieve your requirement.
Looking forward to some document if you were able to achieve your requirement. 🙂
Regards,
Chandan
Thanks a lot Chandan, its always a pleasure to read your posts, as they are full of useful information.
I will definitely try this once I get on to it. And if any luck, i wll definitely share with the community,
regards
Malay
Hi Chandan,
good information to find here. I looked into the iflow of material master replication from ECC to C4C but havent't found the C4C internal material number.
With this it would be possible for our customer to have material numbers 1:1 as they are only created in ECC.
Thank you for a quick hint.
Best Regards
Florian
Florian,
For Material try mapping MATNR to ReceiverID in the MaterialMassReplicationRequest Web Service.
Check and confirm.
Regards,
Chandan
Chandan,
Quick question about standard scenario: which would be the technical standard external field ID and table? I'd need to know this as, currently, on that field we are saving customers previous system ID.
Thanks in advance.
Regards.
Alejandro.
Hello Alejandro,
If you are referring to External ID (SAP ECC Customer ID): By default Customer ID from ECC is mapped into External ID, so If you want to map Customer ID to the Internal ID on SAP C4C, you will have to map KUNNR to RecieverInternalID in your middleware.
If you want to know about Sender System ID (you mentioned Previous System ID), it is mapped into External System field in the Accounts on C4C in standard mapping.
Else if you are referring to the Product ID mapping, check the below document.
SAP C4C Integration: Customization to achieve the Product Internal ID same as SAP ECC Product ID
Regards,
Chandan
Hello Chandan,
we've performed the settings in PI and it works fine for initially creating accounts in C4C. However, as soon as an update of the customer is performed in ERP and the changes are replicated to C4C, the web service message flow in C4C shows error message "Solve Configuration Issue in ID Mapping for Element ID-CONTENT".
Are there any additional steps necessary for delta handling in ERP/C4C?
Thanks & regards
Wolfgang
Hi Chandan.
Good information,thanks a lot.
Got a question, if into my ERP there are customer ranges according to account detemrination group (i mean: national customers from 10000-12000, external from 20000-22000), how do i have to configure mi range into c4c?
Thank you.
Best reggards
Hi Angel,
I am facing the same situation in one of our customers. Where you able to work this out?
Thanks in advance.
Regards,
Martín
Hi Martin.
I just configured it with the whole range, i mean from 10000 to 22000 (acording to my example), and the external ID is automatically taken from ERP.
Angel, thanks for your reply.
So you modified the standard Iflow (ERP_COD_BusinessPartnerERPBulkReplicateRequest) in order to directly map the KUNNR field (ERP) to ReceiverInternarID (C4C)?
Thanks in advance for your help
Hi Martin.
It was not necessary to do any modification to standard iflow, just adapt the whole range for id´s
Hello Chandan,
Good information to find here. But my customer's requirements are:
Can I get this done just doing the following steps?
Could you please share if I'm in the right path to achieve the requirements?
Thank you in advance.
Best Regards,
Andre
Hello Andre,
did you achieve this requerement? My customer has the same requirements, but I dont know how to achieve this.
Best regards,
Yasin
Hi Chandan,
We are looking at a similar requirements but replicating BP from SAP CRM system.
For the step below in your blog,
3. Now add another mapping for this field. Add the mapping from KUNNR from SAP ECC IDOC structure to ReceiverInternalID of the SAP C4C.
Do you mind explaining the mapping expression? Because the standard mapping has many fields mapped in the expression.
Regards,
Teboho