how to integrate master data management (mdm) and business

79
SAP NetWeaver SAP NetWeaver How-To Guide How-To Guide How to Integrate Master Data How to Integrate Master Data Management (MDM) and Business Management (MDM) and Business Process Management (BPM) Process Management (BPM) Applicable Releases: Applicable Releases: SAP NetWeaver Master Data Management 7.1 and higher SAP NetWeaver Master Data Management 7.1 and higher Topic Area: Topic Area: Enterprise Information Management Enterprise Information Management Capability: Capability: Master Data Management Master Data Management Version 2.20 Version 2.20 June 2011 June 2011

Upload: others

Post on 03-Oct-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: How to Integrate Master Data Management (MDM) and Business

SAP NetWeaver SAP NetWeaver 

How-To GuideHow-To Guide

How to Integrate Master DataHow to Integrate Master Data

Management (MDM) and BusinessManagement (MDM) and Business

Process Management (BPM)Process Management (BPM)

Applicable Releases:Applicable Releases:

SAP NetWeaver Master Data Management 7.1 and higher SAP NetWeaver Master Data Management 7.1 and higher 

Topic Area:Topic Area:

Enterprise Information ManagementEnterprise Information Management

Capability:Capability:

Master Data ManagementMaster Data Management

Version 2.20Version 2.20

June 2011June 2011

Page 2: How to Integrate Master Data Management (MDM) and Business

© Copyright 2011 SAP AG. All © Copyright 2011 SAP AG. All rights reserved.rights reserved.

No part of this No part of this publication may be reproduced orpublication may be reproduced or

transmitted in any form or for any transmitted in any form or for any purpose without thepurpose without the

express permission of SAP AG. The information containedexpress permission of SAP AG. The information contained

herein may be changed without prior notice.herein may be changed without prior notice.

Some software products marketed by SAP AG and itsSome software products marketed by SAP AG and its

distributors contain proprietary software components of distributors contain proprietary software components of 

other software vendors.other software vendors.

Microsoft, Windows, Outlook, and PowerPoint areMicrosoft, Windows, Outlook, and PowerPoint are

registered trademarks of Microsoft Corporation.registered trademarks of Microsoft Corporation.

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

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

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

Intelligent Miner, WebSphere, Netfinity, Tivoli, Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix,Informix,

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

trademarks or registered trademarks of IBM trademarks or registered trademarks of IBM Corporation.Corporation.

 Adobe, the A Adobe, the Adobe logo, Acrobdobe logo, Acrobat, PostScript, at, PostScript, and Readerand Reader

are either trademarks or are either trademarks or registered trademarks of Adoberegistered trademarks of Adobe

Systems Incorporated in the United States and/or Systems Incorporated in the United States and/or otherother

countries.countries.

Oracle is a registered trademark of Oracle Oracle is a registered trademark of Oracle Corporation.Corporation.

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

trademarks of the Open Group.trademarks of the Open Group.

Citrix, ICA, Program Citrix, ICA, Program Neighborhood, MetaFrame,Neighborhood, MetaFrame,

 WinFrame, Vid WinFrame, VideoFrame, and eoFrame, and MultiWin are MultiWin are trademarks otrademarks orr

registered trademarks of Citrix Systems, Inc.registered trademarks of Citrix Systems, Inc.

HTML, XML, XHTML and W3C are trademarks orHTML, XML, XHTML and W3C are trademarks or

registered trademarks of W3C®, World Wide Webregistered trademarks of W3C®, World Wide Web

Consortium, MassachusConsortium, Massachusetts Institute etts Institute of of Technology.Technology.

Java is a registered trademark of Sun Microsystems, Inc.Java is a registered trademark of Sun Microsystems, Inc.

JavaScript is a JavaScript is a registered trademark of Sun Microsystems,registered trademark of Sun Microsystems,

Inc., used under license for Inc., used under license for technology invented andtechnology invented and

implemented by Netscape.implemented by Netscape.

MaxDB is a trademark of MySQL AB, Sweden.MaxDB is a trademark of MySQL AB, Sweden.

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

NetWeaver, and other SAP products and NetWeaver, and other SAP products and servicesservices

mentioned herein as well as their respective logos arementioned herein as well as their respective logos are

trademarks or registered trademarks of SAP AG intrademarks or registered trademarks of SAP AG in

Germany and in several other countries all over the Germany and in several other countries all over the world.world.

 All other produ All other product and service ct and service names mennames mentioned are thetioned are the

trademarks of their respective trademarks of their respective companies. Data containedcompanies. Data contained

in this document serves informational purposes only.in this document serves informational purposes only.

National product specifications may vary.National product specifications may vary.

These materials are subject to change without notice.These materials are subject to change without notice.

These materials are provided by SAP AG and its These materials are provided by SAP AG and its affiliatedaffiliated

companies ("SAP Group") for companies ("SAP Group") for informational purposes only,informational purposes only,

 without represen without representation or watation or warranty of any rranty of any kind, and kind, and SAPSAP

Group shall not be liable for errors Group shall not be liable for errors or omissions withor omissions with

respect to the materials. The only warranties for SAPrespect to the materials. The only warranties for SAP

Group products and services are those that are Group products and services are those that are set forth inset forth in

the express the express warranty statements accompanying suchwarranty statements accompanying such

products and services, if any. Nothing herein should beproducts and services, if any. Nothing herein should be

construed as constituting an construed as constituting an additional warranty.additional warranty.

These materials are provided “as is” without a warranty of These materials are provided “as is” without a warranty of 

any kind, either express or implied, including but notany kind, either express or implied, including but not

limited to, the implied limited to, the implied warranties of merchantability,warranties of merchantability,

fitness for a fitness for a particular purpose, or non-infringement.particular purpose, or non-infringement.

SAP shall not be liable for damages of SAP shall not be liable for damages of any kind includingany kind including

 without lim without limitation direct, sitation direct, special, indirect, pecial, indirect, or consequentialor consequential

damages that may result from the use of damages that may result from the use of these materials.these materials.

SAP does not warrant the accuracy or completeness of theSAP does not warrant the accuracy or completeness of the

information, text, graphics, links or other information, text, graphics, links or other items containeditems contained

 within these m within these materials. SAaterials. SAP has no conP has no control over thetrol over the

information that you may access through the use of hotinformation that you may access through the use of hot

links contained in these materials and does links contained in these materials and does not endorsenot endorse

 your use of t your use of third party web hird party web pages nor providpages nor provide any warranty e any warranty 

 whatsoever rela whatsoever relating to third pating to third party web pagesrty web pages..

SAP NetWeaver “How SAP NetWeaver “How --to” Guides are intended to simplify to” Guides are intended to simplify 

the product implementation. While specific productthe product implementation. While specific product

features and procedures typically are explained in afeatures and procedures typically are explained in a

practical business context, it is not implied that thosepractical business context, it is not implied that those

features and procedures are the only approach in features and procedures are the only approach in solving asolving a

