Skip to Content
Author's profile photo Chandan Bankar

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.

Assigned Tags

      21 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Pragya Pande
      Pragya Pande

      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...

      Author's profile photo Chandan Bankar
      Chandan Bankar
      Blog Post Author

      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

      Author's profile photo Jens Schwendemann
      Jens Schwendemann

      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

      Author's profile photo Former Member
      Former Member

      Chandan,

      Customization Step 3. Do you have to remove leading zeros or append zeros to KUNNR while mapping to ReceiverInternalID ?

      Thanks & Regards,

      Shrikant Kamble

      Author's profile photo Chandan Bankar
      Chandan Bankar
      Blog Post Author

      Shrikant,

      Step 3 will get the value of KUNNR into ReceiverInternalID similarly as it will come in the External ID on C4C.

      Regards,

      Chandan

      Author's profile photo Former Member
      Former Member

      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

      Author's profile photo Chandan Bankar
      Chandan Bankar
      Blog Post Author

      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

      Author's profile photo Former Member
      Former Member

      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

      Author's profile photo Florian Preuß
      Florian Preuß

      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

      Author's profile photo Chandan Bankar
      Chandan Bankar
      Blog Post Author

      Florian,

      For Material try mapping MATNR to ReceiverID in the MaterialMassReplicationRequest Web Service.

      Check and confirm.

      Capture.JPG

      Regards,

      Chandan

      Author's profile photo Alejandro Kinsbrunner
      Alejandro Kinsbrunner

      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.

      Author's profile photo Chandan Bankar
      Chandan Bankar
      Blog Post Author

      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

      Author's profile photo Wolfgang Mayer
      Wolfgang Mayer

      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

      Author's profile photo Luis Hernandez
      Luis Hernandez

       

      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

      Author's profile photo Martín Piñeyro
      Martín Piñeyro

      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

      Author's profile photo Luis Hernandez
      Luis Hernandez

      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.

      Author's profile photo Martín Piñeyro
      Martín Piñeyro

      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

      Author's profile photo Luis Hernandez
      Luis Hernandez

      Hi Martin.

       

      It was not necessary to do any modification to standard iflow, just adapt the whole range for id´s

      Author's profile photo Former Member
      Former Member

      Hello Chandan,

      Good information to find here. But my customer's requirements are:

      • Customer creation in C4C;
      • Customer Replication form C4C to ERP;
      • Keep the same ID (only numeric) in C4C and ERP.

      Can I get this done just doing the following steps?

      • Create an external number range in ERP since customer just defined internal number range.
      • Set up same number ranges in C4C and ERP
      • Map InternalID to KUNNR

      Could you please share if I'm in the right path to achieve the requirements?

      Thank you in advance.

      Best Regards,

      Andre

       

      Author's profile photo Yasin Demirhan
      Yasin Demirhan

      Hello Andre,

       

      did you achieve this requerement? My customer has the same requirements, but I dont know how to achieve this.

       

      Best regards,

      Yasin

      Author's profile photo Teboho Maabe
      Teboho Maabe

      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