Master Data Governance Application Programming Interface Guide
PUBLIC
MDG Application Framework API Guide
Applicable releases:
SAP MDG 9.1 and above
Version: 3.0
Date: 12/2025
Owner: PCP Master Data Governance
MDG Application Framework API Guide
Applicable releases:
SAP MDG 9.1 and above
Version: 3.0
Date: 12/2025
Owner: PCP Master Data Governance
Document History
Document Version Description
2.0 Version from 7. June 2016
2.1 Update template
3.0 Formatting, Code adjustments
© 2025 SAP SE or an SAP affiliate company. All rights reserved. See Legal Notice on https://www.sap.com/legal-notice for use terms, disclaimers, disclosures, or restrictions related to this material. 2 / 27
Document Version Description
2.0 Version from 7. June 2016
2.1 Update template
3.0 Formatting, Code adjustments
© 2025 SAP SE or an SAP affiliate company. All rights reserved. See Legal Notice on https://www.sap.com/legal-notice for use terms, disclaimers, disclosures, or restrictions related to this material. 2 / 27
Table of Contents
1. MDG Application Framework APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1. API Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. Main Purposes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Availability and Function Scopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4. Architectural Perspective. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2. Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1. Limitation with Respect to the Functional Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Limitations with Respect to the Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3. Limitations with Respect to the Number of Change Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4. Limitations with Respect to the Parallel Usage of the APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5. Limitations with Respect to the Caller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.6. Limitations with Respect to Business Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.7. Other Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3. Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1. Change Request API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2. External Model API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3. Governance API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4. Convenience API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.5. CL_USMD_APP_CONTEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4. Data Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1. Introduction to the MDG Master Data Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2. Reading Entity Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3. Changing Entity Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4. Authorization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5. Simple Guide for Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.1. Sequence Diagram for Convenience API Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.2. Code Example – Create Airline (with governance API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.3. Code Example – Change Flight Connection (with governance API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6. Additional Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.1. Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
© 2025 SAP SE or an SAP affiliate company. All rights reserved. See Legal Notice on https://www.sap.com/legal-notice for use terms, disclaimers, disclosures, or restrictions related to this material. 3 / 27
1. MDG Application Framework APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1. API Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2. Main Purposes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. Availability and Function Scopes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4. Architectural Perspective. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2. Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1. Limitation with Respect to the Functional Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2. Limitations with Respect to the Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.3. Limitations with Respect to the Number of Change Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4. Limitations with Respect to the Parallel Usage of the APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5. Limitations with Respect to the Caller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.6. Limitations with Respect to Business Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.7. Other Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3. Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1. Change Request API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2. External Model API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3. Governance API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4. Convenience API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.5. CL_USMD_APP_CONTEXT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4. Data Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1. Introduction to the MDG Master Data Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2. Reading Entity Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3. Changing Entity Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4. Authorization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5. Simple Guide for Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.1. Sequence Diagram for Convenience API Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.2. Code Example – Create Airline (with governance API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.3. Code Example – Change Flight Connection (with governance API) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6. Additional Information. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.1. Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
© 2025 SAP SE or an SAP affiliate company. All rights reserved. See Legal Notice on https://www.sap.com/legal-notice for use terms, disclaimers, disclosures, or restrictions related to this material. 3 / 27
1. MDG Application Framework APIs
1.1. API Overview
The MDG framework provides several interfaces that are used by the delivered SAP MDG applications and
also can be used by other external applications (like customer applications) in order to handle the gover
nance process and the related entity data. These are the interfaces:
Table 1. Table 1: API Overview
API Interface Implementing Class
Change Request API IF_USMD_CREQUEST_API CL_USMD_CREQUEST_API
External Model API IF_USMD_MODEL_EXT CL_USMD_MODEL_EXT
Governance API IF_USMD_GOV_API CL_USMD_GOV_API
Convenience API IF_USMD_CONV_SOM_GOV_API CL_USMD_CONV_SOM_GOV_API
Context API IF_USMD_APP_CONTEXT CL_USMD_APP_CONTEXT
1.2. Main Purposes
The different APIs have different purposes which are described in the following table:
Table 2. Table 2: Main purposes of the relevant APIs
API Main Purpose
Change Request API Handling of change requests and partly changing and reading entity data
External Model API Reading entity data
Governance API Handling of (several) change requests and entity data
Convenience API As the Governance API but using a single change request
Context API Store and provide process context data
Originally, only the Change Request API and the External Model API existed. The Change Request API pro
vides the possibility to fully control the governance process and the life cycle of a change request. This
includes the possibilities to create, save, activate or reject a change request, to modify its object list as well as
to read and change entity data.
The External Model API was provided to enable extended possibilities to read entity data.
Since the Change Request API and the External Model API turned out to be quite complex to use from the
caller perspective, it was decided to provide a new (Governance) API. The focus of the Governance API is, to
provide a single API with full functional scope concerning the coverage of the governance process using work
flows (change request handling) and the correlated handling of the entity data. Furthermore, this API was
designed to stay as simple as possible by hiding several automatic steps. It still needs to fulfill all new require
ments arising from the different MDG applications.
The Convenience API was developed in parallel to the Governance API. This API is on top of the Governance
API with the focus of being even simpler to use. This improved simplicity is reached by reducing its scope to
the handling of a single change request. Its main purpose is to be used for single object maintenance UIs
where its usage is restricted not only to use a single change request but also to change a single object only as
well.
Later it was discovered that lower architectural levels sometimes need access to some process relevant data.
To enable this, the (Application) Context API was developed.
© 2025 SAP SE or an SAP affiliate company. All rights reserved. See Legal Notice on https://www.sap.com/legal-notice for use terms, disclaimers, disclosures, or restrictions related to this material. 4 / 27
1.1. API Overview
The MDG framework provides several interfaces that are used by the delivered SAP MDG applications and
also can be used by other external applications (like customer applications) in order to handle the gover
nance process and the related entity data. These are the interfaces:
Table 1. Table 1: API Overview
API Interface Implementing Class
Change Request API IF_USMD_CREQUEST_API CL_USMD_CREQUEST_API
External Model API IF_USMD_MODEL_EXT CL_USMD_MODEL_EXT
Governance API IF_USMD_GOV_API CL_USMD_GOV_API
Convenience API IF_USMD_CONV_SOM_GOV_API CL_USMD_CONV_SOM_GOV_API
Context API IF_USMD_APP_CONTEXT CL_USMD_APP_CONTEXT
1.2. Main Purposes
The different APIs have different purposes which are described in the following table:
Table 2. Table 2: Main purposes of the relevant APIs
API Main Purpose
Change Request API Handling of change requests and partly changing and reading entity data
External Model API Reading entity data
Governance API Handling of (several) change requests and entity data
Convenience API As the Governance API but using a single change request
Context API Store and provide process context data
Originally, only the Change Request API and the External Model API existed. The Change Request API pro
vides the possibility to fully control the governance process and the life cycle of a change request. This
includes the possibilities to create, save, activate or reject a change request, to modify its object list as well as
to read and change entity data.
The External Model API was provided to enable extended possibilities to read entity data.
Since the Change Request API and the External Model API turned out to be quite complex to use from the
caller perspective, it was decided to provide a new (Governance) API. The focus of the Governance API is, to
provide a single API with full functional scope concerning the coverage of the governance process using work
flows (change request handling) and the correlated handling of the entity data. Furthermore, this API was
designed to stay as simple as possible by hiding several automatic steps. It still needs to fulfill all new require
ments arising from the different MDG applications.
The Convenience API was developed in parallel to the Governance API. This API is on top of the Governance
API with the focus of being even simpler to use. This improved simplicity is reached by reducing its scope to
the handling of a single change request. Its main purpose is to be used for single object maintenance UIs
where its usage is restricted not only to use a single change request but also to change a single object only as
well.
Later it was discovered that lower architectural levels sometimes need access to some process relevant data.
To enable this, the (Application) Context API was developed.
© 2025 SAP SE or an SAP affiliate company. All rights reserved. See Legal Notice on https://www.sap.com/legal-notice for use terms, disclaimers, disclosures, or restrictions related to this material. 4 / 27
1.3. Availability and Function Scopes
The existence of the different APIs and their functional scope depends on the MDG release. The following is
valid independent of the underlying system being an ERP or SAP S/4 HANA On-Premise system.
In EhP5 only the Change Request API and the External Model API existed. Both APIs can still be used in the
later MDG releases. Whereas the External Model API always was kept up to date with new developments, the
development of the Change Request API was stopped in EhP6. However, with respect to change request han
dling the Change Request API offers some functions that are not covered by any other API. This includes the
possibility to move objects between different change requests, to split one change request including to move
objects to the new change request, and to create a change request using another change request as a tem
plate.
In EhP6 the Convenience API and the Governance API were introduced and their functional scopes were fur
ther extended from release to release. Most of these developments were done to fulfill new requirements
coming from the later MDG applications.
The External Model API is fully up to date in each MDG release. The following table provides a rough overview
of the situation.
Table 3. Table 3: Functional Scopes of the relevant APIs in dependency to the MDG release
MDG Release Description Functional Scope
EhP 5 Change Request API Programming interface for CR Processing. One Instance per
change request. Administration of change request object list by
consumer.
External model API Reading entity and hierarchy data.
EhP 6 Change Request API No further development.
Governance API Programming interface for governance process. Multiple CR pro
cessing within one instance for one model. Limited use for mod
els using editions.
Convenience API Programming interface for governance process optimized for
single object processing and single object processing UIs. No
support for models using editions.
Context API Programming interface consumed mainly by convenience API.
Stores and calculates context data.
External model API Reading entity and hierarchy data.
MDG 6.1 Change Request API No further development.
Governance API Support of foreign key entities.
Convenience API Support of foreign key entities.
Context API No further development.
External model API Reading entity and hierarchy data.
MDG 7.0 Change Request API No further development.
Governance API Support of new edition management and parallel change
requests
Convenience API Support of new edition management, parallel change requests
and highlighting changes
Context API Support of new edition management and parallel change
requests
External model API Support of new edition management and parallel change
requests
© 2025 SAP SE or an SAP affiliate company. All rights reserved. See Legal Notice on https://www.sap.com/legal-notice for use terms, disclaimers, disclosures, or restrictions related to this material. 5 / 27
The existence of the different APIs and their functional scope depends on the MDG release. The following is
valid independent of the underlying system being an ERP or SAP S/4 HANA On-Premise system.
In EhP5 only the Change Request API and the External Model API existed. Both APIs can still be used in the
later MDG releases. Whereas the External Model API always was kept up to date with new developments, the
development of the Change Request API was stopped in EhP6. However, with respect to change request han
dling the Change Request API offers some functions that are not covered by any other API. This includes the
possibility to move objects between different change requests, to split one change request including to move
objects to the new change request, and to create a change request using another change request as a tem
plate.
In EhP6 the Convenience API and the Governance API were introduced and their functional scopes were fur
ther extended from release to release. Most of these developments were done to fulfill new requirements
coming from the later MDG applications.
The External Model API is fully up to date in each MDG release. The following table provides a rough overview
of the situation.
Table 3. Table 3: Functional Scopes of the relevant APIs in dependency to the MDG release
MDG Release Description Functional Scope
EhP 5 Change Request API Programming interface for CR Processing. One Instance per
change request. Administration of change request object list by
consumer.
External model API Reading entity and hierarchy data.
EhP 6 Change Request API No further development.
Governance API Programming interface for governance process. Multiple CR pro
cessing within one instance for one model. Limited use for mod
els using editions.
Convenience API Programming interface for governance process optimized for
single object processing and single object processing UIs. No
support for models using editions.
Context API Programming interface consumed mainly by convenience API.
Stores and calculates context data.
External model API Reading entity and hierarchy data.
MDG 6.1 Change Request API No further development.
Governance API Support of foreign key entities.
Convenience API Support of foreign key entities.
Context API No further development.
External model API Reading entity and hierarchy data.
MDG 7.0 Change Request API No further development.
Governance API Support of new edition management and parallel change
requests
Convenience API Support of new edition management, parallel change requests
and highlighting changes
Context API Support of new edition management and parallel change
requests
External model API Support of new edition management and parallel change
requests
© 2025 SAP SE or an SAP affiliate company. All rights reserved. See Legal Notice on https://www.sap.com/legal-notice for use terms, disclaimers, disclosures, or restrictions related to this material. 5 / 27