Material / Customer Material Replication
This blog gives you an overview and explains the frequently asked questions on the replication of materials from an SAP on-premise system to SAP Hybris Cloud for Customer. The external system may be SAP ERP or SAP CRM, and is a unidirectional replication via HCI/PI as middleware.
Materials are sent out of ERP using IDocs. Message type MATMAS_CFS is used to trigger the IDoc. Once a material is created in ERP (MM01), we trigger the idoc using BD10 transaction. Based on the logical system setup in WE20, the IDocs are sent out of ERP.
In case of CRM the IDoc used is CRMXIF_PRODUCT_MATERIAL_SAVE and this will be triggered whenever a material entry is saved. Based on the logical system setup in WE20, the IDocs are sent out of CRM.
Frequently Asked Questions
What should be done if I need same material numbers while replicating from ERP to Cloud for Customer?
The element <ReceiverID> </ReceiverID> also has to be mapped to the MATNR field from IDOC. If the MATNR is numeric, please make sure that you are not deleting the leading 0’s. This is in addition to the mapping of MATNR to the ID field, which is available in standard mapping. For alphanumeric IDs, send it as it is. Refer to SAP Note 2181670.
Why are the sales text or description not getting replicated?
Check for the Text Type code list mapping. When code list mapping is not maintained, the text is ignored from the payload and NO error is raised.
In addition, if it is a language independent text, maintain the fine tuning activity “Communication Language for Data Replication”.
One of these error messages:
“Process quantity unit is not valid”.
“Quantity type <UoM> not valid; it must be a trading type”.
“Activation not permitted: Base Quantity type missing. – Quantity Type missing”
“Activation not permitted; sales quantity type missing”
The code list mapping for the Unit of Measure is missing.
For all error messages which hints on quantity type, first check for existence of valid and unique code list mapping for the UoM.
Note: In Cloud for Customer, a UoM is linked to a quantity type. We categorize a quantity type as either standard quantity (e.g. length with UoM as cm, mm etc) or trading quantity (e.g. Carton, Bag etc where Uom and quantity type are both same).
In Cloud for Customer we do not allow maintaining a quantity conversion between standard quantity types. This is to avoid user from overwriting the standard. For example, we know 1000 gm = 1 kg and this should not be overwritten with a wrong value by user and hence this check.
Error: Conversion between <UoM1> and <UoM2> already exists.
This can be due to two causes:
1. The code list mapping for more than 1 UoM in the message is to the same external UoM code.
2. Code list mapping is missing for one of the UoM.
Error when integration message is trying to unblock Sales Process Info.
Check if the material is in blocked status. If so, the incoming payload should also have the root status as Active. A blocked material cannot have unblocked sales process info.
What do you suggest as the next step ?
You need to unblock the material in On premise and then send the new payload where material status and sales process info status are active.
Error: ID mapping for external value <value> of Product Category Key in CRM Suite missing.
Product category has to be replicated first before starting with product replication.
What do you suggest as the next step ?
Replicate product category via the initial load report for the same and then restart the messages.
Error: ‘Deletion of salesProcessInfo not possible’.
The replication request has SalesProcessInformationListCompleteTransmissionIndicator as true. This then attempts to delete all node data in SalesProcessInformation. However, deletion of these nodes is only allowed if the instance has *never been active* even once. So the incoming message should always contain the previous salesProcessInformation information.
In case you are not able to provide this information then the SalesProcessInformationListCompleteTransmissionIndicator should be false. But here you have to note that there would be a difference in data between the on-premise system and Cloud for Customer.
PI Content change for this issue was made in 1511 release.
Error: Conversion between UoM missing.
All UoM available in the payload as part of sales UoM should have a conversion maintained to the base UoM where, In addition, the code list mapping should also be maintained uniquely for these UoM.
If your issue is still not resolved, then please raise an incident for SAP Support. Also, please send the following information in the incident:
• Problem description
• Steps to reproduce
• Cloud for Customer Message ID
• IDoc number from ERP/CRM.