main extending content in mdgm new

300
SAP How-To Guide Extending Content in Master Data Governance, Material Data Version 1.0 May 2010

Upload: ravitejacs627

Post on 07-Nov-2014

667 views

Category:

Technology


6 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Main extending content in mdgm new

SAP

How-To Guide

Extending Content in Master Data

Governance, Material Data

Version 1.0

May 2010

Page 2: Main extending content in mdgm new

© Copyright 2013 SAP AG. All rights reserved.

No part of this publication may be reproduced or

transmitted in any form or for any purpose without the

express permission of SAP AG. The information contained

herein may be changed without prior notice.

Some software products marketed by SAP AG and its

distributors contain proprietary software components of

other software vendors.

Microsoft, Windows, Outlook, and PowerPoint are

registered trademarks of Microsoft Corporation.

IBM, DB2, DB2 Universal Database, OS/2, Parallel

Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390,

OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP,

Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix,

i5/OS, POWER, POWER5, OpenPower and PowerPC are

trademarks or registered trademarks of IBM Corporation.

Adobe, the Adobe logo, Acrobat, PostScript, and Reader

are either trademarks or registered trademarks of Adobe

Systems Incorporated in the United States and/or other

countries.

Oracle is a registered trademark of Oracle Corporation.

UNIX, X/Open, OSF/1, and Motif are registered

trademarks of the Open Group.

Citrix, ICA, Program Neighborhood, MetaFrame,

WinFrame, VideoFrame, and MultiWin are trademarks or

registered trademarks of Citrix Systems, Inc.

HTML, XML, XHTML and W3C are trademarks or

registered trademarks of W3C®, World Wide Web

Consortium, Massachusetts Institute of Technology.

Java is a registered trademark of Sun Microsystems, Inc.

JavaScript is a registered trademark of Sun Microsystems,

Inc., used under license for technology invented and

implemented by Netscape.

MaxDB is a trademark of MySQL AB, Sweden.

SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP

NetWeaver, and other SAP products and services

mentioned herein as well as their respective logos are

trademarks or registered trademarks of SAP AG in

Germany and in several other countries all over the world.

All other product and service names mentioned are the

trademarks of their respective companies. Data contained

in this document serves informational purposes only.

National product specifications may vary.

These materials are subject to change without notice.

These materials are provided by SAP AG and its affiliated

companies (SAP Group) for informational purposes only,

without representation or warranty of any kind, and SAP

Group shall not be liable for errors or omissions with

respect to the materials. The only warranties for SAP

Group products and services are those that are set forth in

the express warranty statements accompanying such

products and services, if any. Nothing herein should be

construed as constituting an additional warranty.

These materials are provided as is without a warranty of

any kind, either express or implied, including but not

limited to, the implied warranties of merchantability,

fitness for a particular purpose, or non-infringement.

SAP shall not be liable for damages of any kind including

without limitation direct, special, indirect, or consequential

damages that may result from the use of these materials.

SAP does not warrant the accuracy or completeness of the

information, text, graphics, links or other items contained

within these materials. SAP has no control over the

information that you may access through the use of hot

links contained in these materials and does not endorse

your use of third party web pages nor provide any warranty

whatsoever relating to third party web pages.

SAP NetWeaver How-to Guides are intended to simplify

the product implementation. While specific product

features and procedures typically are explained in a

practical business context, it is not implied that those

features and procedures are the only approach in solving a

specific business problem using SAP NetWeaver. Should

you wish to receive additional information, clarification or

support, refer to SAP Consulting.

Any software coding and/or code lines / strings (Code)

included in this documentation are only examples and are

not intended to be used in a productive system

environment. The Code is only intended better explain and

visualize the syntax and phrasing rules of certain coding.

SAP does not warrant the correctness and completeness of

the Code given herein, and SAP shall not be liable for

errors or damages caused by the usage of the Code, except

if such damages were caused by SAP intentionally or

grossly negligent.

Disclaimer

Some components of this product are based on Java™. Any

code change in these components may cause unpredictable

and severe malfunctions and is therefore expressively

prohibited, as is any decompilation of these components.

Any Java™ Source Code delivered with this product is only

to be used by SAP’s Support Services and may not be

modified or altered in any way.

Page 3: Main extending content in mdgm new

Document History

Document Version Description

1.00 First official release of this guide

Page 4: Main extending content in mdgm new

Typographic Conventions

Type Style Description

Example Text Words or characters quoted

from the screen. These

include field names, screen

titles, pushbuttons labels,

menu names, menu paths,

and menu options.

Cross-references to other

documentation

Example text Emphasized words or

phrases in body text, graphic

titles, and table titles

Example text File and directory names and

their paths, messages,

names of variables and

parameters, source text, and

names of installation,

upgrade and database tools.

Example text User entry texts. These are

words or characters that you

enter in the system exactly as

they appear in the

documentation.

<Example

text>

Variable user entry. Angle

brackets indicate that you

replace these words and

characters with appropriate

entries to make entries in the

system.

EXAMPLE TEXT Keys on the keyboard, for

example, F2 or ENTER.

Icons

Icon Description

Caution

Note or Important

Example

Recommendation or Tip

Page 5: Main extending content in mdgm new

Table of Contents

1. Business Scenario............................................................................................................... 5

2. Background Information ..................................................................................................... 6

2.1 Prerequisites for Using Master Data Governance ........................................................ 6

2.2 Data Model ................................................................................................................... 6

2.3 Reuse Area versus the Flexible Option / Access class ................................................ 6

2.4 Entity Relationship Model ............................................................................................. 8

2.5 UI Creation .................................................................................................................. 15

2.5.1 UI Configuration ............................................................................................. 16

2.5.2 UI BAdI ........................................................................................................... 18

2.6 UI Entry Point .............................................................................................................. 19

2.6.1 Portal .............................................................................................................. 19

2.6.2 SAP GUI......................................................................................................... 20

2.6.3 NetWeaver Business Client ........................................................................... 22

3. Extend by existing field .................................................................................................... 25

3.1 Data Model Requirements (Active Area) .................................................................... 26

3.1.1 Table Extensions ........................................................................................... 26

3.1.2 Structure Extensions ...................................................................................... 26

3.2 Data Model Requirements (Staging Area) ................................................................. 27

3.2.1 Data Model Extensions .................................................................................. 27

3.2.2 Generated Tables .......................................................................................... 31

3.2.3 Structure Extensions ...................................................................................... 33

3.3 SMT Mapping ............................................................................................................. 40

3.3.1 SMT Mapping ................................................................................................. 40

3.3.2 Mapping Customizing .................................................................................... 45

3.4 UI Model ..................................................................................................................... 47

3.4.1 Field Control ................................................................................................... 47

3.4.2 Field Control and Data Model ........................................................................ 51

3.4.3 UI Configuration ............................................................................................. 51

3.4.4 UI BAdI Implementation ................................................................................. 60

3.5 Print Forms ................................................................................................................. 68

3.6 Search ........................................................................................................................ 68

3.7 Data Quality ................................................................................................................ 69

3.7.1 Validation and Derivation ............................................................................... 69

3.7.2 BAdI Implementation ...................................................................................... 84

3.8 Process Model ............................................................................................................ 85

3.8.1 Workflow ........................................................................................................ 85

3.8.2 Workflow - BAdI Implementation ................................................................. 100

3.8.3 Adjustments to Change Request Customizing ............................................ 101

3.8.4 Process Model - BAdI Implementation ........................................................ 104

3.9 Initial Load ................................................................................................................ 105

Page 6: Main extending content in mdgm new

3.10 Data Replication ....................................................................................................... 105

3.10.1 Replication of Material ................................................................................. 105

3.10.2 Replication of Supplier or Business Partner ................................................ 105

3.10.3 BAdI Implementation .................................................................................... 105

3.11 Key/ Value Mapping ................................................................................................. 106

3.12 Test Run ................................................................................................................... 107

4. Extend by existing table ................................................................................................. 112

4.1 Data Model Requirements (Primary Persistence) .................................................... 114

4.1.1 Table Extensions ......................................................................................... 114

4.1.2 Structure Extensions .................................................................................... 114

4.2 Data Model Requirements (Staging) ........................................................................ 115

4.2.1 Data Model Extensions ................................................................................ 115

4.2.2 Generated Tables ........................................................................................ 123

4.2.3 Structure Extensions .................................................................................... 125

4.3 SMT Mapping ........................................................................................................... 130

4.3.1 SMT Mapping ............................................................................................... 130

4.3.2 Mapping Customizing .................................................................................. 137

4.4 UI Model ................................................................................................................... 141

4.4.1 Field Control ................................................................................................. 141

4.4.2 Field Control and Data Model ...................................................................... 142

4.4.3 UI configuration ............................................................................................ 145

4.4.4 UI BAdI Implementation ............................................................................... 153

4.5 Print Forms ............................................................................................................... 155

4.6 Search ...................................................................................................................... 155

4.7 Data Quality .............................................................................................................. 156

4.7.1 Validation and Derivation ............................................................................. 156

4.7.2 BAdI Implementation .................................................................................... 156

4.8 Process Model .......................................................................................................... 157

4.8.1 Workflow ...................................................................................................... 157

4.8.2 Workflow - BAdI Implementation ................................................................. 157

4.8.3 Change Request/ Customizing Adjustments ............................................... 157

4.8.4 Process Model - BAdI Implementation ........................................................ 157

4.9 Initial Load ................................................................................................................ 158

4.10 Data Replication ....................................................................................................... 158

4.10.1 Replication of Material Master Data ............................................................. 158

4.10.2 Replication of Supplier or Business Partner Master Data ........................... 158

4.10.3 BAdI Implementation .................................................................................... 158

4.11 Key/ Value Mapping ................................................................................................. 159

4.12 Test Run ................................................................................................................... 160

5. Extend by customer field of existing tables ................................................................. 170

5.1 Data Model Requirements (Primary Persistence) .................................................... 171

5.1.1 Table Extensions ......................................................................................... 171

5.1.2 Structure Extensions .................................................................................... 172

5.2 Data Model Requirements (Staging) ........................................................................ 175

5.2.1 Data Model Extensions ................................................................................ 175

Page 7: Main extending content in mdgm new

5.2.2 Generated Tables ........................................................................................ 178

5.2.3 Structure Extensions .................................................................................... 180

5.3 SMT Mapping ........................................................................................................... 188

5.3.1 SMT Mapping ............................................................................................... 188

5.3.2 Mapping Customizing .................................................................................. 192

5.4 UI Model ................................................................................................................... 193

5.4.1 Field Control ................................................................................................. 193

5.4.2 Field control and Data Model ....................................................................... 196

5.4.3 UI configuration ............................................................................................ 196

5.4.4 UI BAdI Implementation ............................................................................... 198

5.5 Print Forms ............................................................................................................... 199

5.6 Search ...................................................................................................................... 199

5.7 Data Quality .............................................................................................................. 200

5.7.1 Validation and Derivation ............................................................................. 200

5.7.2 BAdI Implementation .................................................................................... 200

5.8 Process Model .......................................................................................................... 201

5.8.1 Workflow ...................................................................................................... 201

5.8.2 Workflow - BAdI Implementation ................................................................. 201

5.8.3 Change Request/ Customizing Adjustments ............................................... 201

5.8.4 Process Model - BAdI Implementation ........................................................ 201

5.9 Initial Load ................................................................................................................ 202

5.10 Data Replication ....................................................................................................... 202

5.10.1 Replication of Material ................................................................................. 202

5.10.2 Replication of Supplier or Business Partner- ............................................... 202

5.10.3 BAdI Implementation .................................................................................... 202

5.11 Key Mapping and Value Mapping............................................................................. 203

6. Extend by customer table or entity type ....................................................................... 204

6.1 Data Model Requirements (Primary Persistence) .................................................... 205

6.1.1 Table Extensions ......................................................................................... 205

6.1.2 Structure Extensions .................................................................................... 205

6.2 Data Model Requirements (Staging) ........................................................................ 205

6.2.1 Data Model Extensions ................................................................................ 205

