33
SAP NetWeaver How-To Guide MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry Applicable Releases: SAP NetWeaver Master Data Management 5.5 SAP NetWeaver Master Data Management 7.1 SAP Business Objects Data Services XI 3.1 and above Topic Area: Enterprise Information Management Capability: Master Data Management Version 1.1 June 2010

MDM and Data Services Integration Scenarios - Part II

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

SAP NetWeaver

How-To Guide

MDM and Data Services Integration

Scenarios - Part II: Consolidation On

Data Entry

Applicable Releases:

SAP NetWeaver Master Data Management 5.5

SAP NetWeaver Master Data Management 7.1

SAP Business Objects Data Services XI 3.1 and above

Topic Area:

Enterprise Information Management

Capability:

Master Data Management

Version 1.1

June 2010

© Copyright 2010 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, please 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.

Document History

Document Version Description

1.10 A new SAP Business Objects Data Quality Management and SAP

NetWeaver MDM integration guide has been released which applies to

MDM 7.1 version. On page 3, link has been changed accordingly.

1.00 First official release of this guide

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

Table of Contents

1. Introduction ..................................................................................................................... 1

2. Business Scenario .......................................................................................................... 3

3. Prerequisites.................................................................................................................... 4

4. Step-by-Step Procedure .................................................................................................. 5

4.1 Providing Data Quality Services ................................................................................ 5

4.2 Setup of Enrichment Architecture .............................................................................. 8

4.3 Enhancements in MDM ........................................................................................... 12

4.4 Runtime and Monitoring .......................................................................................... 23

5. Appendix ........................................................................................................................ 26

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 1

1. Introduction

SAP NetWeaver Master Data Management (MDM) is a powerful solution to import, maintain and

syndicate master data of all types across different systems. Its in-memory technology allows searching

for master data within the MDM repository with very short response times. You can identify potential

duplicates across systems and manage key mappings as a prerequisite for master data distribution.

For new master data to be stored in the MDM repository – either when creating manually or when

connecting new Client systems to an MDM landscape – it is best practice to perform a data cleansing

and also a matching in order to find duplicate records. MDM itself supports cleansing and matching,

however SAP Business Objects Data Services (DS) provides more comprehensive cleansing and

matching capabilities, e.g., standardizing and correcting names, connecting to international address

data directories such as US Postal directory, supporting different matching algorithms (heuristic, rules-

based, probabilistic, deterministic, empirical, template), etc. Besides this, it provides full ETL

functionality to extract data from any kind of source, transform it, and load it to any destination.

We have identified the following scenarios where both solutions can be combined in order to

complement each other:

Advanced cleansing and consolidation (data migration scenario):

You would like to connect a new client system to your MDM landscape, hence initially load the master data into MDM. Use the full flexibility of Data Services to extract, transform, and load the data into the MDM repository. Run cleansing, validation, normalization, and de-duplication in Data Services prior to loading the data into MDM. In order to match the new data against the existing in the MDM repository, read data via DB views. After having loaded the data in MDM,

syndicate the same to your clients.

Real-time cleansing and enrichment on data entry:

You have chosen MDM as the central repository for your master data. You would like to create new master data in the MDM Data Manager. You can ensure data governance via MDM workflow. On data entry, the data needs to be enriched by calling data quality and enrichment services provided by Data Services. Integration to Data Services is done via the Enrichment

Architecture.

Periodic cleansing, and consolidation of data in MDM repository:

You have chosen MDM as the central repository for your master data. You have noticed that some of your data is incomplete. Furthermore, it might be that some data is outdated, e.g., data must be updated with the most recent address information. So, on a regular basis you need to run cleansing, and consolidation jobs to ensure data integrity. The data needs to be exported, processed and re-imported into the MDM repository which is handled via the Enrichment Architecture.

Central master data creation with data quality check on data entry:

You have chosen MDM as the central repository for your master data. Maintenance of your master data is done from within the Enterprise Portal, either via iViews or Web Dynpro components. You can control data governance via SAP NetWeaver Business Process Management (BPM). Integration to MDM is done via Web Services or MDM Java API. In order to prevent duplicate entries from entering the MDM repository, you call data quality services on data entry such as duplicate check, address cleansing, name cleansing, and normalization, etc.

