Technology Blog Posts by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 
tbagauli
Associate
Associate
789

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.

2 Comments