7. Create own data model with customer object Airline Partner .................................... 214

7.1 Data Model ............................................................................................................... 215

7.1.1 MDG Data Model - Details ........................................................................... 215

7.1.2 Example 1: Airline and Flights ..................................................................... 215

7.1.3 Example 2: Flight customers ....................................................................... 222

7.2 Data Modeling ........................................................................................................... 224

7.2.1 Create Data Model ....................................................................................... 224

7.2.2 Create Entity Types ..................................................................................... 224

7.2.3 Create relationships ..................................................................................... 227

7.2.4 Activate data model ..................................................................................... 229

7.2.5 Generate data model specific structures ..................................................... 230

7.3 Primary Persistence (PP) Access Class .................................................................. 231

7.3.1 Implementing the PP Access Class ............................................................. 231

Page 8: Main extending content in mdgm new

7.3.2 Create and assign a reuse area .................................................................. 232

7.4 UI configuration......................................................................................................... 234

7.4.1 Change request ........................................................................................... 234

7.4.2 Portal content ............................................................................................... 242

7.4.3 UI Business Add In ...................................................................................... 242

7.5 Process Modeling ..................................................................................................... 246

7.5.1 Process Modeling - Change Request .......................................................... 246

7.5.2 Process Modeling- Workflow ....................................................................... 247

7.6 Data Quality and Search: Validation and derivations based on BRFplus ................ 249

7.6.1 Check for Flights With a Customer Discount of 4% or Less ........................ 249

8. Appendix .......................................................................................................................... 261

8.1 PP Access for custom objects .................................................................................. 261

8.2 UI BAdI implementation ............................................................................................ 261

8.3 IDOC Enhancement ................................................................................................. 262

8.4 Useful links ............................................................................................................... 296

Page 9: Main extending content in mdgm new

1. Business Scenario

The main focus of this process is the governance of material master data in a Master Data

Governance (MDG) hub and the replication of the golden record to connected operational systems,

Business Intelligence (BI) systems, or both. You can use this business process to find, create, change,

and delete material master data.

The subprocesses are workflow-driven. The workflow enables collaboration between users who have

different roles in maintaining master data. It can include several approval and revision phases.

All changes to master data are documented in the system based on change requests. The system

documents changes to master data in the system. This makes governance more effective;

transparency is improved, quality master data is ready in time, and the costly creation of duplicate

records is avoided.

Preconfigured Data Models, UI configurations and workflows enable you to easily set up a governance

process involving several users.

This guide describes how to extend the preconfigured content of the Master Data Governance for

Material, using the model MM. The MDGM model MM is preconfigured with one reuse area called

MATERIAL. This reuse area points to the access class CL_MDG_BS_MAT_ACCESS, which can

handle most fields of the predelivered SAP ERP Material Master.

Note

You can use the described procedure for extending the MM data model as a general guideline for extending the Business Partner Model BP.

Page 10: Main extending content in mdgm new

2. Background Information

For all the described use cases, consider the following technical background of the solution proposed.

Prerequisites for Using Master Data Governance

2.1 Prerequisites for Using Master Data Governance

ERP 6.0 EhP5 (SAP_APPL 605)

2.2 Data Model

The preconfigured data model for the business object type Material is MM. You can define new

attributes for existing SAP entity types in the Model definition in Customizing for Master Data

Governance under General Settings > Data Modeling > Edit Data Model (view cluster VC_USMD001).

1. Navigate to the MM data model.

2. Drill down to the entity type for which you would like to add attributes.

3. Drill down to the attributes.

You can add attributes in customer namespaces YY* and ZZ*, in the same way as you do for

ABAP Dictionary enhancements.

4. Assign appropriate data elements as the data element controls default field labels in the UI as

well as value helps and documentation.

Do not duplicate the same data element.

5. Activate the data model.

2.3 Reuse Area versus the Flexible Option / Access

class

You can assign a reuse active area to a data model or to individual entity types within a data model. In

both cases, the master data is actively saved in the database tables specified in the reuse active area.

Page 11: Main extending content in mdgm new

You can define the reuse area on data model level or on entity type level.

To define the reuse area on data model level, complete the following steps:

1. Open Customizing for Master Data Governance under General Settings -> Data Modeling ->

Edit Data Model.

2. Open the Reuse Active Area sub view.

To define a reuse area for an entity type, complete the following steps:

1. Open Customizing for Master Data Governance under General Settings -> Data Modeling ->

Edit Data Model.

2. Open the Entity Type sub view.

3. Choose a Reuse Active Area in the Reuse Area field. Use entry help if necessary.

Page 12: Main extending content in mdgm new

Important

To ensure records are kept in generated tables, select the reuse area MDG the records are kept in the generated tables.

2.4 Entity Relationship Model

The Data Model is based on an entity relationship model. The screenshot below shows the available

storage /use types:

Page 13: Main extending content in mdgm new

The entity Types are linked using relationships.

Field Name

If the relationship type is Leading or Qualifying, the syntax used to derive a field name is as follows:

/1MD/<Data Model><Entity Type>.

Entity type:

Relationships:

Generated Table:

Page 14: Main extending content in mdgm new

Field Name

If the relationship type is Referencing, the syntax used to derive a field name is as follows:

/1MD/<Data Model><Relationship Name>.

Entity type:

Page 15: Main extending content in mdgm new

Relationships

Generated Table:

Page 16: Main extending content in mdgm new

Relationships:

Generated Table:

Page 17: Main extending content in mdgm new

After you define an entity type and its corresponding data element, and define a relationship involving

that entity type, you can generate a data model. The data element name for each field is derived from

the to-entity type.

Page 18: Main extending content in mdgm new

Relationship Type

Relationship Types are defined in the table below.

Relationship Type Definition

Referencing Specifies the From-Entity type as an attribute of the To-Entity type.

Leading Specifies the From-Entity type on a higher level than the To-Entity type.

The From-Entity type is automatically taken as the key in the generated

tables. A Leading relationship type is identical to a Qualifying relationship

type, except when the To-Entity type has a Storage and Use Type of 4.

Master data for To-Entity types in Leading relationships is processed in the

context of the entity type that is assigned using the leading relationship.

Qualifying Specifies the From-Entity type on a higher level than the To-Entity type.

The From-Entity type is automatically taken as the key in the generated

tables.

Cardinality

The following options are possible for the relationship between two entity types:

1:N

This cardinality represents a mandatory relationship in which one or more To-Entity Types can be assigned to a From-Entity Type.

This cardinality is valid for relationships with the relationship types Leading, Qualifying, and Referencing. In relationships with the relationship type Referencing, the From-Entity Type is a required attribute of the To-Entity Type.

0:N

This cardinality represents an optional relationship in which any number To-Entity Types can be assigned to a From-Entity Type.

This cardinality is valid only for relationships with the relationship type Referencing. The From-Entity Type is an optional attribute of the To-Entity Type.

Page 19: Main extending content in mdgm new

Important

The general design assumption is that there is a 1:N relationship between a database table and its entity types. This means one entity type does not bundle several database tables.

Example:

- The MARA database table can be replicated on several entity types

- Database tables MARC and MPOP must not be bundled in one entity type

2.5 UI Creation

The UI is be configured with the Floorplan Manager. The Floorplan Manager (FPM) is a Web Dynpro

ABAP application that provides a framework for developing new Web Dynpro ABAP application

interfaces consistent with SAP UI guidelines.

An FPM application is composed of a number of different Web Dynpro components (most of which are

instantiated dynamically at runtime). However, the following two components are always present:

A floorplan-specific component (FPM_GAF_COMPONENT or FPM_OIF_COMPONENT)

A component for the Header Area (FPM_IDR_COMPONENT)

In simple terms, the configuration of an FPM application is the configuration of these two components.

Page 20: Main extending content in mdgm new

The following graphics show the schematic structure of a Floorplan Manager application:

2.5.1 UI Configuration

You can either extend the SAP configuration with &SAP_CONFIG or copy the SAP configuration and choose Edit Configuration.

Note: It is client specific to extend the existing UI configuration using &SAP_CONFIG. The advantage of this method is that no new UI BAdI implementation is necessary.

In this Customizing activity, you manage UI configurations, which the system uses for the following

purposes:

Definition of the Web user interface for individual processing of an entity type (Web Dynpro application

USMD_ENTITY TYPE_VALUE2)

Use in the Web user interface for creating and processing a change request.

You can create and edit different UI configurations for each data model.

Page 21: Main extending content in mdgm new

Note

Currently, it is not possible in Customizing to edit the MDG_MM_APP_BS_MAT_GEN UI configuration.

Follow these steps:

Run transaction SE80 and select package MDG_BS_MAT_MODEL_GEN

Double-click Application Configuration MDG_MM_APP_BS_MAT_GEN.

Click

Add the following parameter to the end of the URL: SAP-CONFIG-MODE=X:

Page 22: Main extending content in mdgm new

… &sap-wd-configId=MDG_MM_APP_BS_MAT_GEN&SAP-CONFIG-MODE=X

Click the Adapt Configuration link.

2.5.2 UI BAdI

2.5.2.1 Provide completely new BAdI implementation

2.5.2.2 Copy existing MDGM UI BAdI implementation class

2.5.2.3 New UI BAdI implementation, inheriting from existing MDGM UI BAdI implementation class

You can also use the UI BAdI and inherit from the class CL_MDG_BS_MAT_UI_BADI.

Note: If you only want to extend the UI BAdI implementation of a method (instead of replacing

the UI BAdI), you should always call the corresponding super method IF_EX_USMD_UI_EVENT2:

MODIFY_DEFINITION.

When using this UI BAdI provided by SAP you own less coding and SAP corrections are applied

automatically. Advisable if you just want to extend the behavior of the UI BAdI implementation, not

completely replace it.

Page 23: Main extending content in mdgm new

2.6 UI Entry Point

The following UI options exist for accessing preconfigured content in MDG:

Portal

SAP GUI

NetWeaver business client

2.6.1 Portal

To extend preconfigured content in Master Data Governance for material, you must assign the

following portal roles to your user:

Senior Master Data Manager

Material Master Data Manager

The assigned portal roles contain the following preconfigured iViews.

The control parameters required to extend preconfigured content in Master Data Governance for

Material are as follows:

Application Parameters

The PROCESS parameter equals the Business Activity maintained in the Customizing.

Page 24: Main extending content in mdgm new

The System parameter represents the system used in your environment.

The Change Material screen is shown below.

2.6.2 SAP GUI

Page 25: Main extending content in mdgm new

You assign the following roles to the business client:

SAP_MDGM

SAP_MDGS

Page 26: Main extending content in mdgm new

2.6.3 NetWeaver Business Client

You assign the following roles to the NetWeaver business client:

SAP_MDGM

SAP_MDGS

Page 27: Main extending content in mdgm new
Page 28: Main extending content in mdgm new
Page 29: Main extending content in mdgm new

3. Extend by existing field

In this example, the MM data model is extended by the following attributes belonging to the existing

entity type MATERIAL:

ZZFORMT

ZZMSTAE

These attributes correspond to the fields FORMT and MSTAE of data base table MARA and also display

in the UI.

The model is extended by the new attributes, all structures are generated, and the (old) application

configuration is available (together with its dependent objects).

Page 30: Main extending content in mdgm new

3.1 Data Model Requirements (Active Area)

3.1.1 Table Extensions

The two attributes already correspond to the fields FORMT and MSTAE of data base table MARA.

3.1.2 Structure Extensions

The Service Mapping Tool is a program that it is used in ABAP to fill a target structure with a set of

source structures. The target structures that fill the MARA database table are as follows:

MDG_BS_MAT_S_MARA

MDG_BS_MAT_S_MARA_UI

MDG_BS_MAT_S_MARA_X

Note

Several source structures that used in the Service Mapping Tool (SMT) are already delivered. These have to be extended depending on the use case.

Page 31: Main extending content in mdgm new

3.2 Data Model Requirements (Staging Area)

3.2.1 Data Model Extensions

