After upgrading from SAP ERP to SAP S/4HANA 1909, I noticed that transaction MM17 was not working properly for Material Master customer fields. It took me a while to figure out why and how to solve this. Next, I’ll share the solution I’ve come up with for those facing the same issue.
MM17- Mass Maintenance for Material Masters
SAP note 576160 describes how to add customer fields to MM17. The concept in a nutshell: MM17 processes IDocs internally so customers need to enhance the used IDoc Type MATMAS03 by relevant customer fields using the IDoc enhancement concept. In addition, two pieces of ABAP source code are required: one to add the data to the IDoc data (BAdI MG_MASS_NEWSEG) and the other to copy the data to the application during “inbound processing” (function module EXIT_SAPLMV02_002).
Changes with SAP S/4HANA 1909
With SAP S/4HANA 1909, a Business Function named DIMP_SDUD is “always active”. As a result, the BAdI implementation DI_MG_MASS_NEWSG is switched on which changes the IDoc Type from MATMAS03 to MATMASDI. Additionally, the field MATNR_LONG instead of MATNR is used in segment E1MARA1 for storing the Material Number.
The IDoc Type MATMASDI must be enhanced. For that, the existing customer segments used to enhance MATMAS03 can be reused. In addition, the method ADD_NEW_SEGMENT of the BAdI MG_MASS_NEWSEG implementation should be checked. The “segment searches” in table LT_E1MARAM should use MATNR_LONG instead of MATNR. Example:
READ TABLE lt_e1maram WITH KEY matnr_long = e1maram-matnr INTO we1maram TRANSPORTING docnum pointer matnr.
After the adjustments have been made, transaction MM17 continues to work for customer fields.