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

Estimated read time 6 min read

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 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 viewsSOA servicesOData 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

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 tablesRelevant CDS viewsSOAP servicesOData 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.

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

Enter all the necessary information such as:

Business ContextLabelData TypeLength

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

#SAP

#SAPTechnologyblog

You May Also Like

More From Author