specific business problem using SAP specific business problem using SAP NetWeaver. ShouldNetWeaver. Should

 you wish to  you wish to receive additional receive additional information, clinformation, clarification orarification or

support, please refer to SAP Consulting.support, please refer to SAP Consulting.

 Any software  Any software coding and/or coding and/or code lines / stcode lines / strings (“Code”)rings (“Code”)

included in this documentation are only examples and included in this documentation are only examples and areare

not intended to be used in a not intended to be used in a productive systemproductive system

environment. The Code is oenvironment. The Code is only intended better explain andnly intended better explain and

 visualize the  visualize the syntax ansyntax and phrasing rules d phrasing rules of certain codinof certain coding.g.

SAP does not warrant the correctness and completeness of SAP does not warrant the correctness and completeness of 

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

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

if such damages were caused by SAP intentionally orif such damages were caused by SAP intentionally or

grossly negligent.grossly negligent.

DisclaimerDisclaimer

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

code change in code change in these components may cause unpredictablethese components may cause unpredictable

and severe malfunctions and is and severe malfunctions and is therefore expressively therefore expressively 

prohibited, as is any prohibited, as is any decompilation of these components.decompilation of these components.

 Any Java™ S Any Java™ Source Code delource Code delivered with this proivered with this product is onlduct is only y 

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

modified or altered in any way.modified or altered in any way.

Page 3: How to Integrate Master Data Management (MDM) and Business

© Copyright 2011 SAP AG. All © Copyright 2011 SAP AG. All rights reserved.rights reserved.

No part of this No part of this publication may be reproduced orpublication may be reproduced or

transmitted in any form or for any transmitted in any form or for any purpose without thepurpose without the

express permission of SAP AG. The information containedexpress permission of SAP AG. The information contained

herein may be changed without prior notice.herein may be changed without prior notice.

Some software products marketed by SAP AG and itsSome software products marketed by SAP AG and its

distributors contain proprietary software components of distributors contain proprietary software components of 

other software vendors.other software vendors.

Microsoft, Windows, Outlook, and PowerPoint areMicrosoft, Windows, Outlook, and PowerPoint are

registered trademarks of Microsoft Corporation.registered trademarks of Microsoft Corporation.

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

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

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

Intelligent Miner, WebSphere, Netfinity, Tivoli, Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix,Informix,

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

trademarks or registered trademarks of IBM trademarks or registered trademarks of IBM Corporation.Corporation.

 Adobe, the A Adobe, the Adobe logo, Acrobdobe logo, Acrobat, PostScript, at, PostScript, and Readerand Reader

are either trademarks or are either trademarks or registered trademarks of Adoberegistered trademarks of Adobe

Systems Incorporated in the United States and/or Systems Incorporated in the United States and/or otherother

countries.countries.

Oracle is a registered trademark of Oracle Oracle is a registered trademark of Oracle Corporation.Corporation.

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

trademarks of the Open Group.trademarks of the Open Group.

Citrix, ICA, Program Citrix, ICA, Program Neighborhood, MetaFrame,Neighborhood, MetaFrame,

 WinFrame, Vid WinFrame, VideoFrame, and eoFrame, and MultiWin are MultiWin are trademarks otrademarks orr

registered trademarks of Citrix Systems, Inc.registered trademarks of Citrix Systems, Inc.

HTML, XML, XHTML and W3C are trademarks orHTML, XML, XHTML and W3C are trademarks or

registered trademarks of W3C®, World Wide Webregistered trademarks of W3C®, World Wide Web

Consortium, MassachusConsortium, Massachusetts Institute etts Institute of of Technology.Technology.

Java is a registered trademark of Sun Microsystems, Inc.Java is a registered trademark of Sun Microsystems, Inc.

JavaScript is a JavaScript is a registered trademark of Sun Microsystems,registered trademark of Sun Microsystems,

Inc., used under license for Inc., used under license for technology invented andtechnology invented and

implemented by Netscape.implemented by Netscape.

MaxDB is a trademark of MySQL AB, Sweden.MaxDB is a trademark of MySQL AB, Sweden.

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

NetWeaver, and other SAP products and NetWeaver, and other SAP products and servicesservices

mentioned herein as well as their respective logos arementioned herein as well as their respective logos are

trademarks or registered trademarks of SAP AG intrademarks or registered trademarks of SAP AG in

Germany and in several other countries all over the Germany and in several other countries all over the world.world.

 All other produ All other product and service ct and service names mennames mentioned are thetioned are the

trademarks of their respective trademarks of their respective companies. Data containedcompanies. Data contained

in this document serves informational purposes only.in this document serves informational purposes only.

National product specifications may vary.National product specifications may vary.

These materials are subject to change without notice.These materials are subject to change without notice.

These materials are provided by SAP AG and its These materials are provided by SAP AG and its affiliatedaffiliated

companies ("SAP Group") for companies ("SAP Group") for informational purposes only,informational purposes only,

 without represen without representation or watation or warranty of any rranty of any kind, and kind, and SAPSAP

Group shall not be liable for errors Group shall not be liable for errors or omissions withor omissions with

respect to the materials. The only warranties for SAPrespect to the materials. The only warranties for SAP

Group products and services are those that are Group products and services are those that are set forth inset forth in

the express the express warranty statements accompanying suchwarranty statements accompanying such

products and services, if any. Nothing herein should beproducts and services, if any. Nothing herein should be

construed as constituting an construed as constituting an additional warranty.additional warranty.

These materials are provided “as is” without a warranty of These materials are provided “as is” without a warranty of 

any kind, either express or implied, including but notany kind, either express or implied, including but not

limited to, the implied limited to, the implied warranties of merchantability,warranties of merchantability,

fitness for a fitness for a particular purpose, or non-infringement.particular purpose, or non-infringement.

SAP shall not be liable for damages of SAP shall not be liable for damages of any kind includingany kind including

 without lim without limitation direct, sitation direct, special, indirect, pecial, indirect, or consequentialor consequential

damages that may result from the use of damages that may result from the use of these materials.these materials.

SAP does not warrant the accuracy or completeness of theSAP does not warrant the accuracy or completeness of the

information, text, graphics, links or other information, text, graphics, links or other items containeditems contained

 within these m within these materials. SAaterials. SAP has no conP has no control over thetrol over the

information that you may access through the use of hotinformation that you may access through the use of hot

links contained in these materials and does links contained in these materials and does not endorsenot endorse

 your use of t your use of third party web hird party web pages nor providpages nor provide any warranty e any warranty 

 whatsoever rela whatsoever relating to third pating to third party web pagesrty web pages..

SAP NetWeaver “How SAP NetWeaver “How --to” Guides are intended to simplify to” Guides are intended to simplify 

the product implementation. While specific productthe product implementation. While specific product

features and procedures typically are explained in afeatures and procedures typically are explained in a

practical business context, it is not implied that thosepractical business context, it is not implied that those

features and procedures are the only approach in features and procedures are the only approach in solving asolving a

specific business problem using SAP specific business problem using SAP NetWeaver. ShouldNetWeaver. Should

 you wish to  you wish to receive additional receive additional information, clinformation, clarification orarification or