In the Edit Data Model Customizing activity, you define and activate a data model to map master data

in the system, along with its properties and relationships. The system uses this data model to generate

database tables in which the master data can be stored.

Page 32: Main extending content in mdgm new
Page 33: Main extending content in mdgm new

3.2.1.1 Entity Types

Note

The maintenance of the Data Model is cross client.

1. Select the MM data model and navigate to the entity type for which you would like to add

attributes, in this case Material.

Page 34: Main extending content in mdgm new

2. Double click Attributes in the dialog structure

3. Add new attributes corresponding to the MARA fields.

Page 35: Main extending content in mdgm new

Ensure that the customer extension fields consider the customer namespace for DDIC fields. The

customer namespace for fields is YY and ZZ.

3.2.1.2 Relationships

The relationships do not have to be changed for this scenario.

3.2.2 Generated Tables

Activate the extended data model. After the activation the new fields are added to the generated

tables.

Note

If you use your own ABAP Dictionary objects (data elements, domains, check tables) in your data model and you changed their properties after the data model was activated refer to Note 1552474.

You can optionally check the generated tables using the USMD_DATA_MODEL report.

Page 36: Main extending content in mdgm new

The tables of the MM data model display as follows before activation.

Page 37: Main extending content in mdgm new

The tables of the MM data model display as follows after activation.

3.2.3 Structure Extensions

In the Generate Data Model Specific Structures Customizing activity, for each data model and entity

type you generate the following technical structures in the ABAP Dictionary.

Structures for PDF-based Forms

Structures for the Service Mapping tool (SMT)

Structures for mapping between active area and staging area

Structures for Enterprise Search

Structures for Field Control

The system uses these structures internally for implementing the reuse active area.

Note

In general if you change a data model (for example, if you change attributes of entity types or relationships), you need to regenerate the structures.

Important

The data model MM delivered by SAP already includes the corresponding structures. Their namespace is the SAP namespace /MDGMM/. These structures contain a Customizing include. If you change the data model at a later date, you might need to adjust the structures by means of these customer includes. The reason for the manual

Page 38: Main extending content in mdgm new

adjustment is that delivered structures in namespace /MDG* are not generated as these structures are already delivered by SAP as fixed.

Page 39: Main extending content in mdgm new

3.2.3.1 Maintain Customer Includes (Structures in Namespace /MDG*)

Call Transaction SE11 and create the customer include for the following structures.

The structures are arranged by application usage.

The customer includes are as follows:

CI_MDG_S_PMM_MATERIAL

Page 40: Main extending content in mdgm new

CI_MDG_S_MM_MATERIAL

CI_MDG_SD_MM_MATERIAL

CI_MDG_S_EMM_MATERIAL

Add the components in each include and activate.

Note

With SAP note 1460857 the customer includes are updated automatically.

Page 41: Main extending content in mdgm new
Page 42: Main extending content in mdgm new
Page 43: Main extending content in mdgm new

3.2.3.2 Generate structures (structures in customer namespace)

Not applicable to this scenario.

Page 44: Main extending content in mdgm new

3.3 SMT Mapping

3.3.1 SMT Mapping

You extend mappings by creating new transformations (complex transformations, field mappings) and

field checks for them or by editing them. Here you work cross-client.

Important

When the maps are saved the system generates the corresponding coding. You must ensure all relevant structures are already maintained.

Create the package Z_MATERIAL_EXTENSION.

Extend the mapping step MDG_BS_MAT_MATERIAL in the following Mappings:

MDG_BS_MAT_MAP_2PP

MDG_BS_MAT_MAP_2FC

MDG_BS_MAT_MAP_2STA

Open MDG_BS_MAT_MAP_2PP, select Mapping Step MDG_BS_MAT_MATERIAL and click Details.

Page 45: Main extending content in mdgm new

Select your package

In the Transformations tab page, add a new Transformation of Type Field Mapping.

Page 46: Main extending content in mdgm new
Page 47: Main extending content in mdgm new

Note

Map the two new attributes.

Page 48: Main extending content in mdgm new

Extend the corresponding Mapping Steps in the Mappings MDG_BS_MAT_MAP_2FC and

MDG_BS_MAT_MAP_2STA.

You can define the maintenance status in Customizing. The control fields are VPSTA and PSTAT.

If you define a field as mandatory in Customizing for Material Master under Field Selection -> Maintain

Field Selection for Data Sources you must perform one of the following actions:

Define the field as mandatory in the data model

Set a fixed value for the field using a Transformation Type of Field Mapping

Implement a Transformation Type of Complex Transformation for the field

This allows you to implement your own logic.

Page 49: Main extending content in mdgm new

After you have created the mapping in SMT you should return to the IMG and perform the IMG activity

Check Customizing to ensure consistency of the changes.

3.3.2 Mapping Customizing

For each Entity Type you must assign an appropriate Where Used setting and an SMT mapping from

active area setting.

In this use case, you can keep the standard settings because neither the Mapping ID nor the Entity

Type was changed.

Page 50: Main extending content in mdgm new
Page 51: Main extending content in mdgm new

3.4 UI Model

The new attributes should also be considered in the UI.

3.4.1 Field Control

By default, the UI uses a BAdI implementation to evaluate the field control settings made in the

Customizing.

In the Field Selection section of Customizing for Material Master, you define whether a field is hidden

or displayed, or whether an entry is mandatory or optional. This involves assigning the field to a field

selection group and then maintaining field selections for data screens.

Important

The definition has to exist for all fields that are used in the data model. Otherwise the field is hidden from the UI by default.

Page 52: Main extending content in mdgm new
Page 53: Main extending content in mdgm new
Page 54: Main extending content in mdgm new
Page 55: Main extending content in mdgm new

3.4.2 Field Control and Data Model

Not applicable to this scenario.

3.4.3 UI Configuration

For demo purposes we copy the standard UI configuration and extend it. Select the Customizing

activity Edit UI Configuration.

Select the existing UI Configuration MDG_MM_APP_BS_MAT_GEN for Data Model MM and create a

copy.

Page 56: Main extending content in mdgm new
Page 57: Main extending content in mdgm new

Enter new values for the Target Configuration IDs.

Click Start Deep Copy.

In the Manage UI Configuration screen, click Edit and make the required changes.

Page 58: Main extending content in mdgm new

The attribute we want to add belongs to the entity type Material and the attributes of this entity type

are shown in the General Data tab.

Page 59: Main extending content in mdgm new

Click Configure UIBB.

In this example, you want to show the new attributes in an extra group of the General Data tab page

called Extensions.

To create the extra group, click Add Group. A new group displays in the hierarchy (Group (4)).

Note

To display the field in an already existing group, skip this step and click the existing group.

Page 60: Main extending content in mdgm new

Click the Group you created. At the bottom of the right screen you can see the attributes of the group.

In the Text field, type Extension.

Page 61: Main extending content in mdgm new

The new group is marked (otherwise mark it again).

Click Add Melting Group.

Click Configure Melting Group.

In the Configure Melting Group dialog box, move the new fields from Available Fields to Displayed

Fields and click OK.

Page 62: Main extending content in mdgm new

A new screen opens. At the bottom of this screen, the attributes of the newly added elements of the

melting group display.

Assign the action USMD_ENTER (Event for Entry Key) to the newly added attributes.

This action triggers a roundtrip. The information is transported to the staging area, checks are

performed, and events can be triggered.

Page 63: Main extending content in mdgm new

Click save. The UI configuration is complete.

Page 64: Main extending content in mdgm new

3.4.4 UI BAdI Implementation

The UI BAdI contains already logic that is implemented for the user interface for individual processing

of an entity type. It is used for example to control the visibility of fields on the user interface and to set

the property that determines if fields are required or display-only.

3.4.4.1 Field Control

As mentioned before, the UI is copied for demonstration purposes. Consequently, the UI BAdI has to

be copied as well. Then the filter has to be changed to the new UI configuration ID.

We now create the UI BAdI implementation ZMDG_BS_MAT_GEN by copying the old one

MDG_BS_MAT_GEN:

Run transaction SE80, and in package MDG_BS_MAT_MODEL_GEN and copy the implementation.

Select enhancement implementation MDG_BS_MAT_GEN, right-click it, and click Copy.

Page 65: Main extending content in mdgm new

Maintain the name of the new implementation and the package (if not exists) and save.

We also create a new Class for our UI- implementation by copying the old one

CL_MDG_BS_MAT_UI_BADI:

In package MDG_BS_MAT_MODEL_GEN select class CL_MDG_BS_MAT_UI_BADI, right-click it,

and click Copy.

Page 66: Main extending content in mdgm new

Maintain the name of the new class and the package (if not exists) and click Save.

Switch to your package.

Page 67: Main extending content in mdgm new

Now we have to make some changes in the BAdI implementation and its implementing class:

1. Double click the enhancement implementation ZMDG_BS_MAT_GEN,

2. In the right part of the screen, select the implemented class and switch to change mode.

3. In the field Implementing Class, change the value from CL_MDG_BS_MAT_UI_BADI to

Z_CL_MDG_BS_MAT_UI_BADI.

Page 68: Main extending content in mdgm new

Click , and update the value as shown in the screenshot:

Double click the newly generated implementing class. In the Attributes tab page, update the value of

the attribute GC_USUAL_UI_CONFIG from MDG_MM_APP_BS_MAT_GEN to

Z_MDG_MM_APP_BS_MAT_GEN_CP_1. Then activate the class.

3.4.4.2 UI Adjustment

In addition to using delivered UI logic, you can use Business Add Ins (BAdIs) to change your user

interface for individual processing of an entity type. You have options for making changes in the

following areas:

Adjust the definition of attributes or add new attributes

Page 69: Main extending content in mdgm new

Initialize the displayed data (when creating a new entity type, for example)

Restrict the values displayed in a dropdown list field or selection field group

Restrict the values displayed in the input help

Dynamically control the visibility of fields on the user interface and of the property that

determines if fields are required or display-only

Define navigation destinations of UI elements of the type hyperlink (or pushbutton)

Check if the lead selection of a table may be changed

Note

To apply the following examples, you must implement a user interface BAdI.

If you want to use fields or set default values that do not exist in the data model but that are instead

calculated, derived, or defaulted on the UI, you must implement a User Interface BAdI (Business Add

In).

One use case is adding a derived field to the screen below that shows the difference between gross

weight and net weight.

Note

The screenshot does not show any new field.

Another use case is setting default values for EAN (International Article Number).

Page 70: Main extending content in mdgm new

In the General Data tab page, you can implement a new column (for example, BaseUOM)

In the Units of Measure tab page, you can implement behavior for new buttons. For example, you can

implement the Delete Row(s) button to ensure the first row cannot be deleted.

You can perform the following actions related to field control:

Implement your own field control settings

Page 71: Main extending content in mdgm new

Adjust settings made in Customizing for field control. For more information, see the chapter on

Field Control.

Implement BAdI_MAT_F_SPEC_SEL from the backend.

You can also implement your own UI configuration.

Page 72: Main extending content in mdgm new

3.5 Print Forms

Not covered in this version of the guide.

3.6 Search

Not covered in this version of the guide.

Page 73: Main extending content in mdgm new

3.7 Data Quality

3.7.1 Validation and Derivation

In this Customizing activity you define the validations and derivations for a data model. Validations

ensure that the master data is consistent. You use derivations to calculate values for resolved

attributes from other resolved attributes, thereby simplifying data entry.

4. Select the data model.

Page 74: Main extending content in mdgm new

3.7.1.1 Derivation

We now create a derivation for the new attribute ZZMSTAE. The system sets a default value of 02.

1. In the Catalog view of the Catalog Browser, right-click the Derivation node and choose Create

Object Node -> Create Function as shown in the screenshot below.

Page 75: Main extending content in mdgm new

2. In the Node DERIVE_MATERIAL_ZZMS dialog box, name the node using the following

notation: DERIVE_<ENTITY TYPE>

Page 76: Main extending content in mdgm new

3. In the Properties tab page, under Mode, select Event Mode.