Integration to Data Services is done via Web Services.

Extracting data for all kinds of sources and data transfer into MDM:

Use native ETL functionality of Data Services to extract, transform, and load your master data into MDM, see also above.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 2

Master data joined with analytics:

Run data profiling reports provided by Data Services to get an insight of the quality of your master data in MDM, and visualize the results in dashboards.

This document is the second part of a how-to guide series dealing with the integration between SAP

NetWeaver MDM and SAP Business Object Data Services. The goal of the how-to guides is to provide

you with guidelines about how to implement the scenarios above. We will stick to the data migration,

the cleansing on data entry (including periodic cleansing), and the central master data management

scenarios. Implementation teams can use those findings as a jump start for their own integration

projects.

In the first part of the how-to guide series, we cover the data migration scenario. In the third part, we

focus on the central master data creation scenario. You can download those how-to guides from the

SAP NetWeaver how-to guides area on SAP Developer Network (SDN)

https://www.sdn.sap.com/howtoguides.

In this document, we explain how to setup the on entry and periodic cleansing scenarios which are

actually similar from an integration and data flow perspective, and hence dealt with together. The

scenario is described in more detail in the following chapter.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 3

2. Business Scenario

SAP NetWeaver MDM

MDIS MDSS

SAP Business Objects

Data Services

Web Server

Engine

(Real-time job)

MDS

(Workflow)

SAP NetWeaver

Application Server Java

Enrichment

Framework

DQ Adapter

WSController

The figure above shows the system landscape required for running the business scenario.

Master data is maintained in MDM Data Manager, and further enriched calling data quality services

provided by SAP Business Objects Data Services. Such a data quality service has to be defined as a

real-time job, and exposed as a web service.

The complete process is controlled and automated by the Enrichment Controller which runs on an

SAP NetWeaver Application Server Java. The Enrichment Controller coordinates the export of the

master data records from the MDM repository, the call of the enrichment service, and the re-import of

the enriched data into the repository. You need to define specific mappings to provide the proper fields

to the service provider, and to map the result to the repository fields which should be enriched.

For the particular enrichment service, one has to implement an enrichment adapter which defines the

interface between the Enrichment Architecture and the service. Usually, each service provider will

implement one adapter for all its services. For connectivity with SAP Business Objects Data Services,

SAP ships the SAP Business Objects Enrichment Adapter which supports synchronous Web Services

calls.

For more details about the MDM Enrichment Architecture, please refer to the SAP Help Portal

http://help.sap.com/saphelp_nwmdm71/helpdata/en/44/aa411ce9d57454e10000000a11466f/frameset

.htm.

Note, that as of MDM 7.1 SP04 the SAP Business Objects Enrichment Adapter is delivered together

with the SAP MDM Enrichment Controller. Please refer to the MDM 7.1 SP04 release notes

http://help.sap.com/saphelp_nwmdm71/helpdata/en/4b/58416df2ec4cb9e10000000a42189b/frameset.

htm.

For more details about the SAP Business Objects Enrichment Adapter, please refer to the SAP

Business Objects Data Quality Management and SAP NetWeaver MDM integration guide

http://help.sap.com/businessobject/product_guides/DQMS/en/xi31sp02_dqsapmdm_ug_en.pdf

The overall process can be broken down into the following steps: ...

1. Master data records are created in the MDM Data Manager (optionally, the client could be MDM

iViews or MDM Web Dynpro Components).

2. An MDM workflow job is automatically triggered, and the master data records are assigned to

the same. The workflow must contain at least two process steps which need to be configured in

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 4

a specific way, see SAP note 1341061. They are used to start and wait for termination (either

successfully or erroneous) of the enrichment process.

3. The Enrichment Controller frequently polls the MDM workflows for steps which match the

settings specified in the Enrichment Controller configuration file. If the first of the two process

steps is reached within the running workflow job, the Enrichment Controller triggers the

syndication of the respective master data records. The workflow processing is then moved to

the second process step where it waits until the result of the enrichment process has been

imported.

4. The MDM syndication server exports the data to a target port whereas the data is mapped to the

format that matches the web services request message scheme.

5. Once the data has been syndicated, the enrichment adapter calls the web service and waits to