support, please refer to SAP Consulting.support, please refer to SAP Consulting.

 Any software  Any software coding and/or coding and/or code lines / stcode lines / strings (“Code”)rings (“Code”)

included in this documentation are only examples and included in this documentation are only examples and areare

not intended to be used in a not intended to be used in a productive systemproductive system

environment. The Code is oenvironment. The Code is only intended better explain andnly intended better explain and

 visualize the  visualize the syntax ansyntax and phrasing rules d phrasing rules of certain codinof certain coding.g.

SAP does not warrant the correctness and completeness of SAP does not warrant the correctness and completeness of 

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

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

if such damages were caused by SAP intentionally orif such damages were caused by SAP intentionally or

grossly negligent.grossly negligent.

DisclaimerDisclaimer

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

code change in code change in these components may cause unpredictablethese components may cause unpredictable

and severe malfunctions and is and severe malfunctions and is therefore expressively therefore expressively 

prohibited, as is any prohibited, as is any decompilation of these components.decompilation of these components.

 Any Java™ S Any Java™ Source Code delource Code delivered with this proivered with this product is onlduct is only y 

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

modified or altered in any way.modified or altered in any way.

Page 4: How to Integrate Master Data Management (MDM) and Business

Document HistoryDocument History

Document Document Version Version DescriptionDescription

2.202.20 SAP NetWeaver 7.3 SAP NetWeaver 7.3 is now is now supported. supported. The screen The screen capturescaptures

provided in this guide represent the user interface of SAPprovided in this guide represent the user interface of SAP

NetWeaver Composition Environment (CE) 7.2. There may beNetWeaver Composition Environment (CE) 7.2. There may be

some changes for SAP NetWeaver 7.3some changes for SAP NetWeaver 7.3

As of MDM 7.1 SP07, you can encrypt communication betweenAs of MDM 7.1 SP07, you can encrypt communication between

MDM clients and servers to prevent unauthorized parties fromMDM clients and servers to prevent unauthorized parties from

accessing sensitive data. Using a secure caccessing sensitive data. Using a secure connection isonnection is

documented in the MDM Web Dynpro Component Referencedocumented in the MDM Web Dynpro Component Reference

Guide (seeGuide (see PrerequisitesPrerequisites on pageon page 3 3 for links to the relevantfor links to the relevant

sections of the guide).sections of the guide).

As of MDM 7.1 SP07, the MDM Java Connector is packaged in aAs of MDM 7.1 SP07, the MDM Java Connector is packaged in a

separate SCA from the Java API library. This information isseparate SCA from the Java API library. This information is

documented in the MDM Web Dynpro Component Referencedocumented in the MDM Web Dynpro Component Reference

Guide (seeGuide (see PrerequisitesPrerequisites on pageon page 3 3 for links to the relevantfor links to the relevant

sections of the guide).sections of the guide).

2.10 2.10 Terminology Terminology updated updated to to reflect reflect changes changes in in the the user user interface interface of of the the MDMMDM

Web Dynpro Configuration Manager Web Dynpro Configuration Manager 

2.002.00 TheThe How To Consume MDM Web Dynpro Components How To Consume MDM Web Dynpro Components v1.0 guide hasv1.0 guide has

been split into the following two gbeen split into the following two guides:uides:

How To Build Web Applications Using MDM Web Dynpro How To Build Web Applications Using MDM Web Dynpro 

Components Components 

Explains how MDM Web Dynpro components are consumed byExplains how MDM Web Dynpro components are consumed byother custom Web Dynpro components to create a Web Dynproother custom Web Dynpro components to create a Web Dynproapplication with the flexibility to run as a stand-alone application or application with the flexibility to run as a stand-alone application or in a portal environment.in a portal environment.

NoteNote

During the course of this guide, there are references to theDuring the course of this guide, there are references to theHow To Build Web Applications Using MDM Web Dynpro How To Build Web Applications Using MDM Web Dynpro Components Components guide which is available on SAP Developer guide which is available on SAP Developer Network (SDN) atNetwork (SDN) athttp://www.sdn.sap.com/irj/sdn/howtoguideshttp://www.sdn.sap.com/irj/sdn/howtoguides ..

The direct link to the guide is:The direct link to the guide is: How to Build WebHow to Build Web Applications Using MDM Web Dynpro Components Applications Using MDM Web Dynpro Components..

How To Integrate MDM and BPM How To Integrate MDM and BPM 

This guide concentrates on how to integrate MDM and BPM usingThis guide concentrates on how to integrate MDM and BPM usingMDM Web Dynpro components and Web services. This is theMDM Web Dynpro components and Web services. This is thecurrent v2.0 you are reading.current v2.0 you are reading.

1.001.00 First official release of this guideFirst official release of this guide  – – How To Consume MDM Web Dynpro How To Consume MDM Web Dynpro 

Components Components 

Page 5: How to Integrate Master Data Management (MDM) and Business

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 6: How to Integrate Master Data Management (MDM) and Business

Table of Contents

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

2. Prerequisites ........................................................................................................................ 3

3. Consuming an MDM Web Dynpro Component in a BPM Process ................................. 5

4. Consuming MDM Web Dynpro Components and MDM Web Services ........................ 13

5. Passing MDM Semantic Data between BPM Process Steps Using a Wrapper

Application ......................................................................................................................... 54

6. BPM and UWL Mapping using worklistVariable ............................................................. 72

Page 7: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 1

1. Business Scenario

Business Process Management (BPM)

SAP NetWeaver BPM is used to build composite business processes, mainly service-based processes

that support both human-centric and system-centric workflows (human interaction and process

integration).

SAP NetWeaver Master Data Management (MDM)  – Web Dynpro Components

SAP NetWeaver MDM provides consistent, accurate, timely master data that is accessible across an

enterprise from a centralized database called the MDM repository.

The SAP NetWeaver MDM Web Dynpro Configuration Manager (WD Configuration Manager) is a

wizard-based tool that exposes MDM repository metadata and is used for configuring MDM Web

Dynpro components. These components are reusable units of code that are used as building blocks

for developing modular Web applications; they can also be extended with Java coding. They are

consumed (as used components), by custom developed Web Dynpro wrapper applications and can be

used for customizing or applying different types of business logic to suit a variety of business

scenarios such as Business Process Management (BPM).

There are two ways in which an MDM Web Dynpro component can be consumed in a BPM process:

Directly, by referencing a Web Dynpro component from a BPM scenario (this is only applicable

for an Item Details Web Dynpro component)

For example, MDM Web Dynpro components can be embedded during design time in a BPMprocess without any coding.

Indirectly, by referencing a custom wrapper application from a BPM scenario

Typically a BPM process would involve a combination of MDM Web Dynpro components and MDM

Web services. For example you can have a BPM process consisting of an automated step using MDM

Web services (for creating a new record), and a human step using MDM Web Dynpro components (for 

modifying a record, or as a final approval step).

The examples in this guide focus on master data creation scenarios. There are two approaches on

