SAP MDG · DATA MODEL UI

How do I extend SAP MDG Material with a new flex entity type that stays only in MDG tables?

Use the Flex Option when you need a Material-related entity that is governed in MDG, stored only in MDG-generated flex tables, and not distributed to ERP. In the guide’s example, you create entity YEQUIP with a 1:N relationship to Material, maintain the data model in MDGIMG, generate the model-specific structures, clear metadata buffers if needed, and expose it in the MDG Material UI with an FPM List UIBB.

Use the Flex Option when you need a Material-related entity that is governed in MDG, stored only in MDG-generated flex tables, and not distributed to ERP. In the guide’s example, you create entity YEQUIP with a 1:N relationship to Material, maintain the data model in MDGIMG, generate the model-specific structures, clear metadata buffers if needed, and expose it in the MDG Material UI with an FPM List UIBB.

This guide shows how to extend SAP MDG Material with a new entity type using the Flex Option so the data remains local to MDG and is not distributed to ERP. In the example, entity YEQUIP is created for equipment information linked to Material, with custom data elements, generated flex tables, MDGIMG model maintenance, structure generation, and an FPM-based UI extension.

Process flow

  1. Create data elements in SE11
  2. Extend the Material data model in MDGIMG
  3. Create entity type YEQUIP
  4. Define key attribute and attributes
  5. Maintain 1: N relationship to Material
  6. Save and activate the model
  7. Optionally adjust staging for linked CRs
  8. Verify with USMD_DISPLAY_DATA_MODEL and USMD_DATA_MODEL
MDGIMG

General Settings → Data Modeling → Edit Data Model

Create entity type YEQUIP, maintain attributes and relationships, save and activate

Structure
MDGIMG
Master Data Governance
Classic Mode in SAP MDG
Central Governance
General Settings
Data Modeling
Edit Data Model
MDGIMG

Generate Data Model-Specific Structures

Generate Mapping Structures and Field Property Structures

Structure
MDGIMG
Master Data Governance
Classic Mode in SAP MDG
Central Governance
General Settings
Data Modeling
Generate Data Model-Specific Structures
MDB

Application: MDG_MAT

Check SPI metadata consistency

MDGIMG

Clear UI Metadata Buffers

Clear Text Buffer, Search Help Buffer, SMT Mapping Buffer, and SPI Metadata Buffer if UI metadata is inconsistent

Structure
MDGIMG
Master Data Governance
Classic Mode in SAP MDG
Central Governance
Central Governance for Material
Clear UI Metadata Buffers

Referenced tables

ObjectPurpose
YEQUIPExample flex entity type stored only in MDG-generated tables
YYEQUNREquipment Number data element, domain EQUNR, CHAR18
YYBAUJJYear of Construction data element, domain CJAHR, CHAR4
YYBAUMMMonth of Construction data element, domain BAUMM, CHAR2
YYHERLDCountry of Manufacture data element, domain LAND1, CHAR3

ILLUSTRATIVE ABAP SAMPLE

Source ABAP example: Extend_MDG_M_New_Reuse_Entity_Type.abap

Exact relevant implementation excerpt from the knowledge document set.