receive the response. On the SAP Business Objects Data Services engine, a real-time job is

triggered which runs through several enrichment steps such as address cleansing, name

cleansing, etc.

6. After having received the response, the Enrichment Controller triggers the import of the results

from a server port. In the respective import map you have to ensure that the status of the data

quality run is updated.

7. Once the data has been imported by the MDM import server, all records are moved to the next

workflow step. This could be any kind of workflow step. For instance, you could add an approval

step or a branch step to run a validation based on the status of the enrichment process.

8. During the whole enrichment process, status information is written on record level. This is

especially the case if any error occurs. In order to store the status information, the repository

scheme has to be enhanced by a status field which is a look-up to a qualified table.

3. Prerequisites

SAP NetWeaver MDM 5.5 or SAP NetWeaver MDM 7.1

SAP Business Objects Data Services 3.1 or higher

Data Cleansing packages depending on your needs

SAP NetWeaver Application Server Java 7.0

SAP NetWeaver MDM 7.1 Enrichment Controller based on SAP NetWeaver 7.0

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 5

4. Step-by-Step Procedure

In this paper we focus on how to setup the interface between SAP NetWeaver MDM and SAP

Business Objects Data Services in order to consume a data quality service on data entry in MDM. We

assume that such a service already exist. For more details about how to configure a data quality

process, please refer to the SAP Business Objects Data Services reference guide on SAP Help Portal

http://help.sap.com, tab SAP BusinessObjects.

4.1 Providing Data Quality Services ...

1. Prerequisite is that you have already created a real-time job in the SAP Business Objects Data

Services Designer which provides data quality functionality.

2. Publish the real-time job as web service.

Open the Data Services Management Console via URL http://<BO DS Server>:<BO DS

Port>/DataServices.

Navigate to Administrator Real-Time <host> Real-Time Services, and switch to tab

Real-Time Services Configuration.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 6

Select button Add.

Select the respective real-time job, specify a name for the web service, select the server where the jobs should run, and apply your settings.

Note

The service name has to be identical to the port code of the MDM inbound and outbound

ports.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 7

3. Go to Web Services, and switch to tab Web Services Configuration to configure your web

service, e.g., enable or disable security settings.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 8

4.2 Setup of Enrichment Architecture ...

1. Download the latest Enrichment Controller release from the SAP Service Marketplace, area

Software Distribution Center http://service.sap.com/swdc (note: logon required), Support

Packages and Patches Entry by Application Group SAP NetWeaver SAP MDM SAP

NETWEAVER MDM 7.1 Entry by Component Enrichment Controller 7.0.

The Enrichment Controller package comes with an SCA file, a sample configuration file, a sample adapter, and simulator files. Latter can be used to test your enrichment environment

once it has been setup.

2. Deploy the SCA on the SAP NetWeaver Application Server Java. As a prerequisite you have

already deployed the MDM Java API.

Note

As of SAP NetWeaver MDM 7.1 SP04, the SAP Business Objects Enrichment Adapter is delivered together with the SAP MDM Enrichment Controller. Before, this had to be deployed separately. For more details, please refer to the SAP NetWeaver MDM 7.1 SP04 release notes http://help.sap.com/saphelp_nwmdm71/helpdata/en/4b/58416df2ec4cb9e10000000a421

89b/frameset.htm.

3. Copy the folder MDM_EnrichmentController to any location on your server. The folder contains

the configuration file MDM_EnrichmentControllerConfiguration.xml and the respective xsd

scheme.

Maintain the following parameters in the configuration file (see also complete configuration file in

the appendix):

a. Host names of MDM server, MDIS, and MDSS

b. MDM Repository name, here MDMBOBJ_BP

c. Enrichment user, here Enrich

d. Main table, here MDM_BUSINESS_PARTNERS

e. Enrichment provider system, here BOBJ. This has to be identical to the remote system

code as defined in the MDM Console

f. Enrichment service port code as defined in the MDM Console, here

DQAddressCleansing. The enrichment service port represents the data quality

service. The parameter must be identical to the name of the respective web service.

g. Workflow name, here DQAddressCleansingWF

h. Name of the workflow step that triggers the syndication, here SendToEC