how to model a BPM process when creating and maintaining an MDM record:

Saving the record in the MDM repository only in the final step

In this case, all the record data is passed between the BPM steps stored in the BPM context. An example of this approach can be seen in the example, Passing MDM Semantic Data between BPM Process Steps Using a Wrapper Application on page 54 .

CAUTION

The BPM context stores the data that controls the execution of a workflow. For performance reasons, it is not recommended to keep the entered master data in theBPM context since you have to pass the complete master data from step to step.

From the start, saving the record after each step (ensuring that the record exists in the

repository).

In this case, only the record ID is passed between the BPM steps using the BPM context. You

use the Web Service CheckOutAsNew functionality or the Checkout Records operation for 

existing records.

Page 8: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 2

Examples of this approach are:

Consuming an MDM Web Dynpro Component in a BPM Process on page 5 .

Consuming MDM Web Dynpro Components and MDM Web Services on page 13 .

In the final step, you can either:

Check in the record using the Web service Check In Records operation.

Roll back the record using the Web service Roll Back Records operation. This deletes

the record if it is checked out as new, or it reverses the changes for the checked out

record.

Examples

The following examples of how to consume Web Dynpro components in a BPM process are provided

in this guide:

The first example is a simple BPM process that only includes a human task.

For more information, see Consuming an MDM Web Dynpro Component in a BPM Process onpage 5 .

The second example shows how to configure a BPM process that consumes MDM Web Dynpro

components and MDM Web Services. It includes both human and automated tasks.

For more information, see Consuming MDM Web Dynpro Components and MDM Web Services on page 13 .

The third example demonstrates two main aspects of BPM and Web Dynpro integration:

Firstly we show you how to create a Web Dynpro wrapper application consisting of an

MDM Web Dynpro Item Details component, which includes semantic data entered by the

user.

We then show you how to create a BPM process that consumes the above wrapper 

application and passes the semantic data to the BPM context.

For more information, see Passing MDM Semantic Data between BPM Process Steps Using a Wrapper Application on page 54 .

The Universal Worklist (UWL) only displays information related to a BPM task and does not give

any details regarding the actual record on which the task needs to be performed. This example

shows how to map key identifying data (for example, customer name, part number), for a record

belonging to a BPM task, to a worklistVariable. This data is then displayed in the UWL

enabling the user to easily identify the record on which to perform the task.

For more information, see BPM and UWL Mapping using worklistVariable on page 72 .

Page 9: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 3

2. Prerequisites...

Prior knowledge of Web Dynpro and BPM. For more information, see SAP Help Portal at

help.sap.com:

Web Dynpro Architecture 

Business Process Management 

You have read the guide, H ow to Build Web Applications Using MDM Web Dynpro 

Components, which is available on SAP Developer Network (SDN) at

http://www.sdn.sap.com/irj/sdn/howtoguides .

The direct link is How To Build Web Applications Using MDM Web Dynpro Components .

Before you can develop a BPM process that consumes MDM WD components, the following

must be in place:

You have installed any of the following supported SAP NetWeaver releases, together 

with SAP NetWeaver Application Server (AS) Java:

SAP NetWeaver Composition Environment (CE) 7.11 SP04 (or higher)

SAP NetWeaver Composition Environment (CE) 7.2 SP03 (or higher)

SAP NetWeaver 7.3

SAP NetWeaver Developer Studio (NWDS) is installed and running and is the same

version as the SAP NetWeaver AS Java you are running.

You are using SAP NetWeaver MDM 7.1 SP04 or higher.

The MDM repository is mounted and loaded.

MDM JAVA API 7.1.is deployed.

For more information about deploying the Java API library and MDM Connector, see

http://service.sap.com/installmdm71 MDM Java and .NET API Developer Guide: 

Getting Started with Java API

Installing and Referencing the MDM Connector  Installation 

Deploying the Java API and MDM Connector Using JSPM

MDM JAVA WD FRAMEWORK 7.1 7.11 is deployed.

For more information, see http://service.sap.com/installmdm71 MDM Web Dynpro Components Guide 

Installing the MDM Web Dynpro Environment

Deploying the MDM Web Dynpro Components Framework

You have run the MDM Web Dynpro Configuration Manager application, and configured

your components.

For more information, see http://service.sap.com/installmdm71 MDM Web 

Dynpro Components Guide  Configuring a Project in the MDM WD ConfigurationManager .

You have imported the MDM Web Dynpro and MDM Java API software components (SC) to

your workspace as follows:

Page 10: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 4

a. In the SAP NetWeaver Developer Studio (NWDS), choose the Development 

Infrastructure perspective as follows:

Window  Open Perspective  Other  Development Infrastructure.

b. Import the MDM_JAVA_API software component to your LocalDevelopment development

track as follows:

i. In the context menu of the LocalDevelopment track, choose Import SC… to open

the Import Software Component screen.

ii. Browse for the MDMJ710<SP-Number>_P<Patch-Number>.sca file.

c. Import the MDM_JAVA_WD_FRAMEWORK software component to your development track

exactly as you did in step b above for the API. You import the MDMJAVAWDFRW<SP-

Number>_P<Patch-Number>.sca file.

Two new software components appear in the LocalDevelopment track  – MDM_JAVA_APIand MDM_JAVA_WD_FRAMEWORK.

d. Add a new dependency to the MyComponents SC, for the MDM_JAVA_API and

MDM_JAVA_WD FRAMEWORK software components.

You have created a Destination to establish a connection to the MDM repository.

Page 11: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 5

For more information, see http://service.sap.com/installmdm71 MDM Web 

Dynpro Components Guide  Creating a Destination for the MDM Repository.

Note

 As of MDM 7.1 SP07 you can use a secure communication channel to the MDM server.In this case, the MDM server name must include the number of the secured port. For more information about secure connections, see SAP Service Marketplace at

http://service.sap.com/installmdm71 MDM Security Guide  Network and Communication Security .

3. Consuming an MDM Web Dynpro Component

in a BPM Process

This example is a simple BPM process that only includes an Update operation (human task). We

demonstrate how to directly reference an Item Details WD component from a BPM process.

This is the result that we want to achieve:

...

Procedure

Important

Ensure that you have carried out all the prerequisite steps.

For more information, see Prerequisites on page 3 .

Create a new development component (DC) project

Info

You have already imported the Web Dynpro software component (SC) to your workspace. You are now going to create a new development component (DC) project.

1. In the SAP NetWeaver Developer Studio (NWDS), choose the Process Composer perspective

as follows:

File  New  Process Composer Development Component.

Page 12: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 6

2. Choose the software component (SC) where you want the development component (DC) project

to be created (that is, in the LocalDevelopment track, select the MyComponents software

component).

Info

Local Development is the name of a local development track, within which there is asoftware component called MyComponents.

3. Name the new DC project, test/mdmprocess.

Set the dependencies

Info

DCs can depend on one another and use each other. To enable a DC to use thefunctionality of another DC, you have to publish their functions in a set of publicinterfaces called public parts and a dependency to the public part of the DC must bedeclared. When you declare dependencies, you should select only those public parts thatyour component actually uses.