4. In the Signature tab page, choose Add Existing Data Object to add the data object you want to

create the derivation for, in this case, MATERIAL.

Page 77: Main extending content in mdgm new
Page 78: Main extending content in mdgm new

5. In the Assigned Rulesets tab page, click Create Ruleset. You can assign several rules to a

ruleset.

Page 79: Main extending content in mdgm new

6. To insert a rule to the ruleset, under Rules¸ choose Insert Rule -> Create.

Page 80: Main extending content in mdgm new
Page 81: Main extending content in mdgm new

7. Enable the rule and the ruleset.

The result is shown in the screenshot below.

Page 82: Main extending content in mdgm new

3.7.1.2 Check

We now create a check function for the new attribute ZZFORMT. If the Material Type is not initial, you

must maintain the ZZFORMT attribute. A warning message should make the user aware of this.

1. In transaction SE91, create a new message class and a new message.

2. Switch to the Customizing of derivations, go to check entity type, and select create function.

Page 83: Main extending content in mdgm new

3. In the Node CHECK_MATERIAL dialog box, give the node a Name, making sure you use the

following notation: CHECK_<ENTITY TYPE>

4. In the Properties tab page, under Mode, select Event Mode..

Page 84: Main extending content in mdgm new

5. In the Signature tab page, add the data object you want to create the check function for.

6. In the Assigned Rulesets tab page, create a ruleset. Several rules can be assigned to one

ruleset.

Page 85: Main extending content in mdgm new

7. Click Create. Insert a rule to the ruleset called CHECK_FORMT.

8. To create the message, choose Perform Action -> Create.

Page 86: Main extending content in mdgm new

9. Click Use Predefined Message and follow the steps shown in the screenshots below.

Page 87: Main extending content in mdgm new

10. The following predefined message shows when a user attempts to create a material that is

configured to have a Material Type, and no Page Format is maintained.

Page 88: Main extending content in mdgm new

3.7.2 BAdI Implementation

You can use this BAdI to create customer-specific checks on entities, change requests, and editions.

You also can use this BAdI to define that certain field values are to be derived from the values of other

fields in the master data:

Page 89: Main extending content in mdgm new

3.8 Process Model

3.8.1 Workflow

The standard workflow template used by Master Data Governance for material is WS60800086, which

is delivered and activated. MDG for material uses advanced workflow capabilities by combining the

SAP Business Workflow with the SAP Business Rule Framework plus (BRFplus).

In the following Customizing activity you define the rules for the rule-based workflow.

Page 90: Main extending content in mdgm new

For each change request type, you can provide separate settings.

SAP delivers Business Rule Framework plus (BRFplus) decision tables as example content for each

change request type. As a customer, this SAP-proposed content is imported into client 000 of your

system. To use the content, you export the decision tables from client 000 to an Excel and in your

Page 91: Main extending content in mdgm new

system, you import the content from this excel. The decision tables in your system are then filled with

this example content. It is also still possible to define the decision tables manually.

The values with white background color are conditions, and with green background color are results.

This decision table is evaluated line by line from top to bottom. The CR Previous Step and the

Previous Action determine the next step, the new status and other attributes. In the case of a complex

workflow scenario, for example, if there are special functions required in the workflow, you must also

have defined the service names for the BAdI implementations that are to be used.

The first result column Condition Alias is the link from this table to the other two decision tables to find

the agents.

The only condition is Condition Alias. For a condition alias, you can define one or more user agent

groups.

Page 92: Main extending content in mdgm new

Example

An example of a workflow is shown in the graphic below.

Example decision tables are shown in the graphic below.

Page 93: Main extending content in mdgm new

3.8.1.1 Extend Rules Based Workflow

You can find details regarding extending the Rule Based Workflow.

How to-Master Data Governance for Material: BADI

USMD_SSW_DYNAMIC_AGENT_SELECT for More Flexible User Determination

How to-Master Data Governance for Material: Set up Parallel Workflow Tasks with BRF+

Note

To ensure the master data object is activated at the end of a workflow the change request status must be set to status 05 or 06.

3.8.1.2 Extend Simple Workflow

For demo purposes a new simple workflow WS90900008 with several steps was created without using

the Business Rule Framework plus (BRFplus) decision tables. The agent determination is handled

differently.

Page 94: Main extending content in mdgm new

3.8.1.2.1 Create Simple Workflow

You introduce a dedicated step to check the new attributes.

Page 95: Main extending content in mdgm new
Page 96: Main extending content in mdgm new

You create a new status Extension Fields to be evaluated as shown in the screenshots below:

Page 97: Main extending content in mdgm new

In this activity you define which statuses the change requests can have and which processing options

are enabled for each of those statuses.

The standard delivery contains the following statuses:

To be evaluated

To be considered and approved

Changes to be executed

To be revised

Final check to be performed

Final check approved

Final check rejected

Page 98: Main extending content in mdgm new

Note

You must adjust the APPStep numbers in your workflow accordingly.

Page 99: Main extending content in mdgm new

Note

You can analyze a workflow in transaction SWI6.

Page 100: Main extending content in mdgm new

3.8.1.2.1 Define Workflow Step Numbers

In the Define Workflow Step Numbers Customizing activity you create the workflow step numbers for

your workflow and enter a short description for them.

For example, to be able to assign different workflow processors at different places to a workflow task

that occurs several times in the workflow, you need your own workflow step number for each of these

dialog steps (of the workflow tasks). The workflow step numbers you created are then available when

you assign the workflow step number and processor.

Page 101: Main extending content in mdgm new
Page 102: Main extending content in mdgm new

Before you can start the workflow, you must activate the type linkage.

Page 103: Main extending content in mdgm new

Add an entry for business object type BUS2250 and set the Type linkage active indicator.

Page 104: Main extending content in mdgm new

3.8.1.2.1 Assign Processor to Workflow Step Number (Simple

Workflow)

In the Assign Processor to Workflow Step Number Customizing activity, you assign processors to the

individual workflow step numbers for each type of change request. This determines which tasks the

processors need to perform.

3.8.2 Workflow - BAdI Implementation

You can implement the BAdIs in the screenshot below for the rule-based workflow.

BAdI: Rule Context Preparation for Rule-Based Workflow

You can use this BAdI to implement preparation of the Business Rule Framework plus (BRF+) rule

context in the rule-based workflow.

BAdI: Calling of System Method for Rule-Based Workflow

You can use this BAdI to implement the calling of a system method in the rule-based workflow.

BAdI: Dynamic Selection of Agent in Rule-Based Workflow

You can use this BAdI to implement dynamic agent selection in the rule-based workflow. Therefore in

addition to rules that have been predefined, with this BAdI you can change agent values in the

workflow by creating your own programs.

BAdI: Handling of Parallel Results in Rule-Based Workflow

You can use this BAdI to implement the result of a parallel workflow merge in the rule-based workflow.

Page 105: Main extending content in mdgm new

BAdI: Assign Processor to Workflow Step

You can use this BAdI to define rules according to which a processor is allocated to the individual

workflow steps for the processing of a change request

3.8.3 Adjustments to Change Request Customizing

In this Customizing activity you define the following properties, which are valid for all change requests

with the same type:

The data model in which a change request is to be valid

When creating the change request, whether the user needs to specify which entities should be

processed with the change request (first-time definition of the object list)

Note

The status of the change request controls which workflow steps can be used for processing the object list.

Whether only a single entity type can be changed with the change request (single object) and

which entity type is the main entity type of the change request in that case

Which workflow template should be used when editing the change request

Which entity types can be changed with the change request

If you set the Single Object indicator, then entity types that you enter in addition to the main

entity type are changed with the change request of the main entity type.

Page 106: Main extending content in mdgm new
Page 107: Main extending content in mdgm new

These settings have to be adjusted for the following reasons:

A new workflow is used

A new UI configuration is used

Note

If a change request for a change request type already exists, the UI configuration field is grayed out.

Page 108: Main extending content in mdgm new

3.8.4 Process Model - BAdI Implementation

For the process modeling there is one BAdI available:

BAdI: Customize User Interface for Change Requests

You can use this BAdI to change the user interface of applications for creating and editing a change

request. You can customize the user interface as follows:

Page 109: Main extending content in mdgm new

3.9 Initial Load

The initial load of records to MDG considering an extended Data Model is not covered in this guide.

3.10 Data Replication

3.10.1 Replication of Material

For MDG for material, ALE communication is used exclusively to replicate data from the MDG hub to

target systems and clients. This minimizes the effort for the customers in upgrading the connected

systems.

For more information on the replication of Material (especially in target systems) using ALE, see

Customizing under Application Server IDoc Interface / Application Link Enabling (ALE) SAP

Business Workflow.

3.10.2 Replication of Supplier or Business Partner

Not covered in this version of the guide.

3.10.3 BAdI Implementation

The following BAdIs are used in the Data Replication Framework (CA-MDP-DRF) component.

BAdI: Definition of Language-Dependent Texts

You use this BAdI to change the default system behavior for transferring texts in various languages.

For example, you can use the BAdI to include a text in the messages for non-optional elements. The

text can be written in another available language or it can function as a replacement text. This text

ensures that the system is able to send the message.

BAdI: Prepare Data for Download File

You can use this BAdI to prepare the file for downloading data from the Master Data Governance hub.

BAdI: Prepare Upload Data

This Business Add-In (BAdI) is used for uploading master data, language-dependent texts, and

hierarchies to the Master Data Governance hub.

BAdI: Creation of MDG Change Pointers from ALE Change Pointer

You can use this BAdI to create Master Data Governance change pointers from ALE change pointers

for selected message types.

Page 110: Main extending content in mdgm new

3.11 Key/ Value Mapping

If required, mapping can be defined for elements for example, UoM, industry sector, material type and

others. The elements for possible value mapping are predelivered.

If you are working with multiple connected systems and did not consolidate the material keys during

the initial load phase, key mapping may be required.

Not applicable to this scenario.

Page 111: Main extending content in mdgm new

3.12 Test Run

Page 112: Main extending content in mdgm new
Page 113: Main extending content in mdgm new
Page 114: Main extending content in mdgm new
Page 115: Main extending content in mdgm new
Page 116: Main extending content in mdgm new

4. Extend by existing table

Note

The node extensibility (entity type), which is introduced in the following sections covers all segments and fields that are contained in data dictionary structure MDG_BS_MAT_S_MAT_DATA. It does not, however, address additionally accessible tables of the Material Master such as the Production Versions of Material (MKAL), the Inspection Type (QMAT), MRP Area for Material (MDMA) or Production Resource Tool Fields in the Material Master (MFHM).

In this example, we extend the (Type1) entity type MATERIAL to include the entity type ZZMARC.

ZZMARC includes the following attributes:

LVORM

XCHAR

DISMM

DISPO

DISLS

Page 117: Main extending content in mdgm new

The entity type and the attributes correspond to fields of table MARC. They should also be displayed in

the UI.

Page 118: Main extending content in mdgm new

4.1 Data Model Requirements (Primary Persistence)

4.1.1 Table Extensions

The new attributes already correspond to the fields of data base table MARC.

4.1.2 Structure Extensions

The Service Mapping Tool is a program that it is used in ABAP to fill a target structure with a set of

source structures. The structures that are relevant for the target structure of the primary persistence

(MARC) are:

MDG_BS_MAT_S_MARC

MDG_BS_MAT_S_MARC_UI

MDG_BS_MAT_S_MARC_X

The new attributes shown above already correspond to the fields of these structures.

Note

There several structures that are relevant for mapping of the primary persistence and are already delivered. These have to be extended depended on the use case.

Page 119: Main extending content in mdgm new

4.2 Data Model Requirements (Staging)

4.2.1 Data Model Extensions

In this Customizing activity, you define and activate a data model to map master data in the system,

along with its properties and relationships. The system uses this data model to generate database

tables in which the master data can be stored.

Page 120: Main extending content in mdgm new
Page 121: Main extending content in mdgm new

4.2.1.1 Entity types

Note

The maintenance of the Data Model is cross client.

Select the MM data model and add the new entities and attributes as shown in the screenshots.