i. Enrichment Adapter:

i. vendorName="sap.com"

ii. applicationName="tc~mdm~enrichment~bobj~adapter"

iii. ejbName="DQMDMAdapterBean"

Note

The sample configuration file already contains a section for the DQ MDM Adapter for the simulator repository. You can use this as a template, and adapt accordingly.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 9

j. Time-out parameters. You have the possibility to specify three different time-out

parameters: for the MDSS, the Enrichment Adapter, and the MDIS.

Note

Since the adapter supports synchronous communication only, you may easily run into a time-out when dealing with a larger number of records. You may have to increase the several time-out parameters to suit the number of records that shall be processed within one workflow job. Even though you can adapt the time-out parameters, it is not feasible to send the complete set of records in one run, e.g., for the periodic cleansing use case,

you may have to split the overall number of records in consumable chunks of data.

4. Start the Visual Administrator, and select the Configuration Adapter service to change the

property sheet of the Enrichment Controller. Navigate to Configurations apps sap.com

tc~mdm~enrichment~controller appcfg Property Sheet application.global.properties, and

switch to edit mode.

Maintain the following parameters:

a. Change the property ApplicationRootFolderPath. It has to point to the folder that contains

the MDM_EnrichmentController folder.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 10

b. For each user maintained in the configuration file, a parameter is added to the property

sheet which securely stores its password. The format of the parameter is as follows:

<User>@<MDM Repository>@<MDM Server>

Maintain the password of the enrichment user.

Note

As of SAP NetWeaver MDM 7.1 SP04, the password is no longer maintained in the configuration file. For more details, please refer to the SAP NetWeaver MDM 7.1 SP04 release notes http://help.sap.com/saphelp_nwmdm71/helpdata/en/4b/58416df2ec4cb9e10000000a421

89b/frameset.htm.

5. Maintain the HTTP destination URL for the DQ Adapter's Web Service proxy and the

Enrichment Controller Web Service proxy.

In the Visual Administrator, select the Destinations service, and switch to tab Runtime.

Navigate to Destinations Webservice

sap.com/tc~mdm~enrichment~bobj~srvc_proxy/com.sap.mdm.enrichment.bobj.srvc.proxy.DQM

DMProxy/Connection_Operations.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 11

In the Connection Settings pane, change to Custom mode and adapt host and port of the URL

pointing to the server where SAP Business Objects Data Services runs:

http://<BO DS Server Name>:<BO DS Server Port>/DataServices/servlet/webservices?ver=2.0

Carry out the same changes for Destinations Webservice

sap.com/tc~mdm~enrichment~bobj~srvc_proxy/com.sap.mdm.enrichment.bobj.srvc.proxy.DQM

DMProxy/Realtime_Service_Admin.

Save the changes, and restart the adapter proxy in the Deploy service.

For more details about setting up an SAP Business Objects Data Quality Environment, please refer to

the SAP Help Portal

http://help.sap.com/saphelp_nwmdm71/helpdata/en/4b/4d725ea8672475e10000000a421937/framese

t.htm.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 12

4.3 Enhancements in MDM ...

...

1. Create lookup table DQStatuses. This table stores the status codes and status descriptions of

the DQ job such as run was successful, address conflicts occurred, country was missing, etc.

Define both fields Status Code and Status Message as display fields.

The result of the DQ job only provides the status code. However, you may like to get the code and a meaningful status text displayed, i.e., you need to map from one source field to two display fields. This can be achieved by enabling Key Mapping, and using the remote-key during mapping. For more details, please refer to the ‘Good to Know Topics for a Smooth SAP Netweaver MDM 7.1 Implementation’ how-to guide, chapter 6.8 importing single source field to multiple display fields http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/70b0caa1-92e5-

2c10-c687-a8d05e778e59.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 13

To initialize the lookup table DQStatuses, get a text file from DQ containing all status codes and

texts, and import the same. Map the status code to the remote key.

2. In order to log status information and error messages occurring during the enrichment process,

you have to enhance the MDM repository schema.

In MDM Console, you have to create an Enrichment Statuses lookup table, and add an Enrichment Status field of type qualified lookup to your main table.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 14

Note