4. Choose the Development Infrastructure perspective.

5. In the context menu of the test/mdmprocess DC, choose Show In  Component Properties.

Page 13: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 7

6. In the Dependencies tab, add dependencies to the Public Parts of the relevant component  – in

this example it is the tc/mdm/wdcomps/itemdetails/wd component.

7. Choose Next and Finish to complete this activity.

Create a new BPM process

8. In the context menu of the Processes node, create a new process called MDMProcess.

Add a new task

9. Go back to the Process Composer perspective and expand the new test/mdmprocessDC.

Page 14: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 8

10. In the context menu of the Tasks node, add a new task to the project.

11. Name the new task, Update Record Data.

12. Choose Finish to create the Update Record Data task.

Define the User Interface

13. From the tab of the new Update Record Data task, choose the Overview tab.

14. Choose the Item Details component and its Public Part , ITEM_DETAILS.

Page 15: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 9

15. Choose Next to select the Item Details component and its Interface View ,ItemDetailsCompInterfaceView .

16. Choose Next and select the completeTaskEventas the Completion Event .

Page 16: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 10

17. Choose Finish to complete defining the user interface.

 Assign potential owners for the new task

18. Navigate to the Roles tab and choose the User , Role , or Group defined in the User 

Management Engine (UME).

19. Search for and add the UME user. For this example, we have selected Administrator .

CAUTION

Be sure that the user is a trusted MDM user.

For more information, see SAP Service Marketplace at

http://service.sap.com/installmdm71 MDM Web Dynpro Guide  Defining a Trusted Connection.

20. Save the changes. The task is now configured.

Define the BPM process flow

21. In the context menu of the new MDMProcess, open the Process Modeler .

22. Add the Update Record Data task to the MDMProcess (drag and drop).

Page 17: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 11

23. Use the sequence flow connectors to connect the steps of the process.

Define input mappings for the new process

24. In the Properties tab of the Update Record Data task, choose Input Mapping and enter the

internal record ID of the record that needs updating.

Page 18: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 12

25. Specify the Item Details configuration and enter the name of the project, the name of the

component, and the ID in inverted commas.

26. Save the changes.

27. Build and deploy the new DC.

Start the new BPM process

CAUTION

Ensure that the user ID has been assigned to the following two roles:

Every User Core Role (eu_core_user)

 Adds the Home TLN (portal Top Level Navigation) entry that includes the UWL for accessing BPM tasks at runtime

BPEM End User (com.sap.bpem.Enduser)

Enables running a BPM job

For more information, see SAP Help Portal at http://help.sap.com/ SAP NetWeaver SAP NetWeaver CE . Open the SAP Library documentation that corresponds to your SAP

NetWeaver CE version. Open the Developer’s Guide Modeling Processes with Process Composer .

28. To run the process, see the next example, Consuming MDM Web Dynpro Components and 

MDM Web Services  Start the BPM Process.

Page 19: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 13

4. Consuming MDM Web Dynpro Components

and MDM Web Services

Background:

In this example, we show you how to configure a BPM process that consumes both an MDM Web

Dynpro component (human step), as well as an MDM Web service (automated step).

Note

SAP NetWeaver 7.3 is now supported. The screen captures provided in this guiderepresent the user interface of SAP NetWeaver Composition Environment (CE) 7.2.There may be some changes for SAP NetWeaver 7.3

Process

The process in our example includes three main steps consisting of one automated task and two

human tasks:...

1. Create new record  – an automated task using the Create Records MDM Web service operation.

Recommendation

You may want to allow one or more users to edit a record over an extended period of time as part of a collaborative process. You also want this record to be invisible to othersuntil the user is ready to commit the changes, and only then make the record visible to allusers. In this case, consider using the Web Service CheckoutAsNew functionality.

CheckoutAsNew functionality is integrated into the Create Records Web service

operation.

You can also use the Create Records operation to check out a new (rather than anexisting) record, thus creating a private new record.

In the final step, you can either:

Check in the record using the Web service CheckIn Records operation

Roll back the record using the Web service Rollback Records operation (this

deletes the record if it is checked out as new, or it reverses the changes for the

checked out record).

2. Update the created record  – a human task, directly referencing an MDM Item Details WD

component.

3. Approve/Reject  – a human task directly referencing an MDM Item Details WD component,

which has been configured with a toolbar including custom buttons.

Page 20: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 14

This is the result we want to achieve:

Repository Schema

This example is based on an MDM Material repository with the following schema:

One main table, Products 

A Material_Number field code is used as the record identifier in the BPM process

Procedure

Important

Ensure that you have carried out all prerequisite steps.

For more information, see Prerequisites on page 3 .

Generate the CreateRecords MDM Web service operation...

1. Assign MDM_WS_Generator and MDM_WD_CONFIGURATORactions to the relevant role.

For more information, see http://service.sap.com/installmdm71 MDM Web 

Dynpro Guide  Installing the MDM Web Dynpro Environment .

2. Using the MDM Web Service Generator wizard, generate and deploy an MDM_CreateRecords 

Web service operation. Take note of the following steps in the wizard:

In step 2, select the Create action on the Main table.

Page 21: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 15

In step 3, select the Material_Number field code as the record identifier.

For more information, see http://service.sap.com/installmdm71 MDM Web 

Services Guide  Generating a New Web Service .

Configure the Item Details WD component

3. Using the MDM WD Configuration Manager, add a new Project and configure an Item DetailsWD component.

For more information, see http://service.sap.com/installmdm71 MDM Web Dynpro 

Components Guide  Configuring a Project in the MDM WD Configuration Manager .

Important

Be sure that you select the Complete Task Button in step 1 of the Item Details wizard.

Create a BPM development component (DC) project

For more information, see Consuming an MDM Web Dynpro Component in a BPM Process on

page 5   Create a new development component (DC) project.

4. Name the new DC, mdmbpm . This is the result:

5. In the Development Component perspective, add a dependency to the Item Details component:

Create a new BPM Process

6. In the context menu of the Processes node, create a new process and name it

 MDM_BPM_Process.

Page 22: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 16

7. Complete the steps of the wizard and keep all default entries.

Add a human task (UpdateRecord)

8. From the Process Composer perspective, expand the new mdmbpm DC.

9. Using the context menu of the Task node, add a new human task to the project, and name it

UpdateRecord .

Define the User Interface

10. Select the ItemDetailsComp Interface View .

11. Select completeTaskEventas the Completion Event .

For more information, see Consuming an MDM Web Dynpro Component in a BPM Process on

page 5  Define the User Interface.

Page 23: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 17

 Assign a Potential User 

12. For assigning a potential owner for the new task, search for and add the UME user. For this

example, we have selected Administrator (a trusted MDM user).

For more information, see Consuming an MDM Web Dynpro Component in a BPM Process on

page 5   Assign Potential Owners for the new task.

The human task, UpdateRecord is now configured.

Add an automated task