The details of Entity Type ZZMARC are shown in the screenshot below.

Page 122: Main extending content in mdgm new

Attributes of Entity Type ZZMARC are shown in the screenshot below.

We recommend you only assign a Search Help to a Data Element in exceptional circumstances. If you

do this, the input help executes the search help instead of reading the data in the check table or the

fixed values of data element’s domain.

The following entities are needed to define the key fields via creating relationships.

Details for Entity Type ZZT438A are shown in the screenshot below.

Page 123: Main extending content in mdgm new

Details for Entity Type ZZT024D are shown in the screenshot below.

Page 124: Main extending content in mdgm new

Details for Entity Type ZZT001W are shown in the screenshot below.

Page 125: Main extending content in mdgm new

Ensure that the customer extension fields consider the customer namespace for DDIC fields. The

customer namespace for fields is YY and ZZ.

Ensure that the customer extensions entities consider the customer namespace for DDIC structures.

The customer namespace for structures is Y and Z.

4.2.1.2 Relationships

Create the relationships as shown in the screenshot below.

Page 126: Main extending content in mdgm new
Page 127: Main extending content in mdgm new

4.2.2 Generated Tables

Activate the extended data model.

Note

If you use your own ABAP Dictionary objects (data elements, domains, check tables) in your data model and you changed their properties after the data model was activated refer to Note 1552474.

After the activation, the system creates a new table for the entity type ZZMARC.

Page 128: Main extending content in mdgm new

The screenshot below shows the generated tables before activation.

The screenshot below shows the generated tables after activation.

Page 129: Main extending content in mdgm new

Note that the system created the following fields only (ZBATCH, ZLVORM, and ZZDISLS) because

they are maintained as attributes of entity type ZZMARC.

The system creates the other fields based on the defined relationships.

4.2.3 Structure Extensions

In this Customizing activity, for each data model and entity type you generate the following technical

structures in the ABAP Dictionary.

Page 130: Main extending content in mdgm new

Structures for PDF-based Forms

Structures for the Service Mapping tool (SMT)

Structures for mapping between active area and staging area

Structures for Enterprise Search

Structures for Field Control

The system uses these structures internally for implementing the reuse active area.

Note

In general if you change a data model (for example, if you change attributes of entity types or relationships), you need to regenerate the structures.

Page 131: Main extending content in mdgm new

4.2.3.1 Maintain customer includes (structures in namespace /MDG*)

Not applicable to this scenario.

4.2.3.2 Generate structures (structures in customer namespace)

Create new structures for entity type ZZMARC.

When you save your work, the structures are generated automatically and assigned a status of New.

Page 132: Main extending content in mdgm new

Return to the screen in which you created the structures. Click Generate Structures. This activates the

structure.

Page 133: Main extending content in mdgm new
Page 134: Main extending content in mdgm new

4.3 SMT Mapping

4.3.1 SMT Mapping

You extend mappings by creating new transformations (complex transformations, field mappings) and

field checks for them or by editing them. Here you work cross-client.

Important

When the mappings are saved the corresponding coding is generated. Make sure that all relevant structures are ready before you start.

Create three new mapping steps similar to the mappings for the Material entity type as shown

below. Note that PP represents Primary Persistence and FC represents Field Control.

The mapping step MAP MM Model from PP to FC is shown below.

Page 135: Main extending content in mdgm new

The mapping step MAP MM Model from Staging Area to PP is shown below.

The mapping step MM Model from PP to Staging Area is shown below

MAP MM Model from Staging Area to PP

1. In the Display Mapping screen, choose Mapping -> New

Page 136: Main extending content in mdgm new

2. Define a mapping step. Its source structure is the generated data-model-specific structure. Its

target structure is the API structure.

3. For the Mapping from staging area to active area you have to define a change structure. This is

technically relevant for handling initial values. For the mapping step, insert the name of the

Change Structure (X-Structure) from the Material API

4. Define the change structure keys. Select the mapping step and choose Change Structure Keys.

When the dialog box is displayed, choose Add.

Page 137: Main extending content in mdgm new

5. Enter the key fields of the change structure.

Page 138: Main extending content in mdgm new

6. Choose Close to leave the dialog box. The Change structure Keys Exist setting is selected for

this step.

7. Continue to define the details of the mapping step. Save the mapping

MAP MM Model from PP to Staging Area

1. Assign a source structure and a target structure. The source structure is the API structure (and-

if applicable- additional input structures from the API). The target structure is the generated

data-model-specific structure for usage ‘Primary Persistence Mapping’.

For the mapping from the active area to the staging area, you do not have to enter a change structure (this is only required for mapping from the staging area to the active area).

Page 139: Main extending content in mdgm new

2. In this example, you define a 1:1 mapping between the fields of the API structure (source) and

the fields of the generated data-model-specific structure (target).

Page 140: Main extending content in mdgm new
Page 141: Main extending content in mdgm new

After you have created the mapping in SMT you should return to the IMG and perform the IMG activity

Check Customizing to ensure consistency of the changes.

MAP MM Model from PP to FC

Assign a source structure and a target structure. The source structure is the API structure, and, if

applicable, additional input structures from the API. The target structure is the generated data-model-

specific structure.

The result is the following three mappings.

4.3.2 Mapping Customizing

In the backend, you must ensure the Where Used value for the SMT mapping from active area is

correct for the Entity Type.

For each Entity Type you must assign an appropriate Where Used setting and an SMT mapping from

active area setting.

Page 142: Main extending content in mdgm new
Page 143: Main extending content in mdgm new
Page 144: Main extending content in mdgm new
Page 145: Main extending content in mdgm new

4.4 UI Model

The new attributes should also be considered in the UI.

4.4.1 Field Control

By default, the UI uses a BAdI implementation to evaluate the field control settings made in

Customizing.

In this section, you define whether a field is hidden or displayed, or whether an entry is mandatory or

optional in material master maintenance by assigning the field to a field selection group.

Important

The definition has to exist for all fields that are used in the data model. Otherwise the field is hidden from the UI by default.

Page 146: Main extending content in mdgm new

4.4.2 Field Control and Data Model

In MDG, you created a new entity type for the ERP table MARC. When you create a record in the

MARC table in MDG, the system checks the corresponding ERP Customizing table to verify if the

relevant fields are required or optional.

This is controlled using the field control described above.

This means you could run into a situation that a field is not used in the data model but it is set to

required in the field control table. The creation process would be blocked as the fields is now required

but cannot be maintained.

In such a situation, you have to consider the following options:

Adjust the field control

Add the required fields to your Data Model

Use fixed valued in SMT mapping

Page 147: Main extending content in mdgm new

In our use case, you enhance the SMT mapping using fixed values, as shown in the screenshot below.

Page 148: Main extending content in mdgm new
Page 149: Main extending content in mdgm new

4.4.3 UI configuration

For demo purposes the standard UI configuration was copied and extended. Now we want to extend

our previous generated UI-configuration by creating a new tab page corresponding to the new entity

type ZZMARC.

Page 150: Main extending content in mdgm new

1. Create a new tab.

Page 151: Main extending content in mdgm new

2. Expand the Main View node to navigate to the newly created Subview and start editing the

Attributes..

Page 152: Main extending content in mdgm new

3. Navigate to the UIBB (subscreen).

Page 153: Main extending content in mdgm new

4. Apply attribute settings as shown in the screenshot below.

5. Click the . And click Yes in the dialog box.

6. Select a Contained Entity Type of ZZMARC.

Page 154: Main extending content in mdgm new
Page 155: Main extending content in mdgm new

7. Add the columns you would like to show up in the UI.

Page 156: Main extending content in mdgm new

8. Maintain the following attributes:

For input fields select

For description fields select:

Page 157: Main extending content in mdgm new

9. Click . Mark the last 3 entries of the Chosen Feeder Actions section of the

dialog box and click OK.

10. Check the UIBB (subscreen) preview.

4.4.4 UI BAdI Implementation

4.4.4.1 Field Control

Since the UI is copied for demonstration purposes, the UI BAdI has to be copied and the Filter has to

be changed to the new UI configuration ID.

This is already covered in a previous use case.

4.4.4.2 Field Adjustment

See the previous use case for an explanation.

Page 158: Main extending content in mdgm new
Page 159: Main extending content in mdgm new

4.5 Print Forms

Not covered in this version of the guide.

4.6 Search

Not covered in this version of the guide.

Page 160: Main extending content in mdgm new

4.7 Data Quality

4.7.1 Validation and Derivation

see previous use case for an example.

4.7.2 BAdI Implementation

See the previous use case for an explanation.

Page 161: Main extending content in mdgm new

4.8 Process Model

4.8.1 Workflow

See the previous use case for an explanation.

4.8.2 Workflow - BAdI Implementation

See the previous use case for an explanation.

4.8.3 Change Request/ Customizing Adjustments

See the previous use case for an explanation.

4.8.4 Process Model - BAdI Implementation

See the previous use case for an explanation.

Page 162: Main extending content in mdgm new

4.9 Initial Load

The initial load of records to MDG considering an extended Data Model is not covered in this guide.

4.10 Data Replication

4.10.1 Replication of Material Master Data

See the previous use case for an explanation.

4.10.2 Replication of Supplier or Business Partner Master

Data

Not covered in this version of the guide.

4.10.3 BAdI Implementation

See the previous use case for an explanation.

Page 163: Main extending content in mdgm new

4.11 Key/ Value Mapping

If required, mapping can be defined for elements for example, UoM, industry sector, material type and

others. The elements for possible value mapping are predelivered.

If you are working with multiple connected systems and did not consolidate the material keys during

the initial load phase, key mapping may be required.

Not applicable to this scenario.

Page 164: Main extending content in mdgm new

4.12 Test Run

Page 165: Main extending content in mdgm new
Page 166: Main extending content in mdgm new
Page 167: Main extending content in mdgm new
Page 168: Main extending content in mdgm new
Page 169: Main extending content in mdgm new
Page 170: Main extending content in mdgm new
Page 171: Main extending content in mdgm new
Page 172: Main extending content in mdgm new
Page 173: Main extending content in mdgm new
Page 174: Main extending content in mdgm new

5. Extend by customer field of existing tables ...

Add entity type ZZMARC that repr esents tabl e MARC by an existi ng MARC fi elds

Add entity type ZZMARC that repr esents tabl e MARC by an existi ng MARC fi elds

Table MARA is extended with the customer specific field ZZLOB (Line of Business).

Table MARC is extended with the customer specific field ZCONTROL.

The Data Model MM is extended by these attributes. The attributes also display in the UI.

Page 175: Main extending content in mdgm new

5.1 Data Model Requirements (Primary Persistence)

5.1.1 Table Extensions

Append MARA by using append structure to add fields to table MARA, here field ZZLOB

If you want to create an append structure and include your customer owned Z field into table T130F,

see SAP note 44410.

SAP strongly recommends to consider using the customer namespace YY/ZZ for the append fields.

Append MARC by using append structure to add fields to table MARC, here field ZCONTROL

Page 176: Main extending content in mdgm new

5.1.2 Structure Extensions

The Service Mapping Tool is a program that it is used in ABAP to fill a target structure with a set of

source structures.

The structures that are relevant for the target structure of the primary persistence (MARA) are:

MDG_BS_MAT_S_MARA

MDG_BS_MAT_S_MARA_UI

MDG_BS_MAT_S_MARA_X

The structures that are relevant for the target structure of the primary persistence (MARC) are:

MDG_BS_MAT_S_MARC

MDG_BS_MAT_S_MARC_UI

MDG_BS_MAT_S_MARC_X

The new fields are automatically included in structures MDG_BS_MAT_S_MARA and

MDG_BS_MAT_S_MARC.

Page 177: Main extending content in mdgm new

Append the field ZZLOB to the following structures:

MDG_BS_MAT_S_MARA_UI

MDG_BS_MAT_S_MARA_X

Page 178: Main extending content in mdgm new

Append the field ZCONTROL to the following structures:

MDG_BS_MAT_S_MARC_UI