For more details about the structure of the lookup table, please refer to the SAP Help Portal http://help.sap.com/saphelp_nwmdm71/helpdata/en/44/ab794565d37455e10000000a11

466f/frameset.htm.

Optionally, the repository schema can be automatically enhanced in the MDM Enrichment Controller Administration Tool. Launch the administration tool via URL http://<EC Host Name>:<EC Port>/webdynpro/dispatcher/sap.com/tc~mdm~enrichment~ui/MDM_EC.

Prerequisite is that you have assigned role MDM EC Administrator to your user.

Switch to tab Administration, and select link Update Schema.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 15

Choose the respective repository, and select button Update Schema. If the Enrichment Status

structures are already available, the button is deactivated.

Note

You need to authenticate at the repository. Furthermore, you need the respective authorization to enhance the repository schema.

During the update, the repository is unloaded, so ensure that no other users are logged

on.

Once the schema has been created, add field DQ Status to the Enrichment Statuses table as a lookup to the DQStatuses table.

3. In MDM Console, add a new user which is used for the communication with the Enrichment

Controller, here Enrich.

4. In MDM Console, create a new remote system representing your service provider, here BOBJ

(note, this corresponds to settings in the Enrichment Controller Configuration file).

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 16

5. Import XML schemas for the web service request and response messages.

6. For the beforehand created remote system, create inbound and outbound ports. Once import

and syndication mappings have been created (see below), assign them to the ports.

The processing type of the outbound port has to be manual since syndication is triggered by the Enrichment Controller.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 17

The processing type of the inbound port has to be automatic to ensure that the response of the

Web Service is automatically imported to MDM.

Note

The codes of the ports have to be equals the name of the Web Service.

7. In MDM Syndicator, create a syndication map for the request message.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 18

8. In MDM Import Manager, create an import map for the response message.

a. Add EC_Port field to the source of the import map, and map it to the Enrichment Status

field which is the non-qualifier of the Enrichment Statuses table. The mapped value has

to be the port code representing the enrichment process, here DQAddressCleansing.

Set the qualified update options for the selected qualified lookup destination field Enrichment Status as follows:

Select Set Qualified Update Update from the context menu.

For new links choose Skip, for existing links choose Update (All Mapped Qualifiers).

Note

The qualified link is added by the Enrichment Controller at the beginning of a new enrichment job, the import updates this link. So, you do not have to create new links. If you do not specify any matching qualifier, matching is done by the non-

qualifier only, here the port code.

If you do not like to keep the history status information, do not select any matching qualifiers. A new enrichment run will overwrite the status of an old and already finished

run whereas the status entry will be updated for the same enrichment run.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 19

If you like to keep the status information of finished jobs (history), i.e., you rather like to add status entries, add the GUID or the Job ID to the Matching Qualifiers. The rest of the settings remain unchanged. This however requires that GUID or Job ID is syndicated and routed through the enrichment job to be available during import of the response.

b. Add Completed field to the source of the import map, and map it to the Enrichment

Status Completed field. Map the value to TRUE to indicate that the enrichment process

was successfully completed.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 20

c. Map the STATUS field to the Enrichment Status DQ Status destination field. The

STATUS field holds the status information of the DQ job. Since we enabled Key

Mapping, auto-mapping is based on the remote-keys.

9. In MDM Data Manager, create a workflow, here DQAddressCleansingWF.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 21

Create at least two process steps in a row. The first process step triggers the enrichment

process, here SendToEC. As mentioned above, the name of the workflow and the process step

has to correspond with the name maintained in the Enrichment Controller Configuration file.

Both steps have to be assigned to the enrichment user. See also SAP note 1341061.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 22

In case that you like to use check-out and check-in functionality, e.g., you first like to run through an approval step before checking-in the records, check-out the records at the beginning of the

workflow, and check-in at the end.

In the MDM Console, change the user of the MDIS which is used to communicate with the MDS to the enrichment user. Otherwise, you run into an error during import.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 23

4.4 Runtime and Monitoring ...

1. Once you have done all settings in the Enrichment Controller and SAP MDM, go to the System

Monitor of the MDM Enrichment Controller Administration Tool. It shows you the status of any

single configuration step. Furthermore, you have the possibility to test the enrichment service