The automated task invokes the Create Records Web service operation (which we have already

created in step 2 above).

13. Locate the Web Service Description Language (WSDL) for the MDM_CreateRecord Web

service (deployed from the Web Service Generator) as follows:

a. From the SAP NetWeaver Administrator (NWA), navigate to SOA Management 

Application and Scenario Communication  Single Service Administration.

Page 24: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 18

b. From the Service Definitions tab, search for the deployed Web service,

 MDM_CreateRecordVi.

Result

14. From the WSDLs tab, choose the WSDL link.

15. Copy the WSDL URL from the browser. For example:

http://<hostname>:<port>/MDM_CreateRecord/HTTPNone?wsdl&style=document&mode=ws_policy

Import the WSDL to the BPM Process

16. In the context menu of the WSDL Files node, choose Import WSDL....

17. Enter the URL of the WSDL (copy and paste from the previous step).

Page 25: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 19

18. Choose Next to create a new Service Group for the CreateProductWeb service task and

enter the Name and Description  – for example, MDM_BPM_SG.

Note

This name will later be used in the NWA to configure a Provider System and a ServiceGroup.

For more information, see Configure the WS system provider and related properties onpage 31.

Page 26: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 20

19. Choose Finish to achieve the following result:

Note

The ApproveReject human task will be defined later.

Define the BPM process flow

20. Drag and drop the MDM_CreateRecordVi task (automated task), to the process drawing

palette and call it createProducts.

21. Drag and drop the UpdateRecord task (human task) to the process drawing palette and call it

UpdateRecord .

Page 27: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 21

22. Connect both steps into a single process using the sequence flow connectors.

Page 28: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 22

Define input and output mapping

For the createProducts step:

23. Select the createProducts step and choose Input Mapping .

Page 29: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 23

24. Enter  MDM_BPM as input to the destinationName element ( MDM_BPM is the MDM destination

you defined as a prerequisite before starting this procedure).

25. Enter false as input to the applyNullValuesToMdm element.

Page 30: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 24

26. Enter  None as input to the checkoutAsNewelement.

27. Enter  New Product Material Number as input to the materialNumber element (this

string will be updated in the Material Number MDM field by the CreateProductWeb service).

Page 31: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 25

28. Choose Output Mapping for the createProducts step.

Page 32: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 26

29. Create a BPM artifact by dragging and dropping the dataObject on to the drawing palette and

renaming it Record_ID.

Page 33: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 27

30. Map the output of the createProducts step to the Record_ID by connecting the

dataObject from the response to the Record_ID of the process context.

Page 34: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 28

31. Because we are mapping a dataObject from a list (the response of the Web service), to a

string, there is a compilation error (a red x on the link). To solve this, double click the link to

open a Rules and Functions popup window and select string-join().

32. Use the string-join function, with an empty string separator (“”).

The following is the result:

Before:

createCustOrgResponse/Response/ExecutionStatus/dataObject

 After:

string-join(createCustOrgResponse/Response/ExecutionStatus/dataObject,"")

Page 35: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 29

For the UpdateRecord step:

33. Select the UpdateRecord step and map the Record_ID from the process context as input to

the internalId element.

Page 36: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 30

34. Reference the MDM WD component configurations by assigning the names of the Web Dynpro

project ( MDM_UpdateRecord ) and Item Details component (UpdateRecord ) configurations as

input to the projectConfigNameand componentConfigNamerespectively (these are the

names you configured in the MDM WD Configuration Manager).

Page 37: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 31

35. Save, build, and deploy the new process.

Configure the WS Provider System and related properties

Note

This part of the procedure is only relevant for the Web service automatic step,createProduct.

There are three configuration steps:

System Connections: Communication Profile

System Connections: Provider System

Applications Communications: Configuration

Note

SAP NetWeaver 7.3 is now supported. The screen captures provided in this guiderepresent the user interface of SAP NetWeaver Composition Environment (CE) 7.2.There may be some changes for SAP NetWeaver 7.3.

Page 38: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 32

System Connections: Communication Profile

36. Create a new Provider System for the Web service as follows:

From the SAP NetWeaver Administrator, (NWA), navigate to SOA Management  Technical Configuration  System Connections, and choose the Communication Profiles tab .

37. Choose New to open the New Profile wizard.

38. Complete the two steps of the wizard:

In the General step, name the new Communication Profile, MDM_BPM_Profile.

Page 39: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 33

In the Connectivity Type step, leave the default values for the Authentication properties,

Reliable Messaging, and Transport Binding settings.

The result is:

Page 40: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 34

System Connections: Provider System

Note

SAP NetWeaver 7.3 is now supported. The screen captures provided in this guiderepresent the user interface of SAP NetWeaver Composition Environment (CE) 7.2.There may be some changes for SAP NetWeaver 7.3.

39. Choose the Provider Systems tab.

40. Choose New to open the New Provider System wizard.

Page 41: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 35

41. Complete the steps of the wizard as follows:

Step 1  – Provider System

System Type = Java

DB Host  = the host name where the Web service is deployed

Step 2  – Connectivity Types

a. Check WS in the Connectivity Type column to expand the screen where you update the

additional properties.

b. Select MDM_BPM_Profile from the Profile Name dropdown list (this is the

Communication Profile you configured in the previous step).

c. Select WSDL.

Page 42: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 36

d. Update the URL field with the MDM_CreateRecord Web service WSDL URL (generated

above):

http://<hostname>:<port>/MDM_CreateRecord/HTTPNone?wsdl&style=document&mode=ws_policy

Page 43: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 37

You have now completed configuring a new Provider System called bpm on <hostname>.

Page 44: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 38

Applications Communications: Configuration

In this step we configure the inbound and outbound communication of the application. We will assign

the newly created Provider System, bpm on <hostname> to the Service Group MDM_BPM_SG.

42. From the SAP NetWeaver Administrator (NWA), navigate to SOA Management  

Application and Scenario Communication   Application Communication .

43. Search for your deployed BPM project. You can enter *mdm*.

44. Select the project from the result. In this example, the BPM project name is test-mdmbpm .

45. Choose Edit.

46. From the Consumed Services tab, choose Assign Provider System .

Page 45: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 39

47. Select bpm on <hostname> , which is the Provider System you created in the previous steps.

Page 46: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 40

You have completed the Application Configuration step. The result is as follows:

Page 47: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 41

Add a new human task (ApproveRecord)

You now configure the ApproveRecord task using the Item Details WD component with the Custom 

Toolbar option.

48. Define a new Item Details WD component in the MDM WD Configuration Manager called

 ApproveRecord as shown in the following screen capture:

49. In the Custom Toolbar step of the WD Configuration Manager Item Details wizard, add the

following two custom buttons on the toolbar: Approve and Reject.

Page 48: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 42

50. Update their Status Text with Record_Is_Approved and Record_is_Not_Approved 

respectively.

Info

The Status Text is a string value that is passed to the process context (using theBPMStatus parameter), when any of the custom buttons are pressed at runtime by theuser.

51. Go back to the NWDS and from the Process Composer perspective, expand the mdmbpm DC,

