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%20class

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. 🙂

 

Bonus:

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%20for%20processing%20records%20more%20than%20100

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

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

      Hi Navjot,

      Nice blog 🙂

      Regards,

      Riyaj

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

      Thanks riyaj for acknowledging 🙂

      Author's profile photo Hans Verreydt
      Hans Verreydt

      Hi,

      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.

      Regards,
      Hans

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

      Hello,

      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.

      Regards,

      Navjot

      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?

      Thanks!

      Hans

      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%20of%20Table%20with%20which%20join%20needs%20to%20be%20maintained

      Screenshot of Table with which join needs to be maintained

      Screen%20shot%20of%20fields%20needs%20to%20enter%20for%20join.

      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 : https://www.linkedin.com/in/navjot-samander-5983535b

      Regards,

      Navjot