1*---------------------------------------------------------------------* 2* <SOURCE_DOCUMENT> 3* Extend MDG-M by a New Reuse Entity Type 4* Version 9.1 - July 2026 5* </SOURCE_DOCUMENT> 6*---------------------------------------------------------------------* 7 8*---------------------------------------------------------------------* 9* <BADI_IMPLEMENTATION> 10* <INTERFACE>IF_MDG_BS_MAT_API_SEGMENTS_EXT</INTERFACE> 11* <METHOD>READ</METHOD> 12*---------------------------------------------------------------------* 13METHOD if_mdg_bs_mat_api_segments_ext~read. 14 DATA: lt_mdgm_bupa TYPE ymdgm_bupa01_t. 15 16 CLEAR: et_data, et_message. 17 18 SELECT * 19 FROM ymdgm_bupa00 20 INTO CORRESPONDING FIELDS OF TABLE lt_mdgm_bupa 21 WHERE matnr IN is_selection-matnr_range 22 AND bupa_id IN is_selection-bupa_id_range. 23 24 INSERT LINES OF lt_mdgm_bupa INTO TABLE et_data. 25ENDMETHOD. 26* </BADI_IMPLEMENTATION> 27 28*---------------------------------------------------------------------* 29* <BADI_IMPLEMENTATION> 30* <INTERFACE>IF_MDG_BS_MAT_API_SEGMENTS_EXT</INTERFACE> 31* <METHOD>CHECK_AND_SAVE</METHOD> 32*---------------------------------------------------------------------* 33METHOD if_mdg_bs_mat_api_segments_ext~check_and_save. 34 35 DATA: ls_data TYPE ymdgm_bupa01_s. 36 DATA: ls_data_x TYPE ymdgm_bupa01_s_x. 37 DATA: ls_message TYPE mdg_bs_mat_s_mat_msg. 38 DATA: lt_modify TYPE STANDARD TABLE OF ymdgm_bupa00. 39 DATA: ls_modify TYPE ymdgm_bupa00. 40 DATA: lt_delete TYPE STANDARD TABLE OF ymdgm_bupa00. 41 DATA: ls_delete TYPE ymdgm_bupa00. 42 43 CLEAR et_message. 44 45 " First some checks 46 LOOP AT is_data-ymdgm_bupa00_tab INTO ls_data. 47 " All fields must be filled, otherwise 48 " MESSAGE e000(00) WITH ls_data-matnr 49 " ls_data-bupa_id 50 " ls_data-nickname. 51 IF ls_data-matnr IS INITIAL 52 OR ls_data-bupa_id IS INITIAL 53 OR ls_data-nickname IS INITIAL. 54 55 ls_message-msgid = '00'. 56 ls_message-msgno = '000'. 57 ls_message-msgty = 'E'. 58 59 ls_message-msgv1 = 'Empty value detected in:'. 60 ls_message-msgv2 = ls_data-matnr. 61 ls_message-msgv3 = ls_data-bupa_id. 62 ls_message-msgv4 = ls_data-nickname. 63 64 INSERT ls_message INTO TABLE et_message. 65 ENDIF. 66 67 " BuPa must exist 68 " ... 69 ENDLOOP. 70 71 " In test mode, we're finished now 72 CHECK iv_test_mode = abap_false. 73 74 " Determine which records to delete or to insert/update 75 LOOP AT is_data-ymdgm_bupa00_x_tab INTO ls_data_x. 76 IF ls_data_x-delete_row = abap_true. 77 " Keep key fields for deletion 78 ls_delete-matnr = ls_data_x-matnr. 79 ls_delete-bupa_id = ls_data_x-bupa_id. 80 INSERT ls_delete INTO TABLE lt_delete. 81 ELSE. 82 READ TABLE is_data-ymdgm_bupa00_tab INTO ls_data 83 WITH TABLE KEY matnr = 84* <SOURCE_TRUNCATED_AT_THIS_POINT />

The remaining configuration, implementation details, and testing guidance continue from this answer more…

Related questions and keywords

Alternative questions

  • What is the Flex Option in SAP MDG Material?
  • When should I use a new flex entity for MDG Material?
  • How do I add a custom entity type to MDG Material without ERP distribution?

Possible questions

  • What is the Flex Option in SAP MDG Material?
  • When should I use a new flex entity for MDG Material?
  • Why is SMT mapping not required for a flex entity?
  • How is the example entity YEQUIP related to Material?
  • Which transactions are used to extend the MDG Material data model?
  • How do I generate MDG structures after a model change?
  • Which reports validate the data model?
  • How do I clear UI metadata buffers?
  • Which feeder class is used for the List UIBB?
  • What is stored in flex tables?

Keywords

SAP MDGMDG MaterialFlex Optionnew entity typeYEQUIPMDGIMGUSMD_DISPLAY_DATA_MODELUSMD_DATA_MODELMDBCL_MDG_BS_MAT_FEEDER_LISTFPM_LIST_UIBBFlex TablesNo SMT mapping