and add a new human task to the project using the context menu of the Task node.

52. Name this task ApproveRecord .

Page 49: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 43

53. Define the User Interface and assign a Potential User as we did for the UpdateRecord human

task above.

54. Add the ApproveRecord human task to the process by dragging and dropping it on to the

process drawing palette.

55. Link this task to the UpdateRecord task and connect it to the End step.

Define input and output mapping

56. Select the ApproveRecord step, and choose Input Mapping .

57. Set the Input Mapping for the process context Record_ID and map it as input to the

internalId element.

Page 50: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 44

58. Assign the MDM WD Configuration Manager project, MDM_UpdateRecord , and the Item Details

WD component configuration, ApproveRecord , to the projectConfigName and

componentConfigName respectively.

Page 51: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 45

59. Define Output Mapping for the ApproveRecord step.

Create an artifact by dragging and dropping the BPMStatus (located under the IOData node),

on to the drawing palette.

Note

This example demonstrates just one of the options for creating an artifact; there are

others.

Page 52: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 46

60. Map the ApproveRecord output to the process context by mapping the BPMStatus to the

DO_BPMStatus artifact.

61. Add an Exclusive Choice Gateway and connect the ApproveRecordstep to this gateway.

62. Connect the gateway output to the UpdateRecord and End steps.

63. Rename the connections to the UpdateRecord step to Rejected and the connection to the

End step to Approved .

64. For the Approved branch, select Condition and define the conditions for this gate as follows :

a. Drag and drop the DO_BPMStatus from the Context into the Condition editor.

Page 53: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 47

b. Apply the string function string-equal(DO_BPMStatus,"Record_Is_Approved")

where Record_Is_Approved is the status text when the Approved button is chosen.

This condition means that if the DO_BPMStatus string value equals

Record_Is_Approved , this branch is true and the process will continue down this path.

65. For the Rejected branch, select Condition and define the conditions for this gate as above.

Page 54: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 48

66. Check the property Make this gate the default to designate it as the default gate. (If the

 Approved condition fails, the Rejected branch is executed).

Start the BPM process

67. Log on to SAP NetWeaver Administrator.

68. Navigate to Configuration Management  Processes and Tasks  Process Repository.

69. Select the test~mdmbpm component.

Page 55: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 49

70. Choose Start Process to open a popup window.

Page 56: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 50

71. Choose Start Process again.

You should see a confirmation message below stating that the process started successfully.

Runtime

In this example, the first BPM task is automatic. Once the BPM process is started, you can already

see the newly created record in the MDM repository (created by the automated BPM step).

The second and third activities are human tasks. Portal users can see their BPM tasks in the UWL. In

our example the user sees the UpdateRecord task and thereafter the ApproveRecord task.

Page 57: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 51

This is the process at runtime:...

1. The UpdateRecord task appears in the UWL (as seen in the screen capture)

2. The user chooses the UpdateRecord link and a BPM popup window with the BPM task is

launched.

Page 58: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 52

3. The user updates the record fields and chooses Complete . The BPM process moves to the next

step, which is ApproveRecord .

4. The ApproveRecord task appears in the user ’s UWL inbox.

Page 59: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 53

5. The user selects the ApproveRecord task and a BPM popup window with the BPM task is

launched.

Note

The Reject and Approve buttons appear on the UI at the bottom.

6. The user chooses the Reject or the Approve button and moves the process to the next step.

Page 60: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 54

5. Passing MDM Semantic Data between BPM

Process Steps Using a Wrapper Application

Background

This example shows how to use a BPM context to pass semantic data between steps in a BPM

process. The BPM context keeps the data that controls the execution of a workflow.

Recommendation

Due to BPM performance issues, we recommend that you keep the entered master datain the BPM context to a minimum (if at all), since you have to pass the complete master data from step to step.

Process

The purpose of this example is to create a new Vendor master record in the MDM repository.

The overall process is as follows:...

1. In the Item Details WD component from the wrapper application, a user enters values for 

Vendor Name and Country .

2. This semantic data is then passed (using the BPM context) to a Web service Create Records 

operation where the record is created in the MDM repository.

The procedure below shows you how this is achieved by covering two main aspects of BPM and Web

Dynpro integration:

In step 1 below, we show you how to create a Web Dynpro wrapper application consisting of an

MDM Item Details Web Dynpro component (CreateVendor). In this example, the Item Details

WD component includes semantic data in the Vendor Name and Country fields, which has been

entered by the user.

In step 2, we show you how to create a BPM process that consumes the above wrapper 

application and passes the semantic data to the BPM context using the completeTask event.

Page 61: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 55

This is what we want to achieve:

Step 1: Create the Web Dynpro Wrapper Application that consumes an ItemDetails WD component

Important

Ensure that you have carried out all the prerequisite steps.

For more information, see Prerequisites on page 3 ....

Create a BPM development component (DC) project

Recommendation

Refer to section Building a Stand-Alone Web Dynpro Component in the How-to Build Web Applications Using MDM Web Dynpro Components guide available on SAPDeveloper Network (SDN) at http://www.sdn.sap.com/irj/sdn/howtoguides .

The direct link is: How-to Build Web Applications Using MDM Web Dynpro Components

1. Name the Web Dynpro DC (wrapper application) semantic_mdm .

2. From the Development Infrastructure perspective, set the following dependencies for the new

semantic_mdm DC: 

tc/mdm/wdcomps/itemdetails/wd

com.sap.mdm.tech.mdm4j (dependency to the MDM Java API)

Page 62: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 56

Create a new Web Dynpro component

3. In the context menu of the Components node of the semantic_mdm wrapper application,

create a new Web Dynpro component and call it SemanticMDM .

This is how it appears in the Web Dynpro Explorer:

4. Add a data link between the Component Controller and the Interface Controller of the Item

Details WD component.

Create and map the context nodes (Configuration and IOData)

5. Drag and drop the context from the Item Details WD component on the right to the Component 

Controller context on the left.

Page 63: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 57

6. Map the context by dragging the elements from the left to the right (see screen capture below).

Add the semantic context nodes to store the new Vendor details

7. Add a context node NEW_VENDOR (with 1..1 cardinality).

a. Under NEW_VENDOR, add a COUNTRY context node (with 1..1 cardinality):

 Add a COUNTRY_ID attribute (integer) to hold the internal ID of the selected

country.

 Add a COUNTRY_NAME attribute (string) to hold the name of the selected country.

Page 64: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 58

b. Under NEW_VENDOR, add a VENDOR_NAME attribute (string), to hold the new vendor 

name.

BPM Info

Since BPM is only aware of the Interface Controller context, we need to copy the contextfrom the Component Controller to the Interface Controller .

8. Copy the context nodes in the Component Controller to the Interface Controller of the

SemanticMDM component as follows:

a. In the context menu of the following context nodes, choose Copy .

Configuration

IOData

NEW_VENDOR

Page 65: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 59

b. In the context menu of the Interface Controller , choose Paste .

