Configuring Master Data Governance for Custom Objects 
Data Model
The basis for the configuration of your custom master data governance process is a data model. This document describes how you can derive the required Master Data Governance (MDG) entity types and relationships from an entity relationship model. The SAP Flight Data Model is used as an example. This example shows the basic steps in Customizing, which are a prerequisite for all subsequent steps, such as the UI configuration.
Note
Instead of creating your own data model, you can also add entity types to the delivered MDG data models 0G, BP, or MM.
MDG Data Model: Details
This section describes the entity types and the relationship types used in the MDG Application Framework (MDGAF).
Entity Types
An MDG data model consists of the following entity types:
Entity Type with Storage and Use Type 1 (Type–1 Entity Type)
Storage and use type 1 must be used for entity types that can be processed in MDGAF. They have the following characteristics:
They represent root objects that are subject to governance.
More than one type–1 entity type is possible in one data model.
Data storage is generated (edition dependent and staging area).
They are used for modeling attributes and relationships.
They are processed in the first step of the change requests
Non-assignment of data elements is optional.
Input help is linked to a generated check table.
Entity Type with Storage and Use Type 2 (Type–2 Entity Type)
Storage and use type 2 must be used for entity types that cannot be processed with MDG and which are not available in the system. They have the following characteristics:
They model lists of values and descriptions that can be uploaded.
They model key enhancements for type-1 and type-4 entity types.
Data storage is generated (no edition, no staging area).
No further modeling is possible (only check tables and text tables generated).
No processing in change requests is possible.
They require an assignment of a data element.
Check table values of data elements are ignored.
Input help is linked to a generated check table.
Entity Type with Storage and Use Type 3 (Type–3 Entity Type)
Storage and use type 3 must be used for entity types that should not be processed by MDG, but are available in the system. They have the following characteristics:
They model external entities used in the data model.
They model additional primary keys for the tables of type-1 and type-4 entity types.
No data storage is generated
No further modeling is possible.
No processing in MDG is possible at all.
They require an assignment of a data element.
Check tables and domain fixed values are used.
Input help is linked to a check text table and a domain fixed value of data elements; only key fields are processed in check tables.
Entity Type with Storage and Use Type 4 (Type–4 Entity Type)
Storage and use type 4 must be used for entity types that can be processed in MDG within the context of other entity types. They have the following characteristics:
They represent dependent nodes of objects to structure object data.
Entity type 4 must be processed on the UI together with required leading type-1 entity types.
Data storage is generated (edition dependent and staging area).
They model attributes and relationships.
No assignments of data elements are possible.
Relationship Types
An MDG data model consists of the following relationship types:
Leading Relationships
Type-1 entity type can lead type-1 entity types and type–4 entity types.
Type-4 entity types must be linked to a leading type-1 entity type.
A type-1 entity type can have a leading type-1 entity type.
Entity types are qualified using additional key attributes.
Type-2 and type-3 entity types can enhance the keys of type-1 and type-4 entity types.
The key of an type-4 entity type must be enhanced by at least one type–1, type–2, or type–3 entity type.
The key of a referenced entity type becomes an attribute of the referencing entity type.
Example: Flight Customers
This example shows how a governance process for flight customers is defined. The SFLIGHT example defines three related database tables: SCUSTOM, SBUSPART and STRAVELAG. For more information, see Flight Model.
Although the tables in this data model use the SAP namespace, the steps and requirements necessary for bringing the tables under governance are the same as those used in the customer namespace. The names of your entity types must be in the customer namespace. In this example, the table SBUSPART represents entity type ZSBUSPART. Since the governance process should be based on airline partners (table SBUSPART), ZSBUSPART shall be the entity type of storage and usage type 1. During this process, airline partners and travel agencies are created as well. Therefore, entity types need to be created. Since they are created only together with airline partners, these entity types need to have storage and usage type 4.
A key of the SCUSTOM table is the field ID. The field ID uses the check table SBUSPART. Therefore, ZSCUSTOM is defined as an entity type with storage and usage type 4 with a leading relationship to ZSBUSPART.
A key field of the table STRAVELAG is the field AGENCYNUM. The AGENCYNUM field uses the check table SBUSPART. Therefore, ZSTRAVLAG is defined as an entity type with storage and usage type 4 with a leading relationship to ZSBUSPART.
SCUSTOM : Flight Customers
Field |
Data Element |
|---|---|
MANDT |
S_MANDT |
ID |
S_CUSTOMER |
NAME |
S_CUSTNAME |
FORM |
S_FORM |
STREET |
S_STREET |
POSTBOX |
S_POSTBOX |
POSTCODE |
POSTCODE |
CITY |
CITY |
COUNTRY |
S_COUNTRY |
REGION |
S_REGION |
TELEPHONE |
S_PHONENO |
CUSTTYPE |
S_CUSTTYPE |
DISCOUNT |
S_DISCOUNT |
LANGU |
SPRAS |
S_EMAIL |
|
WEBUSER |
S_WEBNAME |
SBUSPART: Airline Partner
Field |
Data Element |
|---|---|
MANDANT |
S_MANDT |
BUSPARTNUM |
S_BUSPANUM |
CONTACT |
S_CONTACT |
CONTPHONO |
S_CPHONENO |
BUSPATYP |
S_BUSPATYP |
STRAVELAG: Travel Agency
Field |
Data Element |
|---|---|
MANDT |
S_MANDT |
AGENCYNUM |
S_AGNCYNUM |
NAME |
S_AGNCYNAM |
STREET |
S_STREET |
POSTBOX |
S_POSTBOX |
POSTCODE |
POSTCODE |
CITY |
CITY |
COUNTRY |
S_COUNTRY |
REGION |
S_REGION |
TELEPHONE |
S_PHONENO |
URL |
S_URL |
LANGU |
SPRAS |
CURRENCY |
S_CURR_AG |
Data Modeling
In this process, you create entity types for SBUSPART, SCUSTOM, and STRAVELAG, their attributes, and the relationships between the entity types.
Create Data Model
Define the data model in Customizing for Master Data Governance under .
Select the Data Models view, choose New Entries, and enter a new data model called YZ with the description Airline Business Partner.
Create Entity Types
Select the Entity Types view, choose New Entries, and make the following entries for the entity type ZSBUSPART :
Fields |
Entries |
Comment |
|---|---|---|
Storage/Use Type |
Changeable via Change Request; Generated Database Tables |
Type-1 Entity Type |
Validity of Entity |
No Edition |
n.a. |
Data Element |
S_BUSPANUM |
Defines the key of the entity type and the field labels |
Hierarchies |
No Hierarchies |
n.a |
Validity/Hierarchy |
Hierarchy is Not Edition Dependent |
n.a. |
Key Assignment |
Key Cannot Be Changed; No Internal Key Assignment |
User needs to provide the key when creating new entities |
Deletion |
Deletion Allowed |
n.a. |
Description |
Airline Partner |
n.a. |
Leave all other fields of the entity type blank, which is the default.
Create a new entry for the type-4 entity type ZSCUSTOM
Fields |
Entries |
Comment |
|---|---|---|
Storage/Use Type |
Changeable via Other Entity Type; Generated Database Tables |
Type-4 Entity Type |
Validity of Entity |
No Edition |
n.a. |
Data Element |
<BLANK> |
Left blank for ZSCUSTOM as the key will be derived from the relationship to the leading entity type ZSBUSPART (see below) |
Hierarchies |
No Hierarchies |
n.a |
Validity/Hierarchy |
Hierarchy is Not Edition Dependent |
n.a. |
Key Assignment |
Key Cannot Be Changed; No Internal Key Assignment |
User needs to provide the key when creating new entities |
Deletion |
Deletion Allowed |
n.a. |
Description |
Flight Customers |
n.a. |
Create a new entry for the type-4 entity type ZSTRAVLAG
Fields |
Entries |
Comment |
|---|---|---|
Storage/Use Type |
Changeable via Other Entity Type; Generated Database Tables |
Type-4 entity type |
Validity of Entity |
No Edition |
n.a. |
Data Element |
<BLANK> |
Left blank for ZSTRAVLAG as the key will be derived from the relationship to the leading entity type ZSBUSPART (see below). |
Hierarchies |
No Hierarchies |
n.a |
Validity/Hierarchy |
Hierarchy is Not Edition Dependent |
n.a. |
Key Assignment |
Key Cannot Be Changed; No Internal Key Assignment |
User needs to provide the key when creating new entities |
Deletion |
Deletion Allowed |
n.a. |
Description |
Travel Agencies |
n.a. |
Note
If you save your data at this point, the check log shows various errors, which you can ignore at this time.
Enter the attributes of the entity types ZSBUSPART, ZSTRAVLAG, and ZSCUSTOM. Select the entity type you want to process and navigate to the Attributes view.
Choose New Entries and enter the following attributes and data elements for entity type ZSBUSPART :
Attribute |
Data Element |
|---|---|
BUSPATYP |
S_BUSPATYP |
CONTACT |
S_CONTACT |
CONTPHONO |
S_CPHONENO |
Leave all other fields of the attributes blank, which is the default.
Note
Data in MDG is always client dependent. Therefore, the MANDT field is not modeled as an attribute.
Choose New Entries and enter the following attributes and data elements for the entity type ZSTRAVLAG :
Attribute |
Data Element |
|---|---|
CITY |
CITY |
COUNTRY |
S_COUNTRY |
CURRENCY |
S_CURR_AG |
NAME |
S_AGNCYNAM |
POSTBOX |
S_POSTBOX |
POSTCODE |
POSTCODE |
REGION |
S_REGION |
STREET |
S_STREET |
TELEPHONE |
S_PHONENO |
URL |
S_URL |
ZLANGU |
SPRAST |
MDG uses the value table of the domain as defined in the data element of the attribute. This lets you perform checks and call up input help in the user interface.
In transaction SE11, you can see that the attribute LANGU with the data element SPRAS is used in the data dictionary (DDIC) table STRAVELAG. This cannot be reflected in the MDG data model. The attribute name LANGU cannot be used. Therefore, the name ZLANGU is used. The data element SPRAS cannot be used as well, but it can be replaced by SPRAST. The attribute names MANDT, SID, TXTLG, TXTMI, and TXTSH cannot be used as well.
Choose New Entries and enter the following attributes and data elements for the entity type ZSCUSTOM:
Attribute |
Data Element |
|---|---|
SCITY |
CITY |
SCOUNTRY |
S_COUNTRY |
SCUSTTYPE |
S_CUSTTYPE |
SDISCOUNT |
S_DISCOUNT |
SEMAIL |
S_EMAIL |
SFORM |
S_FORM |
SLANGU |
SPRAST |
SPOSTBOX |
S_POSTBOX |
SREGION |
S_REGION |
SSTREET |
S_STREET |
STELEPHON |
S_PHONENO |
SWEBUSER |
S_WEBNAME |
Attributes such as CITY can only be assigned once to a type-1 entity type. Therefore, you have to rename the attributes of entity type ZSCUSTOM. This is also true for indirect assignments that involve leading type-4 entity types. When renaming, insert an S as the prefix.
Create Relationships
Select the Relationships view, choose New Entries, and enter the following relationship details:
From-Entity Type |
Relationship |
To-Entity-Type |
Relationship Type |
Cardinality |
|---|---|---|---|---|
ZSBUSPART |
BUSP2CUST |
ZSCUSTOM |
Leading |
1:1 |
ZSBUSPART |
BUSP2TRAV |
ZSTRAVLAG |
Leading |
1:1 |
Leave all other fields of the relationships blank, which is the default.
Save and Activate the Data Model
First, you need to save the data model. This will automatically perform a check. For the data in this example data the warning messages, which are related to change documents. Now activate the data model.
You can choose Visualize Data Model to display an overview.
UI Configuration
You need to create a UI configuration to display or change data as part of the change request process.
Start the UI configuration in Customizing for Master Data Governance under .
Choose Create to create a new UI configuration.
Rename the Target Configuration ID entries to YZ_MDG_APPL (for Application Configuration), YZ_MDG_IDR (for Identification Region), and YZ_MDG_OIF (for Object Instance Floorplan). Then choose Start Deep Copy.
If you want to transport the UI configuration, assign a package and a transport request, otherwise choose Local Object and OK. When the copy is finished, the system displays a message confirming the successful creation of the deep copy.
Select the target configuration ID YZ_MDG_APPL of the application configuration.
The UI configuration needs to be linked to the data model. Choose Change and go to the Application Parameter and enter the data model YZ in the field USMD_MODEL.
Save your entries and select the configuration name YZ_MDG_OIF in the section Assign Web Dynpro Component.
You create a simple UI layout that displays the three entity types ZSBUSPART, ZSTRAVLAG, and ZSCUSTOM on one screen.
If the section Navigation is not displayed, choose push button Navigation.
In the section Navigation choose New . For the variant ID select ZSBUSPART from the value help and choose OK.
The component configuration contains a dummy variant. This entry needs to be deleted.
Select the line VariantMust Be Deleted and choose the Delete push button.
Select the variant ZSBUSPART
Not only the attributes of ZSBUSPART will be available in the UI configuration of this variant, but also the attributes of the entity types ZSTRAVLAG and ZSCUSTOM. This is because there is a 1:1 relationship to these entity types from ZSBUSPART.
Choose UIBB and select Form Component (GL1.1). The default values for Component and View appear. Provide a new configuration name.
Since the component configuration contains a default UIBB that you are not going to use, delete this UIBB. In the Hierarchy section, select other UIBB and choose Delete.
Choose Save and ignore the error message stating that the configuration ID does not yet exist. You are going to create this configuration ID in the next step. Select UIBB and choose Configure UIBB.
Choose New to create the new configuration ID. Provide a description for the configuration.
If you want to transport the component configuration, assign a package and a transport request, otherwise choose Local Object and OK.
In the next window, Edit Parameters, choose OK.
Choose Add Group.
Enter Airline Business Partner in the Text attribute of the group.
Choose Configure Group.
Drag the following fields from the Available Fields section to the Displayed Fields section so that they appear on the UI.
BUSPATYP
BUSPATYP_DESCRIPTION
CONTACT
CONTPHONO
Choose OK to display the added fields in the preview.
Select the description Business Partner ID Number and change the attribute Display Type to Text View.
Choose Save.
The UI configuration can now be used for the change request process.
In this example, we only created a very simple configuration with a small number of fields. For more information on UI configuration features, see Managing of UI Configurations.
Process Modeling
Create Business Activity
Create a business activity in Customizing for Master Data Governance under .
Choose New Entries and enter the following:
Bus. Activity |
Description |
Data Model |
|---|---|---|
YZBP |
Process Airline Business Partner |
YZ |
Choose Save and create a transport request or select an existing transport request.
Create Change Request Type
Create a change request type in Customizing for Master Data Governance under .
Choose New Entries and enter a new change request type as follows:
Type of Change request |
Data Model |
Description |
Objects Required |
Single Object |
Main Entity |
Type Workflow |
|---|---|---|---|---|---|---|
YZBP01 |
YZ |
Process Airline Business Partner |
No |
Yes |
ZSBUSPART |
WS75700040 |
Choose Entity Types and select New Entries. Enter entity type ZSBUSPART. Enter UI Configuration YZ_MDG_APPL. Choose Business Activities. Choose New Entries and enter YZBP.
Choose Save and create a transport request or select an existing transport request.
Define Workflow
The standard workflow template WS75700040 will be used for the change request process. This template provides workflow step numbers, which need to be entered in Customizing for Master Data Governance under .
In case the following entries do not exist already, choose New Entries and enter the following.
Workflow |
Step Number |
Description |
Keys |
Suc.Val.Req'd |
|---|---|---|---|---|
WS75700040 |
1 |
Processing |
Yes |
No |
WS75700040 |
2 |
Final Check |
No |
Yes |
WS75700040 |
3 |
Revision |
No |
No |
Choose Save and create a transport request or select an existing transport request.
Setup of Organizational Structure
The system uses organizational structures to assign processors to the workflow steps of the change request. Create three positions, organizational units, or jobs for this assignment. You can use transaction PPOMW to create these structures and also to assign users to these structures. This configuration description assumes an organizational structure as follows:
Organizational Unit |
Position |
User |
|---|---|---|
Flight Alliance Inc. (Code: FAI, ID: O 50001125) |
||
Flight Product Manager (Code: FLPRODMAN, ID: S 50001126) |
||
FLPRODMAN |
||
Flight Application Process Expert (Code: FLAPPEXPERT, ID: S 50001127) |
||
FLAPPEXPERT |
||
Flight Operations Manager (Code: FLOPMAN, ID: S 50001128) |
||
FLOPMAN |
Organizational Unit: Flight Alliance Inc. (Code: FAI, ID: O 50001125) -- Position: Flight Product Manager (Code: FLPRODMAN, ID: S 50001126) ---- User: FLPRODMAN -- Position: Flight Application Process Expert (Code: FLAPPEXPERT, ID: S 50001127) ---- User: FLAPPEXPERT -- Position: Flight Operations Manager (Code: FLOPMAN, ID: S 50001128) ---- User: FLOPMAN
Note
You use the column configuration to display the codes and IDs of the objects. You will need the IDs in the Assign Processors activity. The system will generate the IDs. These IDs will be different than the example data in your settings.
You can use the same user and assign it to each position. This enables you to use the change request process with a single logon. In order to demonstrate the segregation of tasks, we recommend that you use a dedicated user for each position.
Assign Processors
Assign processors to the workflow step numbers in Customizing for Master Data Governance under .
Choose New Entries and enter the following:
Type of Change request |
Step |
Description |
Ob |
Agent ID |
Complete Name |
|---|---|---|---|---|---|
YZBP01 |
1 |
Processing |
S |
50001127 |
Flight Application Process Expert |
YZBP01 |
2 |
Final Check |
S |
50001128 |
Flight Operations Manager |
Choose Save and create a transport request or select an existing transport request.
Note
You do not assign a processor to step number 3 (Revision), since the workflow template automatically determines the processor.
Create Role
In order to provide a menu and authorizations for the users, create a role using transaction PFCG.
Create a menu entry with the following settings:
Web Dypro Application |
USMD_ENTITY_SEARCH |
Description |
Process Airline Business Partner |
Parameter
Name |
Value |
|---|---|
PROCESS |
YZBP |
On the Authorizations tab, create a profile with the following authorizations:
Authorization Object |
USMD_CREQ (Type of Change Request) |
Activity |
All Activities |
Type of Change Request |
YZBP01 |
Authorization Object |
USMD_UI2 (UI Configuration) |
Activity |
Execute |
Configuration Identification |
YZ_MDG_APPL |
Authorization Object |
USMD_MDAT (Master Data) |
Activity |
All Activities |
Data Model |
YZ |
Assign this role to the users in the organizational structure of activity Setup of Organizational Structure.
In this example, we only add the search Web Dynpro application (WDA) of Master Data Governance (MDG) to the menu. For more information on other WDAs of MDG, see Master Data Processing.
Execute Process
After implementing all configuration settings, you can now execute this example process. For this process, you use the users you assigned to the organizational structures earlier.
Create Change Request
Log on with the user assigned to position Flight Product Manager. Choose Process Airline Business Partner. Search for airline partners to change one of these airline partners. Select an airline partner to change an existing airline partner and choose Change. To create a new airline partner choose Create and, on the next screen, enter an airline partner ID and choose Start.
Enter a description for the change request and provide the data for the attributes of the airline partner. Choose Submit to create the change request and send it to the next processor.
Process Change Request
Log on with the user assigned to position Flight Application Process Expert. Select SAP Business Workplace (transaction SBWP). Select Inbox to display your workflow items. Double-click the work item belonging to the change request you just created. Now you can review and change the data of the airline business partner. Choose Finalize Processing to send it to the next processor. Alternatively, choose Send for Revision to send it back to the requestor.
Approve Change Request
Log on with the user assigned to position Flight Operations Manager . Select SAP Business Workplace (transaction SBWP). Select Inbox to display your workflow items. Double-click the work item belonging to the change request. You can now finally approve or reject the change request. The final approval will activate the data.
Now, when you search for the updated airline business partner, the system lists the one that has been activated.
For more information, see Master Data Governance for Custom Objects: Example Scenario Conf and Master Data Governance for Custom Objects: Example Scenario Desc.