Extending Standard SAP MDG Data Model (MM) with Custom Fields
Share

This blog is based on our practical experience and learnings from a recent SAP Master Data Governance (MDG) project. We had a requirement to extend the standard SAP MDG Data Model (MM) with custom fields at both Plant and Sales levels.

To achieve this, there are two main approaches available:

  1. Traditional Approach
  2. In-App Extensibility

1. Traditional Approach : Using the traditional approach, adding a custom field requires multiple manual extensions across different layers of the SAP system — including:

  • Database tables (e.g., MARC, MVKE)
  • CDS views
  • SOA services
  • OData APIs

During our implementation, while extending the MARC table with a custom field, we encountered the following error:

DBSQL_REDIRECT_INCONSISTENCY – A table could not be redirected

tbagauli_0-1762763298922.png

SAP has already addressed this issue in SAP Note 2242679 – Redirect inconsistency – Proxy Substitution, which suggests executing the report NSDM_PROXY_SUBSTITUTION for the MARC table to adjust the related CDS view and resolve the inconsistency.

Although this resolves the immediate technical issue, the traditional approach still requires repetitive manual work — extending the field individually at every layer (database, CDS, SOAP, and OData). This process is not only time-consuming but also prone to inconsistencies.

2. In-App Extensibility (Custom Fields and Logic)

To overcome these challenges, we adopted the In-App Extensibility approach using the Fiori app — Custom Fields and Logic.

This approach allows you to add and manage custom fields in a single step. When a field is created via this app, it can automatically extend the following components (depending on your configuration and enablement):

  • Underlying database tables
  • Relevant CDS views
  • SOAP services
  • OData APIs

This provides a one-stop solution for extending standard SAP objects — significantly simplifying the process and reducing development effort.

Extensibility Steps (Using In-App Extensibility)

Follow the steps below to create and enable a custom field using the Fiori App – Custom Fields and Logic.

  • Open the Custom Fields and Logic app.

tbagauli_1-1762763298926.png

  • Click on the “+ (Create)” button to add a new custom field.

tbagauli_2-1762763298928.png

Enter all the necessary information such as:

  • Business Context
  • Label
  • Data Type
  • Length

tbagauli_3-1762763298930.png

Select the services across different tabs where you want to make this custom field available (e.g., Database Table, SOAP Service, OData API, etc.). 

tbagauli_4-1762763298934.png

tbagauli_5-1762763298937.png

tbagauli_6-1762763298946.png

tbagauli_7-1762763298955.png

 

tbagauli_8-1762763298957.png

Click Save to save your configuration.

Click on Publish to enable the custom field.

tbagauli_9-1762763298962.png

The publishing process may take a few minutes. Once completed, the field’s status will change to “Published.”

tbagauli_10-1762763298964.png

After publishing:

  • Check the database table (e.g., MARC or MVKE) to ensure the new field is added.

tbagauli_11-1762763298979.png

  • Verify that the field is available in the corresponding SOAP service.

tbagauli_12-1762763298995.png

  • Verify that the field is available in the corresponding MDC Model.

tbagauli_13-1762763299004.png

Note: The Data Model Extension process in MDG remains unchanged. You must still follow the standard MDG extension procedure as detailed in the official SAP document:https://www.sap.com/documents/2015/07/76525357-5b7c-0010-82c7-eda71af511fa.html

Key Takeaways

  • Traditional Approach: Requires manual extensions at multiple layers; higher maintenance effort.
  • In-App Extensibility: Provides a one-stop, upgrade-safe solution for extending database tables, CDS views, and APIs in a consistent manner.

Acknowledgment

Special thanks to Suresh, Soumya and Aswin for their valuable technical insights and contributions throughout the implementation.

 

 This blog is based on our practical experience and learnings from a recent SAP Master Data Governance (MDG) project. We had a requirement to extend the standard SAP MDG Data Model (MM) with custom fields at both Plant and Sales levels.To achieve this, there are two main approaches available:Traditional ApproachIn-App Extensibility1. Traditional Approach : Using the traditional approach, adding a custom field requires multiple manual extensions across different layers of the SAP system — including:Database tables (e.g., MARC, MVKE)CDS viewsSOA servicesOData APIsDuring our implementation, while extending the MARC table with a custom field, we encountered the following error:DBSQL_REDIRECT_INCONSISTENCY – A table could not be redirectedSAP has already addressed this issue in SAP Note 2242679 – Redirect inconsistency – Proxy Substitution, which suggests executing the report NSDM_PROXY_SUBSTITUTION for the MARC table to adjust the related CDS view and resolve the inconsistency.Although this resolves the immediate technical issue, the traditional approach still requires repetitive manual work — extending the field individually at every layer (database, CDS, SOAP, and OData). This process is not only time-consuming but also prone to inconsistencies.2. In-App Extensibility (Custom Fields and Logic)To overcome these challenges, we adopted the In-App Extensibility approach using the Fiori app — Custom Fields and Logic.This approach allows you to add and manage custom fields in a single step. When a field is created via this app, it can automatically extend the following components (depending on your configuration and enablement):Underlying database tablesRelevant CDS viewsSOAP servicesOData APIsThis provides a one-stop solution for extending standard SAP objects — significantly simplifying the process and reducing development effort.Extensibility Steps (Using In-App Extensibility)Follow the steps below to create and enable a custom field using the Fiori App – Custom Fields and Logic.Open the Custom Fields and Logic app.Click on the “+ (Create)” button to add a new custom field.Enter all the necessary information such as:Business ContextLabelData TypeLengthSelect the services across different tabs where you want to make this custom field available (e.g., Database Table, SOAP Service, OData API, etc.).  Click Save to save your configuration.Click on Publish to enable the custom field.The publishing process may take a few minutes. Once completed, the field’s status will change to “Published.”After publishing:Check the database table (e.g., MARC or MVKE) to ensure the new field is added.Verify that the field is available in the corresponding SOAP service.Verify that the field is available in the corresponding MDC Model.Note: The Data Model Extension process in MDG remains unchanged. You must still follow the standard MDG extension procedure as detailed in the official SAP document:https://www.sap.com/documents/2015/07/76525357-5b7c-0010-82c7-eda71af511fa.htmlKey TakeawaysTraditional Approach: Requires manual extensions at multiple layers; higher maintenance effort.In-App Extensibility: Provides a one-stop, upgrade-safe solution for extending database tables, CDS views, and APIs in a consistent manner.AcknowledgmentSpecial thanks to Suresh, Soumya and Aswin for their valuable technical insights and contributions throughout the implementation. Read More Technology Blog Posts by SAP articles 

#SAPCHANNEL

By ali