Define a CompleteTask event for the wrapper application (for BPM)

 At runtime, the user who has been assigned the task, enters the Vendor name, selects the Country ,

and chooses the Complete button on the UI of the Item Details WD component. This activates the

CompleteTask event. You define the CompleteTask event as follows:

9. In the Component Controller of the SemanticMDM wrapper component, add a new

CompleteTask event.

Page 66: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June June 2011 2011 6060

10. 10. Copy Copy and and paste paste thethe CompleteTaskCompleteTask event to theevent to the Interface Controller Interface Controller ..

11. 11. In In thethe Component Controller Component Controller , add a new, add a new Event handler Event handler that subscribes to the Item Detailsthat subscribes to the Item Details

CompleteTaskCompleteTask event andevent and call itcall it completeTaskcompleteTask..

12. 12. Select Select the the Item Item DetailsDetails Interface Controller Interface Controller as theas the Event Source Event Source and theand the completeTaskEventcompleteTaskEvent

as theas the Subscribed Event Subscribed Event ..

Page 67: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June June 2011 2011 6161

13.13. Copy and paste theCopy and paste the completeTaskcompleteTask event to theevent to the Interface Controller Interface Controller ..

14. 14. Save Save and and build build the the new new DC.DC.

InfoInfo

 At this point, we want to link the values of the entered fields with the semantic context we At this point, we want to link the values of the entered fields with the semantic context weadded to the wrapper application. The BPM process can then pass these field values toadded to the wrapper application. The BPM process can then pass these field values tothe next step in the process.the next step in the process.

15. 15. To do To do this, adthis, add the d the following code following code in tin thehe CompleteTaskCompleteTask handler handler ::

COMPANY_NAMECOMPANY_NAME  – – thethe Vendor Name Vendor Name field code in the MDM repositoryfield code in the MDM repository

COUNTRYCOUNTRY  – – thethe Country Country field codefield code

Page 68: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June June 2011 2011 6262

16. 16. In In thethe SemanticMDMViewSemanticMDMView view of theview of the SemanticMDM SemanticMDM component, add acomponent, add a

 ViewContainer ViewContainerUIElementUIElement..

17. 17. Open Open thethe SemanticMDMWindowSemanticMDMWindow, and add the Item Details, and add the Item Details interface view to the user interfaceinterface view to the user interface

container.container.

18. 18. Save Save the the changes.changes.

Page 69: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 63

Add a public part for the wrapper component to expose it in the BPM process

19. In the context menu of the SemanticMDM component, choose Add to Public Part .

20. Choose New , and enter a name for the public part. For example, SemanticMDM_PUBLIC.

Page 70: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 64

21. Choose Finish.

22. Uncheck ITEM_DETAILS and choose Finish .

23. Build the new semantic_mdm DC and deploy it.

Step 2: Create a BPM Process

In the following steps you create a BPM process that consists of the following:

A human task which involves the BPM process consuming the wrapper application (that you

have just created)

An automated task which includes an MDM Web service.

Recommendation

Reference the steps in the following procedure as a guideline: Consuming an MDM Web Dynpro Component in a BPM Process on page 5 . We have highlighted some of thechanges that you will have to make.

Page 71: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 65

Create a DC for the BPM project

24. Name the DC of the BPM project, create_vendor.

25. Add a dependency to the SemanticMDM_PUBLICpublic part of the semantic_mdm DC.

Add the new BPM process

26. In the Processes node in the Web Dynpro Explorer, create a process and call it

 MDM_Create_Vendor.

Add the human task (CreateVendor)

27. From the Process Composer perspective, expand the new create_vendor process DC.

28. Using the context menu of the Task node, add a new human task to the process and name it

CreateVendor.

29. From the tab of the new CreateVendor task, choose the Overview tab.

Page 72: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 66

30. Define the User Interface by choosing the semantic_mdm DC and its Public Part ,

SemanticMDM_PUBLIC.

Page 73: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 67

31. Choose Next to select the SemanticMDMInterfaceView of the semantic_mdm DC.

Page 74: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 68

32. Add the CreateVendor task to the MDM_Create_Vendor process by dragging and dropping it

on to the drawing palette.

Define input and output mapping

33. Add an artifact of type UIRequest to hold the new vendor data (this data will be passed

between the first human step, and the second automated step), by draging and dropping the

UIRequest on to the drawing palette.

Page 75: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 69

34. Rename it Vendor_Details.

Info

You now want the Item Details WD component to open as an empty form (with no valuesin the fields) so that you can populate the fields.

35. To configure this behavior, carry out the following procedure:

a. Ensure that in the MDM Web Dynpro Configuration Manager, the Item Details WD

component is configured to Start in Edit Mode.

b. Set a value of “–1“ (of type string) as the internalId for the Item Details WD

component.

36. Reference the project and the component.

Page 76: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 70

37. Map the output of the CreateVendor human step to the Vendor_Details artifact.

38. Map the Vendor_Details artificact to the automated createMDM_Vendors Web service

step.

For more information on how to create an automated Web service step, see Consuming MDM Web Dynpro Components and MDM Web Services on page 13 .

39. Double click on the fx icons above to open the following screens:

Page 77: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 71

a. Enter  NONE as input to the checkoutAsNewelement in the createMDM_Vendors

automated Web service step (this is a mandatory parameter).

b. Use the following expression which applies to the mapping between the source

destination, which is COUNTRY_ID to the target destination, which is internalId.

40. Save your changes.

41. Build and deploy the DC.

Runtime

Page 78: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 72

6. BPM and UWL Mapping using

worklistVariable

Portal users access their BPM tasks via the Universal Worklist (UWL). However, the UWL by default,

only displays information related to a BPM task (for example, Modify Record Data), and does not give

any details regarding the actual record on which the task needs to be performed. Therefore the portal

user can see what task to perform but cannot easily identify which record he or she is working on.

In this example we explain how to map key identifying data (for example, customer name, part

number) for a record belonging to a BPM task to a worklistVariable. This data is then displayed

in the Subject column of the UWL enabing the user to easily identify the record on which to perform

the task....

1. From the Process Composer perspective, select any of the existing human tasks in the drawing

palette of the BPM (for example, Account Agent).

2. In the Properties tab, choose Input Mapping .

3. Map key identifying data (for example, COMPANY_NAME), from the context of the Task to the

worklistVariable of the artifact.

4. In the Web Dynpro Project Explorer tree, select the same human task (Account Agent).

5. Choose the User Texts tab.

6. Add a new variable.

7. Enter  worklistVariable in the Expression field (in this example, the Expression Builder is

used to concatenate the worklistVariable with other constants).

8. Enter any name for the variable.

9. In the Type column, enter String.

Page 79: How to Integrate Master Data Management (MDM) and Business

How to Integrate Master Data Management (MDM) and Business Process Management (BPM)

June 2011 73

10. In the Parameterized Texts area, enter the name of the variable in the Subject field.

Result

The result in the UWL shows the worklistVariable value which was mapped (COMPANY_NAME =

 AB Company). The user can now see the record on which to perform the task.