before running the end-to-end process.

2. Create a new record in Data Manager. This automatically launches a new workflow job,

assuming that you have configured the workflow settings accordingly, see above. Once the

trigger step in the workflow is reached, the Enrichment Controller triggers the syndication of the

data, and writes the current status in the Enrichment status field.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 24

During import of the result of the DQ enrichment run, the Enrichment Status is updated: the time

stamp is updated, the Completed field is set to TRUE, and the DQ Status is added.

In case of a time-out, a respective error message is logged in the status field. The Completed field is set to TRUE, so that the workflow job carries on. You may like to add a branch and a

validation step in the workflow to control the proceeding.

3. You can monitor the DQ real-time job in the Data Services Management Console. Navigate to

Administrator Real-Time <host> Real-Time Services, and select your service.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 25

This provides you statistical information about your service. Select the process ID to get more

details.

From here, you can also access trace log and error log to analyze errors.

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 26

5. Appendix

Enrichment Controller Configuration File

<?xml version="1.0" encoding="UTF-8"?>

<MDM_EnrichmentControllerConfiguration

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:noNamespaceSchemaLocation="MDM_EnrichmentControllerConfiguration.xsd">

<!-- global section -->

<ConfigurationFile refreshInterval_min="10"/>

<!-- refreshInterval_min - controls how often the configuration -->

<!-- file is re-read in order to change parameters dynamically -->

<!-- Repository section -->

<!-- repeat once for each repository -->

<MDM_Server name="MDS_SERVER">

<!-- Name - enter here the host name of the MDM Server -->

<MDSS serverName="MDSS_SERVER"/>

<!-- serverName - enter here the host name of the MDSS Server -->

<MDIS serverName="MDIS_SERVER"/>

<!-- serverName - enter here the host name of the MDIS Server -->

<MDM_Repository name="MDMBOBJ_BP" reconnectInterval_min="5">

<!-- name - MDM Repository name as display in MDM Console -->

<!-- reconnectInterval_min - Time DQS controler waits until -->

<!-- next reconnect try if connection is broken -->

<ConnectionDetails user="Enrich" language="English [US]"/>

<!-- user - the name of the user created for the DQS Framework-->

<!-- language - enter here the data language -->

<Polling interval_mis="1000" active="true"/>

<!-- interval_mis - interval in millisec between poll cycles -->

<!-- active - switch (true/false) e.g. to temporarily -->

<!-- disable the processing -->

<Main_Table code="MDM_BUSINESS_PARTNERS">

<EnrichmentProviderSystem code="BOBJ">

<!-- code - client system code as given in MDM Console -->

<!-- service section -->

<!-- repeat once for each service -->

MDM and Data Services Integration Scenarios - Part II: Consolidation On Data Entry

June 2010 27

<EnrichmentServicePort code="DQAddressCleansing">

<!-- code - code of the outbound port as given -->

<!-- in MDM Console -->

<Trigger>

<!-- Workflow section -->

<!-- repeat once for each workflow that contains -->

<!-- a trigger step to invoke this service -->

<Workflow name="DQAddressCleansingWF">

<!-- name - Name of the worflow -->

<Step name="SendToEC"/>

<!-- name - Name of the trigger step -->

</Workflow>

</Trigger>

<MDSS timeOut_sec="30"/>

<!-- timeOut_sec - timeout in seconds until the -->

<!-- DQS Framework stops the processing -->

<!-- (if MDM Syndication Server does not produce -->

<!-- the requested output) -->

<EnrichmentAdapter vendorName="sap.com"

applicationName="tc~mdm~enrichment~bobj~adapter"

ejbName="DQMDMAdapterBean" timeOut_sec="30"/>

<!-- timeOut_sec - timout in seconds until the -->

<!-- called adapter method needs to return -->

<MDIS timeOut_sec="30"/>

<!-- timeOut_sec - timout in seconds until the -->

<!-- DQS Framework stops the processing -->

<!-- (if MDM Import Server does not pick-up the -->

<!-- delivered input files) -->

</EnrichmentServicePort>

</EnrichmentProviderSystem>

</Main_Table>

</MDM_Repository>

</MDM_Server>

</MDM_EnrichmentControllerConfiguration>

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