MDG_BS_MAT_S_MARC_X

Page 179: Main extending content in mdgm new

Note the following information concerning the structures MDG_BS_MAT_S_MARA_X and

MDG_BS_MAT_S_MARC_X:

If the X-field-structure of the MDGM-API is extended after the creation of an SMT mapping, the SMT

mapping needs to be regenerated. Therefore enter the SMT maintenance and save.

5.2 Data Model Requirements (Staging)

5.2.1 Data Model Extensions

In this Customizing activity, you define and activate a data model to map master data in the system,

along with its properties and relationships. The system uses this data model to generate database

tables in which the master data can be stored.

Page 180: Main extending content in mdgm new
Page 181: Main extending content in mdgm new

5.2.1.1 Entity types

Note

The maintenance of the Data Model is cross client.

Select the MM data model and add the new entities and attributes as shown in the screenshots.

The details of the MATERIAL Entity Type are shown in the screenshot below.

The details of the ZZMARC Entity Type are shown in the screenshot below.

Page 182: Main extending content in mdgm new

Ensure that the customer extension fields consider the customer namespace for DDIC fields. The

customer namespace for fields is YY and ZZ.

Ensure that the customer extensions entities consider the customer namespace for DDIC structures.

The customer namespace for structures is Y and Z.

5.2.1.2 Relationships

This is already covered in a previous use case.

5.2.2 Generated Tables

Activate the extended data model.

Note

If you use your own ABAP Dictionary objects (data elements, domains, check tables) in your data model and you changed their properties after the data model was activated refer to Note 1552474.

After the activation the new fields are added to the generated table, as shown in the screenshot below.

Page 183: Main extending content in mdgm new
Page 184: Main extending content in mdgm new

5.2.3 Structure Extensions

In this Customizing activity, for each data model and entity type you generate the following technical

structures in the ABAP Dictionary.

Structures for PDF-based Forms

Structures for the Service Mapping tool (SMT)

Structures for mapping between active area and staging area

Structures for Enterprise Search

Structures for Field Control

Page 185: Main extending content in mdgm new

The system uses these structures internally for implementing the reuse active area.

Note

In general if you change a data model (for example, if you change attributes of entity types or relationships), you need to regenerate the structures.

5.2.3.1 Maintain Customer Includes For Structures in the /MDG*

Namespace

Call transaction SE11 and create the customer include for the following structures:

Page 186: Main extending content in mdgm new

The names of the customer includes are as follows:

CI_MDG_S_PMM_MATERIAL

CI_MDG_S_MM_MATERIAL

CI_MDG_SD_MM_MATERIAL

CI_MDG_S_EMM_MATERIAL

Page 187: Main extending content in mdgm new
Page 188: Main extending content in mdgm new
Page 189: Main extending content in mdgm new

Add the field in each include and activate

5.2.3.2 Generate Structures (Structures in Customer Namespace)

Regenerate the structures, as described in the previous use case.:

Page 190: Main extending content in mdgm new

The structures are extended automatically.

Page 191: Main extending content in mdgm new
Page 192: Main extending content in mdgm new

5.3 SMT Mapping

5.3.1 SMT Mapping

You extend mappings by creating new transformations (complex transformations, field mappings) and

field checks for them or by editing them. Here you work cross-client.

Important

When the maps are saved the corresponding coding is generated. Make sure that all relevant structures have been maintained before.

As described in the previous use case, extend the Mapping step MDG_BS_MAT_MATERIAL for the

following Mappings:

MDG_BS_MAT_MAP_2PP

MDG_BS_MAT_MAP_2FC

MDG_BS_MAT_MAP_2STA

Page 193: Main extending content in mdgm new
Page 194: Main extending content in mdgm new

As described in the previous use case extend for the MARC extension in the Mappings:

Page 195: Main extending content in mdgm new
Page 196: Main extending content in mdgm new

After you have created the mapping in SMT you should return to the IMG and perform the IMG activity

Check Customizing to ensure consistency of the changes.

5.3.2 Mapping Customizing

See the previous use case for an explanation.

Page 197: Main extending content in mdgm new

5.4 UI Model

The new attributes should also be considered in the UI.

5.4.1 Field Control

By default, the UI uses a BAdI implementation to evaluate the field control settings made in

Customizing.

In this section, you define whether a field is hidden or displayed, or whether an entry is mandatory or

optional in material master maintenance by assigning the field to a field selection group.

Important

The definition has to exist for all attributes that are used in the data model. Otherwise the attribute is

hidden in the UI by default.

Enhance central field table T130F.If you want these fields to be subject to standard field selection, you

must add new entries for them to the central field table for material master maintenance (T130F)

Page 198: Main extending content in mdgm new
Page 199: Main extending content in mdgm new
Page 200: Main extending content in mdgm new

5.4.2 Field control and Data Model

See the previous use case for an explanation.

5.4.3 UI configuration

In this Customizing activity, you manage UI configurations, which the system uses for the following

purposes:

Definition of the Web user interface for individual processing of an entity type (Web Dynpro application

USMD_ENTITY_VALUE2)

Use in the Web user interface for creating and processing a change request.

You can create an edit different UI configurations for each data model.

For demo purposes the standard UI configuration was copied and extended. As described in the

previous use case extend the General Data tab with the ZZLOB field and the Material Plant Data tab

with the field ZCONTROL.

Page 201: Main extending content in mdgm new
Page 202: Main extending content in mdgm new

5.4.4 UI BAdI Implementation

5.4.4.1 Field Control

Since the UI is copied for demonstration purposes, the UI BAdI has to be copied and the Filter has to

be changed to the new UI config ID.

This is already covered in a previous use case.

5.4.4.2 Field Adjustment

See the previous use case for an explanation.

Page 203: Main extending content in mdgm new

5.5 Print Forms

Not covered in this version of the guide.

5.6 Search

Not covered in this version of the guide.

Page 204: Main extending content in mdgm new

5.7 Data Quality

5.7.1 Validation and Derivation

see previous use case for an example.

5.7.2 BAdI Implementation

See the previous use case for an explanation.

Page 205: Main extending content in mdgm new

5.8 Process Model

5.8.1 Workflow

See the previous use case for an explanation.

5.8.2 Workflow - BAdI Implementation

See the previous use case for an explanation.

5.8.3 Change Request/ Customizing Adjustments

See the previous use case for an explanation.

5.8.4 Process Model - BAdI Implementation

See the previous use case for an explanation.

Page 206: Main extending content in mdgm new

5.9 Initial Load

The initial load of records to MDG considering an extended Data Model is not covered in this guide.

5.10 Data Replication

5.10.1 Replication of Material

See the previous use case for an explanation.

5.10.2 Replication of Supplier or Business Partner-

Not covered in this version of the guide.

5.10.3 BAdI Implementation

See the previous use case for an explanation.

Page 207: Main extending content in mdgm new

5.11 Key Mapping and Value Mapping

If required, mapping can be defined for elements for example, UoM, industry sector, material type and

others. The elements for possible value mapping are predelivered.

If you are working with multiple connected systems and did not consolidate the material keys during

the initial load phase, key mapping may be required.

Not applicable to this scenario.

Page 208: Main extending content in mdgm new

6. Extend by customer table or entity type

A customer table ZZCOUNTRYDETAILS was created in the Data Dictionary.

The MM data model is extended by this entity type.

Caution

To create customer-specific reuse area, you currently require the support of SAP consulting and development. see note 1444616.

Page 209: Main extending content in mdgm new

6.1 Data Model Requirements (Primary Persistence)

6.1.1 Table Extensions

Create a new data base table ZZCOUNTRYDETAILS

6.1.2 Structure Extensions

Not relevant as a customer access class has to be implemented as the delivered API cannot handle

this.

6.2 Data Model Requirements (Staging)

6.2.1 Data Model Extensions

In this Customizing activity, you define and activate a data model to map master data in the system,

along with its properties and relationships. The system uses this data model to generate database

tables in which the master data can be stored.

Page 210: Main extending content in mdgm new
Page 211: Main extending content in mdgm new

6.2.1.1 Entity types

Note

The maintenance of the Data Model is cross client.

Select the MM data model and add the new entities and attributes as shown in the screenshots.

The details of Entity Type YYCNTRINF are shown in the screenshot below.

Page 212: Main extending content in mdgm new

The details of Entity Type YYCOUNTRY are shown in the screenshot below.

Page 213: Main extending content in mdgm new

6.2.1.2 Relationships

1. Choose a Relationship Type of P Leading for a relationship with a From-Entity Type of

MATERIAL and a To-Entity Type of YYCNTRINF

2. Choose a Relationship Type of Q Qualifying for a relationship with a From-Entity Type of

YYCOUNTRY and a To-Entity Type of YYCNTRINF

Page 214: Main extending content in mdgm new

6.2.1.3 Reuse Area

The Reuse Active Area specifies the reuse active area for active data. This is done by establishing the

communication between Master Data Governance (MDG) and the tables that should be reused for the

active data, using an ABAP class and the ABAP interface IF_USMD_PP_ACCESS.

6.2.1.3.1 Customer Build Reuse area

To update database table ZZCOUNTRYDETAILS which is then the active area you would need to

implement a new access class.

Create a new reuse area called ZExtension and assign the ZCL_MDG_BS_MAT_ACCESS access

class to it.

Page 215: Main extending content in mdgm new

Assign the new Reuse Area to the new entity type

Page 216: Main extending content in mdgm new

Caution

To create a customer-specific reuse area, you currently require the support of SAP consulting and development. See note 1444616.

6.2.1.3.1 Reuse Area MDG

You can assign the MDG reuse area to the new entity type

In this case, the generated table stores the active data. The status field USMD_ACTIVE handles

storage.

The original database table ZZCOUNTRYDETAILS is not updated anymore.

Page 217: Main extending content in mdgm new

Note

Since the flexoption is used for the new entity type, records stay in the generated tables and the creation of mapping structures for SMT is not needed

Page 218: Main extending content in mdgm new

7. Create own data model with customer object

Airline Partner

Caution

To create a customer-specific reuse area, you currently require the support of SAP consulting and development. See note 1444616.

Page 219: Main extending content in mdgm new

7.1 Data Model

The first step to define a Master Data Governance Custom Object is to define the data model. The

following chapter describes how one can derive from an Entity relationship model the required MDG

entities and relationships. We use the example of some parts of the SAP Flight model that is often

used for training. The modeling part here has two examples that reflect necessary types of entities and

relationships. The first example is not modeled in full detail but gives you and overview what you need

to consider if you want to transfer an existing model into a MDG model. The second example shows

the basic steps in the Customizing and is the prerequisite of all subsequent steps, for example, the UI

modeling.

7.1.1 MDG Data Model - Details

Make sure you read the related Customizing Documentation and the respective help.sap.com material

before you proceed. In the following we briefly refer to entity types and relationship types of the MDG

framework.

7.1.2 Example 1: Airline and Flights

Page 220: Main extending content in mdgm new

The Airline and Flights data model is shown in the graphic below.

The Entity relationship model (ERP) consists of the following entities:

SCARR- Airline

SPFLI -- Flight schedule

SPFLIGHT- Flight

Page 221: Main extending content in mdgm new

The table below shows the entity types in more detail.

SCARR Data element

MANDT S_MANDT

CARRID S_CARR_ID

CARRNAME S_CARRNAME

CURRCODE S_CURRCODE

URL S_CARRURL

SPFLI Data element

MANDT S_MANDT

CARRID S_CARR_ID

CONNID S_CONN_ID

COUNTRYFR LAND1

CITYFROM S_FROM_CIT

AIRPFROM S_FROMAIRP

COUNTRYTO LAND1

CITYTO S_TO_CITY

AIRPTO S_TOAIRP

FLTIME S_FLTIME

DEPTIME S_DEP_TIME

ARRTIME S_ARR_TIME

DISTANCE S_DISTANCE

DISTID S_DISTID

FLTYPE S_FLTYPE

PERIOD S_PERIOD

SFLIGHT Data element

MANDT S_MANDT

