Lesson 3 of 6
Finding the material
8 min
Listen to this lesson
Customers order in their own part numbers. Great Lakes orders "GLF-ALT-100"; Contoso builds and ships CMC-ALT-100. The translation lives in SAP, not in the partner's file and ideally not in the middleware, because the sales team owns it and must be able to maintain it without a mapping change.
Customer-material info records
A customer-material info record (transaction VD51, table KNMT) links a customer, a sales organization and distribution channel, and the customer's material number to Contoso's material. It can also carry customer-specific defaults such as delivery tolerances and a customer description. During inbound processing, an E1EDP19 segment with qualifier 001 triggers the lookup: the program searches KNMT for the sold-to, the sales area and GLF-ALT-100, and finds CMC-ALT-100.
| Customer | Sales org / channel | Customer material | Material | Customer description |
|---|---|---|---|---|
| 17100001 | 1710 / 10 | GLF-ALT-100 | CMC-ALT-100 | Alternator 12V fleet |
| 17100001 | 1710 / 10 | GLF-ALT-240 | CMC-ALT-240 | Alternator 24V heavy duty |
Contoso's customer-material info records for Great Lakes Fleet Services.
Which number should the partner send?
Some partners send both their own number and Contoso's (X12 PO1 with BP and VP). Then the map can fill two E1EDP19 segments, and the question becomes which one wins. Contoso's rule, written into the partner spec: the customer's number (001) is authoritative, because that is what Great Lakes' purchasing system controls; the supplier number (002) is only a cross-check. Having a rule matters more than which rule you pick, because two numbers that disagree must produce a predictable result.
- Does the partner send its own part number only?Yes → E1EDP19 001 and a KNMT record per item · No → next question
- Does the partner send only Contoso's material number?Yes → E1EDP19 002; check the material is sales-relevant in 1710 / 10 · No → next question
- Does it send both?Yes → map both; the spec names which wins and how a mismatch is handled · No → next question
- Does it send a GTIN or UPC?Yes → map it to the identifier qualifier listed in the segment documentation; GTINs must be maintained on the material · No → agree an identifier with the partner before go-live
Some partners identify items by GTIN (the global trade item number, often printed as a UPC or EAN barcode) instead of a part number. That moves the maintenance burden: the GTIN must be maintained on Contoso's material for the right unit of measure, because a GTIN for a single alternator and a GTIN for a carton of rotors are different numbers. The map then sends the GTIN with the identifier qualifier that the E1EDP19 segment documentation in WE60 lists for it. Contoso does not need GTINs for Great Lakes, but its aftermarket customers use them, so the master data team owns GTIN accuracy as part of the EDI readiness checklist.
Units of measure
X12 uses unit codes such as EA (each) and CA (case); IDocs carry ISO unit codes, and SAP converts the ISO code to its internal unit through the unit of measure settings, where each unit has an ISO code assigned. Two traps are common. First, the middleware must convert EA to the ISO code SAP expects; if it passes "EA" through, the unit is unknown. Second, if a partner orders in cases, the material needs an alternative unit of measure with its conversion factor, or the order quantity is wrong by a factor of the case size. SAP's mapping documentation for inbound EDI notes that the unit must be the base or sales unit of the material or convertible to it.
Unknown items
What should happen when Great Lakes orders a part Contoso has never seen? The standard behavior is that the IDoc fails with status 51 and the item cannot be created. Some businesses prefer to create the order with the known items and park the unknown one for a sales clerk; that is possible only with custom logic in the inbound exits, and it changes what the 855 must say. Contoso chose the strict standard: the whole order stops, the O2C EDI desk gets the work item, and the 855 is sent only once the order is complete.
What would you do?
Testing shows that a Great Lakes order for 10 cases of rotors creates a sales order for 10 pieces. The 850 says PO1*1*10*CA. What is the most likely cause?
- Customer-material info records (VD51, KNMT) translate customer part numbers per customer and sales area.
- E1EDP19 qualifier 001 triggers the KNMT lookup; 002 is used directly as Contoso's material number.
- Write a rule into the partner spec for which identifier wins when both are sent.
- Units need an ISO mapping and, for cases or packs, an alternative unit of measure on the material.
Check your understanding · not graded
Lesson check
1. Inbound ORDERS IDocs fail because the partner sends its own item numbers. What is the standard fix?
2. Which transaction creates a customer-material info record?
3. Which unit code does the ORDERS05 item segment expect from the middleware?