CRM and CX Blogs by Members
Find insights on SAP customer relationship management and customer experience products in blog posts from community members. Post your own perspective today!
cancel
Showing results for 
Search instead for 
Did you mean: 
chandansb
Active Contributor

This document explains the customization to be made to the standard integration for Product Replication from SAP ECC system to SAP Cloud for Customer to have the Product Internal ID on C4C same as the Product 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 Business Partner Replication.

Kindly check the below documentation which elaborate the same.

SAP C4C Integration: Achieving BP Replication with Account ID equal to Customer ID in SAP ECC

Standard behavior:

In Standard Integration Scenario, Internal ID for Products is assigned using the internal number range in C4C while ECC Product ID will be populated into the External ID field.

Required Behavior:

To achieve Product Replication with Product Internal ID on C4C same as Product 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 MATNR from the SAP ECC IDOC is mapped to the ID field of SAP C4C Web Service.

3. Now add another mapping for this field. Add the mapping from MATNR from SAP ECC IDOC structure to ReceiverID of the SAP C4C.

Refer the below screenshot. Add the highlighted mapping.


4. Save the mapping and test the integration.

Results:

Performing above configurations will result for Product Replication from SAP ECC to C4C with C4C Product Internal ID same as the External ID and Product ID from ECC.

16 Comments
Former Member
0 Kudos

Hi,

We have implemented this solution. And for initial replication of the product from ECC to C4C it works fine and the internal ID and external ID of the C4C product is filled correctly. However, when we do a delta update of the same product from ECC to C4C we get this error message: "Solve Configuration Issue in ID Mapping for Element ID-CONTENT".

Why is that?

Br,

Anders

chandansb
Active Contributor
0 Kudos

Hello Anders,

Check the below discussion. (Comment from Shrikant Kamble)

Extracting Internal ID vs External ID for Products

Hope this helps

Regards,

Chandan

Former Member
0 Kudos

Thanks for the fast reply. Actually, I already checked that thread. We are using numerical number ranges only so therefore we always pass values (both internal C4C ID and External C4C ID) with leading zeros. But still we get the error.

Former Member
0 Kudos

Do not append External ID with leading zeros. Also check the Administration -> Edit ID Mapping for Integration. Search for the material and check the C4C ID and External ID. Compare that with your payload.

- Shrikant

Former Member
0 Kudos

Hello Shrikant!

I'm also getting the 'Solve Configuration Issue in ID Mapping for Element ID-CONTENT' error in Material replication. The material is created successfully but fails when is updated.

Anders was using numerical number ranges and you said 'Do not append External ID with leading zeros'. In the other post (Extracting Internal ID vs External ID for Products) you said 'If Material range is numeric, it should pass material number appending with leading zeros.'. Which one is correct?

I've tried using both numerial and alphanumerical ranges with leading zeros and without zeros, but the error persists.

Here is my XML request:

  <MaterialMassReplicationRequest>

    <BasicMessageHeader>

      <ID>0000000014015310</ID>

    </BasicMessageHeader>

    <Material actionCode="04" descriptionListCompleteTransmissionIndicator="true">

     <SenderSequenceNumberValue>20160201105245</SenderSequenceNumberValue>

      <ID>4600231</ID>

      <IDTypeCode>20</IDTypeCode>

      <ReceiverID>4600231</ReceiverID>

      <ProductCategoryID>9100</ProductCategoryID>

      <ProductCategoryIDTypeCode>923</ProductCategoryIDTypeCode>

      <BaseMeasureUnitCode>UN</BaseMeasureUnitCode>

      <Description actionCode="04">

        <Description languageCode="PT">TEST</Description>

      </Description>

      <TextCollection actionCode="04" textListCompleteTransmissionIndicator="true">

        <Text actionCode="04">

          <TypeCode>10006</TypeCode>

          <ContentText languageCode="PT">BLABLA</ContentText>

        </Text>

      </TextCollection>

      <ProductStatusCode>

        <LifeCycleStatusCode>2</LifeCycleStatusCode>

      </ProductStatusCode>

      <Usage>

        <ProductUsageTypeCode>00</ProductUsageTypeCode>

      </Usage>

    </Material>

  </MaterialMassReplicationRequest>

Is it right? Do you have an example to share?

Thanks in advance.

Alexandre.

0 Kudos

For numeric number range, you should append leading zeros. The field length is 40 char. So if you have material length as 8, append 32 zeros to the field.

For alphanumeric number range, you should pass the ID as is. It act as a string.

-Shrikant

Former Member
0 Kudos

In resume,

I set the material number range to numeric.

The ProductInternalID in C4C has length 40 and in ECC has length 18. So, our PI created a mask to append leading zeros.

      <ID>0000000000000000000000000000000004600444</ID>

      <ReceiverID>0000000000000000000000000000000004600444</ReceiverID>

It works!

Thanks Shrikant!

Alexandre.

Former Member
0 Kudos
Hi,

we have a non-stock material item which has item cat TAX and item cat group NLAG.

but when I am trying to create sales quote and request external pricing it is displaying error "Item category TAX is not defined for non-material items".

How to solve this error.

Thanks
ankurgodre
Active Contributor
0 Kudos
Harish,

Try to simulate Sales Quote creation manually in your connected ECC system and then see if you get the same error of pricing there as well as you see it in C4C. This may be something on your ECC side itself which might need either correction or adjustment.

BR
Ankur
JaySchwendemann
Active Contributor
0 Kudos

I have a related question regarding leading zeros:

We have products in ERP including leading zeros like “01800180”. I followed this blog and ended up with an internal ID in C4C of “1800180”, while the external ID is the correct “01800180”.

We are particularly struggling with the fact that by default all screens, searches and the like show the internal ID. For products with leading zero they show the “wrong” product number.

 

Is saw discussions where the advice was given to modify the screens and the like to always show external ID. I think this method would only bring us so far and we would end up with lots of work an customization and an half-baked user experience.

 

Is there (as of October 2017) a more elegant way to deal with this?

 

Happy to start a discussion, but wanted to keep a reference here, too.

Cheers

Jens

Bharathraj_A
Active Participant
0 Kudos
Hi chandan.bankar ,


Based on my understanding, it will work only for single ERP integration and not for Multiple ERP Integration Scenario where overlapping number range exists.  Is my understanding is correct?

Regards,
Bharathraj
ruka71
Explorer
0 Kudos
Dear all,

anybody had to implement this change *after* a golive (so after initial load has already been done, transactional data are in the system, ...)?

Did you manage in any way to do it? (I cannot really see how but if you did it and tell me, you'll be my hero forever).

Thanks!

BR,

Alessandra
andreea_patru3
Explorer
0 Kudos
Not sure if you still need it, but basically you need to remove the ID mapping for integration, map the old materials against a dummy ID, replicate again the materials and set the old materials to Obsolete. Of course, you need to check if they are used somewhere and replace them.
ruka71
Explorer
0 Kudos

Thank you Andreea! I will try in my test tenant, if that works I'll owe you a dinner!

(Just a bit unsure about the "replacing" in the transactions. But I guess I can try.)

fini_michele_99
Explorer
0 Kudos
Hello Alessandra,

 

did you manage to do it?

 

Thanks for sharing in case you did!

 
ruka71
Explorer
0 Kudos
Hey Michele,

 

yes, we did it! I spent my Xmas vacations doing that, but well... XD

You can contact me at alessa.magri on skype if you need, and I can share the procedure with you.

 

BR,

Alessandra