CARRID S_CARR_ID

CONNID S_CONN_ID

FLDATE S_DATE

PRICE S_PRICE

CURRENCY S_CURRCODE

PLANETYPE S_PLANETYE

SEATSMAX S_SEATSMAX

SEATSOCC S_SEATSOCC

PAYMENTSUM S_SUM

SEATSMAXB S_SMAX_B

SEATSOCCB S_SOCC_B

SEATSMAXF S_SMAX_F

SEATSOCCF S_SOCC_F

7.1.2.1 Derive Entities and Relationships to MDG

You can scan through the mode from the top down first identifying the leading entity types and

relationships, then the qualifying entity types and then the referencing entity types.

In our model the object root is the SCARR entity type, which is the leading entity type for entity type

SPFLI and SFLIGHT.

1. Entities of type 1 and 4 / Leading Relationships

1 0..n

1

0..n

Page 222: Main extending content in mdgm new

The Leading relationship models the key attributes SCARR_SPFLI and SCARR_SPFLIGHT into the

respective entity type.

Entity Type Key Entity type SCARR S_CARR_ID 1 SPFLI

4

SFLIGHT

4

Relationship Relationship Type From To

SCARR_SPFLI Leading SCARR SPFLI

SCARR_SPFLIGHT Leading SCARR SPFLIGHT

Note

The Relationship name becomes the key attribute name in the respective generated table.

2. Qualifying Relationships

The SPFLI entity type has one additional key attribute; the field ConnID is qualifying the entity type.

Page 223: Main extending content in mdgm new

In this case we need to model an entity type of type 3 and a respective relationship type qualifying.

Note

For demonstration purposes, we create a new data element ZS_CONN_ID that has the same data type and other attributes as S_CONNID. We do not specify a check table for ZS_CONN_ID.

As well as the qualifying key CONNID, the entity type SFLIGHT has another key; flight date: FLDATE.

Important

The MDG Framework has a limitation that entity types with a data element referring to a date or time data type cannot be taken into account.

Page 224: Main extending content in mdgm new

As a workaround, you can model a field. For example, you can use a CHAR field for the qualifying entity type with a length of 8. Keep the proper date field as a normal attribute in the entity type. Later you can make use of BRF+ and UI modeling to hide the character field and derive a date using the normal attribute.

Taking all this into consideration we model the following:

Entity Type Key Entity type CONNID S_CONN_ID 3 FLDATE Z_SFLIGHT_DATE 3

Relationship Relationship Type From To

CONNID_SPFLI Qualifying CONNID SPFLI

CONNID_SFLIGHT Qualifying CONNID SFLIGHT

FLDATE_SFLIGT Qualifying FLDATE SFLIGHT

3. Referencing Attributes

The referencing attributes can be derived using the following logic:

If the attribute that references another entity type uses just one key, you can either model a

relationship or you can create a new entry in a table for the entity type

If an attribute that references another entity type uses two keys, you must create two

relationships, a leading relationship and a qualifying relationship

Let us have a look on our example:

SGEOCITY

MANDT S_MANDT

CITY S_CITY

COUNTRY LAND1

LATITUDE S_LATI

LONGITUDE S_LONG

The attribute CITYFROM refers to the table SGEOCITY via the domain value table.

For the reference it is necessary to take city and country into account.

Entity Type Key Entity type CITY_FROM S_FROM_CIT 3 COUNT_FRM LAND1 3

Page 225: Main extending content in mdgm new

Relationship Relationship Type From To

CITYFROM Referencing CITY_FROM SPFLI

CO_FR_2_C Leading COUNT_FRM CITY_FROM

Page 226: Main extending content in mdgm new

7.1.3 Example 2: Flight customers

The following Enterprise Relationship Model (ERM), which is represented using ABAP Dictionary

tables, is used to build up an MDG application for maintaining flight customers. The tables in this

model are in the SAP namespace but the steps and requirements to bring them into governance are

the same as they would be in the customer namespace.

SCUSTOM Flight customers

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

EMAIL S_EMAIL

WEBUSER S_WEBNAME

SBUSPART Airline Partner

MANDANT S_MANDT

BUSPARTNUM S_BUSPANUM

CONTACT S_CONTACT

CONTPHONO S_CPHONENO

BUSPATYP S_BUSPATYP

STRAVELAG Travel agency

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

1

1

1

1

Page 227: Main extending content in mdgm new

The goal is to have a MDG application that uses a simple standard workflow for governance. we want

to demonstrate how to adapt the reuse mechanism and show how easy it is to implement basic

derivations and validity checks.

Noteor usage of the reuse option that requires deep programming

and application knowledge see note 1444616. Customer

implementations may become obsolete as the interface (see respective

chapter) changes. This document shows which steps are required to

bring an existing application into governance.

Page 228: Main extending content in mdgm new

7.2 Data Modeling

According to the ERM in chapter 5.1.3 we have a one type 1 and two type 2 entities. They have a

leading relationship to each other. The Master Data Governance Framework handles all other

references such as CURRENCY using the domain value table. Furthermore the fields CITY,

COUNTRY, REGION are considered as free text and don’t have domain values.

The following entity types and relationships need to be modeled:

Entity Type Key Entity type SBUSPART S_BUSPANUM 1 SCUSTOM

4

STRAVELAG

4

Relationship Relationship Type From To Cardinality

IS_FCUST Leading SBUSPART SCUSTOM 1:1

IS_TRAVEL Leading SBUSPART STRAVELAG 1:1

7.2.1 Create Data Model

Open Customizing for Master Data Governance under General Settings -> Data Modeling -> Edit Data

Model

Note

As an alternative you can directly open the view cluster VC_USMD001S with transaction

SM34. You have to specify directly the data model you want to edit.

Click new entries and specify a new data model as shown below.

Figure 1 Create Data Model

7.2.2 Create Entity Types

Select the node Entity types and click New Entries.

Page 229: Main extending content in mdgm new

Figure 2 Create entity type

Specify the entities as shown below.

Figure 3 Entity Type details

For further explanation of the single

attributes one can specify here, refer

to the Customizing Help, to the F1

help and to help.sap.com.

When you add the other entities, use the following values.

Entity type Storage/Use Type Data Element Key Assignment Description

SBUSPART 1 Changeable via Change Request … S_BUSPANUM Key cannot be … Airline Customers

SCUSTOM 4 Changeable via other Entity type…

Key cannot be … Flight customers

STRAVELAG 4 Changeable via other Entity type…

Key cannot be … Travel agencies

Specify the attributes for the entities. Highlight the entity type you want to maintain and navigate to the

node attributes.

Page 230: Main extending content in mdgm new

Figure 4 Attribute Overview

Repeat the previous step for the other entities.

Entity Type: SBUSPART

Attribute Data element

BUSPATYP S_BUSPATYP

CONTACT S_CONTACT

CONTPHONO S_CPHONENO

Entity Type: STRAVELAG

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

Page 231: Main extending content in mdgm new

Note

The ABAP Dictionary table STRAVELAG (which you can check using transaction SE11)

includes the LANGU attribute for the SPRAS data element. The MDG data model cannot

implement this attribute. The attribute names MANDT, LANGU, SID, TXTLG, TXTMI, and

TXTSH are forbidden. The data element SPRAS is also forbidden but it can be replaced

by SPRAST.

Entity Type: SCUSTOM

Attribute Data element

SCITY CITY

SCOUNTRY S_COUNTRY

SCUSTTYPE S_CUSTTYPE

SDISCOUNT S_DISCOUNT

SEMAIL S_EMAIL

SFORM S_FORM

SLANGU SPRAST

SNAME S_CUSTNAME

SPOSTBOX S_POSTBOX

SPOSTCODE POSTCODE

SREGION S_REGION

SSTREET S_STREET

STELEPHON S_PHONENO

SWEBUSER S_WEBNAME

Note

Since an attribute (for example city) can only be assigned to an entity type with a Storage and Use Type of 1 once, we have to rename the attributes of entity type SCUSTOM. To overcome the restriction we put an S as a prefix. This is also true for indirect assignments inherited from leading entity types with a Storage and Use Type of 4.

7.2.3 Create relationships

As we saw in the beginning of this chapter we need to model 2 relationships:

Relationship Relationship Type From To Cardinality

IS_FCUST Leading SBUSPART SCUSTOM 1:1

IS_TRAVEL Leading SBUSPART STRAVELAG 1:1

Highlight the node relationships and press New Entries.

Page 232: Main extending content in mdgm new

Figure 5 Entering new relationships

Specify the relationship details

Figure 6 Relationship details

Note

Cardinality S = 1:1 Translation

Page 233: Main extending content in mdgm new

7.2.4 Activate data model

Now the MDG data model is finished and can be activated

Note

If you use your own ABAP Dictionary objects (data elements, domains, check tables) in your data model and you changed their properties after the data model was activated refer to Note 1552474.

Figure 7 Activate the data model

Note

The generated tables for your data model one can see with report USMD_DATAMODEL

using transaction SE38.

Figure 8 Launch Report USMD_DATA_MODEL with Transaction SE38

The report is showing all generated tables for a particular data model.

Figure 9 Generated MDG tables

Page 234: Main extending content in mdgm new

7.2.5 Generate data model specific structures

Full Path: Cross-Application Components -> Master Data Governance -> General Settings -> Data

Modeling -> Generate Data Model-specific Structures

Choose your data model and highlight the node Structures

Figure 10 Data model structures

Specify the details of the structures.

Figure 11 Structure details

Page 235: Main extending content in mdgm new

Note

If you specify the Entity Type and the Where Used Area, the Prefix Namespace and the Name of Structure are populated automatically.

7.3 Primary Persistence (PP) Access Class

By now we modeled a Flexibility Option. Here the active area and the staging area are identical and

generated by the MDG. Since we want connect the data to the tables listed below, we need to take

care that the active area (primary persistence) of our application is being represented by these tables

and the inactive (staging) area still contains the generated tables.

Note

To create customer-specific reuse area, you currently require the support of SAP consulting and development. See note 1444616.

That means for customer projects implementing a custom objects, changes may occur with coming releases. Inside this guide we will nevertheless show how to implement the connection.

7.3.1 Implementing the PP Access Class

A Reuse Area has to be defined and an access class has to be implemented and assigned; this

usually means considerable effort. Existing APIs may be invoked in the implementation. The

implementation rules have to be obeyed, i.e. the returned data must not depend on the user’s

authorization and involved objects must be lockable in the separate methods. Note that these are very

strong restrictions that are not easy to meet.

You need to create a class that implements the IF_USMD_PP_ACCESS interface (Access to Active

Area). See the appendix for coding.

Note

Use the generated structure for the mapping in VC_USMD006

Page 236: Main extending content in mdgm new

7.3.2 Create and assign a reuse area

In Customizing for Master Data Governance choose General Settings -> Data Modeling -> Edit Data

Model.

3. Navigate to the Reuse Active Areas node for your data model

4. Click new entries

Figure 12 Reuse Areas

5. Enter SCUSTOM in the Reuse Area column, and Z_PP_SCUSTOM in the Access Class column,

Figure 13 Reuse Area Definition

6. Go back to the Data Model node and enter the Reuse Area.

Figure 14 Data model --> Reuse Area

7. Navigate to the Entity Types and specify the Reuse Area.

Page 237: Main extending content in mdgm new

Figure 15 Entity Types - Reuse Area

8. Save and activate your data model.

Note

As already mentioned to activate the data model, you need to consult note 1444616.

Page 238: Main extending content in mdgm new

7.4 UI configuration

To make the model we just created visible we need to create a UI configuration and we need to build

some portal content to make publish the application in the portal environment.

7.4.1 Change request

1. In Customizing for Master Data Governance, choose General Settings -> UI Modeling ->Edit UI

Configuration.

2. Click Create to create a new UI configuration.

Figure 16 UI Config Tool

3. Check the deep copy mode, rename the targets, and click Start Deep Copy

Figure 17 Deep Copy

4. Specify a package and a transport if the system asks you. After the copy is complete you will get

the following notification

