Skip to Content
Technical Articles
Author's profile photo Navjot Samander

Standard Table Addition in MDC

Master Data consolidation and Mass Process Enhancement with standard table.

Consolidation and Mass processing are two major applications of SAP MDG system. It’s an out-of-the-box solution. While implementing these application if one follows standard configuration guide it can be smoothly implemented.

This blog is written for audience who needs to enhance MDC with standard table and are new to these application.

Enhancement of process model:

Path for process model: MDCIMG>Configure Process Model.

  • Create copy of standard table in se11 that  you want to add with Z* prefix as direct addition to of standard table does not generate resultant artifacts.
  • We are taking example of table KNKK. Add table in process model as shown below.
  • Maintain join with the superior table, in our case superior table is KNA1.


  • Create Join between the fields as shown below screen shot. The Process indicator and the Active indicator show whether a field is used in the process data model or in the active data model.

  • Select the table fields node. If the table you added does not contain any fields, click on synchronize fields. This will pull all the relevant fields of the table from DDIC table and the join we maintained in previous step.


  • Now Save the  process model configuration changes and go to resultant artifacts by selecting against the business object.
  • On entering inside the resultant artifacts enter package name and select the required table name that needs to be be made available. At first these check boxes against your addition of table will be unchecked.
  • Click on apply missing and apply selected as guided in standard document for struct. And table type generation.


  • On Successful generation of structure you can also view and check it in SE11.


Code Enhancements:

Apart from configuring the process model we have to write custom code for achieving the complete functionality. We need to create two custom class with super class as CL_MDC_MODEL_BP AND CL_MDC_DATA_BP.

Model class is responsible for reading, Mapping of data and update data to the data base tables.

Data class is responsible for validation and generation of backend structures used during the process.

NOTE: For code related to below methods refer the super class code.


Model class created in example: ZCL_MDG_MODEL.


model class


The methods shown in above screen shots are minimum required methods to be reimplemented.

  1. MAP_EXTENSIONS_2API: It populated the data from PRC structure to required format of API structure.
  2. READ_ALL_DATA: It is required to read the data from backend tables based on source ID.
  3. SAVE_BUISNESS_PARTNER_ACTIVE: This method is required to save data to particular data base table by using update function module or BAPI.

Data class created in example: ZCL_MDC_DATA_BP

  • The 5 methods in below screen shot are the required methods to be implemented.


Now you can Test your enhancement. 🙂



An issue arises for consolidation and mass processing of records more than 100. System does not accept the records if file is having records more than 100, that because the system designed for data processing more than 100 follows different approach and that is not supported for custom enhancements of process model in MDC.


Below is the class and method at which post exit needs to be written.


Enhancement for processing records more than 100


Below is the reference code needs to be written in post exit of method highlighted.


Thank you for reading my blog, I hope this helped you.

Please drop comments in case any help is required. I would be happy to help. 🙂













Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo mohd riyajuddin
      mohd riyajuddin

      Hi Navjot,

      Nice blog 🙂



      Author's profile photo Navjot Samander
      Navjot Samander
      Blog Post Author

      Thanks riyaj for acknowledging 🙂

      Author's profile photo Hans Verreydt
      Hans Verreydt


      Thank you for this great blog!

      i'm trying to add Table ADRT to the MDC Model. Because I saw that the "remarks / Notes" field of the e-mail address was deleted during a mass change.

      I'm not sure if I need to create a ZADRT of not, because when I try this with ADRT and I add this with a join on ADR6, I'm not getting the ADRT fields in the "Table Fields" section.


      Author's profile photo Navjot Samander
      Navjot Samander
      Blog Post Author


      Yes, you need to create ZADRT table. Your data is getting deleted as address related tables get updated and ADRT is not supported. So data is not getting written back from buffer.



      Author's profile photo Hans Verreydt
      Hans Verreydt

      Hi Navjot,


      Thanks for your reply!

      I created a ZADRT table and setup a join between ADR6 & ZADRT (Is this the correct way? Or do I need to use another table then ADR6?

      My fields are still empty when I try to synchronize the ZADRT table. Which fields do I need to use for the join?



      Author's profile photo Rajashekar Sirga
      Rajashekar Sirga

      Hi Hans,

      Were you able to implement this solution? I have a similar requirement. Can you share more details?

      Author's profile photo Navjot Samander
      Navjot Samander
      Blog Post Author

      Hello Hans,

      You need to maintain the relation with BUTO20 Table.

      In join fields pass the fields as shown in below screen shots.


      Screenshot of Table with which join needs to be maintained


      Screen shot of fields needs to enter for join.


      After this you have to write coding in Model and Data class as per the blog, in order to generate resultant artifact's and table updation and handling logic.

      You can also reach me out on LinkedIn :



      Author's profile photo Michael Limpinsel
      Michael Limpinsel

      Hi Navjot,

      some basic questions:

      you store source data in ZKNKK_SRC and the corresponding class is writing results into KNKK. Right?

      Have you used fields of ZKNKK/KNKK also in the matching?

      You have to enter the table from process model (ZKNKK) but matching has to be performed against values from KNKK. The compiled ruleset in adapter MTC  may contain a mismatch.

      We are trying to use the standard table GEOLOC.

      Anybody already implemented this table?



      Author's profile photo Rajashekar Sirga
      Rajashekar Sirga

      Nice Blog! Navjot.

      Author's profile photo Hariharan Gnanasekaran
      Hariharan Gnanasekaran

      This is very helpful, thank you Navjot.

      Author's profile photo Aditya Verma
      Aditya Verma


      I am trying to add a custom table for MM model. Is there any different set of steps that I need to perform? And also where exactly are the custom classes need to be configured?


      Thank you,


      Author's profile photo Prerna Bodkhe
      Prerna Bodkhe

      Hi Navjot,

      We have extended our MM data model with a custom entity and a custom field in MAKT for long description. With mass processing our custom field is getting wiped out with direct activation and is remaining as is with custom template(with CR processing). Could you please help us to understand what could be the issue here or the places to check any missing configurations?