Figure 18 Copy successful

5. Close the Floorplan Manager browser window and go to the UI Configuration window. Click

Refresh.

Page 239: Main extending content in mdgm new

Figure 19 New Appl. Config created

6. Now you should be able to see your copy. Click Edit.

Figure 20 Edit new Appl. Config

7. The UI Configuration needs to be linked to the data model. Click Change

Figure 21 Change the UI Config

8. Navigate to the Application Parameters tab strip and specify the Data Model ZO

Figure 22 Application Parameters

Page 240: Main extending content in mdgm new

9. Click Save and go back to the Structure tab strip. Click Go to Component Configuration

Figure 23 Component Configuration

10. Familiarize yourself with the modeling environment.

Figure 24 Component Configuration Screen

11. Decide what your next steps should be:

You need to model 3 tab strips, one for each entity type

So you need to model 3 main views. Each main view has a subview, requiring a UI

Building Block (UIBB)

Page 241: Main extending content in mdgm new

You need to delete the automatically assigned dummy entity type.

12. Create the first tab strip for the entity type SBUSPART. First assign the entity type SBUSPART to

the configuration and then delete the dummy entity type that is assigned automatically

Figure 25 Add new entity type

13. Choose Entity Type SBUSPART as the first entity type and click Add

14. Delete the entity type Must be deleted.

Page 242: Main extending content in mdgm new

15. Choose Delete.

16. In the Main View, edit the Main view Name. Do not change the subview.

Figure 26 Main View

17. Go to the UIBB node and type the Component, View, and Configuration Name.

Figure 27 FPM Details

18. Click Configure UIBB

19. On the dialog box that displays specify the description, package and transport

Page 243: Main extending content in mdgm new

20. As we created the first UIBB for the entity type of storage and use type 1 we can click OK. This

is because leading entity type is mandatory and so it is hidden and does not need to be selected

21. To add a Group that puts the respective fields on the UI, choose Add Group.

Figure 28 Component Configuration

22. Specify a name for the group.

23. Click Configure Group

Page 244: Main extending content in mdgm new

24. Move the fields you want to display from the Available Fields table to the Displayed Fields table.

Note

Note: As always the leading entity type is displayed with it’s dependent type 4 entities you see

here all attributes of the data model.

25. Change the Display Type of the description fields to Text View and save. Then navigate back

to the Object Instance Floorplan.

Note

Repeat this step for all description fields.

26. Add the other entities (SCUSTOM and STRAVELAG) in a similar way to the UI.

27. At the end you should see the following result.

Page 245: Main extending content in mdgm new

Figure 29 Airline Business Partner

Figure 30 Flight Customers

Page 246: Main extending content in mdgm new

Figure 31 Travel Agencies

7.4.2 Portal content

As described in the previous use cases the standard portal can be copied and the application

parameters have to be adjusted.

7.4.3 UI Business Add In

If the airline partner type is Flight Customer, you must implement BAdI: Adjust User Interface for

Single Processing if you want to ensure either of the following conditions are true:

The carrier fields are read only

The flight customer fields are read only.

Page 247: Main extending content in mdgm new

Package information and transport requests

Result:

Page 248: Main extending content in mdgm new

1. Set a filter for UI configuration.

2. Under Value 1, type the UI configuration ID and press Enter.

The result is shown below.

Page 249: Main extending content in mdgm new

3. Implement the method MODIFY_VIEW + private message ADD_LINE_TO_MESSAGE using

the class modeler

Note

For the relevant coding, refer to the appendix.

Page 250: Main extending content in mdgm new

7.5 Process Modeling

To put a domain such as our custom data model under governance, you must also model the process.

This involves creating a Change Requests Type and attaching a workflow attached to it. The Change

Request Type describes whether a change request deals with single objects only, which entity types

are allowed and so on. The workflow describes the steps within a workflow, for example, approval

steps and data enrichment steps.

7.5.1 Process Modeling - Change Request

1. In Customizing for Master Data Governance choose General Settings -> Process Modeling ->

Create Change Request Type.

2. Click New Entries and specify the new change request

Figure 32 Change Request Overview

3. Specify the change request header data

You use a standard workflow template WS75700027. For details, see the next chapter.

Page 251: Main extending content in mdgm new

7.5.2 Process Modeling- Workflow

To keep it simple here we will use a standard workflow template WS75700027 (USMD_CREQUEST).

Check the definition in the Workflow Builder and get familiarized with definition itself.

1. In Customizing for Master Data Governance, choose General Settings -> Process Modeling ->

Other MDG Workflows -> Assign Processor to Workflow Step Number (Simple Workflow)

2. Click New Entries and create the assignments.

Figure 33 Workflow Step Assignment

3. To test your objects easily, assign your user name to each step.

Page 252: Main extending content in mdgm new
Page 253: Main extending content in mdgm new

7.6 Data Quality and Search: Validation and

derivations based on BRFplus

7.6.1 Check for Flights With a Customer Discount of 4% or

Less

1. In Customizing for Master Data Governance, choose General Settings -> Data Quality and

Search -> Define Validation and Derivation Rules.

2. Choose in the following screen the data model and choose Start.

3. Specify workbench requests and. and you will see the following

Page 254: Main extending content in mdgm new

4. Expand the Trigger Function tree. Right-click the Check Entity Type node and select Create

Object Node -> Create Function.

5. Specify the function name ensuring that the naming convention <CHECK_><entity

typetype name> is followed, and choose Create and Navigate to Object.

6. In the Signature,tab page, click Add Existing Data Object.

Page 255: Main extending content in mdgm new

7. Select the structure SCUSTOM.

8. In the Assigned Rulesets tab page, click Create Ruleset

Page 256: Main extending content in mdgm new

9. Specify the details for the ruleset.

10. Click Enable Ruleset

The screenshot below shows the result.

11. Click Insert Rule -> Create

Page 257: Main extending content in mdgm new

The screenshot below shows the result.

12. Choose No condition Assigned -> Use Value Range From -> Context Parameter.

Choose an Object with the name SDISCOUNT

Page 258: Main extending content in mdgm new

13. Specify the condition as shown in the screenshot below.

14. To create an action that is associated with meeting the condition, choose Perform Action ->

Create.

15. To specify a message that is created when the condition is met, press Create and navigate To

Object..

Page 259: Main extending content in mdgm new

16. Decide whether to select a predefined message (Refer to a message you created before) or just

enter a text

17. Choose Activate and then choose Back.

Page 260: Main extending content in mdgm new

18. Activate the ruleset and select all subobjects in the following popup.

19. Activate the function,

20. Create a new function called CHECK_TRAVELAG

Page 261: Main extending content in mdgm new

21. Specify the condition for example Country is equal to DE, FR or SP.

Page 262: Main extending content in mdgm new

22. Now specify the derivation. In then part of the If statement choose Add -> Assign Value to

Context -> More Context Parameters.

23. Choose the context parameter.

Page 263: Main extending content in mdgm new

24. Set the Currency value to EUR

25. Enable the rule, activate the ruleset, and activate the function,

Page 264: Main extending content in mdgm new

...

Page 265: Main extending content in mdgm new

8. Appendix

8.1 PP Access for custom objects

To access the relevant code sample, open the zip file Extending Content in SAP Master Data

Governance, Material Data - Code Samples.

8.2 UI BAdI implementation

To access the relevant code sample, open the zip file Extending Content in SAP Master Data

Governance, Material Data - Code Samples.

Page 266: Main extending content in mdgm new

8.3 IDOC Enhancement

You want to integrate customer-specific fields in material master governance.

To add customer-specific fields to an existing material master table such as MARA or MARC,we

recommend you complete the following actions:

Follow the instructions outlined here

Refer to SAP note 44410.

Note

The field control settings are described in the previous use cases.

You want to enhance Idoc and ALE settings for ZZLOB

1. Create a customer segment, in this case segment Z1LOB, using transaction WE31.

Page 267: Main extending content in mdgm new
Page 268: Main extending content in mdgm new

2. Create an extension, in this case ZXLOB, using transaction WE30.

Page 269: Main extending content in mdgm new
Page 270: Main extending content in mdgm new
Page 271: Main extending content in mdgm new
Page 272: Main extending content in mdgm new

3. In transaction WE82, link the extension to a logical message

Page 273: Main extending content in mdgm new

4. In transaction WE30, check the extension.

Page 274: Main extending content in mdgm new

5. In transaction CMOD, activate the MGV00001 SAP enhancement.

Page 275: Main extending content in mdgm new
Page 276: Main extending content in mdgm new

6. Maintain user exit EXIT_SAPLMV01_002 (ALE outbound)

Page 277: Main extending content in mdgm new
Page 278: Main extending content in mdgm new

data: H_Z1LOB like Z1LOB.

if SEGMENT_NAME eq 'E1MARA1'.

move F_MARA-ZZLOB to H_Z1LOB-ZZLOB.

clear IDOC_DATA.

IDOC_DATA-SEGNAM = 'Z1LOB'.

IDOC_DATA-SDATA = H_Z1LOB.

append IDOC_DATA.

endif.

7. Maintain user exit EXIT_SAPLMV02_002 for ALE inbound communications.

Page 279: Main extending content in mdgm new
Page 280: Main extending content in mdgm new

data: H_Z1LOB like Z1LOB.

if F_CUST_SEGMENT-SEGNAM eq 'Z1LOB'.

H_Z1LOB = F_CUST_SEGMENT-SDATA.

if H_Z1LOB-ZZLOB = C_NODATA.

clear H_Z1LOB-ZZLOB.

else.

if H_Z1LOB-ZZLOB is initial.

RES_FIELDS-FELDNAME = 'MARA-ZZLOB'.

append RES_FIELDS.

endif.

endif.

F_MARA_UEB-ZZLOB = H_Z1LOB-ZZLOB.

endif.

Page 281: Main extending content in mdgm new

Maintain table TBD62 (Tx bd52)

Page 282: Main extending content in mdgm new

8. In transaction SE11 set indicator change document for the required object, in this case, ZZLOB

Page 283: Main extending content in mdgm new

9. Configure the ALE Distribution

10. In transaction BD64, configure a Distribution Model.

11. In transaction BD82, generate a partner profile.

Page 284: Main extending content in mdgm new

12. In transaction WE20 check and adjust the Partner Profile.

Page 285: Main extending content in mdgm new
Page 286: Main extending content in mdgm new
Page 287: Main extending content in mdgm new

13. Test the replication of data.

14. In transacation BD10 send material.

15. In transaction WE05, access the Idoc list.

Page 288: Main extending content in mdgm new

16. In transactions MM01, MM02, and MM03 enhance the online maintenance of material master.

17. Copy function group MGD1

Page 289: Main extending content in mdgm new

18. Copy the subscreens. In this case there is no 2001 basic data: instead there is only general data

Page 290: Main extending content in mdgm new

19. Edit the new subscreen Call screen painter, and modify the screen layout.

Page 291: Main extending content in mdgm new

20. Add a field statement, and optionally add a custom module to carry out checks. In this example,

no such custom module is added.

Page 292: Main extending content in mdgm new

Modify screen sequence (note: Customizing is client dependent)

Page 293: Main extending content in mdgm new

21. Replace the standard subscreen with the modified subscreen.

Page 294: Main extending content in mdgm new

22. Test your changes in transaction MM02.

Page 295: Main extending content in mdgm new
Page 296: Main extending content in mdgm new

23. Run transaction SE16 for the MARA table.

Page 297: Main extending content in mdgm new

Authority required

Page 298: Main extending content in mdgm new
Page 299: Main extending content in mdgm new
Page 300: Main extending content in mdgm new

8.4 Useful links

BRFplus KW

How to-Enhance the Material Search EhP5

How to-Master Data Governance for Material: Set up Parallel Workflow Tasks with BRF+

How to-Master Data Governance for Material: BADI

USMD_SSW_DYNAMIC_AGENT_SELECT for More Flexible User Determination

How to-Master Data Governance for Material: BADI

USMD_SSW_RULE_CONTEXT_PREPARE to Enhance User Determination