Mdm050 en Col92 Fv Part a4

September 9, 2017 | Author: venu_ds | Category: Databases, Hierarchy, Sql, Business Process, Data Type
Share Embed Donate


Short Description

Download Mdm050 en Col92 Fv Part a4...

Description

MDM050 Master Data Management Overview SAP NetWeaver

Date Training Center Instructors Education Website

Participant Handbook Course Version: 92 Course Duration: 3 Days Material Number: 50095298

An SAP course - use it to learn, reference it for work

Copyright Copyright © 2009 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.

Trademarks •

Microsoft®, WINDOWS®, NT®, EXCEL®, Word®, PowerPoint® and SQL Server® are registered trademarks of Microsoft Corporation.



IBM®, DB2®, OS/2®, DB2/6000®, Parallel Sysplex®, MVS/ESA®, RS/6000®, AIX®, S/390®, AS/400®, OS/390®, and OS/400® are registered trademarks of IBM Corporation.



ORACLE® is a registered trademark of ORACLE Corporation.



INFORMIX®-OnLine for SAP and INFORMIX® Dynamic ServerTM are registered trademarks of Informix Software Incorporated.



UNIX®, X/Open®, OSF/1®, and Motif® are registered trademarks of the Open Group.



Citrix®, the Citrix logo, ICA®, Program Neighborhood®, MetaFrame®, WinFrame®, VideoFrame®, MultiWin® and other Citrix product names referenced herein are trademarks of Citrix Systems, Inc.



HTML, DHTML, XML, XHTML 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.



SAP, SAP Logo, R/2, RIVA, R/3, SAP ArchiveLink, SAP Business Workflow, WebFlow, SAP EarlyWatch, BAPI, SAPPHIRE, Management Cockpit, mySAP.com Logo and mySAP.com are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other products mentioned are trademarks or registered trademarks of their respective companies.

Disclaimer THESE MATERIALS ARE PROVIDED BY SAP ON AN "AS IS" BASIS, AND SAP EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR APPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THESE MATERIALS AND THE SERVICE, INFORMATION, TEXT, GRAPHICS, LINKS, OR ANY OTHER MATERIALS AND PRODUCTS CONTAINED HEREIN. IN NO EVENT SHALL SAP BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES OF ANY KIND WHATSOEVER, INCLUDING WITHOUT LIMITATION LOST REVENUES OR LOST PROFITS, WHICH MAY RESULT FROM THE USE OF THESE MATERIALS OR INCLUDED SOFTWARE COMPONENTS.

g200951611845

About This Handbook This handbook is intended to complement the instructor-led presentation of this course, and serve as a source of reference. It is not suitable for self-study.

Typographic Conventions American English is the standard used in this handbook. The following typographic conventions are also used. Type Style

Description

Example text

Words or characters that appear on the screen. These include field names, screen titles, pushbuttons as well as menu names, paths, and options. Also used for cross-references to other documentation both internal and external.

2009

Example text

Emphasized words or phrases in body text, titles of graphics, and tables

EXAMPLE TEXT

Names of elements in the system. These include report names, program names, transaction codes, table names, and individual key words of a programming language, when surrounded by body text, for example SELECT and INCLUDE.

Example text

Screen output. This includes file and directory names and their paths, messages, names of variables and parameters, and passages of the source text of a program.

Example text

Exact user entry. These are words and characters that you enter in the system exactly as they appear in the documentation.



Variable user entry. Pointed brackets indicate that you replace these words and characters with appropriate entries.

© 2009 SAP AG. All rights reserved.

iii

About This Handbook

MDM050

Icons in Body Text The following icons are used in this handbook. Icon

Meaning For more information, tips, or background Note or further explanation of previous point Exception or caution Procedures

Indicates that the item is displayed in the instructor's presentation.

iv

© 2009 SAP AG. All rights reserved.

2009

Contents Course Overview ......................................................... vii Course Goals ...........................................................vii Course Objectives .....................................................vii

Unit 1: Master Data Management ...................................... 1 The Problem of Master Data ..........................................2 SAP NetWeaver MDM Architecture ..................................8

Unit 2: Data Management in SAP NetWeaver MDM .............. 31 Finding and Selecting Data .......................................... 33 Basic Data Maintenance in the Data Manager.................... 69 Taxonomy and Attributes............................................ 119 Matching Mode .......................................................152 Workflow ..............................................................179

Unit 3: Other Components of SAP NetWeaver MDM............ 221 Console ...............................................................222 Import Manager ......................................................253 Syndicator.............................................................279

Unit 4: Security and Auditing ........................................ 297 Users, Roles and Change Tracking in MDM .....................298

Unit 5: IT Scenarios .................................................... 325 Consolidating Master Data .........................................326 Harmonising Master Data...........................................332 Central Master Data Management.................................341

Unit 6: Business Scenarios........................................... 345 Global Data Synchronisation .......................................346 Customer Data Integration..........................................354 Rich Product Content Management and Print Publishing ......357

Unit 7: SAP NetWeaver Integration ................................. 371 SAP NetWeaver BW Integration ...................................372 SAP NetWeaver Portal Integration ................................380

2009

© 2009 SAP AG. All rights reserved.

v

Contents

vi

MDM050

© 2009 SAP AG. All rights reserved.

2009

Course Overview This course provides an overview of SAP NetWeaver MDM, including the scenarios supported by MDM, use of the main components, and integration of MDM with other key components in SAP NetWeaver

Target Audience This course is intended for the following audiences: • • •

IT and project managers responsible for SAP NetWeaver MDM projects MDM Solution Consultants Project team members

Course Prerequisites Required Knowledge •

SAP01 SAP Overview

Recommended Knowledge •

SAPNW SAP NetWeaver Overview

Course Goals This course will prepare you to: • • •

Understand the scenarios of SAP NetWeaver MDM Gain an overview of the main components of SAP NetWeaver MDM Understand how MDM integrates with other elements of SAP NetWeaver

Course Objectives After completing this course, you will be able to: • • • •

2009

Explain the architecture and components of SAP NetWeaver MDM Use the Data Manager to maintain master data in MDM, including the use of Matching and Workflow Perform basic functions in other components of SAP NetWeaver MDM, such as the MDM Console, Import Manager and Syndicator Understand how SAP NetWeaver MDM can be used to support Master Data Consolidation and Harmonisation, and Central Master Data Management

© 2009 SAP AG. All rights reserved.

vii

Course Overview

viii

MDM050

© 2009 SAP AG. All rights reserved.

2009

Unit 1 Master Data Management Unit Overview Master data is very important to an organisation, but can also cause many headaches. This unit explores the importance of effectively managing master data, and highlights the advantages of implementing a centralised master data management tools such as MDM.

Unit Objectives After completing this unit, you will be able to: •

• •

Understand the problems caused by poor master data management, and the advantages of being able to control processes around master data management more effectively. Explain the main components that make up SAP NetWeaver MDM, and their purpose. Understand key terminology in reference to this architecture, including a basic understanding of table and field types.

Unit Contents Lesson: The Problem of Master Data ...........................................2 Lesson: SAP NetWeaver MDM Architecture ...................................8 Exercise 1: MDM Terminology ............................................. 25

2009

© 2009 SAP AG. All rights reserved.

1

Unit 1: Master Data Management

MDM050

Lesson: The Problem of Master Data Lesson Overview In this lesson the problems associated with storage of master data in traditional organisational systems are highlighted, and the benefits of implementing a dedicated tool for the management of this master data are introduced.

Lesson Objectives After completing this lesson, you will be able to: •

Understand the problems caused by poor master data management, and the advantages of being able to control processes around master data management more effectively.

Business Example Your company is planning to implement SAP NetWeaver MDM, and before learning about this tool, you want to understand why exactly the master data in your organisation needs to be managed more carefully.

What is Master Data? Master data is the consistent and uniform set of identifiers and extended attributes that describe the core entities of the enterprise and are used across multiple business processes. Some examples of core entities are parties (customers, prospects, people, citizens, employees, vendors, suppliers or trading partners), places (locations, offices, regional alignments or geographies) and things (accounts, assets, policies, products or services). Groupings of master data include organizational hierarchies, sales territories, product roll-ups, pricing lists, customer segmentations and preferred suppliers.

The Master Data Problem Problems related to the enterprise management of "master" data are more acute than ever. Master data continues to grow and includes both traditional structured information and unstructured content such as documents and images. At the same time, data quality is becoming ever more important as interoperability, supply chain, and regulatory/compliance requirements increase. Enter a title and the conceptual information about this lesson in this section. You can also include additional sections, graphics, demonstrations, procedures, and/or simulations.

2

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: The Problem of Master Data

Figure 1: Typical Siloed Approach to Master Data

Yet no single enterprise business application has become a true system of record for the enterprise. That's because each application cares only about the portion of master data it needs to process its own transactions. No existing systems look at master data holistically. So, at the very moment when businesses require instant access to high-quality information about core business entities, the facts that describe them are inconsistent, inaccurate, and buried in data transaction structures, databases, content management systems, data marts, spreadsheets, email, or on paper. The lack of a single consistent enterprise system to manage comprehensive master information results in incorrect answers in business intelligence, undermines customer relationship management efforts, and makes it impossible to consolidate spending across suppliers. These complications slow the launch of new products and expose the company to significant regulatory and government compliance risk.

Figure 2: Pervasive Challenges of Master Data Management

The negative consequences of redundant or misaligned master data affect all industries in all business areas. For example, a vendor categorized as “indirect” in one system might appear as “direct” in a second and “global” in a third. A

2009

© 2009 SAP AG. All rights reserved.

3

Unit 1: Master Data Management

MDM050

vendor could be represented in multiple ways within a single system, resulting in suboptimal pricing terms, processing errors, costly delays, lost revenue opportunities, and unnecessary expenditures. If we consider that this can cause problems within a single system, consider the impact on master data that is shared along the supply chain. Incorrectly ordered items due to differences in material descriptions, wastage, and excessive freight charges are just some of the many excess costs that could escalate.

Figure 3: Inconsistent Views of Partner Data

How can you avoid these costly complications? By consolidating your master data and managing it consistently across your enterprise with the SAP NetWeaver Master Data Management (SAP NetWeaver MDM) component. Because SAP NetWeaver MDM supports most data sources, it enables you to leverage your legacy systems and applications. Whatever your industry, you can improve business process efficiency, become more responsive to change, and strengthen your decision making capabilities. With SAP NetWeaver MDM, you can identify and match suppliers, removing duplicate suppliers in the same system and finding equivalent suppliers in acquired or merged companies. You can then extract, transform, and load data from any number of heterogeneous procurement systems. In addition, you can use external validation services such as a Dun & Bradstreet DUNS number. You can take advantage of the integration of SAP NetWeaver MDM with SAP NetWeaver BW or SAP BusinessObjects BI solutions, which enables you to analyze your spend across heterogeneous systems and organizational boundaries.

Benefits of SAP NetWeaver Master Data Management SAP NetWeaver MDM helps you accomplish the following.

4

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: The Problem of Master Data

Improve business process efficiency – As a result of delivering consolidated and reliable master data to your operational systems, you can streamline business processes by eliminating the need for time-consuming manual checks and look-ups. In addition, you can: • • •

Compose new, innovative processes and access data through Web service Simplify print-catalog production by disseminating information directly to Adobe InDesign Reduce IT maintenance and operations costs and generate quantifiable ROI

Support decision making – With a single version of the truth, you can drive better-informed business decisions and improve the reliability of your analyses and reports through data harmonization and integration with SAP NetWeaver BW and SAP BusinessObjects Data Services. By consolidating, cleansing, and standardizing master data into a centralized repository, you can provide downstream applications with a reliable and accurate master-data source. In addition, you can boost cross-selling and up-selling to improve top-line results. By identifying relationships between and among entities such as related products, you can expose these relationships in your Web or print catalog, thus increasing each average purchase and improving your internal support processes. Respond with flexibility to changing business climates – When the business climate changes, you are better prepared to respond if your master data is well-managed. You are able to meet changing compliance standards for government and industry regulations by eliminating duplicate, incomplete, or outdated information on customers, products, suppliers, and materials. You can better support data governance initiatives with unified data to help ensure maximum returns on BI and enterprise application initiatives.

2009

© 2009 SAP AG. All rights reserved.

5

Unit 1: Master Data Management

MDM050

Features of SAP NetWeaver Master Data Management •



• •





6

End-to-end solution. The MDM system provides an end-to-end solution that automates the entire process of managing master data from start to finish, including bulk data import, centralized master data management, and published output to a variety of media. Database-driven system. MDM layers a thick shell of functionality on top of a powerful SQL-based DBMS so that the MDM system is fully scalable and the master data is fully accessible to other SQL-based applications and tools. Large capacity. The MDM system efficiently manages master data repositories containing up to millions of records. Superior performance. MDM breaks through SQL performance bottlenecks to deliver blazingly fast performance that is measured in milliseconds rather than seconds and is literally 100–1000 times that of a SQL DBMS alone. No other system on the market today delivers comparable performance. Powerful search and retrieval. All of the MDM modules include powerful search and retrieval capabilities, so that an entire repository of thousands or millions of items can be easily searched and any item or group of items located in a matter of seconds. Cross-media publishing. The MDM system is the only one on the market today that includes tightly integrated functionality for both electronic and printed output, for Web, CD-ROM, and paper output from a single MDM repository.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: The Problem of Master Data

Lesson Summary You should now be able to: • Understand the problems caused by poor master data management, and the advantages of being able to control processes around master data management more effectively.

2009

© 2009 SAP AG. All rights reserved.

7

Unit 1: Master Data Management

MDM050

Lesson: SAP NetWeaver MDM Architecture Lesson Overview This lesson will describe the main components that make up SAP NetWeaver MDM, and cover key terminology in terms of table and field types.

Lesson Objectives After completing this lesson, you will be able to: • •

Explain the main components that make up SAP NetWeaver MDM, and their purpose. Understand key terminology in reference to this architecture, including a basic understanding of table and field types.

Business Example As your organisation is looking to implement SAP NetWeaver MDM, you need to understand what elements make up MDM, and understand key terminology used when using MDM.

What is SAP NetWeaver MDM? The MDM system is much more than a simple database application. Rather, it is an integrated system for master data management that uses a SQL DBMS but then completely bypasses SQL for almost all searching, sorting, and retrieving of information. Standard SQL does not support the kinds of advanced structures necessary for master data management, so MDM features a database schema structure that is extended and optimized for master data, and powerful tools both for managing information and for classifying it into a hierarchy of categories and subcategories. The repository structure itself is completely flexible, but whether you have a thousand products in ten categories, or a million products in ten thousand categories, the underlying SQL schema consists of the same standard set of MDM tables, making the system extremely scalable, compact, and fast for large repositories and high-end applications.

What is an MDM Server? An MDM Server is the central hub of an MDM system. It manages access to master data in one or more MDM repositories, which it serves up to various client applications across a network.

8

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: SAP NetWeaver MDM Architecture

The various components of an MDM software environment, and how they interact with the MDM Server; are described below. •





MDM Console. MDM Console allows system managers to administer and monitor MDM Servers, and to create, maintain the structure of, and control access to the MDM repositories. MDM Clients. MDM clients interact with an MDM Server to import, access, manage, syndicate, and publish master data. Clients include MDM rich user interfaces such as MDM Data Manager, MDM Import Manager, and MDM Syndicator, as well as customizable interfaces such as iViews and APIs. DBMS engine. Master data is stored in a commercial SQL DBMS, access to which is controlled by the MDM Server. MDM supports Microsoft SQL Server, Oracle, IBM DB2, and SAP MaxDB.

Figure 4: SAP NetWeaver Architecture

MDM Auxiliary Servers In addition to the Master Data Server, an MDM system can include the following auxiliary servers: • • •

Master Data Import Server (MDIS). Automates import of data into an MDM repository. Master Data Syndication Server (MDSS). Automates syndication of data from an MDM repository. Master Data Layout Server (MDLS). Processes publication of master data from an MDM repository.

Each of these auxiliary servers interact independently with an MDM Server and, like the MDM Server, can be administered from within MDM Console.

2009

© 2009 SAP AG. All rights reserved.

9

Unit 1: Master Data Management

MDM050

What is an MDM Repository? The incorrect or at best incomplete answer is often that a master data repository is simply a database. An MDM repository certainly includes a database of information consisting of text, images, PDFs, and other data about each record, up to millions of records for some repositories. But a master data repository is much more than just a large database, and size by itself does not make a database a master data repository. Rather, it is the richness and complexity of the underlying information itself and the ways it can be searched and published that uniquely characterize an MDM repository. Moreover, when an MDM repository of product information is published as a catalog, the repository of master data becomes a sales tool, listing the products offered for sale by a vendor and allowing potential customers to browse those products in a convenient way. Often, the published catalog is the only point of contact a customer will have with a vendor, which makes the presentation of the product information – the organization and the design of the published catalog – critically important to creating brand recognition and a distinct vendor identity.

10

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: SAP NetWeaver MDM Architecture

Hundreds of details, large and small, must be addressed to turn a database into a meaningful master data repository, including: •







Rich master data. Rich structured, master data is the essential lifeblood of a usable MDM repository. For example, an MDM repository of product information must contain much more than basic transactional data consisting of just a part number, a price, and a forty-character description for each product. Master data must include not only fields of information common to all the products in the repository, such as part number and price, but also detailed product specifications (attributes) that may apply to only a subset of the products. Master data could also include rich content such as images, text blocks, and PDFs (for MSDS and other data sheets). Classification. Rich master data is not enough. The records need to be organized and classified into a taxonomy consisting of an arbitrary hierarchy of categories and subcategories, the hierarchy may contain any number of levels, and multiple simultaneous taxonomies may coexist in the same MDM repository. And a single category must be able to appear in multiple places within the hierarchy. For example, in an MDM repository of product information, a printer accessories category might be placed under both a printers category and an accessories category. Product families. Nodes from the classification hierarchy can be further partitioned into product families (also called units, presentations, or modules).. A print based product catalog provides an excellent model for how information on groups of records within an MDM repository of product data can be organized in this way. The families further partition the products in each category into smaller groups based upon the values of other fields and/or attributes. In addition to the individual products, a product family includes family data (such as an image, a descriptive paragraph, and feature bullets) as well as detailed specifications on each of the products, arranged into a well-structured tabular layout. Product relationships. Relationships can be defined between individual products, or between categories within the classification schema, based on some common attribute. Relationships include structural relationships, such as assemblies (a “SKU of SKUs”), kits (a “SKU of non-SKUs”), bundles (a “non-SKU of SKUs”), and matching sets (e.g. nuts and screws), as well as merchandising relationships, such as cross-sells, up-sells, accessories, and consumables. An MDM repository of product information must be able to capture and represent all of these product relationships.

MDM Repository Structure A thorough understanding of the table and data types available for use is essential for properly creating and maintaining MDM repositories. This section provides an introduction to these concepts, which will be addressed again in more detail in later courses. An MDM repository consists of the following tables:

2009

© 2009 SAP AG. All rights reserved.

11

Unit 1: Master Data Management

MDM050

Figure 5: MDM Table Types



Main tables. Every MDM repository has one or more main tables. A main table contains primary information about a business object, such as a product or supplier. For example, a repository might contain separate main tables for products and business partners. The products main table would include an individual record for each product and individual fields that apply to all products, such as SKU, product name, product description, manufacturer, price, and business partner. The business partner main table would include an individual record for each partner and individual fields for each piece of information that describes the partner. Most of the time you will be looking at information in a main table. Note: When you first create a new MDM repository, MDM automatically creates a main table named Products.



Subtables. An MDM repository can have any number of subtables. A subtable is usually used as a lookup table to define the set of allowed values to which a corresponding lookup field in the main table can be assigned; these tables hold the lookup information. For example, a main table of an MDM repository of product information may include a field called Manufacturer; the actual list of allowed manufacturer names would be contained in a subtable. Only values that exist in records of the subtable can be selected in the corresponding field of the main table. Note: Lookup subtables are just one of the powerful ways that MDM enforces data integrity in an MDM repository. The set of allowed values associated with lookup fields also makes the MDM repository much more searchable, since a consistent set of values is used across the entire repository.



12

Object tables. Object tables, including the Images, Sounds, Videos, Binary Objects, Text Blocks, Copy Blocks, Text HTMLs, and PDFs tables, are a special type of lookup subtable, where each object table is used to store a single type of object. You cannot store an object directly in a main or

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: SAP NetWeaver MDM Architecture

subtable field in an MDM repository. Instead, each object is defined or imported into the repository once and then linked to a main or subtable field as a lookup into the object table of that type. Note: Object tables eliminate redundant information, since each object appears only once in the MDM repository even if it is linked to multiple records. When you first create a new MDM repository, MDM automatically creates the single instance of each object table. You can also store text blocks directly in a large text field in main and subtable records rather than as a lookup into a text block subtable if you do not intend to reuse the blocks of text. •

Special tables. Special tables include the Image Variants, Masks, Families, Relationships, Workflows, Named Searches, Tuples, Data Groups, and Validation Groups tables. Note: When you first create a new MDM repository, MDM automatically creates the single instance of each special table. The Data Groups and Validation Groups tables do not appear anywhere in MDM Console.



System tables. System tables appear under the Admin node in the Console Hierarchy and include Roles, Users, Connections, Change Tracking, Remote Systems, Ports, Links, XML Schemas, and Reports, and Logs. Note: When you first create a new MDM repository, MDM automatically creates the single instance of each system table. The Logs table is MDM Server-specific rather than MDM repository-specific, and appears in the Console Hierarchy under an MDM Server node after all of the MDM repository nodes.

Table Types A traditional SQL DBMS stores data in the records and fields (rows and columns) of a collection of flat database tables. All tables have the same rectangular structure in SQL. A SQL database is relational because of the relationships set up between the different tables. In a relational DBMS (RDBMS), information about a single record can be combined from multiple tables by relating values in matching columns. This helps to eliminate redundant data; beyond that, however, an RDBMS does not support any additional structuring of the data itself.

2009

© 2009 SAP AG. All rights reserved.

13

Unit 1: Master Data Management

MDM050

By contrast, the MDM system supports a variety of different table types that are specifically suited for the particular requirements of storing, organizing, structuring, classifying, managing, and publishing information in an MDM repository (including efficient support for category-specific attributes, which are inherently non-relational), as shown in the following tables.

14

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: SAP NetWeaver MDM Architecture

Main Table and Subtables

2009

Table Type

Description

Flat

Main table or subtable. A flat table has the standard, rectangular SQL structure consisting of records and fields (rows and columns). The main table of an MDM repository is always a flat table.

Hierarchy

Subtable. A hierarchy table organizes information in a hierarchy, where each record is related to a parent record (even if the only parent is the root) and may also be related to sibling records and/or child records. The main table in an MDM repository typically contains some fields whose data may be hierarchical in nature. For example, a Manufacturer field may need to accommodate division and subdivision information for manufacturers. This hierarchical information is stored in a separate, hierarchy subtable associated with the Manufacturer lookup field in the main table. Note that a hierarchy table is useful even when it is flat (i.e. only leaf nodes below the root), because it stores the ordered sequence of sibling records, allowing you to override the unordered sequence of values in a flat table.

Taxonomy

Subtable. A taxonomy is the classification scheme that defines the categories and subcategories that apply to a collection of records. Categorizing records enables you to isolate subsets of records for various organizing, searching, editing and publishing purposes. A taxonomy table in MDM stores a hierarchy of categories and subcategories and also supports attributes, “subfields” that apply to particular categories rather than to the entire collection of records. MDM supports multiple simultaneous taxonomies.

Qualified

Subtable. A qualified table in MDM stores a set of lookup records, and also supports qualifiers, “subfields” that apply not to the qualified table record by itself, but also to each association of a qualified table record with a main table record. MDM supports multiple simultaneous qualified tables. Qualified tables can be used to support product applications and application-based search, and also to store any large set of subtable records that contain fields whose values are different for each main table record, such as multiple prices for different quantities, divisions, regions, or trading partners, cross-reference part numbers, and additional distributor/supplier/customer-specific information for different distributors, suppliers, or customers.

© 2009 SAP AG. All rights reserved.

15

Unit 1: Master Data Management

MDM050

Object Tables

16

Table Type

Description

Images

A single table named Images. Stores image files, where each image is stored as a record in the table.

Text Blocks

A single table named Text Blocks. Stores blocks of text, where each text block is stored as a record in the table.

Copy Blocks

A single table named Copy Blocks. Stores blocks of text interpreted as copy, where each text block is stored as a record in the table.

Text HTMLs

A single table named Text HTMLs. Stores blocks of text interpreted as HTML, where each text block is stored as a record in the table.

PDFs

A single table named PDFs. Stores PDF files, where each PDF is stored as a record in the table.

Sounds

A single table named Sounds. Stores sound files, where each sound file is stored as a record in the table.

Videos

A single table named Videos. Stores video files, where each video file is stored as a record in the table.

Binary Objects

A single table named Binary Objects. Stores other binary object files, where each binary object file is stored as a record in the table.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: SAP NetWeaver MDM Architecture

Special Tables

2009

Table Type

Description

Masks

A single hierarchy table named Masks. In concept, a mask acts like a stencil, in that it blocks (“masks”) all main table records from view except the defined subset of records that are included in the mask, to allow the subset to be viewed and manipulated as a whole. A mask is a static snapshot of the set of records that are included in the mask (as opposed to a view or a named search, where the results set is determined dynamically every time the search is run). Each record in the Masks table is the name of a subset of main table records. MDM supports an unlimited hierarchy of masks.

Named Searches

A single flat table named Named Searches. A named search is a static snapshot of the search selections that were in effect when the named search was saved (as opposed to a mask, which is a snapshot of the subset of records), where the results set itself is determined dynamically when it is selected. Each record in the Named Searches table returns a subset of a main table’s records. MDM supports 400 named searches per repository.

Families

A single hierarchy table named Families. Used to further partition main table records in each category into smaller groups based upon the values of other fields and/or attributes. You can associate family data (a paragraph, an image, bullets) once with a family of products rather than with each individual product, and also define the table layout of the field and/or attribute data (field order; stack, vertical, and horizontal pivots; and other display options).

Image Variants*

A single table named Image Variants. Used to define the structure and format of each of the variants for each image. Each variant is a modified version derived from an original image; the original image is never modified. This table is managed in the MDM Console and is not visible in the MDM Data Manager.

Relationships*

A single table named Relationships. Used to define each of the different record-level relationships. Each relationship can be either bidirectional (sibling) or unidirectional (parent-child). This table is managed in the MDM Console and is not visible in the MDM Data Manager.

© 2009 SAP AG. All rights reserved.

17

Unit 1: Master Data Management

Workflows

MDM050

A single table named Workflows. Stores the workflows of an MDM repository, where each workflow is stored as a record in the table. Workflows are created and edited in the MDM Data Manager.

Data Groups A single hierarchy table named Data Groups. Stores the hierarchy of data groups used to break the entire set of objects in the MDM repository into manageable subgroups. Validation Groups

A single hierarchy table named Validation Groups. Stores the hierarchy of validation groups used to organize multiple validations for subsequent execution as a group.

* These tables do not appear in the MDM Data Manager System Tables

18

Table Type

Description

Roles*

A single table named Roles. One of three tables used to implement MDM repository security and access control. Each role can selectively grant or deny access to any MDM function and to any table or field. This table is managed in the MDM Console.

Users*

A single table named Users. One of three tables used to implement MDM repository security and access control. Each user can have one or more roles. This table is managed in the MDM Console.

Logins*

A single table named Logins. One of three tables used to implement MDM repository security and access control. Contains an entry for each currently connected MDM client application, which can be terminated by the MDM Console user.

Change Tracking*

A single table named Change Tracking. Allows you to specify the fields for which adds, modifies, and deletes should be tracked and stored in the Change Tracking table.

Remote Systems*

A single table named Remote Systems. Used to define the different remote systems for import and export. Each remote system specifies whether it supports import only, export only, or both.

Ports*

A single table named Ports. Used to encapsulate the logistical and configuration info for inbound and outbound processing of MDM data, for consolidation and distribution respectively.

URLs*

A single table named URLs. Used to specify the URLs that can be used as the target of an embedded browser in the Web tab in the MDM Data Manager.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: SAP NetWeaver MDM Architecture

XML Schemas*

A single table named XML Schemas. Used to identify the XML schemas for import and syndication. Each XML schema is the name of an .xsd file.

Reports*

A single table named Reports. Contains an entry for each report file generated by the various MDM repository operations, which can be accessed and viewed by the MDM Console user.

Logs*

A single table named Logs. Contains an entry for the log files generated by the MDM Server, which can be accessed and viewed by the MDM Console user.

* Does not appear in the MDM Data Manager

Data Types A traditional SQL DBMS has a standard set of relatively simple data types (such as text, integer, and real) that allow you store a single element of unstructured data in each field. Beyond knowing how to accept input of and properly store each type of data, SQL has no real understanding of the internal structure of each data element. By contrast, an MDM repository supports a variety of compound and structured data types that, like the set of MDM table types, are specifically suited for managing information in a master data repository. Note: In the tables below, a bullet (•) in the column labelled “MV” means that the data type can be defined as multi-valued, so that a single field or attribute can be used to store multiple values. Multi-valued fields and attributes make the structure of an MDM repository dramatically simpler, more compact, and more searchable, by allowing you to store all the values corresponding to a particular data element in the same place. The alternative requires creating multiple fields or attributes, in some cases up to a maximum of one field or attribute for each possible value. Data Type

2009

MV Description

Text Normalised

Text field with “special” (non-alphanumeric) characters removed, for searching/sorting (always displays original).

Name

Text field with internal structure for storing parts of a name (e.g. prefix, first, middle, last, suffix)

Log

Text large field with internal structure for managing multiple time stamped blocks of text within a single field.

AutoID

Integer that MDM automatically increments.

Currency

Real8 field displayed with a currency symbol.

© 2009 SAP AG. All rights reserved.

19

Unit 1: Master Data Management

MDM050

GM Time

Time stamp field that has been adjusted to a particular time zone.

Measurement



Literal Date

Time stamp that ignores the time part.

Literal Time

Time stamp that ignores the date part.

Create Stamp

Time stamp that MDM automatically sets with the date and time of the record creation.

Time Stamp

Time stamp that MDM automatically sets with the date and time of modification when any of the fields being tracked are updated.

User Stamp

Text field that MDM automatically sets with the name of the user who makes the change when any of the fields being tracked are updated.

Mask



Virtual field that stores an enumeration of main table records. It is never displayed, but is used for searching.

Lookup [Flat]



Field whose value(s) are a lookup into a flat table.

Lookup [Hierarchy]



Field whose value(s) are a lookup into a hierarchy table.

Lookup [Taxonomy]

20

Real field with associated unit of measure.

Field whose single value is a lookup into a taxonomy table.

Lookup [Qualified]



Field whose value(s) are a lookup into a qualified table.

Lookup [Image]



Field whose value(s) are a lookup into the Images table.

Lookup [Text Block]



Field whose value(s) are a lookup into the Text Blocks table.

Lookup [Copy Block]



Field whose value(s) are a lookup into the Copy Blocks table.

Lookup [Text HTML]



Field whose value(s) are a lookup into the Text HTML table.

Lookup [PDF]



Field whose value(s) are a lookup into the PDFs table.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: SAP NetWeaver MDM Architecture

Lookup [Sound]



Field whose value(s) are a lookup into the Sounds table.

Lookup [Video]



Field whose value(s) are a lookup into the Videos table.

Lookup [Binary Object]



Field whose value(s) are a lookup into the Binary Objects table.

Note: A Text Normalized field stores the actual text value, but uses the normalized value for sorting and searching. The normalized value is an upper-case version of the original with non-alphanumeric characters removed (includes a-z, A-Z, and 0-9 from original value). Attribute Data Type

MV Corresponding MDM Field Type

Text



Lookup [Flat]

Numeric



Measurement

Coupled Numeric



n/a

Dimensions and Units As noted in the tables above, MDM has a compound data type for storing physical measurements that combines a numeric value with a unit of measure. It allows you to associate a physical dimension with a measurement field or numeric attribute, and then to assign to every numeric value a unit of measure chosen from the list of units applicable to that dimension. MDM currently has built-in support for over 70 different physical dimensions and over 750 different units of measure. In addition, MDM is able to convert between different units, for proper comparison and sorting of numeric values with different units within a list, impossible with most other systems that often store numeric values and units of measure as a single text string or in two distinct fields. Note: Physical dimensions make it easy to enforce data integrity, since units of measure must be selected from a predefined list of units rather than typed in by the user as a text string. Measurement fields and numeric attributes are 4-byte real fields with the exception of the dimensions Time and Frequency, which require the additional precision of 8-byte real fields.

Taxonomies A taxonomy is a general term for classification scheme. The purpose of a taxonomy is to group like things together into categories, usually based on a set of common, category-specific characteristics, or attributes.

2009

© 2009 SAP AG. All rights reserved.

21

Unit 1: Master Data Management

MDM050

In the context of master data management, a taxonomy is what makes it possible to quickly locate a few specific records – or categories – in a database of thousands, tens of thousands, or even millions of records. A taxonomy is usually hierarchical, meaning that some categories are subcategories of other categories. (In the MDM system, taxonomy tables are always hierarchical.) Most people are familiar, for example, with at least part of the hierarchical taxonomy used to classify animals, such as vertebrates –> mammals –> primates –> chimpanzees, and so on. Another example that you might experience in your daily life is groceries –> beverages –> carbonated –> decaffeinated. Each level of the hierarchy gets narrower in terms of what it includes. MDM uses a hierarchical taxonomy of categories to structure master data in an MDM repository. A hierarchical taxonomy is typically represented as a “tree”.

Tree Terminology Terms like node, branch, sibling and child are used in tree commands. You will also find mention of ancestors and descendants in reference to trees. MDM Tree Terminology Term

Definition

Node

Any item in the tree.

Root node

The top node of the tree.

Branch

Any node of the tree below the root node.

Parent node

The node that is one level above the referenced node.

Sibling node Any node that is at the same level as the referenced node. Child node

Any node that is one level below the referenced node.

Internal node

Any node that has child nodes.

Leaf node

Any node that has no child nodes.

Ancestors

All nodes at higher levels than the referenced node, including not only parent nodes, but also parents of parents, and so on.

Descendants

All nodes at lower levels than the referenced node, including not only child nodes, but also children of children, and so on.

Attributes In a taxonomy, every category has its own defining characteristics (in addition to those of every category above it in the hierarchy). For example, in the taxonomy of animals, primates have specific characteristics as well as those of mammals and vertebrates.

22

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: SAP NetWeaver MDM Architecture

In an MDM repository, these characteristics are called attributes, and correspond to fields of information that apply only to some, rather than all, of the main table records in the MDM repository. For example, voltage might be an attribute that applies to motors but not to gears. Every taxonomy table has a pool of attributes associated with it. From this pool you can link attributes to one or more individual categories on a category-by-category basis. In MDM, attributes are associated with – linked to – categories. When you assign a record to a category, the record acquires the attributes linked to that category and all the attributes linked to its parent category, and all others up the hierarchy, through inheritance. So, a record in the main table consists of common fields, inherited attributes, and category-specific attributes. Note: In MDM, an attribute is like a field, but one that applies only to a subset of the records in the main table. By contrast, a field is part of every record in the main table. If a particular attribute can be applied to every main table record, then it should be set up as a field in the main table. For example, every record in an MDM repository of products probably has an item number; therefore “Item Number” should be defined in the database as a field, and not as an attribute.

Product Applications and Application-Based Search A product application is a particular use of a product. Applications are especially important in certain industries where application-driven product selection is the traditional way to locate products. For example, in the automotive parts business, customers typically select parts based not on the category or manufacturer but rather on the particular year, make, model and engine type of the vehicle. There are millions of parts, tens of thousands of different vehicles, and since each part can be used in more than one vehicle, tens of millions of applications. Finally, the use of the part is often further qualified by specific characteristics of the vehicle, such as whether or not it has air conditioning. In an MDM repository, product applications stored in qualified tables can dramatically reduce duplication of data. In the automotive example, parts are stored in the main table, the “valid table” of vehicle specifications are stored in a qualified table, and each application of a part to a vehicle is represented by assigning the vehicle specification to the part. Note that each lookup record in a qualified table is generic, in that it does not include the various conditions that might further qualify the use of the product in that application, even though the particular application may require additional conditions to properly define it. In MDM, these additional conditions are called qualifiers. Qualifiers allow a single lookup record to be used for multiple applications that are basically the same except for the additional conditions, dramatically reducing the number of distinct applications in the qualified table and avoiding a tremendous amount of data duplication.

2009

© 2009 SAP AG. All rights reserved.

23

Unit 1: Master Data Management

MDM050

In the automotive example, qualifiers allow a single vehicle specification record to be used for vehicles that are equipped differently. This eliminates the explosion of vehicle specifications that normally occurs when the additional conditions for each application result in additional – but almost identical – vehicle specification records, as in most existing application-based systems. Hint: With or without product applications per se (or the need for application-based search), a qualified table can also be used to store any large set of subtable records that contain fields whose values are different for each main table record, such as multiple prices for different quantities, divisions, regions, or trading partners, cross-reference part numbers, and additional distributor/supplier/customer-specific information for different distributors, suppliers, or customers.

24

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: SAP NetWeaver MDM Architecture

Exercise 1: MDM Terminology Exercise Objectives After completing this exercise, you will be able to: • To assess basic understanding of MDM terminology

Business Example As your company is implementing SAP NetWeaver MDM you need to be familiar with the basics of the architecture and the terminology used.

Task: Please answer the following questions. 1.

Which of the following are components make up an MDM environment? Choose the correct answer(s).

□ □ □ □ □ 2.

A B C D E

Server Console Administrator Java Server Printer

A repository in MDM contains: Choose the correct answer(s).

□ □ □ □ 3.

A B C D

Only one Main table Always one Customer table One or more Taxonomy tables One Workflows table

The Logins table allows you to create users for the repository. Determine whether this statement is true or false.

□ □ 4.

True False

Fields are available in three types only; text, numeric and coupled numeric. Determine whether this statement is true or false.

□ □

True False Continued on next page

2009

© 2009 SAP AG. All rights reserved.

25

Unit 1: Master Data Management

5.

MDM050

Fields are applied to all records in the repository, whereas attributes apply only to a subset of records, based on the taxonomy. Determine whether this statement is true or false.

□ □

26

True False

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: SAP NetWeaver MDM Architecture

Solution 1: MDM Terminology Task: Please answer the following questions. 1.

Which of the following are components make up an MDM environment? Answer: A, B From this list only the MDM Server and MDM Console are valid components of SAP NetWeaver MDM.

2.

A repository in MDM contains: Answer: C, D SAP NetWeaver MDM can contain more than one Main table, and of course, as MDM can support any master data object, there may or may not be a table called Customer.

3.

The Logins table allows you to create users for the repository. Answer: False The Logins table allows you to track connections to your repository from the MDM Clients and the Auxilliary servers. Users are created in the Users table.

4.

Fields are available in three types only; text, numeric and coupled numeric. Answer: False These three types listed are the attribute types. There are many more than three field types supported in MDM.

5.

Fields are applied to all records in the repository, whereas attributes apply only to a subset of records, based on the taxonomy. Answer: True Fields are maintained as part of the table definition, and so apply to all records in the table. Attributes are maintained in Taxonomy mode, and linked to the Taxonomy, and therefore only apply to the specific categories they are linked to.

2009

© 2009 SAP AG. All rights reserved.

27

Unit 1: Master Data Management

MDM050

Lesson Summary You should now be able to: • Explain the main components that make up SAP NetWeaver MDM, and their purpose. • Understand key terminology in reference to this architecture, including a basic understanding of table and field types.

28

© 2009 SAP AG. All rights reserved.

2009

MDM050

Unit Summary

Unit Summary You should now be able to: • Understand the problems caused by poor master data management, and the advantages of being able to control processes around master data management more effectively. • Explain the main components that make up SAP NetWeaver MDM, and their purpose. • Understand key terminology in reference to this architecture, including a basic understanding of table and field types.

2009

© 2009 SAP AG. All rights reserved.

29

Unit Summary

30

MDM050

© 2009 SAP AG. All rights reserved.

2009

Unit 2 Data Management in SAP NetWeaver MDM Unit Overview The MDM Data Manager provides a rich interface for managing master data within MDM. In this unit, the use of the Data Manager to search for and maintain master data is explored.

Unit Objectives After completing this unit, you will be able to: • • • • • • • • •

Identify the different modes of the MDM Data Manager Use the various search features available in the MDM Data Manager Add, delete, duplicate, check in/out and compare records in record mode. Use the various techniques for maintaining the record details. Understand the concept and maintenance of tuples. Work with Masks. Use Taxonomy mode in the Data Manager to classify master data, and to perform basic Attribute maintenance Use Matching Mode to create new rules etc., and execute a matching strategy to merge duplicate data in the repository Use workflow to control master data maintenance processes, including the basics of validations

Unit Contents Lesson: Finding and Selecting Data .......................................... 33 Exercise 2: Data Manager - Finding and Selecting Data............... 65 Lesson: Basic Data Maintenance in the Data Manager .................... 69 Exercise 3: Basic Data Maintenance in the Data Manager ........... 113 Lesson: Taxonomy and Attributes ............................................ 119 Exercise 4: Taxonomy and Attributes ....................................149 Lesson: Matching Mode .......................................................152 Exercise 5: Matching Mode ...............................................175 Lesson: Workflow ...............................................................179

2009

© 2009 SAP AG. All rights reserved.

31

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Exercise 6: Workflow.......................................................207

32

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Finding and Selecting Data

Lesson: Finding and Selecting Data Lesson Overview This lesson covers the modes of the SAP NetWeaver MDM Data Manager, as well as the various options available for finding and selecting data in the Data Manager.

Lesson Objectives After completing this lesson, you will be able to: • •

Identify the different modes of the MDM Data Manager Use the various search features available in the MDM Data Manager

Business Example When working with master data in MDM, the main UI used by users is the Data Manager. In order to effectively maintain master data, you must first get familiar with the UI, and the various search and selection methods available to you.

Starting and Exiting the MDM Data Manager Before you begin, you need to be sure that both the SQL DBMS (SQL Server, Oracle, DB2, or MaxDB) and the MDM Server software are up and running, and that the MDM repository you want to work on has been loaded.

2009

© 2009 SAP AG. All rights reserved.

33

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

To start the MDM Data Manager from either the Desktop or the Start menu: 1. 2.

From the Desktop, double-click the MDM Data Manager icon or from the Start menu, choose Programs > SAP MDM > MDM Data Manager. When the Connect to MDM Repository dialog appears, choose the desired MDM repository from the drop-down list, choose a language, and enter your user name and password. Note: If the desired MDM repository does not appear in the dropdown list, you must first add it to the list by clicking the “…” (browse) button and filling in the required connection information. If a repository’s TCP/IP port number changes, you must re-add the repository to the drop-down list as the old entry will load whatever repository is loaded on the old TCP/IP port.

Figure 6: Data Manager Logon

3.

Click OK. After a few seconds, the MDM main window comes up.

To exit the MDM Data Manager: •

Click the close button in the upper right corner of the window, or choose File > Exit from the main menu.

Repository List You may add entries to the Connect to Repository dialog’s drop-down list of repositories as described below.

34

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Finding and Selecting Data

To add a new repository entry to the drop-down list of repositories: 1. 2.

In the Connect to MDM Repository dialog, click the “…” (browse) button to open the Choose Repository dialog. Type the name of the applicable MDM Server or select one from the drop-down list. Note: The drop-down list of MDM Servers includes only those servers that you have previously mounted. If the desired server is not in the list, click the “…” (browse) button to open the Select MDM Server dialog, and select a machine on which MDM Server has been installed from the list of Windows machines visible on the local network. Alternatively (and for all non-Windows installations), type the name or IP address of any remote machine into the edit box in the Choose Repository dialog.

Figure 7: Choose a repository

3. 4. 5.

Select an MDM repository from the drop-down list of repositories. Click OK when you are done to close the Choose Repository dialog. MDM adds the repository to the list of repositories in the Connect to MDM Repository dialog.

MDM Data Manager Modes

Figure 8: Data Manager Modes

2009

© 2009 SAP AG. All rights reserved.

35

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

The MDM Data Manager operates in five modes. Each mode is designed for manipulating specific types of tables and repository information, as follows: •









Record mode. Allows you to search, view and edit the records of any table in the MDM repository. This is the mode you will use most often, to view and edit records in the main table and any of the subtables. Hierarchy mode. Allows you to view and edit the hierarchy tables in the MDM repository, including regular hierarchy tables, taxonomy tables, and the Masks table. Though you can also view and edit the records of a hierarchy table in Record mode, Hierarchy mode specifically allows you to edit the parent/child relationships and the sibling ordering of the hierarchy. Taxonomy mode. Allows you to view and edit the taxonomy tables in the MDM repository. You will use this mode to create and maintain the category hierarchy used in the repository, and to manage the attributes pool. Though you can also view and edit taxonomy tables in both Record mode (for searching) and Hierarchy mode (for editing other category fields), Taxonomy mode focusses on management of attributes. Matching mode. Allows you to identify and eliminate duplicate records within an MDM repository. When you view the main table in Matching mode, MDM allows you to perform “matching-and-merging” on any records, using various user-defined criteria to decide whether or not records are potential duplicates. Family mode. Allows you to view and edit the Families table.

Working with Record Mode Record mode is used to manage the records of any table in the MDM repository, including the main table, regular subtables, and object subtables. When you first start the MDM Data Manager, it places you in Record Mode with the connected repository’s main table selected as the current table. You can change tables at any time by selecting a different table from the current table drop-down list. To switch to Record mode: •

Click the Record Mode toolbar button, or press Ctrl+1, or choose View –> Record Mode from the main menu.

To specify the current table: •

36

Click on the drop-down table list or press F4, and select the table whose records you want to search, view, or edit. Alternatively, choose View –> Table from the main menu and choose from the cascading menu of tables.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Finding and Selecting Data

Figure 9: Drop-down Table List in Record Mode

Hint: If you want to simply review the records in a table and wish to avoid any accidental changes, you can put the MDM Data Manager into read-only mode by clicking on the Read-Only toolbar button (shown at left), or by choosing View –> Read-Only from the main menu

Search Parameters Pane The Search Parameters pane (left pane) contains the search tabs for drilldown search, each corresponding to a lookup field in the current table, and one additional tab for free-form search. Use the tabs in the Search Parameters pane to add search selections and narrow down the set of records displayed in the Records pane.

Records Pane The Records pane (top-right pane) lists the current table’s records in a grid. If there are no search selections, all of the records in the current table are displayed; otherwise, only the records matching the current search selections are displayed. Use the Records pane to browse the records of the current table, sort by any of the sortable columns in ascending or descending order, and to select one or more records for editing, deletion, or other operations. Note: Attributes do not show up in the Records pane, which displays a column for each field in a record but none for the attributes. To view the attributes for the records, you must view the record in the Record Detail tab.

2009

© 2009 SAP AG. All rights reserved.

37

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Record Detail Tab The Record Detail tab (tabs pane) displays the field and attribute values of records selected in the Records pane. Inside the tab, each field and attribute name is displayed as a row header with the corresponding value for the selected record(s) appearing next to it. You can edit field and attribute values directly from this tab. If the current table contains lookup fields into object tables, the Record Detail tab is split vertically into two subpanes: the left subpane contains a vertical list of the record’s field and attribute values; the right subpane contains the record’s object lookup field values.

Figure 10: Record Detail Tab

Language Detail Tab Use the Language Detail tab (tabs pane; multilingual repositories only) to view and edit multilingual data for records selected in the Records pane. The tab contains a multi-column grid with each multilingual field, attribute, and object of the current table displayed as a row and a separate column of data for each repository language.

Figure 11: Language Detail Tab

38

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Finding and Selecting Data

Family Detail Tab Use the Family Detail tab (tabs pane; current table must be the main table of a repository that contains a Families table) to view (but not to edit) the family data of the family to which the record selected in the Records pane belongs. The tab contains a two-column grid listing the fields of the Families table (the family fields) and their corresponding values.

Figure 12: Family Detail Tab

Validations Tab Use the Validations tab (tabs pane) to add, rename, delete and duplicate user-defined validations, and to view and edit validation properties. The Validations tab contains a multi-object properties grid that consists of two subpanes: (1) the Validations pane, which lists the user-defined validations; and (2) the Properties pane, which lists the set of properties for each user-defined validation.

Figure 13: Validations Tab

Assignments Tab Use the Assignments tab (tab pane) to add, rename, delete and duplicate user-defined assignments, and to view and edit assignment properties. The Assignments tab contains a multi-object properties grid that consists of two

2009

© 2009 SAP AG. All rights reserved.

39

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

subpanes: (1) the Assignments pane, which lists the user-defined assignments; and (2) the Properties pane, which lists the set of properties for each user-defined assignment.

Figure 14: Assignments Tab

Workflows Tab Use the Workflows tab (tabs pane) to view and process workflow tasks. The Workflows tab consists of two subpanes: (1) the Status pane, which contains the list of task statuses; and (2) the Tasks pane, which contains a grid that lists the tasks for the currently selected queue.

Figure 15: Workflows Tab

Search Selections Tab The Search Selections tab (tabs pane) lists all of the search selections that are currently in effect.

Figure 16: Search Selections Tab

40

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Finding and Selecting Data

Web Tab The Web tab (tab in bottom-right pane) contains an embedded browser that displays the results of the currently configured URL against any MDM record data passed as parameters within the URL.

Status Bar The Status bar displays the following mode-specific information for the current table (from left to right): • •



“n selected” (when zero or two or more records are selected) “x of y records found” (where ‘y’ is the total number of records, and ‘x’ is the number of records displayed in the Records pane based on the current search selections) “Record Mode”

Figure 17: Status Bar

2009

© 2009 SAP AG. All rights reserved.

41

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Special Columns of Record Mode In addition to displaying a column for each field in a record, the Records pane has several special columns that indicate the record’s state. •











[Protected] column. Indicates whether each record has been protected from editing and deletion using the Protect command. MDM uses the lock icon ( ) as the name of the column in the Records grid and in the column of values. (All tables.) [Checked Out] column. Indicates whether each record has been checked out using the Check In/Out commands. MDM uses the checked out icon ( ) as the name of the column in the Records grid and in the column of values. (Main table only.) [Done] column. Indicates whether each record has been marked as done ( ) for the current workflow task by the assignee user. Appears only when the workflow task is selected in the Workflows tab. (All tables.) Validation Result columns. Indicate whether each record has succeeded ( ) or failed ( ) the most recently run validation or set of validations. MDM uses the name of the validation in square brackets as the name of the column in the Records grid. (All tables.) Approval Result columns. Indicate whether each record has been approved ( ) or disapproved ( ) by the approvers of an Approve step in a workflow. MDM uses the name of the approver in square brackets as the name of the column in the Records grid. (All tables.) Matching Result columns. Indicate the count, maximum level, and maximum total score among potential matching records in the Records grid, and the level and individual scores for each rule for each record in the Matches grid. (Matching mode; main table only.)

Searching for Records When you want to locate a particular record or set of related records in the database, you perform a search. This allows you to view and manipulate a subset of records that match your search selections. Most master data management systems use DBMS-style query forms to initiate a search and locate specific records. Users start with nothing and often end up with nothing, blindly typing in values as though looking for a needle in a haystack! By contrast, the MDM system features two search options: free form, which mirrors the traditional query approach, and a powerful and efficient search capability called drilldown search . Drilldown search allows users to start with all of the items in the repository and then effortlessly zoom in on items of interest.

42

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Finding and Selecting Data

Drill Down Search

Figure 18: Drill Down Search

MDM’s drilldown search has the following features: •









Pick lists. All possible values are always displayed in pick lists from which one or more values can be selected, so the user doesn’t need to type in values, nor have any prior knowledge of the contents and structure of the MDM repository. Dynamic limiting. Pick lists are continuously updated to include only values that are currently valid based on the previous selections, so the user can never go down a dead-end path, and never gets the message “No matches found!” Intuitive. Pick lists make drilldown search intuitive, easy to use, and very, very fast, allowing the user to search the entire repository and locate any item or group of items in seconds, narrowing down from even millions of items to one or several with just a few mouse clicks. Multidimensional. Selections can be made simultaneously from among different dimensions (such as category, manufacturer, attributes, and keyword), selections can be made in any order, and selections made in one dimension automatically limit the valid choices for every other dimension. Interactive. Users can add – or remove – selections in each dimension one at a time, to narrow down – or expand – the search results progressively. And there is no “Search” button, so intermediate search results are immediately updated and always displayed after each selection.

With drilldown search, you can search via lookup fields, attributes or qualifiers of a qualified table record. You can make search selections in any order to constrain the search results, or remove search selections in any order, to expand the set of search results. At each step along the way, the system narrows down the choice of available search values to show only those that are valid for the current result set (based on the previous search selections). This is known as limiting and guarantees that you can never go down a dead-end path. For example, if you select “Chain Saws” in the Category tab as your first search option, and then open the Manufacturer tab,

2009

© 2009 SAP AG. All rights reserved.

43

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

only the manufacturers of chain saws will be listed. The result is an extremely flexible and powerful search capability, delivered through an exceptionally smooth and intuitive process. Hint: Limiting makes it easy to detect errors in your master data, when values that should not be part of the search results show up in the limited list of existing field or attribute values.

Drill Down Searches So, drilldown search: • • • • • • •

Starts with all the products selected. Lets you interactively browse and sort the entire record set. Lists allowable values for each of the search parameters. Does not require that you know in advance what you’re looking for. Allows you to add one constraint at a time to narrow the search. Executes the search immediately as each constraint is added. Allows you to remove constraints to expand the search.

Further, each time you select a value in a drilldown search, MDM immediately does all of the following: • • • • • • •

Provides a count of the number of records found. Limits the record set to only those that match the constraints. Limits the list of values in every other search dimension. Lets you interactively browse and sort intermediate search results. If the selection was a category field, lists the attributes that apply to that category. If the selection was a qualified lookup field, lists the qualifiers that apply to that qualified table record. If the selection was a tuple field, offers the set of flat lookup, hierarchy lookup, and Boolean member fields and values. Note: For drilldown search, each flat, hierarchy, taxonomy, and qualified lookup field in the current table automatically appears as a search tab in the Search Parameters pane in Record mode, as described in the following sections; each contains the limited set of values for the current result set based on previous search selections Note: Drilldown search is not currently supported for Lookup [Main] fields and so no search tabs appear for these fields in the Search Parameter pane. You can instead perform free-form searches on the Lookup [Main] fields in your tables,

44

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Finding and Selecting Data

Flat and Hierarchy Lookup Search Tabs If the search tab corresponds to a flat or hierarchy lookup field, the tab includes a list (in the case of a flat lookup field), or a tree (in the case of a hierarchy lookup field)

Figure 19: Flat Lookup Search Tab

Hint: Flat and hierarchy lookup search tabs permit you to select multiple values. Note: When you select a node in a hierarchy lookup search tab the entire branch (that node and all of its descendents) is selected to give the visual cue that what you are really doing is selecting leaf node values (since records can only be set to the value of leaf nodes). Moreover, the selected descendents include those that are limited out of the selection tree due to other search field selections or because no record in the repository has the final leaf value set. In this way, the selections remain constant even as the other search selections change, or as records are assigned to leaf values.

Taxonomy Lookup Search Tabs If the search tab corresponds to a taxonomy lookup field (e.g. Category), the tab is split into three subpanes. The top subpane contains the hierarchy of category field values. The bottom left Attributes subpane lists the attributes linked to the selected category (or all the attributes, if no category has been selected), and the bottom right Values subpane contains the list of values for the selected attribute.

2009

© 2009 SAP AG. All rights reserved.

45

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 20: Taxonomy Lookup Search Tab

Note: Unlike the other search tabs, a taxonomy lookup search tab permits you to select only a single value. In a taxonomy lookup search tab, you can select values for one or more attributes before selecting a category. As you select each attribute in the Attributes subpane, the list of values in the Values subpane changes to correspond to the set of values for the selected attribute. The Attributes subpane lists attributes in priority order rather than alphabetical order, and hides those whose priority is below the threshold priority. Hint: To distinguish different ratings for a numeric attribute, the Attributes subpane appends the rating abbreviation in square brackets (e.g. Width [Max]) to the attribute name. However, MDM does not append [Nom] when Nominal is the only rating for the attribute.

Nested Lookups and Multi-Level Search-within-a-Search Lookup fields can appear not only in the main table but also within any of the lookup tables themselves, such as when the Manufacturer field in the main table is a lookup into the Manufacturers table of allowed manufacturer names.

46

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Finding and Selecting Data

In the MDM Data Manager, each lookup field in a lookup table appears not only as a search tab when the current table is the lookup table, but also within the search tab for the main table lookup field when the current table is the main table, for multi-level “search-within-a-search.” Note: A single nested lookup field allows the main table lookup field to support search-within-a-search. Multiple nested lookup fields not only support search-within-a-search, they also allow the lookup table to act as a valid table that defines specific value combinations among the values of each of the multiple nested lookup fields. Note: Like all MDM drilldown searches, multi-level search-within-a-search is omnidirectional; that is, you can make nested lookup field value selections in any order and intermingle them with selections made from other search dimensions. If the search tab corresponds to a lookup field into a table that contains one or more nested lookup fields, the tab is split into three subpanes. The top left Lookups subpane lists the lookup fields of the lookup table itself, and the top right Values subpane contains the list of values for the selected nested lookup field. Finally, the bottom subpane contains the list of lookup table values (narrowed down based on the selections of values for the lookup fields of the lookup table). Hint: You can select lookup field values in the bottom subpane at any time, just as if the lookup field did not have nested lookups. Or you can first select nested lookup field values in the Values subpane to narrow down the list of lookup field values, for search-within-a-search. Note: As you select each nested lookup field in the Lookups subpane, the list of values in the Values subpane changes to correspond to the set of values for the selected nested lookup field. Note: As you select values for a nested lookup field, the list of lookup field values in the bottom subpane and the set of records in the Records pane are both narrowed down at the same time. Note: A lookup field with just a single nested lookup that is the only display field does not require multi-level search-within-a-search (since the set of nested lookup values and the set of lookup values is identical), and offers the standard search tab without the Lookups and Values subpanes.

Qualified Lookup Search Tabs If the search tab corresponds to a qualified lookup field, the tab is split into as many as five subpanes.

2009

© 2009 SAP AG. All rights reserved.

47

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

If the qualified table itself contains lookup fields, as described in the previous section, the top left Lookups subpane lists these nested lookup fields and the top right Values subpane contains the list of values for the selected nested lookup field (although these two subpanes are hidden if the qualified table does not contain any lookup fields). The middle subpane contains the list of qualified table records (narrowed down based on the selections of values for the lookup fields of the qualified table). Finally, the bottom left Qualifiers subpane lists the lookup qualifiers, and the bottom right Values subpane contains the list of values for the selected qualifier.

Figure 21: Qualified Lookup Search Tab

Note: In a qualified lookup search tab, you can select values only for cached lookup qualifiers before selecting a qualified table record; for non-cached lookup qualifiers, you must explicitly select a qualified table record before the qualifier even appears in the Qualifiers subpane. As you select each nested lookup field in the Lookups subpane, the list of values in the Values subpane next to it changes to correspond to the set of values for the selected nested lookup field. As you select each qualifier in the Qualifiers subpane, the list of values in the Values subpane next to it changes to correspond to the set of values for the selected qualifier.

Tuple Search Tabs If the search tab corresponds to a tuple field, the tab is split into three subpanes. The top Tuples subpane contains the hierarchy of tuple fields which are nested below the search tab’s corresponding tuple field. The bottom left Members subpane lists any flat lookup, hierarchical lookup, or Boolean member fields of the tuple field selected in the Tuples pane, and the bottom right Values subpane contains the list of values for the selected member field.

48

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Finding and Selecting Data

Figure 22: Tuples Search Tab

Note: Unlike the other search tabs, the Values pane contains all possible values of the member field, not just those in the record set. It is therefore possible to select a value that returns no matching records. In order to preserve the structure of a tuple hierarchy that contains nested lookup or Boolean member fields, the search tab may display tuple fields which have no flat lookup, hierarchy lookup, or Boolean member fields of their own. Selecting these tuples results in no values appearing in the Members and Values panes. If a tuple field on the current table contains no immediate or nested flat lookup, hierarchy lookup, or Boolean member fields, no search tab is added for that tuple field.

Free-Form Search With free-form search, you can perform searches on any field that does not lookup its values from a subtable. Free-form search also allows you to do “fuzzy” searches with a variety of search operators; however, the down side of this approach is that you can also end up with no matching records, which cannot happen with drilldown search. The last tab of the Search Parameters pane does not correspond to a table field and is labelled Free-Form Search. Use it to search on all of the fields that are not lookups (and on which you can therefore not perform drilldown search). With free-form search, you perform searches using operators such as contains, starts with, is greater than, is NULL, and so on, on one or more of the fields listed in the grid.

2009

© 2009 SAP AG. All rights reserved.

49

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 23: Free-Form Search

Hint: You can save searches for later reuse, either as named searches (available to all users) or local searches (available on the local machine only) using the Named Search and Local Search main menu commands, respectively. Hint: You can turn off limiting in the Search Parameters tabs (for example, to be able to define a Named Search) by choosing View –> No Limiting from the main menu. This command is a toggle; to turn limiting back on, choose the View –> No Limiting command again.

Performing Searches Performing a Drilldown Search To be able to perform a drilldown search, the current table must be a table with lookup fields (usually the main table).

50

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Finding and Selecting Data

Drilldown searches use the search tabs in the Search Parameters pane on the left side of the Records mode main window. Each lookup field has its own search tab for drilldown search; that is, each search tab corresponds to a field in the table that is a lookup into a subtable. For example, a Manufacturer tab corresponds to the field of the same name that is a lookup into the Manufacturers table. Hint: To navigate up and down the Search Parameter tabs using the keyboard, press Ctrl+Tab or Shift+Ctrl+Tab. To initialize (“reset”) the search criteria: •

If you have not already cleared a previous search, you need to reset the search to clear the search selections and start with all of the records in the selected table. Click the Reset Search toolbar button (shown at left), choose Search –> Reset Search, or press Shift+Ctrl+Delete.

To perform a drilldown search: 1.

Select the first search tab you want to use. MDM displays a list or hierarchy containing the set of valid values for the selected field. The set of values includes [ALL] as its first choice (“Match records that contain any of the existing values for the field”), and may also include [NULL] as its second choice (“Match records where no value has been entered for the field”). Hint: To see all of the currently active search criteria at any time, click on the Search Selections tab next to the Record Detail tab.

2.

Select the value or values you want to match. Hint: To find records that are missing a value for the selected field or attribute, choose [NULL] from the list of values. Note: As you select each value, MDM immediately narrows down the records displayed in the Records pane and updates the number of matching records found displayed on the status bar. As you select each value, MDM also narrows down the values displayed in every list or hierarchy in every other search tab (with the exception of the Named Searches tab, which is not limited and whose selections can lead you down a dead-end path of zero results). Nested lookup field

2009

© 2009 SAP AG. All rights reserved.

51

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

names in the Lookups subpane, attribute names in the Attributes subpane, and Qualifier names in the Qualifiers subpane, that have values selected for them are highlighted in bold Note: Multiple selections within a search dimension expand the search results. Each of the search selections are ORed together so that a record matches if it matches any of the values you select. However, if a field or attribute is multi-valued, you can change it so that the multiple search selections are instead ANDed together. Hint: [NULL] searches make it easy to detect missing master data, when records that should not have NULL values show up in the search results. 3.

Select other Search Parameter tabs and values as desired to further narrow the record set, until the Records list contains exactly the records you want to view or edit. Note: Selections across multiple search dimensions narrow the search results. Each of the dimensions are ANDed together so that a record matches if it matches selections in all of the search dimensions.

To remove a constraint and widen the search: •

Select the applicable Search Parameter tab for the field or attribute and select the [ALL] choice. Note: You can also right-click on a search tab and choose from the context menu to reset some or all of the selections for that search tab.

OR Searches, AND Searches, and Multi-Valued Fields When you select multiple values within and across search dimensions, they are combined as follows: •



52

ORing. Multiple selections within a search dimension expand the search results. Each of the search selections are ORed together so that a record matches if it matches any of the values you select. ANDing. Selections across search dimensions narrow the search results. Each of the dimensions are ANDed together so that a record matches if it matches selections in all of the search dimensions. Remember that some fields are single-valued, and ANDing these fields will naturally return no search results, for example if the colour field is single-valued, then no single record could be both blue and black, so searching for blue AND black will never return a result. If the colour field is multi-valued, blue AND black may be valid search criteria.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Finding and Selecting Data

For multi-valued fields and attributes, MDM allows you to choose an OR or AND search. To set a multi-valued field to AND search: 1. 2.

3.

Make the multi-valued field the current search tab, or select the multi-valued attribute in the taxonomy search tab. Right-click on the current search tab or the selected attribute and choose AND Multi-Valued Search from the context menu, or choose Search –> AND Multi-Valued Search from the main menu. MDM places a check next to the command in the menu, displays the AND icon (&) next to the field or attribute name, and ANDs multiple search selections for the field or attribute

Figure 24: AND Search

Note: As you select each value, MDM narrows down the values displayed in every list or hierarchy not only in every other search tab but also in the current search tab. For this reason, Shift and drag selection is not available with multi-valued AND search. Hint: The command is a toggle. To change back to OR from AND, choose the AND Multi-Valued Search command again.

OR Searches, AND Searches, and Hierarchy Lookup Fields Searching within a multi-valued hierarchy lookup search tab has special behaviour and special meaning, especially as it relates to AND searches. With an OR search, when you select a parent node in the hierarchy, the search results of each child are ORed together. MDM illustrates this by automatically selecting all of its children as if each of the children were individually selected.

2009

© 2009 SAP AG. All rights reserved.

53

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 25: Using OR Search in a Hierarchy 1

If you then unselect one of the children (using Ctrl+Click to unselect the node), the other children remain selected and are ORed together, but MDM automatically unselects the parent.

Figure 26: Using OR Search in a Hierarchy 2

Note: A taxonomy lookup search tab only permits single selection. Automatic selection/unselection of parents/children applies only for hierarchy lookup search tabs that permit multiple selection With an AND search, when you select a parent node in the hierarchy, the search results of each child are ORed together, to be ANDed together with other search selections. Because multiple selections are ANDed together, MDM does not automatically select all of its children. In fact, when you select any node in the hierarchy, MDM automatically unselects all of its ancestors and all of its descendents.

Free-Form Searches If you need to search by a main table lookup field, a field that is not a lookup, or if you are not able to find what you want in the main table using drilldown search (or if there simply are no drilldown search tabs for the current table), you may need to resort to a free-form search. A free-form search allows you to use operators such as contains, starts with, is less than or equal to, and so on, to find

54

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Finding and Selecting Data

matching records. Also, free-form search does not restrict you to selecting one or more precise values from the list of existing values; you can enter any complete or partial value you wish for a field. Note: Unlike drilldown search, free-form search can lead you down a dead-end path, since you are permitted to enter values that may not exist rather than being forced by MDM to choose only from a list of existing values. The Free-Form Search tab contains a grid with three columns: • • •

The first column is the row header and lists all the fields in the table, and for each qualified lookup field, all of its cached qualifiers. The second column contains a drop-down list of operators for each field. The set of available operators depends on the field type. The third column contains the values you specify. Note: The first free-form search entry, Keyword, is not a field. The second free-form search entry, Expression, is not a field. Qualifiers that are cached – including non-lookup qualifiers – appear just after the corresponding qualified lookup field. They are indented and enclosed in square brackets ([]). Fields that are lookups into subtables support both freeform search and drilldown search (fields that are lookups into main tables support free-form search only. Free-form searches on lookup fields match against the looked-into table’s display field values.

Literal Search Searching against any particular field in the table using free-form search performs a literal search, matching records only if that field matches precisely the literal string of characters that you type (including embedded spaces). The operator determines the kind of match that is required for the literal string.

Measurement Search MDM features an innovative enhancement to free-form keyword text search called measurement search. Measurement search automatically converts typed text values that represent measurements – those that consist of a numeric value and a unit – between different physical units, so you can find equivalent measurement values even when the value you type has a different unit from how it is stored in the repository.

2009

© 2009 SAP AG. All rights reserved.

55

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

So, for example, the measurement value "30 inches" stored in the repository can be found as any of: 30", 30 inches, 30 in, 2 1/2 feet, 2-1/2 ', 2.5 ft, 2 feet 6 inches, 76.2 centimeters, 762 mm, or 0.762 meter. Note: Measurement search leverages MDM’s built-in support for over 70 physical dimensions and over 750 different units of measure. Hint: Measurement fields and numeric attributes are 4-byte real fields with the exception of the dimensions Time and Frequency, which require the additional precision of 8-byte real fields.

Expression Search Notice that the second row of the free-form search grid does not correspond to a field in the table either. Instead it is labelled Expression and supports a special kind of free-form search. With Expression search, you can enter an arbitrary expression that performs a complex set of tests, including various arithmetic, string, and logical operators, and performed on multiple fields and attributes at the same time rather than just a single field. When you perform an Expression search, the MDM Data Manager evaluates the expression on each record and returns the set of records for which the expression is either TRUE or FALSE, depending upon the selected operator. Note: An expression that returns a NULL result evaluates to: (1) TRUE for validations (validation SUCCESS); and (2) FALSE for search (included in the search results for the is FALSE operator). When you double-click on the Value cell, MDM opens the Validation Expression dialog.

Figure 27: Expression Search

56

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Finding and Selecting Data

Keyword Search The first row of the free-form search grid is labelled Keyword and supports a special kind of free-form search. When you perform a keyword search, MDM searches simultaneously across all of the keyword-enabled fields on the current table. It then matches a record if it can match the typed search terms within any of the record’s keyword enabled fields. Note: Whether or not a field is keyword-enabled is determined by the setting of the field’s Keyword property in the MDM Console. Keyword searches are not case-sensitive. MDM supports multi-word keyword searching. It performs an “OR” or “AND” search depending on how you enter the search words. Search terms separated by a semi-colon (;) are treated as OR searches Search terms NOT separated by a semi-colon (;) are treated as AND searches. When you enter search terms in the Keyword row on the Free-Form Search grid, MDM searches all keyword-enabled fields on the current table. However, you can limit MDM to search only within specific, keyword-enabled text block, copy block, or text HTML fields by entering your search terms within the field’s own row in the free-form search grid.

Saving and Restoring Named Searches Data Manager includes the ability to save the search selections made on a main table to a record on the MDM repository’s Named Searches table. These named searches are available to any user connecting to the repository, unlike local searches which are saved to the file system of the machine on which a user is running Data Manager. Before you can save search selections to a named search, you must first create a corresponding record on the Named Searches table and identify the main table for which the Named Search is to be available. The Named searches table supports a maximum of 400 records (400 named searches). Each time you save to a specific named search record, you overwrite its previously stored search selections. Restoring a named search applies its associated search selections to the current record set and returns whatever set of records match this search criteria. Until you save search selections to a named search record, selecting the named search returns all records. However, once you save search selections to a named search, it is possible that restoring this named search can return zero records. Note: A user’s ability to create a named search is controlled by the Named Searches table privilege in the MDM Console. You can also add named searches as criteria for the MDM Console’s record constraint feature.

2009

© 2009 SAP AG. All rights reserved.

57

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

To save the current search selections as a named search: 1. 2.

Choose Search –> Save as Named Search from the main menu. Select the named search to which you want to save the current search selections from the cascading menu of named searches. Note: A user’s ability to save to a named search is controlled by the Save Named Search role privilege in the MDM Console.

To restore search selections from a named search: 1. 2. 3.

Choose Search –> Restore Named Search from the main menu. Select the named search from which you want to restore search selections from the cascading menu of named searches. MDM clears the current search selections and restores the search selections of the named search. Note: Restoring a named search, which replaces the current search selections with those of the named search, is different than selecting a named search in the Named Searches search tab, which adds the named search as a current search selection.

Saving and Restoring Local Searches The MDM Data Manager includes the ability to save all of the current search selections to a local search in the file system and then restore them at a later time. Note: Each local search is visible in the cascading menu of local searches only to users on the workstation on which the local search was created. To save the current search selections as a local search: 1. 2. 3.

Choose Search –> Save as Local Search from the main menu to open the Save as Local Search. Type a name for the local search. Click OK to close the Save as Local Search dialog and save the current search selections to the file system.

Figure 28: Save Local Search

58

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Finding and Selecting Data

To restore search selections from a local search: 1. 2. 3.

Choose Search –> Restore Local Search from the main menu. Select the local search from which you want to restore search selections from the cascading menu of local searches. MDM clears the current search selections and restores the search selections of the local search.

To permanently delete a local search: 1. 2. 3. 4.

Choose Search –> Delete Local Search from the main menu to open the Delete Local Searches dialog. In the Delete Local Searches dialog, select the local search(es) you want to delete. Click OK to close the Delete Local Searches dialog. MDM removes the local searches from the file system.

Figure 29: Deleting Local Searches

Selection Methods Some lists, trees and grids allow you to select only a single item, while others allow you to select one or more items. If you are permitted to select multiple items, the items may either be next to each other (adjacent) or not (non-adjacent). The MDM Data Manager supports a wide variety of methods to select one or more items from a list, tree, or grid, including standard Windows-type selection via shift+click, shift+arrow keys and ctrl+arrow keys, as well as mouse click selection. In addition, typing characters deselects the existing selections, moves the selection highlight to the next matching list or tree item, and sets the anchor: referred to as Typeahead Seek Selection. When a list, tree or grid has the focus, typing moves the selection highlight to the first entry in the list, the tree, or the sorted column in the grid that matches the characters you typed; each keystroke moves the highlight to the first item that matches what you have typed so far.

2009

© 2009 SAP AG. All rights reserved.

59

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Pausing for a half-second between characters “resets” the seek feature, so that the next character you type is treated as the first character you want to match. Note: Typeahead seek works in a grid only on the single column that is currently the sort column, not on all of the columns at the same time. To perform typeahead seek on a particular column, first make sure that it is the sorted column before you start typing characters. When a grid contains a hierarchy column, none of its columns will be sortable. However, the hierarchy column is automatically treated as the sorted column for typeahead seek purposes, allowing you to use typeahead seek on it. Typeahead seek is not supported on object table grids when the object table contains more than 100 records.

Sorting Rows To sort the rows in a column, click on its column title. The sort order toggles between ascending and descending order each time you click the column title. The sort order indicator to the left of each column title shows you which column is determining the record order (the one with a red triangle) and whether the rows are sorted in ascending or descending order (upper or lower triangle, respectively).

Figure 30: Sorting Rows

Note: The set of selected row(s) remains unchanged as you change the sort order. Text fields are sorted according to the field’s Sort Type property, which is set in the MDM Console. A column containing a multi-valued field will not be sortable and will not contain the sort order indicator. None of the columns in a grid containing a hierarchy column will be sortable. You can also sort a column by right-clicking on the column title and choosing Sort from the context menu, or by choosing View –> Sort By from the main menu, and then in either case, choosing Ascending or Descending from the cascading menu to specify the sort order.

Reordering Columns The easiest way to move a column in a grid is to click on its title and hold down the mouse button while you drag it to the desired location in the grid. A heavy black rectangle represents the column you are moving until you release the mouse button. As you drag the column, a heavy line indicates where it will be “dropped” when you release the mouse button. When the grid has the focus, you can also reorder columns by choosing View –> Fields (fields correspond to columns) from the main menu to open the Select Displayed Fields dialog. Highlight a field (column) you want to move in the

60

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Finding and Selecting Data

Fields to Display list, and then click and drag the highlighted items to the desired position in the list. Repeat for each field you want to reorder. Click OK when you are done to close the Select Displayed Fields dialog.

Figure 31: Reordering Columns

Hiding and Unhiding Columns To hide a column, right-click on its column title and choose Hide from the context menu. The column disappears from the display. To unhide a column, right-click on the title of the column to the right of where you want to insert the column, and choose Unhide from the context menu. Then select the column you want to unhide from the cascading menu of hidden column names. The unhidden column will be inserted to the left of the column on which you right-clicked to open the context menu.

Figure 32: Hiding and Unhiding Columns

Note: Because the unhidden column is inserted to the left of the displayed column on which you right-click, you cannot unhide a column to be the last column in the grid. To make it the last column, unhide it before the last displayed column, and then drag the last column to the left and drop it before the newly unhidden column. When the grid has the focus, you can also hide and unhide columns by choosing View > Fields from the main menu to open the Select Displayed Fields dialog. Highlight the fields you want to hide in the Fields to Display list and click Remove, or highlight the fields you want to unhide in the Available Fields list and click Add. Click OK when you are done to close the Select Displayed Fields dialog. Note: MDM will not allow you to hide all the columns.

2009

© 2009 SAP AG. All rights reserved.

61

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Hiding and Unhiding Search Tabs To hide a search tab, right-click on it and choose Hide from the context menu. The search tab disappears from the Search Parameters pane. To unhide a search tab, right-click on the search tab just beneath where you want to insert the search tab, and choose Unhide from the context menu. Then select the search tab you want to unhide from the cascading menu of hidden search tab names. The unhidden search tab will be inserted above the search tab on which you right-clicked to open the context menu.

Figure 33: Hiding and Unhiding Search Tabs

Note: Because the unhidden search tab is inserted above the displayed search tab on which you right-click, you cannot unhide a search tab to be the last search tab in the grid. When the Search Parameters pane has the focus, you can also hide and unhide search tabs by choosing View –> Search Tabs from the main menu to open the Select Displayed Search Tabs dialog. Highlight the search tabs you want to hide in the Search Tabs to Display list and click Remove, or highlight the search tabs you want to unhide in the Available Search Tabs list and click Add. You can also drag-and-drop search tabs in the Search Tabs to Display list to reorder them in the Search Parameters pane. Finally, to display all the search tabs and restore the default search tab order, click Default. Click OK when you are done to close the Select Displayed Search Tabs dialog.

Checking Spelling MDM includes a powerful built-in spelling checker like the one you might find in a word processor such as Microsoft Word. It allows you to check spelling in text fields in any mode of the MDM Data Manager in grids, trees, and data entry forms and dialogs. Any time you are in the middle of editing a text value (as indicated by the blinking inserting point), MDM always adds the Check Spelling command as the final choice in the Windows context menu.

62

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Finding and Selecting Data

Figure 34: Spell Check from Input Field

You can use the spell checker to check the spelling of a single text value, to detect and correct typographical errors as you enter data, or you can use it to spell check an entire table or tree, either as the first step in cleaning up legacy data that may have years of accumulated errors, or as the final step in the master data creation process. When you use the Check Spelling command, MDM opens the Check Spelling dialog.

Figure 35: Spell Checker

If necessary to change your spell-check preferences, click the Options button in the Check Spelling dialog to open the Options dialog.

Figure 36: Spell Checker Options

Note: Currently, MDM only supports spell-checking in English.

2009

© 2009 SAP AG. All rights reserved.

63

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

To spell check the value of a single text field, text block field, tree node name, or attribute property: 1. 2.

If necessary, double-click to begin editing the field or property, or press F2 to begin editing the tree node. Right-click and choose Check Spelling from the context menu, or choose Edit –> Check Spelling from the main menu to open the Check Spelling dialog.

To spell check all of the text fields of a single record: 1. 2.

Click on the record in the Record Detail tab and choose Edit –> Check Spelling from the main menu. MDM spell checks each text field in sequence.

To spell check a copy block or text HTML block: 1. 2.

Double-click on the object cell to open the block editor. Click the spell check button on the block editor’s toolbar to start the spell check.

To spell check all of the records or tree nodes of the current table, or all of the attributes of the current taxonomy table: 1.

2.

64

Click on the first item you want to check in the applicable pane (Hierarchy, Taxonomy, Records, Attributes), and choose Edit –> Check Spelling from the main menu. MDM spell checks each record, tree node, or attribute in sequence, and within each record or attribute, spell checks each field or property.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Finding and Selecting Data

Exercise 2: Data Manager - Finding and Selecting Data Exercise Objectives After completing this exercise, you will be able to: • In this exercise you will use, and become more familiar with the various search features of the Data Manager.

Business Example In order to effectively use the MDM Data Manager, users need to be able to use the various powerful search features it provides.

Task: Search Exercises: 1.

Connect to the MDM050_Exercise_Master repository from the MDM Data Manager using the user given to you by your instructor.

2.

How many products are from the “Boss Holding, Inc.”? Of these, how many products are available in “Size” = “12” ? {HINT: size is an attribute in the Category table. }

3.

Clear the search criteria. How many products have an "Overall Length [Nom]" = "120.000 mm” ? How many are less than “120.000 mm”?

4.

Clear the search criteria. Which "Manufacturer(s)" have a "Type" = "Activator" ?

5.

Clear the search criteria. What Item Status is valid for products with “Tip Type” = “Pozidriv®” ?

6.

Clear the search criteria. How many products are in the “Mask” called “Convert ” ?

7.

Clear the search criteria. How many records have a “UNSPSC” that starts with the word “Tool” ?

8.

Clear the search criteria. What is the “Name” of the product whose "Temple Length" = "140.00 mm" ?

9.

Clear the search criteria. What is the "Sale Price" in "Germany" for “Part Number” = “3126” ?

10. Clear the search criteria. How many of the products that do NOT have "Image Details", but has a “Color” = “White” ? Save your last search as a Search –> Save as Local Search... In the dialog box enter the Search name: White with no Image Details.

2009

© 2009 SAP AG. All rights reserved.

65

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Solution 2: Data Manager - Finding and Selecting Data Task: Search Exercises: 1.

Connect to the MDM050_Exercise_Master repository from the MDM Data Manager using the user given to you by your instructor. a)

2.

How many products are from the “Boss Holding, Inc.”? Of these, how many products are available in “Size” = “12” ? {HINT: size is an attribute in the Category table. } a)

3.

Overall Length [Nom] is a Numeric attribute. Go to the Category search tab and find the attribute listed there. Find and select the value 120.000 mm - there should be 6 records. The values are listed in absolute size order, so hold Shift key down, and select the first value in the list to see how many records are less than 120.000 mm - there should be about 154 records.

Clear the search criteria. Which "Manufacturer(s)" have a "Type" = "Activator" ? a)

5.

Use the Manufacturer search tab to limit the selection to Boss Holding Inc - there should be 7 records that match this search. Then go to the Category search tab, and find the Attribute Size, and click on the value 12. There should only be one product.

Clear the search criteria. How many products have an "Overall Length [Nom]" = "120.000 mm” ? How many are less than “120.000 mm”? a)

4.

Double click on the Data Manager icon on the desktop, select the MDM050_Exercise_Master repository, and enter the user details as appropriate.

Type is a text attribute. Look for this attribute under Category search tab, and select Activator. Then go to the Manufacturer search tab to find out which manufacturers remain. You should see Henkel, and RPM International

Clear the search criteria. What Item Status is valid for products with “Tip Type” = “Pozidriv®” ? a)

Tip Type is a text attribute. Find this value under the Category search tab, and then check the Status search tab for the valid value - only Active should be shown.

Continued on next page

66

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Finding and Selecting Data

6.

Clear the search criteria. How many products are in the “Mask” called “Convert ” ? a)

7.

Clear the search criteria. How many records have a “UNSPSC” that starts with the word “Tool” ? a)

8.

Searches based on text, and starts with, are usually free-form searches. In this case go to the free-form search tab, and find the row for UNSPSC. Set the value in the second column (using the drop down box) to starts with, and enter the word Tool in the third column (titled value). There should be 140 records.

Clear the search criteria. What is the “Name” of the product whose "Temple Length" = "140.00 mm" ? a)

9.

Go to the Masks search tab, and select the entry Convert. There should be 12 records displayed.

Temple Length is a numeric attribute. Search for this value under the Category search pane. The Name of the record should be Cricket Protective Eyewear.

Clear the search criteria. What is the "Sale Price" in "Germany" for “Part Number” = “3126” ? a)

Sales Price is part of the Qualified lookup for Pricing. Use the free-form search to find the part number 3126, then check the Pricing lookup in the Record Details tab. The Sale Price in Germany should be 12.17.

10. Clear the search criteria. How many of the products that do NOT have "Image Details", but has a “Color” = “White” ? Save your last search as a Search –> Save as Local Search... In the dialog box enter the Search name: White with no Image Details. a)

2009

Under the Image Details search tab, select the [NULL] value. Under the Category search tab, find the attribute Color, and select the value White. There should be 16 records.

© 2009 SAP AG. All rights reserved.

67

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Lesson Summary You should now be able to: • Identify the different modes of the MDM Data Manager • Use the various search features available in the MDM Data Manager

68

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

Lesson: Basic Data Maintenance in the Data Manager Lesson Overview This lesson discusses different options for maintaining master data using Record mode in the MDM Data Manager.

Lesson Objectives After completing this lesson, you will be able to: • • • •

Add, delete, duplicate, check in/out and compare records in record mode. Use the various techniques for maintaining the record details. Understand the concept and maintenance of tuples. Work with Masks.

Business Example Once MDM users have searched for and selected the records they need to work with, record maintenance can begin. SAP NetWeaver MDM provides many different options for data maintenance, depending on the definition of the underlying repository.

Record Operations Once you have identified a subset of records with which you want to work, there are a number of different operations available. The list of relevant operations are accessed via the Records menu, or the Record pane’s context menu, as summarised in the table below. Only the most commonly used of these will be discussed in this lesson. Summary of record operations available Operation

Description

Add Record

Creates a new record

Add Master Record

Creates a new master record

Delete Record Deletes the selected records

2009

Duplicate Record

Duplicates the selected record

Save Record

Saves changes to the selected records

Add to Mask2

Adds selected records to selected mask

© 2009 SAP AG. All rights reserved.

69

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Remove From Removes selected records from selected mask Mask2 Replace in Mask2

Replaces selected records in selected mask

Restore Record

Discards changes and restores the selected records

Modify Mask1

Modifies the records in the selected mask

Protection

Protects/unprotects selected records from editing

Check In/Out

Allows records to be maintained over a time, without changes still in progress being visible to other users

Validations

Expression which returns a Boolean value of true or false

Assignments

Expression which populates a specified field with a data value

Workflows

Linking process steps to control maintenance of master data

Matching

Identifying and merging duplicate records

Next Record1

Saves changes to the selected records and selects the next record

Previous Record1

Saves changes to the selected records and selects the previous record

Compare Records

Displays a detail grid comparing the selected records

Compare With Original

Displays comparison between the selected checked out record and the original record(s)

Merge Records

Merges the selected records into a single record

Merge Objects2

Merges the selected object into a single object

Reimport2

Reimports the selected objects from their original location3

Replace2

Replaces the selected object with a new object3

Generate Thumbnail2

Generates the thumbnails for the selected objects3

Save Original to Disk2

Saves the original of the selected object to disk3

Set Print Size2 Sets the print size for the selected images3 Split Text Block2

70

Splits the selected text blocks by the specified3 delimiter

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

Edit Key Mappings

Edits the key mappings for the selected record

Modify Text Value List1

Modifies the text value list of the current text attribute

Recalculate2

Refreshes calculated field(s) on the selected records

1

Operation appears in Records menu only.

2

Operation appears in context menu only.

3

Operation enabled on object tables only.

Adding Records You can add individual records directly into a repository by using the Add Records operation. On most tables, new records are added as the last record in the grid. On hierarchy tables, MDM adds the new record as the last child of the root node. Pressing F5 refreshes the Records grid and moves the new record into its proper sort order. To add a new record to the current table: 1.

2.

Right-click in the Records pane and choose Add from the context menu, or click the Add Record toolbar button (shown at left), or press Ins, or choose Records –> Add Record from the main menu. MDM adds a new empty record to the repository and places you into the Record Details pane for editing.

Deleting Records You can permanently delete records from a repository by using the Delete Records operation. Note: Once a record is deleted, it cannot be recovered. To permanently delete one or more records from the current table: 1. 2.

3.

2009

In the Records pane, select the record(s) you want to delete. Right-click on one of the records and choose Delete from the context menu, or click the Delete Record toolbar button (shown at left), or press Del, or choose Records –> Delete Record from the main menu. MDM prompts you to confirm that you really want to delete the records. Click OK to remove the records from the table

© 2009 SAP AG. All rights reserved.

71

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Duplicating Records If you want to add a record that is similar to an existing record, instead of using the Add Record command, you might save time by duplicating the similar record and editing the duplicate. The Duplicate Record command duplicates not only the field and attribute data of a selected record but also its sibling, parent, and child relationship links. On most tables, duplicate records are added as the last record in the grid. On hierarchy tables, MDM adds the duplicate record as a sibling of and just after the original record. Pressing F5 refreshes the Records grid and moves the duplicate record into its proper sort order. To add a duplicate of a record to the current table: 1. 2. 3.

In the Records pane, select the single record you want to duplicate. Right-click on the record and choose Duplicate from the context menu, or choose Records –> Duplicate Record from the main menu. MDM adds the duplicate record as the last record in the grid and places you into the Record Detail tab for editing. Note: You cannot duplicate object or Workflow table records.

Saving and Restoring Records When you first click inside a cell in the Record Detail grid, MDM displays a pencil icon next to the selected record(s) in the Records pane. Once you actually make changes to the selected records, MDM enables the Save Record and Restore Record commands. Saving a record saves the record changes to the repository. Restoring a record discards all unsaved changes and returns the record to its last saved state. Note: Once a record is saved it cannot be restored to its previous state.

Figure 37: Saving and Restoring Records

To save changes to the record(s) you are editing: • • • •

72

Right-click on the Record Detail tab and choose Save Record from the context menu, or Choose Records –> Save Record from the main menu, or Press Shift+Enter, or Move the focus away from the Record Detail tab.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

To discard unsaved changes and restore the record(s) to their prior state: • • •

Right-click on the Record Detail tab and choose Restore Record from the context menu, or Choose Records –> Restore Record from the main menu, or Press Esc.

Protecting Records If you have finished editing a record, and want to make sure that it is not inadvertently modified or deleted, either by you or by someone else, you can write-protect it. MDM highlights protected records in read-only gray in both the Records pane and the Record Detail pane, to indicate that they cannot be edited or deleted. It also displays a lock icon ( ) in the [Protected] column of the Records grid. Note: You can still edit the relationships of protected records. MDM automatically protects checked-out records and unprotects them again when they are checked back in.

Figure 38: Protected Records

To protect one or more records from editing or deletion: 1. 2.

3.

In the Records pane, select the record(s) you want to protect. Right-click on one of the records and choose Protection –> Protect from the context menu, or choose Records –> Protection –> Protect Record from the main menu. MDM protects the selected records.

To unprotect one or more records to allow editing or deletion: 1. 2.

3.

2009

In the Records pane, select the previously protected record(s) you want to unprotect. Right-click on one of the records and choose Protection –> Unprotect from the context menu, or choose Records –> Protection –> Unprotect Record from the main menu. MDM unprotects the selected records.

© 2009 SAP AG. All rights reserved.

73

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Comparing Records The Compare Records and Compare with Original commands provide a convenient way to visually compare multiple records. Selecting either command opens a pop-up dialog that contains a side-by-side comparison matrix of the selected records.

Figure 39: Comparing Records

The matrix includes a column for each selected record and a row for each selected record’s fields and attributes (and family fields if the repository has a family table). If none of the selected records has a value for a particular field or attribute, that field or attribute will not appear in the matrix. The matrix is updated automatically as you select different records on the Records pane. If you choose Compare Records when only a single record is selected, you will see only that record’s fields and attributes . MDM uses background shading in the matrix to indicate where selected records have different or missing values.

74

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

Colour-Coded Row Values in Compare Records Dialog Colour Row Values

Description

Missing

Yellow value

The same value appears in all of the selected records.

None

Light Blue value

The same value or NULL appears in all of the selected values

One or more

Lavender value

Different values or NULL appear in the selected records

One or more

Rose value

Different values appear in the selected records, but all the records have values.

None

To compare two or more selected records: 1. 2. 3. 4.

In the Records pane, select the records you want to compare. Right-click in the Records pane and choose Compare Records from the context menu, or choose Records –> Compare Records from the main menu. MDM opens the Compare Records dialog. Click the close button in the upper right corner of the dialog when you are done viewing the comparison.

The Compare with Original command allows you to quickly compare a single checked-out record with its original version in the repository. It opens the same pop-up dialog as above, but instead of comparing different records the comparison is between the checked out record and its original(s) Note: If the checked out record is the result of having previously merged multiple checked out records, then the checked out record is compared against all of the pre-merge originals. The Compare with Original command is disabled for records that were checked out new. To compare a checked out record with its original record(s): 1. 2.

3. 4.

2009

In the Records pane, select the checked out record you want to compare to its original(s). Right-click in the Records pane and choose Compare with Original from the context menu, or choose Records –> Compare with Original from the main menu. MDM opens the Compare Records dialog. Click the close button in the upper right corner of the dialog when you are done.

© 2009 SAP AG. All rights reserved.

75

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Merging Records Merging records is necessary when you have multiple records that contain the same information, but no single record that provides a complete and up-to-date version of that information. Moreover, the challenge is not only to specify the correct field and attribute values within a single record and then eliminate the duplicates, but also to detect all lookup field values and parent/child product relationships that reference any of the merged records and to reassign them to the single merged result record. When you use the Merge Records command, MDM opens the Merge Records dialog. The dialog contains a grid with: (1) a column for the merged result record; (2) a column for each selected record; and (3) a row for each of the fields and attributes of the selected records. You can then merge the records and the underlying values as described in the following sections. Note: You can use the Merge Records command only to merge main table or object table records in Record mode. To merge hierarchy and taxonomy lookup table records, use drag-and-drop or the Cut and Paste as Merge commands in Hierarchy and Taxonomy modes To merge the tuple records contained in a tuple field, use the Merge command in the Edit Tuple Records dialog.

Editing Record Details As you make search selections, the set of matching records appears automatically in the Records pane. Selecting a record in the Records pane displays its data in the Record Detail tab, where you can edit it. The following sections describe how to edit the various field and attribute types available with MDM. Hint: You can use role-based privileges to decide whether users must check out records before editing them.

Keyboard Shortcuts for Record Editing Since it is common to edit a series of adjacent records in the Records pane, and even to edit the same fields in each record, the MDM Data Manager provides several time-saving keystroke combinations that speed up editing under these circumstances.

76

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

Keyboard Shortcuts for Record Editing Keystroke

Command

Description

Shift+Ctrl+Up

Previous Record

Saves the current record and moves to the previous record while remaining on the same cell in the Record Detail tab.

Shift+Ctrl+Down Next Record

Saves the current record and moves to the next record while remaining on the same cell in the Record Detail tab.

Ctrl+'

“Ditto”

Enters the value entered into the same field in the previously edited record.

F2

Edit

Enters the field for editing, or opens the drop-down control for selection.

Shift+Enter

Save Record

Saves the changes made to the current record or group of records.

Esc

Restore Record

Discards changes and restores the previous field values. This must be done before changes have been saved.

Note: Each of the commands above works only when the focus is on a cell in the Record Detail tab.

Custom Data Entry and Editing Controls MDM includes many enhancements to the normal Windows controls, as described in the sections that follow. Note: The term cell is used to refer to the rectangular area in the row/column grid in the Record Detail tab, like the cell in a spreadsheet or a database table. Each cell contains a data value. Hint: You can use Tab and Shift+Tab and the motion keys to move between cells in a grid.

Single-Valued Lookup Cells Remember, MDM often enforces data integrity by creating a predefined set of lookup values, either as the records of a lookup subtable (where the value of a lookup field is restricted to the set of values of the subtable records), or as the set of values defined for a text attribute.

2009

© 2009 SAP AG. All rights reserved.

77

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

These lookup values are displayed in drop-down controls that contain the set of values that can be selected by the user: •

Drop-down list. For a single-valued lookup field into a flat table or a text attribute, the cell in the Record Detail tab is a drop-down control that contains a list.

Figure 40: Drop-down list control for flat table lookup or text attribute



78

Drop-down tree. For a single-valued lookup field into a hierarchy table, the cell in the Record Detail tab is a drop-down control that contains a tree structure

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

Figure 41: Drop down list control for hierarchy lookup

Hint: You do not need to click on the “down triangle” in a dropdown list or tree control to open it. You can simply start typing once the drop-down control has the focus, and it will open automatically. Hint: The type-ahead seek feature jumps to the next matching item in a list or tree. It even opens tree nodes that are closed; that is, MDM will expand branches to find nodes that are not visible.

Multi-Valued Lookup Cells Sometimes a lookup field or text attribute allows you to select multiple items from the predefined set of lookup values. For such a multi-valued field or attribute, the cell in the Record Detail tab is a custom drop-down control for multiple-item selection: •

2009

Drop-down list. For a multi-valued lookup field into a flat table or a text attribute, the drop-down control contains a pair of lists: the list of available items on the left and the list of selected items on the right

© 2009 SAP AG. All rights reserved.

79

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 42: Dual-list drop-down control for multi-valued flat lookup



Drop-down tree. Similarly, for a multi-valued lookup field into a hierarchy table, the drop-down control contains the tree of available items on the left and the list of selected items on the right. On either side, you can highlight one or more items, either adjacent or non-adjacent, and move them from one side to the other for selection or deselection. Note: When you add a flat item to the list of selected items, it is removed from the list of available items. When you add a hierarchy item to the list of selected items, it remains in the tree of available items and is highlighted in bold. You can select and add only leaf-node values from the tree of available items. Note: The dual-list drop-down control for multiple-item selection appears not only in the drop-down edit control for multi-valued text fields and attributes, but also in various dialogs where multiple items can be selected, such as the Fields, Modify Mask, Create Publication, and Export dialogs, and in the object selector dialogs for Data Group selection. Multiple values are separated in the cell in the Record Detail tab by semi-colons.

Figure 43: Multi-valued display

There are various ways to move items from one list to the other to select (or deselect) one or more items, and to reorder them within the lists: •

• • •

80

Buttons. Click the Add (or Remove) button to move highlighted items from the Available list to the Selected list (or from the Selected list back to the Available list), or use the All (or None) button to select or deselect all of the items. Double-click. Double-click an item to move it between lists (dual-list control only). Drag-and-drop. Drag-and-drop one or more items to move them from one list to the other (dual-list control only). Reorder. To reorder items in the selected list, highlight one or more items (adjacent or non-adjacent), then drag-and-drop them as a group anywhere within the list to move them before the list item onto which you drop them.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

Qualified Lookup Cells You can link one or more qualified table records to a qualified lookup field by double-clicking on the cell in the Record Detail tab to open the qualified lookup selector dialog.

Figure 44: Qualified Lookup Cell

Note: Unlike other types of lookup tables, which typically use just a single display field for the lookup field value, each qualified table record will usually have multiple display fields, which can include any of the fields of the qualified table itself, as well as any of the qualifiers. Note: Each qualified lookup value is the concatenation of the values of the multiple display fields and qualifiers, separated by vertical bars (|).This concatenated value is displayed as the value of the qualified table record in the qualified lookup cell and also in the qualified lookup search tab. Note: Directly underneath the name of the qualified lookup field, MDM displays “[m of n]” (where ‘n’ is the total number of qualified table records linked to the current main table record and ‘m’ is number of those n records that match the current search selections for the qualified lookup field). The two numbers will be the same if: (1) the Filter checkbox is not currently checked; or (2) there are no search selections currently in effect for the qualified lookup field.

Measurement Cells MDM allows you to associate a physical dimension with a measurement field or numeric attribute, and then to assign to every numeric value a unit of measure chosen from the list of units applicable to that dimension. For such a field or attribute, the cell in the Record Detail tab has two parts that are edited separately.

Figure 45: Measurement Cells

The left part contains the numeric value and accepts typed numeric data entry. The right part contains the associated unit of measure (such as horsepower or millimeters), and allows you to select from a drop-down list of units of measure

2009

© 2009 SAP AG. All rights reserved.

81

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

applicable to the particular physical dimension. You can use Tab and Shift+Tab and the left and right arrow keys to move between the two parts of a measurement cell. Hint: Measurement cells make it easy to enforce data integrity, since units of measure must be selected from a predefined list of units rather than typed in by the user as a text string.

Multi-Valued Numeric and Measurement Cells Sometimes a measurement field or numeric attribute allows you to enter multiple numeric values, with or without associated units of measure: •

Multi-valued numeric cells. For a multi-valued measurement field or numeric attribute without an associated physical dimension, the cell in the Record Detail tab is a custom drop-down control that contains a grid with a single column of numeric values.

Figure 46: Multi-valued Numeric Cells.



Multi-valued measurement cells. For a multi-valued measurement field or numeric attribute with an associated physical dimension, the cell in the Record Detail tab is a custom drop-down control that contains a two-column grid with a row for each measurement value.

In either case, you can enter, edit, and reorder values as follows: •



• •

Add numeric value. To add a numeric value, type the numeric value in the first empty row and press Return, or press Tab to enter the value and move to the next empty row. Add measurement value. To add a measurement value, type the numeric value in the left part of the first empty row, press Tab, select a unit of measure from the drop down, and press Tab to move to the next empty row. Delete value. To delete a value, move the thick bordered highlight to the row containing the value you want to delete and press Del. Reorder values. To reorder the numeric values, press Ctrl+Up and Ctrl+Down to move the current row up and down. Note: Multiple values are separated in the cell by semi-colons.

82

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

Coupled Numeric Measurement Cells MDM includes a unique coupled numeric data type for attributes that allows you to store coupled pairs of measurement values. Each member of the pair can have a different physical dimension, allowing you to store the technical specifications of a product that are defined along a continuum. For example, the horsepower rating of a motor might be: • • •

5 hp @ 3500 rpm 6 hp @ 4500 rpm 7 hp @ 5500 rpm

For coupled numeric attributes, the cell in the Record Detail tab is a custom control that contains a four-column grid with a row for each pair of coupled measurement values.

Figure 47: Maintaining Coupled Numeric Cells

Entering, editing, and reordering values in a coupled numeric drop-down control is identical to a multi-valued measurement cell, except you must enter two measurement values for each grid row rather than just one. Note: A coupled numeric attribute appears as “name delimiter coupledname” (where “delimiter” is the user-defined, attribute-specific delimiter string for the attribute – in the example above, name is voltage input, delimiter is @ and coupled name is phase). Note: Just as with a measurement field or numeric attribute, either or both coupled dimensions may not have an associated physical dimension, in which case the corresponding column in the drop-down control contains numeric rather than measurement cells. Multiple value pairs are separated by semi-colons.

2009

© 2009 SAP AG. All rights reserved.

83

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Large Text Cells You can type a string of text of unlimited length directly into a large text field. In the Record Detail tab, large text fields are multi-line edit cells. Note: A large text field is like a text block field except that it is not stored in a separate table. This is useful when you know that a text field value will never be shared by multiple records. Hint: Since Tab (which normally moves from cell to cell in the Record Detail tab) inserts a tab into the text in a large text cell, press Ctrl+Tab to move to the next cell. Similarly, since Enter (which normally ends an edit and closes a cell) inserts a new line into the text in a large text cell, press Ctrl+Enter to end the edit and close the cell. To change the row height of the cell, drag the row splitter up or down.

Image Lookup Cells You can link one or more images to an image lookup field by double-clicking on the cell in the Record Detail tab to open the image selector dialog

Figure 48: Image Lookup Cells

Hint: To change the row height of the cell, drag the row splitter up or down. As you change the row height, the thumbnail of each image is automatically resized to fit vertically in the cell. Hint: You can also right-click on the image field and, without even entering the image selector dialog, choose from the context menu to perform various functions, some of which cannot be performed from the main menu.

Text Block (and Copy Block / Text HTML) Lookup Cells Text blocks differ from large text in that text blocks, like images, are stored in an object lookup subtable for linking to fields in one or more records in the main table or another subtable, while the text in a large text field is entered directly into the record of the table itself. Text blocks are useful when several records may share the same textual information. You can link one or more text blocks to a text block lookup field by double-clicking on the cell in the Record Detail tab to open the text block selector dialog.

84

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

Figure 49: Text Block Lookup Cells

Hint: To change the row height of the cell, drag the row splitter up or down. This adjustment is independent of the slider control; making the row taller does not display more lines than indicated by the slider control. Finally, use the vertical scroll bar on the right of the cell to move through the list of linked text blocks. Hint: You can also right-click on the text block field and, without even entering the text block selector dialog, choose from the context menu to perform various functions, some of which cannot be performed from the main menu. Note: MDM also supports copy blocks and HTML text blocks, which you can link to a copy block or text HTML lookup field the same way you link text blocks to a text block lookup field.

PDF Lookup Cells You can link one or more PDFs to a PDF lookup field by double-clicking on the cell in the Record Detail tab to open the PDF selector dialog. Hint: You can also right-click on the PDF field and, without even entering the PDF selector dialog, choose from the context menu to perform various functions, some of which cannot be performed from the main menu.

Relationships Cell For each product-level relationship, you can link one or more records to the current record by double-clicking on the cell in the Record Detail tab to open the Relationships pop-up window.

2009

© 2009 SAP AG. All rights reserved.

85

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 50: Relationships Cell

Note: A single Relationships cell for all relationships appears as the first cell on the right side of the Record Detail tab if you have one or more product-level relationships defined for the current table.

Masks Cell The Masks cell displays a list of masks to which the selected record belongs, one name per line (using the unique node name syntax). You cannot edit the Masks cell.

Figure 51: Masks Cell

Note: For a multi-valued field/attribute with multiple record selection, MDM separate each set of multiple values with a dotted line.

Viewing and Editing Multiple Records When multiple records are selected in the Records pane, MDM places into each cell of the Record Detail tab the distinct values for the field across the entire set of selected records. Multiple values in a cell are separated by semi-colons, and values are colour-coded to indicate whether they are the same or different – and whether any values are missing. Colour-Coded Field Values with Multiple Record Selection

86

Colour (Field Values)

Description

Missing

None

No value appears in any of the selected records.

All

Black (value)

The same value appears in all of the selected records.

None

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

Blue (value)

The same value or NULL appears in all of the selected records.

One or more

Magenta Different values or NULL appear in the (value1; value2) selected records.

One or more

Red (value1; value2)

None

Different values appear in the selected records, but all the records have values.

Figure 52: Viewing and Editing Multiple Values

When you select multiple records that belong to more than one category, the Record Detail tab displays only the attributes that are common to all of the categories (intersection of attribute sets) rather than all of the attributes for all of the categories (union of attribute sets). When you select multiple records that have multi-valued fields, values in the multi-valued fields are displayed in black if all the records have the same set of multiple values. If the records have different sets of values, MDM displays the distinct values from all selected records in red. Be very careful when changing values in the Record Detail tab while multiple records are selected. If you edit a field and then save the records, all of the selected records will have the same value in that field. Note: Qualified lookup field links are an exception to this rule. When multiple records are selected, editing or removing a link in a qualified lookup field affects only those records which had the link to begin with. All other links in all other selected records are preserved as they were before the edit. Note: Tuple field values are not displayed when multiple records are selected. Instead, their cells are grayed out

Maximum Record and Value Limits The MDM Data Manager has configurable and built-in limits regarding how many record values can be displayed in the Record Detail tab. The Maximum Multi-Record Value Display configuration option sets the maximum number of

2009

© 2009 SAP AG. All rights reserved.

87

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

records that can be selected on the Records pane for which the Data Manager will display values in the Records Detail tab. The default value for this option is 10. If you select more records on the Records pane than the maximum the Data Manager will not retrieve values for any of the selected records. Instead it will display [...] in each cell of the Record Detail tab. Regardless of the number of records selected, the maximum number of unique values that MDM can display in a single cell is hardcoded to 20 (except for qualified lookup fields, which are exempt from this limit). If the number of unique values contained in the selected records for a particular field or attribute exceeds this limit, MDM will retrieve the first 20 unique values only and then display ‘...’ after the 20th value.

Qualified Lookups A qualified table is a special kind of lookup table that is extremely versatile. It can be used to efficiently store complex relationships between a main table product record and one or more lookup table records that contain various types of additional information. A qualified table is necessary when the number of lookup table records would otherwise be very large, because each main table record is related not just to the predefined lookup values of the lookup table records but also to one or more additional fields of information that are different for every main table record (such as quantity price breaks, multiple prices for different divisions, regions, or trading partners, or cross-reference part numbers for different distributors or contract customers). In these cases, the fields whose values are different for each main table record should be defined as qualifier fields of the qualified table; the qualified table will then contain an actual record for each of the predefined lookup values or value combinations (such as distributor, contract customer, division, region, or trading partner). A qualified table stores a set of lookup records, and also supports qualifiers, database “subfields” that apply not to the qualified table record by itself, but rather to each association of a qualified table record. Note: An MDM repository can have multiple qualified tables. In practice, the use of qualifiers and a qualified table instead of normal fields and a subtable keeps the number of actual records in the qualified table very small, but since every link between a main table record and an instance of a qualified table record contains additional information, the number of qualified link table records necessary to store the additional information is very large, often larger than the number of records in the main table itself. When used for multiple prices or cross reference part numbers, qualified tables and qualifiers allow you to store a massive amount of potentially sparse data, by eliminating n fields from the main table and replacing them with a single qualified lookup field into a qualified table that has n corresponding records and one or more qualifiers. For example, n price fields, one for each distributor or quantity

88

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

price break (or worse, each distributor / quantity price break combination) can be replaced with n qualified table records, one for each distributor / quantity price combination, and a qualifier for the price. Qualified tables offer self-configuring, out-of-the-box support for: • • • •

Multiple prices (including quantity price breaks) Cross-reference part numbers Other distributor-, supplier-, and customer-specific information Product applications for application-based search

Consider a main table of product records that contains sparse quantity pricing data for each product.

Figure 53: Sparse Data on Main Table

Using a qualifier to store the quantity pricing data, the qualified table would have a single field Quantity and a single qualifier Price, and would contain these quantity records.

Figure 54: Qualified Table

A qualified lookup field in the main table would replace all of the quantity price fields, and the pricing data would be stored as qualifier values associated with main table / qualified table links.

2009

© 2009 SAP AG. All rights reserved.

89

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 55: Qualified Lookup on Main Table

Note: A main table / qualified table link is created only for those product/quantity combinations for which a price value actually exists. Using qualifiers to distinguish between different uses of the same unqualified application: (1) eliminates the need to enumerate every distinct value combination of fields and qualifiers taken together; (2) in so doing, dramatically reduces the number of distinct records in the qualified table, making it more useful as a valid table of allowed lookup values; and (3) avoids a tremendous amount of data duplication, especially when rich content (such as images, text blocks, and PDFs) is added to each qualified table record. This innovative data model has the following advantages: (1) it completely eliminates all duplication of both product data and application data typical of previous systems; (2) it efficiently enforces validation against the table of qualified table records; (3) it dramatically reduces memory and storage requirements; and (4) it is radically more efficient for maintenance and searching. For example, an automotive parts catalog that historically contained over twenty million application records is represented within an MDM repository with just over one million part records and forty thousand vehicle specification records.

Maintaining Qualified Lookups Each record in a repository’s main table may be assigned to one or more qualified table records. Qualified lookup fields, which appear on the right side of the Record Details tab, show which qualified table records are currently linked with the selected main table record(s). You can perform the following functions on qualified lookup fields: • • • • •

90

Add (link) qualified table records to the selected main table record. Remove (unlink) qualified table records from the selected record. View qualified table record details (including qualifiers). Add new records to the qualified table. Edit qualifier values on a linked qualified table record.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

The Qualified Lookup Field Cell Each linked qualified table record is displayed on its own row inside the qualified lookup field’s cell. By holding the mouse over a record in the qualified lookup cell, you can quickly view the details of that qualified table record. MDM displays the details in a tooltip that contains the values for each of the linked qualified table record’s fields and qualifiers.

Figure 56: Qualified Lookup Cell

You can also view and edit qualified record details by right-clicking on the record in the qualified lookup cell and selecting View/Edit Detail… from the context menu. This opens the Qualified Lookup Detail dialog

Figure 57: Qualified Lookup Detail

The Qualified Lookup Detail dialog displays the field and qualifier values of the selected qualified table record. For easy identification, qualifier names are enclosed in square brackets ([ ]). From the Qualified Lookup Detail dialog, you can also edit the qualifier values of the selected qualified table record. To edit the qualifiers of a linked qualified table record: 1.

2.

2009

From the Record Detail tab, right-click on a qualified table record in a qualified lookup field cell and choose View/Edit Detail… from the context menu. From within the Qualified Lookup Detail dialog, click the Edit button to enable the edit controls, and edit the qualified table record qualifier values.

© 2009 SAP AG. All rights reserved.

91

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

The Select Qualified Lookup Record Dialog To add or remove qualified records linked to the main table record, double-click inside the qualified lookup field’s cell to open the Select Qualified Lookup Records dialog.

Figure 58: Qualified Lookup Record Dialog

The Select Qualified Lookup Records dialog contains a Search Parameters pane, an Available lookup records list, a Selected lookup records list, and two tabs: Lookup Detail and Search Selections. Use the Search Parameters pane to narrow down the list of qualified table records appearing the Available lookup records list. For convenience, all of the search selections you make on the Search Parameters pane are shown on the Search Selections tab. The Available lookup records list contains all of the records on the qualified lookup table which match your search selections. When you select a record in the Available lookup records list, the Lookup Detail tab displays the record’s field values (both display and non-display) in read-only gray, but its qualifiers are not displayed. The Selected lookup records list contains all of the qualified table records which have been added to the main table record(s) you are editing. When you select a record in the Selected lookup records list, the Lookup Detail tab displays both the field and the qualifier values for the record, with the field values appearing in read-only gray and the qualifier names appear in square brackets ([ ]). In addition to adding and removing existing qualified table records, you can also create new qualified table records from the Select Qualified Lookup Records dialog. New qualified table records are added to the Available lookup records list and must be added to the Selected lookup records list before their qualifier values can be edited.

92

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

To narrow down the set of qualified table records in the Available Lookup Records pane: 1. 2.

In the qualified lookup selector dialog, add one or more search selections in the Search Parameter tabs for each lookup field of the qualified table. MDM narrows down the list of available qualified table records. Hint: To clear the search selections for all of the lookup fields, right-click on any of the search tabs and choose Reset Search from the context menu. To clear them for just a single field, either: (1) select [ALL] in the search tab for that field, or (2) right-click on the search tab for that field and choose Reset Parameter from the context menu.

To link existing qualified table records to the main table record: 1. 2. 3.

In the Select Qualified Lookup Records dialog, highlight a record in the Available lookup records list and click the Add button. The record appears in the Selected lookup records list. Click OK to save the change and close the Select Qualified Lookup Records dialog. Hint: You can also double-click on a qualified table record (or drag-and-drop it) to add it to the Selected lookup records list. Note: All qualified lookup fields are multi-valued, so you are always permitted to select multiple qualified table records. Unlike other object selectors, the qualified lookup selector dialog does not remove qualified table records from the Available lookup records list when you add them to the Selected lookup records list so that you can add each qualified table record more than once, if necessary, with a different set of qualifier values.

2009

© 2009 SAP AG. All rights reserved.

93

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

To unlink qualified table records from the main table record: 1. 2. 3.

In the Select Qualified Lookup Records dialog, highlight a record in the Selected lookup records list and click the Remove button. The record disappears from the Selected lookup records list. Click OK to save the change and close the Select Qualified Lookup Records dialog. Hint: You can also double-click on a qualified table record (or drag-and-drop it) to remove it from the Selected lookup records list. Note: When you remove a qualified table record from the Selected lookup records pane, MDM adds it to the Available lookup records list if it is not in the current qualified table search results. To refresh the set of qualified table records in the Available lookup records list to correspond precisely to the current search selections, you must change the search selections. Hint: To remove all of the qualified table records, click None. To unlink a qualified table record from the current record without even entering the Select Qualified Lookup Records dialog, right-click on the qualified table record directly from the Record Detail tab and choose Remove from the context menu.

To add a new qualified table record: 1. 2. 3. 4. 5.

94

In the Select Qualified Lookup Records dialog, click the Add… button to open the Add Qualified Table Record dialog For each of the lookup fields of the qualified table, select from the drop-down list to specify the value for the field. For each of the non-lookup fields of the qualified table, enter a value. Click OK to close the Add Qualified Table Record dialog. The new record is added to the qualified table and appears in the Available lookup records list.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

Figure 59: Adding a New Qualified Record

Note: You must edit the record later to add qualifier values to it

MDM Tuples MDM tuples are a basic, all-purpose data modeling building block that have many uses and capabilities for structuring and storing MDM data. Note: Tuples that include lookups subsume, extend, and generalize other specialized MDM structures such as qualified lookup tables and parent/child relationships. The most notable feature of tuples is that they allow you to create nested structures, including deeply nested multi-level structures of arbitrary depth, with a one-to-many relationship at every level.

What is a Tuple? Webster’s New Millennium™ dictionary defines tuple as follows: tuple. noun. 1. in a database, an ordered set of data constituting a record; 2. a data structure consisting of comma-separated values passed to a program or operating system. Elaborating on (1) as it relates to MDM, a tuple is effectively a record template that groups together and names a set of related fields into a reusable object or type definition that describes or composes a particular object or type. For example, an Address tuple might consist of the following fields: Address Street City State Zip Country While capturing the simple essence of a tuple, the example above is not particularly illustrative of the extreme versatility of tuples. So let’s start by taking a step back and looking at tuples in the context of tables, and then compare and contrast them with other MDM structures.

2009

© 2009 SAP AG. All rights reserved.

95

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Tuples and Tables Recall that a table is comprised of a set of records, where each record consists of a set of fields. Moreover, the definition of the table gives the table its name, defines the set of fields included in each record, gives each field a name and type, and finally, creates a storage container for each of the records. Consider the Customers table below, in which each customer has an Id, a Name, and an Address consisting of five additional fields:

Figure 60: Table Without Tuple

In the context of tables, a tuple is like a table without an instance of the table itself; more precisely, the definition of a tuple is like the definition of a table that effectively groups together and names a set of related fields (where each record conforms to that type definition), but without the actual storage container for the records of the table. And whereas the tuple definition that is implicit in the definition of a table cannot be reused, a tuple can be defined once and reused many times within multiple tables across a repository.

Single-Valued Tuple Fields Note that both table and tuple definitions create a template for the fields of the corresponding table or tuple records, respectively. But whereas you can create and store table records immediately after the table is defined, you can create and store tuple records only after the tuple is subsequently referenced as a field in the definition of a real table. If we were to redefine the Customers table above using the Address tuple, it might look something like this:

96

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

Figure 61: Using a Tuple for Address

Note: A single-valued tuple reference does not directly add any data modeling power to MDM per se. However, it does offer: (1) reusability, so that unlike a table definition, a tuple can be defined once and reused many times; and (2) encapsulation, so that subsequent changes to the tuple definition or its associated properties are immediately propagated to every use of the tuple.

Multi-Valued Tuple Fields In the example above, the reference to the Address tuple is single-valued. If Address were instead defined as multi-valued, the Customers table could then store multiple Address records per Customer record, creating a one-to-many relationship between Customer records and its private Address records.

Figure 62: Using a Multi-Valued Tuple

Note: A multi-valued tuple field is like a private table-within-a-table, in that each record of the referencing table can “contain” multiple tuple records, allowing MDM to express a one-to-many relationship in a very natural way. Alternatively, if you need a fixed number of instances, you can simply include multiple references to the same tuple in a single record (e.g. Billing Address and Shipping Address).

Tuples as Custom Composite Data Types Recall that in addition to the traditional SQL data types (e.g. Integer, Text, Date), MDM also supports two predefined composite data types: • •

2009

Measurement fields and attributes. Each measurement consists of two components: (1) a numeric value; and (2) a unit of measure. Coupled numeric attributes. A coupled numeric attribute is a composite data type that consists of pairs of measurement values.

© 2009 SAP AG. All rights reserved.

97

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

In the context of these predefined composite data types, a tuple in MDM is just a custom-defined composite data type, where you can create and name a type comprised of a precise set of participating fields.

Figure 63: Nested Tuples

Each record of the current table may contain one or more tuple records. Tuple field cells, which appear on the left side of the Record Details tab, show the quantity (if the tuple field is multi-valued) and the values of the tuple records they contain for the selected current table record. Note: Unlike lookup table records, tuple records belong privately and exclusively to the selected current table record.

Editing Tuple Fields The Tuple Field Cell A tuple field cell displays the number of tuple records contained in the tuple field and the display field values of each of these tuple record. This PostalAddress tuple field cell shows that the PostalAddress tuple field contains one (1) tuple record, which has the display field values “100 Main Street”, “Los Angeles”, and “CA”.

98

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

Figure 64: The Tuple Field Cell

Note: Data Manager uses a dash (-) to separate the number of tuple records from the tuple records themselves; a comma (,) to separate the display field values within each tuple record; and a semicolon (;) to separate each tuple record displayed. Although a tuple field can contain an unlimited number of tuple records, a tuple field cell displays only its first five (5) tuple records. You can view and modify the set of tuple records contained in a tuple field cell, as described in the following sections.

The Edit Tuple Records Dialog To view or modify the set of tuple records contained in a tuple field, click the ‘…’ button at the far right of the tuple field’s cell to open the Edit Tuple Records dialog.

Figure 65: Edit Tuple Records Dialog

Hint: You can also open the Edit Tuple Records dialog by double-clicking inside a tuple field’s cell. Note: To help you avoid confusion when editing tuple records, the title bar of the Edit Tuple Records dialog includes the name of the tuple field whose records are being viewed/edited. The Edit Tuple Records dialog acts as a two-pane version of Record Mode, where the records it displays are automatically limited to the tuple records of the corresponding tuple field. The dialog consists of a Tuple Records pane and two tabs: Tuple Detail and Language Detail. Like the Records pane, the Tuple Records

2009

© 2009 SAP AG. All rights reserved.

99

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

pane lists the tuple field’s tuple records in a grid, with a row for each tuple record and a column for each tuple member field. Use the Tuple Records pane to select one or more tuple records for editing, deleting, or other operations. Like the Record Detail tab, the Tuple Detail tab displays the field values for the tuple records selected in the Tuple Records grid. Inside the tab, each tuple member field name is displayed as a row header with the corresponding values for the selected tuple record(s) appearing next to it. If the tuple contains object lookup fields, the tab is split vertically into two subpanes; the left subpane contains a vertical list of the tuple’s field values; the right subpane contains the tuple record’s object lookup field values. You can edit tuple records directly from the Tuple Detail tab. If the tuple contains multilingual fields, the Edit Tuple Records dialog includes a Language Detail tab. This tab contains a multi-column grid with each multilingual field in the tuple record displayed as a row and a separate column of data for each repository language. Note: Editing multilingual lookup records is not supported in the Edit Tuple Records dialog. At the bottom of the Edit Tuple Records dialog is a set of buttons which you can use to perform various operations.

Updating Values of Calculated Fields Calculated field values appear in read-only gray on the Record Details tab. Their read-only values are determined by the expression entered for the field in the MDM Console. MDM automatically updates calculated field values whenever changes are made to main table fields or qualified table fields via the Data Manager or through import. However, calculations based on lookup field values are not updated automatically after fields on the lookup table are modified. In these cases, the calculated field must either be updated manually from the Records pane or else the entire repository must be unloaded and then reloaded with the Build Indices option. To manually update the values of a record’s calculated fields, simply right-click on the record in the Records pane and choose Recalculate from the context menu. All calculated field values in the selected records will be updated by this operation.

Working With Lookup Tables As you may recall, MDM tables can have special fields which get their values by looking into other tables. These fields, called lookup fields, provide preset values for record editors to choose from. The table which provides these values is called the lookup table. When you edit a lookup field, the display field(s) of each record in the lookup table appears as a separate value in the field’s drop-down list.

100

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

Editing Flat Lookup Tables A flat lookup table defines the set of allowed values that appear in the drop-down list when you edit a flat lookup field.

Figure 66: Editing Flat Lookup Tables

If you want to edit the Made In lookup field for a product, the only values you can select are those that appear as records in the Made In table. In addition to the lookup field value, each record may also contain other fields of information that further describe each lookup value.

Editing Hierarchy Lookup Tables A hierarchy lookup table defines the hierarchy of allowed values that appear in the drop-down list when you edit a hierarchy lookup field.

2009

© 2009 SAP AG. All rights reserved.

101

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 67: Editing Hierarchy Lookup Tables

In addition to the lookup field value, each record may also contain other fields of information that further describe each lookup value (such as the Supplier Code, Discount Percentage, and Logo fields in the Record Detail tab in the figure above). Hint: Although you can view, add, edit and delete the records of a hierarchy table in Record mode, you should usually edit a hierarchy table in Hierarchy mode so that you can view and edit the hierarchical relationships in addition to the other fields of each record. Hint: To merge hierarchy lookup table records, use drag-and-drop or the Cut and Paste as Merge commands in Hierarchy mode.

102

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

Modifying Masks Product masks allow you to partition a single master repository main table into as many customized, virtual subset repositories as you like. The main uses of masks are to edit an arbitrary subset of records as a group, and to publish custom “subset catalogs.” Note: The Masks table must already have been created for the repository (using the MDM Console), and the individual mask(s) already defined before you can add records to, remove records from, or replace records in a mask. Each mask can apply to a single main table, and you cannot change the table association once it has been defined. Hint: To add a new mask or delete an existing mask from the hierarchy of masks, you can use the Modify Mask command described in the next section, or you can go into Hierarchy mode and edit the Masks table directly.

Editing the Masks Table The Masks table is a special hierarchy table that defines the hierarchy of masks. The hierarchy corresponds to the tree that appears in the drop-down tree control when you choose Records –> Modify Mask from the main menu, and each record in the hierarchy corresponds to a mask that appears in the cascading hierarchy of menus when you choose Add to Mask or Remove from Mask from the Records pane context menu.

Figure 68: Editing the Masks Table

2009

© 2009 SAP AG. All rights reserved.

103

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

In addition to the mask name, each mask record may also contain other fields of information that further describe the mask, including the main table to which the mask applies. Hint: Although you can view and edit the records of the Masks table in Record mode, you should usually edit the Masks table in Hierarchy mode, so that you can edit the mask hierarchy in addition to the other fields of each mask record.

Context Menu Mask Commands You can add, remove, and replace records from a mask as described in the following sections. Note: Mask commands can only be applied to masks associated with the current main table. To add one or more records to a mask: 1. 2. 3.

In the Records pane, select the record(s) you want to add to the mask. Right-click on one of the records and choose Add to Mask from the context menu. Choose from the cascading hierarchy of menus the mask to which you want to add the records.

Figure 69: Adding Records to a Mask

104

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

To remove one or more records from a mask: 1. 2. 3.

In the Records pane, select the record(s) you want to remove. Right-click on one of the records and choose Remove from Mask from the context menu. Choose from the cascading hierarchy of menus the name of the mask from which you want to remove the records.

To replace the records in a mask with one or more records: 1. 2. 3.

In the Records pane, select the record(s) you want to add to the mask. Right-click on one of the records and choose Replace in Mask from the context menu. Choose from the cascading hierarchy of menus the name of the mask whose records you want to replace.

Checking Out Records Sometimes you may want to allow one or more users to edit a copy of a record over an extended period of time as part of a collaborative process without changing the original until you are ready to commit the changes, and only then make them visible to users all at once. MDM allows you to do this with a versioning mechanism known as check out. When you use the Check Out commands to check out an existing main table record, MDM does the following: • • • • • •

MDM creates a private duplicate copy of the record for editing, and simultaneously protects the original from editing or deletion. The user who checks out the record owns the checkout; authorized users can specify which other users can join the checkout. The owner and users who join see the duplicate instead of the original everywhere, and any of them can edit the duplicate. While the record is checked out, the duplicate is hidden from all other users, who continue to see the original. MDM displays a checked out icon ( ) in the [Checked Out] column of the Records grid and highlights the original in read-only gray. When an authorized user performs a Check In, MDM replaces the original with the edited duplicate, which becomes visible to all users. Note: You can use the Check Out New commands to check out a new rather than an existing record, which creates a private new record with no visible original.

Checking out an existing or new record can be: (1) Exclusive, which grants join permissions to no other roles or users (by default, no other users can join the checkout); and (2) Nonexclusive, which grants join permissions to the Everyone

2009

© 2009 SAP AG. All rights reserved.

105

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

role (by default, all users can join the checkout). Instead of checking in the duplicate record, the owner can use the Roll Back command to delete the duplicate and abandon changes. Note: You can use the All Versions command to display both versions (originals and duplicates) of all checked out records. This is the only way for other users to join the check out of new records. Hint: You can use role-based privileges to decide whether owners and/or non-owners are permitted to check in, roll back, or modify join permissions of checked out records; and also whether users are allowed to add, modify, merge, or delete original records.

Check In/Out Operations The following sections describe the various check in and check out operations in Record mode, including: • • • • • • • • • •

Checking out records exclusively Checking out records nonexclusively Checking out a new record exclusively Checking out a new record nonexclusively Joining checked out records Unjoining checked out records Checking in records Rolling back checked out records Modifying join permissions Viewing all versions of all checked out records

Check In/Out Operations

106

Operation

Description

Check Out

Exclusive Checks out the selected records exclusively.

Check Out NonExclusive

Checks out the selected records nonexclusively.

Check Out New Record Exclusive

Checks out a new record exclusively.

Check Out New Record Nonexclusive

Checks out a new record nonexclusively.

Join Checkout

Joins the selected checked out records.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

Unjoin Checkout

Unjoins the selected checked out records.

Check In

Checks in the selected records to commit changes.

Roll Back

Rolls back the selected records to discard changes.

Modify Join Permissions

Specifies which roles and users can join the selected checked out records.

All Versions

Displays all versions of all checked out records.

Note: Check outs can be done in Record mode on the records of the main table only. Note: Some restrictions apply if you attempt to merge checked out records: (1) you can merge records only if none of them are checked out, or all of them are the checked out versions of checked out records; (2) you cannot merge the original versions of checked out records, nor the checked out version of a record with an unchecked out record or the original of a checked out record; and (3) when a single surviving checked out record is checked in, the originals are then replaced with the single checked out record.

[Checked Out] Column The Records pane for the main table includes a sortable column named [Checked Out] that indicates whether each record has been checked out using the Check In/Out commands, and for duplicate versions, whether the user is: (1) the owner of the checkout; (2) a member of the checkout; or (3) a non-member of the checkout. MDM uses the checked out icon ( ) as the name of the column in the Records grid. Icons indicate the status of each checked record, along with the tooltip that appears when you move the mouse pointer over the record in the column.

Figure 70: Check Out Record States

Managing CheckOuts The commands for checking out records are described in this section.

2009

© 2009 SAP AG. All rights reserved.

107

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

To check out one or more existing records: 1. 2.

3.

In the Records pane, select the record(s) you want to check out. Right-click on one of the records and choose Check In/Out from the context menu, or choose Records –> Check In/Out from the main menu, and in either case, choose from the cascading menu: • Check Out Exclusive • Check Out Nonexclusive MDM checks out the selected records by creating duplicates of the originals.

Figure 71: Checked Out Records

Note: The figure above shows the checked out records for the user who performs the checkout. Other users see the original records in read-only gray. To check out a new record: 1.

2.

In the Records pane, right-click and choose Check In/Out from the context menu, or choose Records –> Check In/Out from the main menu, and in either case, choose from the cascading menu: • Check Out New Record Exclusive • Check Out New Record Nonexclusive MDM checks out a new record by creating a new record and placing you into the Record Detail tab for editing.

To join the checkout of records checked out by another user: 1. 2.

3.

In the Records pane, select the checked out record(s) you want to join. Right-click on one of the records and choose Check In/Out –> Join Checkout from the context menu, or choose Records –> Check In/Out –> Join Checkout from the main menu. MDM joins the checkout for the selected records by hiding the originals and making the duplicates visible and available for editing. Note: The owner of the checkout must have checked out the records Nonexclusive or granted you permission to join the checkout.

108

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

To unjoin the checkout of records checked out by another user: 1. 2.

3.

In the Records pane, select the checked out record(s) you want to unjoin. Right-click on one of the records and choose Check In/Out –> Unjoin Checkout from the context menu, or choose Records –> Check In/Out –> Unjoin Checkout from the main menu. MDM unjoins the checkout for the selected records by making the protected originals visible again and hiding the duplicates.

To check in records that have been previously checked out: 1. 2.

3.

In the Records pane, select the checked out record(s) you want to check in. Right-click on one of the records and choose Check In/Out –> Check In from the context menu, or choose Records –> Check In/Out –> Check In from the main menu. MDM checks in the checked out records by unprotecting and replacing the originals with the edited duplicates. Note: To check in a record, you must check in the checked out version of the record; you cannot check in the original, which is the version you will see if you are not a member of the checkout. To see the checked out version: either: (1) join the checkout (if you have join permissions); or (2) use the All Versions command.

To roll back the checkout of one or more checked out records: 1. 2.

3.

In the Records pane, select the checked out record(s) you want to roll back. Right-click on one of the records and choose Check In/Out –> Roll Back from the context menu, or choose Records –> Check In/Out –> Roll Back from the main menu. MDM rolls back the checked out records by unprotecting the original records and deleting the edited duplicates.

To modify the join permissions of one or more checked out records: 1. 2.

3. 4. 5.

2009

In the Records pane, select the checked out record(s) whose join permissions you want to modify. Right-click on one of the records and choose Check In/Out –> Modify Join Permissions from the context menu, or choose Records –> Check In/Out –> Modify Join Permissions from the main menu. MDM opens the Modify Join Permissions dialog. Add or remove users and/or roles who have permission to join the checkout by moving them between the Available and Selected lists. Click OK to close the dialog and change the join permissions.

© 2009 SAP AG. All rights reserved.

109

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 72: Maintain Join Permissions

To view both originals and duplicates of all checked out records: •

In the Records pane, right-click and choose Check In/Out –> All Versions from the context menu, or choose Records –> Check In/Out –> All Versions from the main menu. Note: All Versions is a toggle. A check mark next to the All Versions menu item indicates that it is turned on. To turn it off, choose the All Versions command again. All Versions allows you to use the Compare Records command to compare the checked out version of a record with its original. You can also use the Compare with Original command to compare the checked out record with its original directly. All Versions allows you to view the original of records for which you are a member of the checkout and the checked out version of records for which you are not a member of the checkout group.

A Note About CheckOut and Staging Many master data management systems establish an actual staging environment outside the repository for processing raw inbound data before allowing it into the master data store. Such processing includes transforming and restructuring the data, correcting data quality issues, and checking new records against existing records for duplicates. In effect, staging requires a complete data management system outside the master data management system. By contrast, MDM checkouts can be used to create a “virtual” staging environment that addresses these processing challenges within the repository rather than outside of it. Specifically, raw data is imported directly into the repository in a checked-out state, with subsequent processing orchestrated by workflow to perform validation, enrichment, and matching, after which changes may be approved and automatically checked in, or rejected and rolled back.

110

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

The virtual staging approach offered by checkouts is superior to an explicit staging environment outside the repository, protecting approved records from not-yet-validated incoming data and insulating end users from intermediate changes, while simultaneously offering internal users not only all of MDM’s powerful data management features for working on in-process records, but also complete high-performance searchability of those records regardless of their stage in the process.

A Note About CheckOut and Transaction Management Traditional business applications make heavy use of DBMS transaction management – including the COMMIT and ROLLBACK statements – to ensure that a series of changes can be made safely and atomically. While MDM is not a traditional transactional system and does not support transaction management directly, it does support features that allow you to simulate the effect of a transaction. Specifically, the analog to transactions in MDM is a checkout. By performing a checkout at the start of a transaction, changes can be made before committing them together as part of a checkin, or rolling them back atomically, all of which can be orchestrated within a workflow. Using this approach, multiple changes can be made within MDM or safely coordinated with changes outside the repository. Note: Checkouts are not a full implementation of transaction management. For example, not all operations can be rolled back (e.g. deletes), and MDM has no support two-phase commit, which is required for multiple system coordination.

2009

© 2009 SAP AG. All rights reserved.

111

Unit 2: Data Management in SAP NetWeaver MDM

112

© 2009 SAP AG. All rights reserved.

MDM050

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

Exercise 3: Basic Data Maintenance in the Data Manager Exercise Objectives After completing this exercise, you will be able to: • To perform data maintenance using the MDM Data Manager

Business Example Once you have searched for the records you need to maintain, you will need to maintain the records using the Data Manager.

Task 1: Comparing Records. 1.

If you have not already done so, please start the Data Manager, and log on to the MDM050_Exercise_Master repository, using the logon credentials supplied by your instructor.

2.

Search for records where the Manufacturer is Rust-Oleum Corporation. Select the first three records returned (Part Numbers 1020-1G, 1020-55G, and 1020-5G) and perform a record Comparison. From the record Comparison dialog, please answer the following questions.

3.

What colour are the field values for Manufacturer? Why?

4.

What colour are the attribute values for Type? Why?

5.

What colour are the field values for UPC? Why?

6.

Close the record Comparison dialog

Task 2: Maintaining Records 1.

Restore the previously saved local search White with no Image Details from the previous exercise. Make a note of the number of records returned.

2.

Create a new Mask called Group##. Add all of the records returned by the local search to your new Mask.

3.

Clear previous search.

4.

In Record Mode in the Data Manager, search for the record number with Part Number 19##-830 (where ## is the group number assigned to you by your instructor). Continued on next page

2009

© 2009 SAP AG. All rights reserved.

113

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

5.

Duplicate this record.

6.

Change the Part Number to 19##-830X. Save the record.

7.

Select your new record, and CheckOut Exclusive. Maintain some of the currently unmaintained attribute values for your new record. Save the record.

8.

Find the master data of one of your colleagues’ new records – can you see the attribute changes they have made? Why/why not?

9.

Check in your changes. Once your colleague has checked in their changes, look again at their master data record – can you now see the attribute changes?

Task 3: Qualified Lookups 1.

Find your new product with Part Number 19##-830X. Add a new Pricing entry for Walldorf. Use: [Package Quantity] 1 each [List Price] 13.50 [Sales Price] 12.99 [Currencies] EUR

114

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

Solution 3: Basic Data Maintenance in the Data Manager Task 1: Comparing Records. 1.

If you have not already done so, please start the Data Manager, and log on to the MDM050_Exercise_Master repository, using the logon credentials supplied by your instructor.

2.

Search for records where the Manufacturer is Rust-Oleum Corporation. Select the first three records returned (Part Numbers 1020-1G, 1020-55G, and 1020-5G) and perform a record Comparison. From the record Comparison dialog, please answer the following questions.

3.

What colour are the field values for Manufacturer? Why? a)

4.

What colour are the attribute values for Type? Why? a)

5.

Rose, because all values are maintained, but are not identical

What colour are the field values for UPC? Why? a)

6.

Yellow, because all values are identical

Light Blue, because the maintained fields match, but some fields contain.

Close the record Comparison dialog

Task 2: Maintaining Records 1.

Restore the previously saved local search White with no Image Details from the previous exercise. Make a note of the number of records returned. a)

2.

Create a new Mask called Group##. Add all of the records returned by the local search to your new Mask. a)

3.

Use the menu option Search Restore Local Search… White with no Image Details. There should be 16 entries.

Change the current table to Masks. In the Records pane, right click and select Add. In the Record Detail pane, type “Group##” into the Name field. Press Shift + Enter. Change the current table to Products. Select the 16 entries in the Record pane, right click, and select Add to Mask –>Group##.

Clear previous search. Continued on next page

2009

© 2009 SAP AG. All rights reserved.

115

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

4.

In Record Mode in the Data Manager, search for the record number with Part Number 19##-830 (where ## is the group number assigned to you by your instructor).

5.

Duplicate this record. a)

6.

Change the Part Number to 19##-830X. Save the record. a)

7.

Right click on your new record and select Check In/Out –> Check Out Exclusive. Add some values to the Attributes, and use Shift + Enter to save.

Find the master data of one of your colleagues’ new records – can you see the attribute changes they have made? Why/why not? a)

9.

In the Record Detail area, add “X” to the end of the value in the Part Number field. Press Shift + Enter.

Select your new record, and CheckOut Exclusive. Maintain some of the currently unmaintained attribute values for your new record. Save the record. a)

8.

Right click on the record and select Duplicate.

No – changes that are made while the record is checked out are only visible to check out members.

Check in your changes. Once your colleague has checked in their changes, look again at their master data record – can you now see the attribute changes? a)

Yes

Task 3: Qualified Lookups 1.

Find your new product with Part Number 19##-830X. Add a new Pricing entry for Walldorf. Use: [Package Quantity] 1 each [List Price] 13.50 [Sales Price] 12.99

Continued on next page

116

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Basic Data Maintenance in the Data Manager

[Currencies] EUR a)

2009

Select your record in the Record pane, and then in Record Detail pane, find Pricing. It will be located in the right hand column, at the bottom of the list (you will need to scroll down). Double click on Pricing to open the “Select Qualified Lookup Records” dialog. At the bottom of the dialog click on the button Add… On the next dialog, choose Walldorf from the drop down list for Region, and click OK. A new entry for Walldorf will now appear in the list of “Available Lookup Records”. In the upper right hand side of the dialog, select the new Walldorf entry, and click on the button Add. In the Lookup Detail area on the lower half of the screen you can now enter the required pricing data. Click on OK when completed.

© 2009 SAP AG. All rights reserved.

117

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Lesson Summary You should now be able to: • Add, delete, duplicate, check in/out and compare records in record mode. • Use the various techniques for maintaining the record details. • Understand the concept and maintenance of tuples. • Work with Masks.

118

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Taxonomy and Attributes

Lesson: Taxonomy and Attributes Lesson Overview This lesson covers the use of Taxonomies within MDM to classify master data. Also, the use of attributes will be described.

Lesson Objectives After completing this lesson, you will be able to: •

Use Taxonomy mode in the Data Manager to classify master data, and to perform basic Attribute maintenance

Business Example You want to be able to classify the master data in your repository and to employ the use of attributes to further describe certain records in your repository.

Working with Taxonomy Tables Taxonomy mode is used to manage the product classification structure defined by the category records and the associated attributes of a taxonomy table. When you view a taxonomy table in Taxonomy mode, MDM uses a tree to display the category records of the table as a hierarchy of categories and subcategories, and a grid to list the entire pool of attributes that are associated with the taxonomy table. In Taxonomy mode, you can create and manage the category hierarchy, create and manage the pool of attributes, and assign attributes to categories on a category-by-category basis. Taxonomy mode also provides powerful functionality that allows you to flexibly restructure the taxonomy of a fully populated MDM repository so that you can continue to refine your taxonomy even after it contains detailed information on thousands or even millions of objects.

2009

© 2009 SAP AG. All rights reserved.

119

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Taxonomy Mode at a Glance

Figure 73: Taxonomy Mode

Hint: If you want to simply review the taxonomy and wish to avoid any accidental changes, you can put the MDM Data Manager into read-only mode by clicking on the Read-Only toolbar button (shown at left), or by choosing View > Read-Only from the main menu.

Taxonomy Pane The Taxonomy pane (left pane) contains a tree representing the hierarchy of categories and subcategories for the current taxonomy table. Use the tree in the Taxonomy pane to create, manage and edit the taxonomy hierarchy.

Attributes Pane The Attributes pane (top-right pane) contains a list view of attributes in a row/column grid, with a row for each attribute and a column for each of the settings and values that define an attribute. Use the Attributes pane to interactively

120

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Taxonomy and Attributes

browse the pool of attributes associated with the current taxonomy table, link and unlink attributes to and from categories in the taxonomy tree, and select one or more attributes for editing, deletion, or other attribute-specific operations. Note: You can set the Attributes pane to display only those attributes that are linked to the selected branch in the taxonomy tree by choosing Attributes > Linked Attributes Only from the main menu.

Attribute Detail Tab The Attribute Detail tab (tab in bottom-right pane) contains the properties that define the current attribute . Use the Attribute Detail tab to view and edit the attribute definition of the current attribute in the Attributes pane. Note: Only a single attribute corresponding to the current row in the Attributes pane is displayed in the Attribute Detail tab, even if multiple rows are selected

Attribute Language Detail Tab The Attribute Language Detail tab (tab in bottom-right pane; multilingual repository only) contains a multi-column grid with a column of data for each repository language. The first column is the row header and lists the multilingual properties of each attribute; subsequent columns display the values for the corresponding language. Use the Attribute Language Detail tab to view and edit the multilingual data for the selected attribute in the Attributes pane.

Attribute Usage Tab The Usage tab (tab in bottom-right pane) contains a miniature version of the taxonomy tree showing only those categories to which the current attribute is linked. Use the Usage tab to view the categories to which an attribute is linked, and also to quickly jump to and select any of those categories without having to navigate the taxonomy tree directly. Hint: The Usage tab makes it easy to detect errors in your taxonomy, when attributes that should not be linked to a category show up in the hierarchy of category links.

Taxonomy Detail Tab The Taxonomy Detail tab (tab in bottom-right pane) contains a two-column grid. The first column is the row header and lists the fields of the taxonomy table; the second column lists the corresponding field values. Use the Taxonomy Detail tab to view and edit the fields of the node selected in the taxonomy tree.

2009

© 2009 SAP AG. All rights reserved.

121

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Taxonomy Language Detail Tab The Taxonomy Language Detail tab (tab in bottom-right pane; multilingual repository only) contains a multi-column grid with a column of data for each repository language. The first column is the row header and lists the multilingual fields and objects of the taxonomy table; the subsequent columns display the values for the corresponding language. Use this Taxonomy Language Detail tab to view and edit the multilingual data for the node selected in the taxonomy tree.

Attributes Vs. Fields In MDM, an attribute is like a field, but one that applies only to a subset of the records in a table. By contrast, a field is part of every record in a table. If a particular attribute can be applied to every record in a repository, then it should be set up as a field in the main table. For example, every product in a repository probably has an item number; therefore “Item Number” should be defined in the database as a field, and not as an attribute.

The Attributes Grid The Attributes pane contains a grid that includes a column for each of the properties that define an attribute. Columns of the Attribute Grid Column

Description

Linked

Link icon indicates if the attribute is linked to the selected category, or if inherited, how many levels up at which it is linked.

Name

The attribute name.

Type

The attribute type • • •

Text Numeric Coupled Numeric

and whether the attribute is multi-valued Alias

122

The attribute alias.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Taxonomy and Attributes

Priority

If it is linked to the selected category, the attribute priority: • • • • •

Highest High Normal Low Lowest

If Custom Priorities are enabled, the numeric value (from 1–100) in square brackets (e.g. High [23]). Definition*

The long description of the attribute.

Values*

For a text attribute, the set of text values.

Ratings*

For a numeric attribute, the specified ratings: • • • • •

Nominal Minimum Maximum Average Typical

Dimension*

For a numeric attribute, the physical dimension, and if specified, the default unit in square brackets (e.g. Length [inches]).

Decimal*

For a numeric attribute, the number of decimal places to display, and whether to display fractions.

* Hidden by default; unhide to display.

Attribute Types An MDM attribute can be a text attribute, a numeric attribute, or a coupled numeric attribute: Text attributes are those whose possible values are easily expressed as a list of predefined (usually text-valued) choices. “Colour” is an example of a text attribute, as is “Head Type” for screws. The list of text values defined for a text attribute constitutes the set of allowed values for that attribute. Note: A text attribute is like a “mini” lookup table with the set of valid choices defined by the list of attribute text values rather than the records of a lookup table. Hint: The set of allowed values associated with text attributes enforces data integrity and also makes the MDM repository much more searchable, since a consistent set of values is used across the entire MDM repository.

2009

© 2009 SAP AG. All rights reserved.

123

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Numeric attributes are those whose values come from a potentially continuous range of numeric values (with or without an associated physical dimension and unit of measure). “Socket Size” is an example of an attribute that typically should be treated as numeric. Note: In theory you could make a list of all possible values for socket size across the entire set of products and make “Socket Size” a text attribute. However, you gain certain advantages by treating it as a numeric attribute, including proper numeric sorting and the ability to convert between units (such as between inches and millimetres). Also, numeric attributes allow you to associate a physical dimension with the attribute, and then to assign to every numeric value a unit of measure chosen from the list of units applicable to that dimension. Note: To allow you to organize related numeric information within a single named attribute, a numeric attribute can have up to five ratings: Nominal, Minimum, Maximum, Average, and Typical. Coupled numeric attributes are numeric attributes where two numeric values are required to describe the attribute, such as “horsepower @ rpm.” Note: A coupled numeric attribute appears as “name delimiter coupledname” (where “delimiter” is the user-defined, attribute-specific delimiter string for the attribute). Coupled attributes are always multi-valued. As an example, two-ended wrenches might require two numeric values for the “Size” attribute (a measurement for each end) to precisely describe the product and differentiate it from others. Having a single attribute makes it easier to search for the item. Hint: Multi-valued attributes make the structure of an MDM repository dramatically simpler, more compact, and more searchable, by allowing you to store all the values corresponding to a particular data element in the same place. The alternative is having to create multiple attributes, in some cases up to a maximum of one attribute for each possible value.

Attribute Priorities MDM allows you to assign priorities to attributes, to define the order in which they should appear in lists, and even whether or not they should be displayed at all. This is an important feature that allows you to override the default alphabetical listing and put the attributes of most interest at the top of a list. For example,

124

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Taxonomy and Attributes

when you select a particular category in Record mode, the attributes for the category show up in priority order (attributes with the same priority level are listed alphabetically), and those that are below the threshold priority do not appear at all. Hint: When you publish an MDM repository to the Web using the MDM APIs, the attribute priority is used to determine the order in which attributes should appear in lists, or if they should even be displayed at all. Attribute priorities are thus not only for the convenience of MDM Data Manager users, but also critically important for a well-structured and usable Web catalog. Note: Unlike the other properties of an attribute, which apply across all the categories to which the attribute is linked, priority can be set on a category-by-category (link-by-link) basis. In other words, the same attribute may have different priorities for different categories, to reflect the different importance it might have for each category.

Linked and Inherited Attributes When you view a taxonomy table in Taxonomy mode, MDM displays the category hierarchy as a tree in the Taxonomy pane, and the pool of attributes associated with the taxonomy table in the Attributes pane. In MDM, attributes are associated with – linked to – categories. Categories in the tree that have attributes directly linked to them are highlighted in bold. Similarly, attributes that are linked to the selected category in the tree are displayed in the Attributes pane with a “linked” icon in the Linked column of the grid.

Figure 74: Linked Attributes

Attributes can also be inherited. If the linked icon is gray and has a superscript number next to it, this indicates that the attribute is not linked directly to the selected category but rather to one of its ancestors in the tree; the number indicates

2009

© 2009 SAP AG. All rights reserved.

125

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

the level of inheritance. For example, “1” means that the attribute is inherited from one level up; that is, it is linked to the parent of the selected category. A “2” superscript means that the attribute is inherited from two levels up, and so on. Hint: If you sort the Attributes pane by the Linked column, the attributes will always be listed with the linked and inherited attributes at the top of the list; in effect, they will always float to the top as you move from category to category in the taxonomy tree. Hint: To set the Attributes pane to display only those attributes that are linked to or inherited by the selected node in the taxonomy tree, choose Attributes –> Linked Attributes Only from the main menu. This command is a toggle; to restore the display of all attributes to the grid, choose the Linked Attributes Only command again. Note: You can only set the priority of an attribute at the level to which it is linked. If an attribute is inherited, you must adjust the priority at the higher level to which it is linked directly.

Structuring the Taxonomy Repositories often start with legacy data that must be imported from multiple external sources. This data usually includes a variety of distinct formats and schemas, incompatible categorizations, and structural deficiencies that reflect shortcomings of the source application. For optimal use within the MDM system, the raw data is normalized, cleansed, and restructured within MDM itself after the initial import. This is done using a collection of features in Taxonomy mode that simplify an otherwise complex process by breaking it down into a sequence of simple, discrete steps. They not only permit but actually encourage unlimited editing and restructuring of the initial category hierarchy, as well as other schema and data manipulation, on a fully populated MDM repository. These same functions may also be used for updating and maintaining the repository as new product categories come and go, or as their associated attributes need to be fine-tuned. The MDM system excels at making these critical and usually complex tasks easy to accomplish.

Printing the Taxonomy Taxonomy mode allows you to create a complex taxonomy that contains a substantial amount of data and metadata about the structure of your repository, including the taxonomy tree itself, linked attributes, matching sets, and other

126

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Taxonomy and Attributes

detailed information. You can use MDM to print this information in a graphical format for distribution to and review by product experts and suppliers of content, or simply for documenting the taxonomy. Note: MDM places a copyright notice that you specify in the footer of each page of printed output. When you use the File –> Print –> Tree command to print the taxonomy, MDM opens the Print Tree dialog, and then prints the taxonomy tree and other taxonomy information based on the option settings you specify. Note: You must be in Taxonomy mode to use the File –> Print –> Tree command

Taxonomy Tree Operations Virtually all of the operations that you can perform on a standard hierarchy tree can be applied to a taxonomy tree. The following sections describe how to modify the taxonomy tree using the MDM tree operations. For each operation, you will also find a list of constraints describing the conditions necessary for completing the operation. Hint: The MDM Data Manager prevents you from performing taxonomy tree operations that would result in a loss of data integrity. Taxonomy Tree Operations Operation

Description

Add Sibling

Category Adds a new category to the tree as a sibling after the selected category.

Add Child

Category Adds a new category to the tree as the last child of the selected category.

Rename Category

Renames the selected category.

Delete Category

Removes the selected category from the tree.

Change Case Changes the name of the selected nodes to the selected case (upper, lower, sentence, title, toggle).

2009

Sort Children

Sorts the children of the selected node in ascending or descending order.

Sort Entire Branch

Sorts all of the descendants of the selected node in ascending or descending order.

© 2009 SAP AG. All rights reserved.

127

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Move Category

Moves a category between locations in the tree.

Merge Categories

Merges one category into another.

Hide Children

Hides the display of hierarchical detail of the taxonomy tree.

Create Alias

Creates a duplicate category node so that a category can exist in multiple locations in the taxonomy.

Partition Category

Splits a category into children based on the values of an attribute, creating a child category for each value of the attribute.

Consolidate Children

Combines all of the children of a single parent category, creating a new attribute containing the values of the old children.

Adding a Category To add a new sibling or child category to the taxonomy tree: 1.

2.

3. 4. 5.

In the taxonomy tree, select the node either: (1) after which you want the new node to appear as a sibling; or (2) under which you want the new node to appear as a child. Right-click on the node and choose from the context menu, or choose Tree from the main menu and choose from the main menu, as follows: • Add Sibling • Add Child In the Record Detail pane, enter information for the new node. Press Shift+Enter or right-click and choose Save Record to save the details of the new node. MDM adds the new node either: (1) as a sibling of and just after the selected node in the taxonomy tree; or (2) as the last child of the selected node in the taxonomy tree. Note: MDM does not add the new node to the tree until you have saved its details in the Record Detail pane. Hint: Sibling nodes in a tree cannot have the same name. If a category named “New Item” already exists, MDM automatically names the new category “New Item (n)” (where ‘n’ is the first available numeric value that will avoid a conflict).

128

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Taxonomy and Attributes

Renaming a Category To rename a category in the taxonomy tree: 1. 2. 3. 4.

In the taxonomy tree, select the category you want to rename. Right-click on the category and choose Rename from the context menu, or press F2, or choose Tree –> Rename from the main menu. MDM highlights the name of the category for editing. Type the new name you want for the category and press Enter.

Figure 75: Renaming a Category

Note: If the taxonomy table has multiple display fields, you must be in Hierarchy mode rather than Taxonomy mode to edit or rename a category. Constraints: • • • • • •

Must be in Hierarchy or Taxonomy mode Must be in Hierarchy mode if the table has multiple display fields Tree must have focus Exactly one node must be selected Root node cannot be renamed Sibling nodes cannot have the same name

Deleting a Category To permanently delete one category from the taxonomy tree: 1. 2. 3.

In the taxonomy tree, select the leaf node you want to delete. Right-click on the category and choose Delete from the context menu, or press Del, or choose Tree –> Delete from the main menu. MDM prompts you to confirm that you really want to delete the category. Click OK to remove the category from the taxonomy tree. Hint: To bypass the delete confirmation dialog, press Shift when you perform the Delete command.

2009

© 2009 SAP AG. All rights reserved.

129

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Constraints: • • • • • •

Must be in Hierarchy or Taxonomy mode Tree must have focus Exactly one node must be selected Root node cannot be deleted Node cannot have children Node value cannot currently be assigned to a lookup field Note: To prevent data loss, MDM will not allow you to delete a category if one or more records have a lookup field assigned to its value. However, MDM does not detect this condition until after you attempt to perform the operation. As a result, the Delete menu item is available even if the selected category is in use. If you choose Delete in this situation, MDM does not permit the delete and instead displays an error dialog.

Figure 76: Data Integrity and Category Deletion

Changing the Case of Category Names To automatically change the case of one or more categories in the tree: 1. 2. 3.

In the taxonomy tree, select the categories whose case you want to change. Right-click on one of the categories and choose Change Case from the context menu, or choose Tree –> Change Case from the main menu. Choose the new case from the cascading menu:

4.

• UPPER CASE • lower case • Sentence case • Title Case • tOGGLE cASE MDM changes the case of the selected categories

Constraints: • • • •

130

Must be in Hierarchy or Taxonomy mode Tree must have focus At least one node must be selected Root node cannot be renamed

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Taxonomy and Attributes

Sorting Categories To sort the children of a category in the tree (one level): 1. 2. 3.

In the taxonomy tree, select the category whose children you want to sort. Right-click on the category and choose Sort Children from the context menu, or choose Tree –> Sort Children from the main menu. Choose the sort order from the cascading menu:

4.

• Ascending • Descending MDM sorts the children of the selected category in the order you specify.

To sort all of the descendants of a node in the tree (all levels): 1. 2. 3.

4.

In the taxonomy tree, select the category whose children you want to sort. Right-click on the node and choose Sort from the context menu, or choose Tree –> Sort Children from the main menu. Choose the sort order from the cascading menu: • Ascending • Descending MDM sorts all of the descendants of the selected category in the order you specify.

Constraints: • • • •

2009

Must be in Hierarchy or Taxonomy mode Tree must have focus Exactly one node must be selected Node to be sorted must have children

© 2009 SAP AG. All rights reserved.

131

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Attribute Properties Every attribute has a fixed set of properties that define it. These properties include: •





Common. Common properties apply to all attribute types, and include Name, Alias, Definition, Attribute Image, and the setting of the Multi-Valued option. Type-specific. Type-specific properties apply only to particular attribute types. For text attributes, they include the text values, text value images, and text value texts. For numeric attributes, they include the ratings, the Dimension and Default Unit, and the settings for the number of Decimal Places and Show Fractions option. And for coupled attributes, they include the Dimension and Default Unit and the settings for the number of Decimal Places and Show Fractions option for both the primary dimension and the coupled dimension. Link-specific. Link-specific properties are defined for each particular category/attribute link rather than for the attribute across all links, and currently include the setting of the Attribute Priority. Some of them are only defined for the link, and some of them actually override the same property that was defined for the attribute itself.

Common Properties

Figure 77: Common Properties of Attributes

Attribute Name Every attribute must have a unique name. The Name property of the Attribute Detail tab is a standard Windows edit control for data entry. Attribute Alias Use the Alias property to assign alternate names to the attribute, which can be found using the Find command or using keyword search on the Web. The Alias property of the Attribute Detail tab is a standard Windows edit control for data entry.

132

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Taxonomy and Attributes

Attribute Definition Use the Definition property to provide a detailed description of the attribute, which is available when you publish the repository to paper or to the Web, and can also be useful for searching with the Find command. The Definition property of the Attribute Detail tab is a standard multi-line Windows edit control for data entry. Attribute Image Use the Attribute Image property to associate an illustrative image with the attribute, which is available when you publish the repository to paper or the Web. The Attribute Image property is an MDM image lookup field; double-click on it to open the Select Single Image dialog and assign an image. Note: The steps for adding and removing an Attribute Image are essentially identical to those for product images except that you can only select a single image. Multi-Valued Option Any MDM attribute can be defined as being multi-valued, so that it can be used to store multiple values. The Multi-Valued option is a standard Windows checkbox; click on it to toggle the setting on and off. Note: Multi-valued attributes make the structure of an MDM repository dramatically simpler, more compact, and more searchable, by allowing you to store all the values corresponding to a particular data element in the same place. The alternative is having to create multiple attributes, in some cases up to a maximum of one attribute for each possible value.

Text Attribute Properties

Figure 78: Text Attribute Properties

2009

© 2009 SAP AG. All rights reserved.

133

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Attribute Text Values The definition of a text attribute includes a list of text values. This list constitutes the set of allowed values for that attribute; these are the only values from which you can choose and which you can assign to the attribute during data entry. Note: A text attribute is like a “mini” lookup table with the set of valid choices defined by the list of attribute text values rather than the records of a lookup table. The maximum length of a text value is 128 characters. Hint: The set of allowed values associated with text attributes enforces data integrity and also makes the MDM repository much more searchable, since a consistent set of values is used across the entire MDM repository. Note: In addition to the Attribute Image property, the Text Value Image property allows you to associate an illustrative image with each text value. Select a text value and double-click on the Text Value Image property to open the Select Single Image dialog and assign an image. Note: To complement the Text Value Image property, the Text Value Text property allows you to associate a descriptive text string with each text value. Right-click on a text value and choose View/Edit Text from the context menu to open the Edit Text Value Text dialog. To add a new text value for a text attribute: 1. 2. 3.

134

Right-click in the text value list and choose Add from the context menu, or press Ins. MDM adds a new text value named “New Value” and highlights it for editing. Type the text value, and press Enter.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Taxonomy and Attributes

Figure 79: Adding a New Text Attribute Value

Hint: Two text values cannot have the same name. If a text value named “New Value” already exists, MDM automatically names the new text value “New Value (n)” (where ‘n’ is the first available numeric value that will avoid a conflict). To modify an existing text value for a text attribute: 1. 2. 3. 4.

In the text value list, select the text value you want to modify. Right-click on the selected text value and choose Rename from the context menu, or click the Modify button, or press F2. MDM highlights the text value for editing. Type the text value and press Enter.

To permanently delete one or more text values for a text attribute: 1. 2. 3.

In the text value list, select the text value(s) you want to delete. Right-click on one of the text values and choose Delete from the context menu, or click on the Delete button, or press Del. MDM deletes the value(s) without confirmation.

To sort the list of text values for a text attribute: 1. 2.

Right-click in the text value list and choose Sort from the context menu, or choose Attributes –> Sort Text Values from the main menu. Choose the sort order from the cascading menu:

3.

• Ascending • Descending MDM sorts the text values in the order you specify.

Hint: Instead of sorting in ascending or descending order, you can also manually order the text values for an attribute using drag-and-drop, just as you can manually order the siblings in a hierarchy. This allows you to precisely control the order in which they appear in dropdown lists in the MDM client and when you publish the repository to paper or to the Web. Hint: The MDM Data Manager brings up a confirmation dialog before actually performing the sort, to make sure you don’t inadvertently override the manual sort order of the text values.

2009

© 2009 SAP AG. All rights reserved.

135

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Text Value Image Each text value of a text attribute can have its own image assigned to it. Use the Text Value Image property to associate an illustrative image with the attribute text value, which is available when you publish the repository to paper or the Web. The Text Value Image property is an MDM image lookup field; double-click on it to open the Select Single Image dialog and assign an image. Text Value Text In addition to the Text Value Image, each text value of a text attribute can also have its own text string assigned to it. Use the Text Value Text property to associate a descriptive text string with the attribute text value. The Text Value Text property is an MDM large text field. Hint: To add or edit the Text Value Text for a text value, right-click on the text value and choose View/Edit Text from the context menu to open the Edit Text Value Text dialog. To delete the Text Value Text for one or more text values, select the text values, right-click on one of them, and choose Delete Text from the context menu. Note: MDM indicates that a Text Value Text text string has been linked to a text value by highlighting the text value in bold. When you hold the mouse over the text value, MDM displays a tooltip that contains the Text Value Text.

Numeric Attribute Properties

Figure 80: Numeric Attribute Properties

136

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Taxonomy and Attributes

Attribute Ratings To allow you to organize related numeric values within a single named attribute, a numeric attribute can be defined as having up to five ratings, each of which shares the single, common attribute definition. Each rating is a standard Windows checkbox; click on it to toggle each rating on and off. Note: You must specify at least one rating for a numeric attribute. Note: To distinguish the different ratings for a numeric attribute in attribute lists, MDM appends to the attribute name the rating abbreviation in square brackets (e.g. Width [Max]). However, MDM does not append the [Nom] suffix when Nominal is the only rating specified for the attribute.

2009

© 2009 SAP AG. All rights reserved.

137

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Dimension and Default Unit A numeric attribute can be defined as having an associated physical dimension, so that each numeric value you enter also includes a unit of measure chosen from the list of units applicable to that dimension. Note: MDM currently has built-in support for over 70 different physical dimensions and over 750 different units of measure. In addition, MDM is able to convert between different units, for proper sorting of numeric values with different units within a list. The Dimension and Default Unit properties are drop-down lists. To specify the Dimension for a numeric attribute, select from the drop-down list of physical dimensions. To specify the Default Unit, if any, to be used by MDM for new data values, select from the drop-down list of units of measure corresponding to the selected dimension. The default value for both Dimension and Default Unit is None. Hint: Physical dimensions and units of measure make it easy to enforce data integrity, since units of measure must be selected from a predefined list of units rather than typed in by the user as a text string. Note: You must specify a unit of measure for each numeric value if a physical dimension is defined for the attribute. Just as with a numeric attribute, the physical dimension is optional for either or both coupled dimensions of a coupled numeric attribute. Note: When you change the physical dimension for a numeric attribute that already has data values assigned to it from None or from another dimension, MDM does not allow you to select None as the Default Unit and makes special use of the unit you specify to automatically repopulate the unit part of each existing attribute value. To set the Default Unit to None, first save the attribute with a Default Unit, then change the Default Unit to None and save it again.

138

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Taxonomy and Attributes

Decimal Places and Show Fractions You can specify two display options for a numeric (or coupled numeric) attribute: the number of decimal places to use to display numeric values, and whether or not to display the first seven fractional powers of two (i.e. 1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/128) as fractions. The Decimal Places property is a drop-down list. To specify the Decimal Places for a numeric attribute, select from the drop-down list of values between 0 and 6. The Show Fractions option is a standard Windows checkbox; click on it to toggle the setting on and off. Hint: You can also use the menu commands as an alternative the Attribute Detail tab to specify these display options. Note: The Show Fractions option only applies to units of measure that are traditionally displayed with fractional values (e.g. inches) and is ignored for units that are not typically displayed with fractional values (e.g. millimeters). Note: The Show Fractions option displays as fractions the fractional powers of two from 1/2 to 1/128 for absolute values between 0 and 100 (including all numerator values, such as 3/4, 5/16, and 27/64). The exceptions are for the units: (1) Horsepower in the dimension Power (Apparent) and (2) Cups, Pints, and Quarts in the dimension Volume, which for absolute values between 0 and 100 also display the “odd” fractions 1/3, 2/3, 1/5, 3/5, 4/5, 1/6, and 5/6, and approximately 130 fractions of the form “1/x” where ‘x’ ranges from 7 to 100 in increments of 1 (e.g. 1/7, 1/15, and 1/78); from 100 to 1000 in increments of 50 (e.g. 1/150, 1/250, and 1/500); and from 1000 to 2000 in increments of 100 (e.g. 1/1100, 1/1200, and 1/1300). Note: A coupled numeric attribute allows you to specify settings for the number of Decimal Places and the Show Fractions option independently for each of the coupled dimensions.

2009

© 2009 SAP AG. All rights reserved.

139

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Coupled Numeric Attribute Properties

Figure 81: Coupled Numeric Attribute Properties

Coupled Name and Delimiter Unlike text and numeric attributes, a coupled numeric attribute has not just one but two names: the standard attribute name that is the name for the first primary dimension, and the coupled name that is the name for the second coupled dimension. In addition, you can specify a custom delimiter string (such as “ @ “) that is used to separate the two names of the coupled attribute and also to separate each pair of numeric values. The Coupled Name and Delim properties of the Attribute Detail tab are standard Windows edit controls for data entry. Note: MDM displays the two names for a coupled attribute as “name delimiter coupledname” (where “delimiter” is the delimiter string for the attribute). The delimiter string can be different for each coupled numeric attribute. Primary and Coupled Dimension Options Just like a numeric attribute, a coupled numeric attribute has options for Dimension, Default Unit, Decimal Places, and Show Fractions. However, since a coupled attribute has two dimensions, it has two sets of settings for each of these options.

Link Specific Properties The link-specific property that applies to each category/attribute link is described in the next section. Attribute Priority An attribute’s priority affects where it is displayed in a list of attributes that are linked to a given category. The higher the priority, the higher in the list the attribute appears. Priority values can be selected from the predefined list shown below, or by specifying any number from 1 (the highest priority) to 100 (the lowest priority).

140

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Taxonomy and Attributes

Priority Name

Numeric Equivalent

Numeric Range

Highest

10

1 — 20

High

30

21 — 40

Normal

50

41 — 60

Low

70

61 — 80

Lowest

90

81 — 100

Note: Unlike the other properties of an attribute, which apply across all the categories to which the attribute is linked, priority can be set on a category-by-category (link-by-link) basis. In other words, the same attribute may have different priorities for different categories, to reflect the different importance it might have for each category. Hint: You cannot set attribute priority in the Attribute Detail tab. To set the priority of one or more attributes, select the attribute(s) in the Attributes pane, right-click on one of them, and choose Priority from the context menu, or choose Attributes > Priority from the main menu, and then in either case, choose from the cascading menu of priorities. Note: MDM automatically assigns a priority of Normal [50] when you first link the attribute. You cannot set the priority of an attribute if the current category is an alias, or if the attribute is inherited rather than linked directly to the current category. You cannot specify numeric priorities (nor are they displayed in the Attributes pane) unless Allow Custom Priorities has been enabled.

Attribute Operations Selecting an attribute in the Attributes pane displays the attribute’s definition in the Attribute Detail tab, so that you can edit its properties. Similarly, selecting a category in the taxonomy tree displays the corresponding linked attributes in the Attributes pane so that you can link and unlink attributes.

2009

Operation

Description

Add Attribute

Adds an attribute to the pool of attributes.

Delete Attribute

Removes an attribute from the pool of attributes.

Link Attribute

Adds an attribute link to an existing category.

© 2009 SAP AG. All rights reserved.

141

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Unlink Attribute

Removes an attribute link from an existing category.

Promote Attribute

Relinks an attribute to the parent category for inheritance by the children.

Demote Attribute

Relinks an attribute from the parent category to each of the children.

Merge Attributes

Combines two attributes into one, including all references.

Split Attribute

Splits a single attribute into many, including all references,

Reassign Ratings

Reassigns the underlying numeric data values to different ratings (Nominal, Minimum, Maximum, Average, Typical).

Convert Attribute

Changes an attribute between types, automatically converting all of the underlying text or numeric data values.

Adding and Modifying Attributes You can add attributes to the pool of attributes and modify the properties of a single existing attribute at a time as described in this section. Since the different attribute types have different properties that define them, the steps for adding and modifying an attribute differ slightly depending on the type. Note: When you create a new attribute, you only define the type of information you intend you store in it, but you do not actually create the “bucket” in which to store the information until you link it to one or more categories. By contrast, when you create a new field, you define the type of information you intend to store in it and create the bucket at the same time To add a new attribute to the pool of available attributes: 1.

2.

3. 4. 5. 6.

Right-click in the Attributes pane and choose Add from the context menu, or click the Add Attribute toolbar button (shown at left), or press Ins, or choose Attributes –> Add Attribute from the main menu. MDM adds an attribute named “New Attribute” as the last attribute in the grid, and places you into the Attribute Detail tab to specify the properties of the new attribute. In the Name edit control, type the name you want for the new attribute. In the Alias edit control, type one or more aliases for the attribute (used by the Find command). In the Description edit control, type a long description for the attribute. Select the applicable radio button to specify the attribute type: •

142

Text

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Taxonomy and Attributes

7. 8. 9.

• Numeric • Coupled Numeric Specify the additional properties for the particular attribute type. Click the Multi-valued checkbox to define the attribute as multi-valued, if applicable. To save the attribute, right-click on the Attribute Detail tab and choose Save Attribute from the context menu, or choose Attributes –> Save Attribute from the main menu, or press Shift+Enter. Hint: There is no explicit command to modify an attribute. To modify an attribute, select it in the Attributes pane, move the focus into the Attribute Detail tab, and edit it directly. To copy one or more attributes (but not their links), select them in the Attributes pane, right-click on one of them, choose Copy from the context menu, then right-click again and choose Paste. You can press F5 to refresh the Attributes grid and move the new, modified, or copied attribute into its proper sort order. To change the type of an attribute that already has data values assigned to it, use one of the Convert Type commands. Hint: Two attributes cannot have the same name. If an attribute named “New Attribute” already exists, MDM automatically names the new attribute “New Attribute (n)” (where ‘n’ is the first available numeric value that will avoid a conflict). Note: To prevent data loss, MDM will not allow you to change the properties of an existing attribute if such a change would result in lost data. For example: (1) you cannot delete a text value for a text attribute if it is assigned to the attribute in one or more records; (2) you cannot uncheck one of the ratings for a numeric attribute if that rating has values assigned to it in one or more records; and (3) you cannot uncheck the multi-valued checkbox if the attribute has multiple values assigned to it in one or more records. If you attempt to make any such change that would result in lost data, MDM displays an error dialog when you attempt to save the attribute. Note: When you change the physical dimension for a numeric attribute that already has data values assigned to it, MDM either: (1) eliminates the unit of measure from existing values if you are changing the dimension to None; or (2) uses the Default Unit to automatically repopulate the unit part of each existing value if you are changing the dimension from None or from another dimension. (This is a special use of the Default Unit, which normally applies only to new data values, and is why you must specify a Default Unit when you change the dimension in this case).

2009

© 2009 SAP AG. All rights reserved.

143

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Deleting Attributes If you no longer expect to use an attribute to store information for any category, you can delete it from the pool of attributes. To permanently delete one or more attributes from the pool of available attributes: 1. 2.

3.

In the Attributes pane, select the attribute(s) you want to delete. Right-click on one of the attributes and choose Delete from the context menu, or click the Delete Attribute toolbar button (shown at left), or press Del, or choose Attributes –> Delete Attribute from the main menu. MDM prompts you to confirm that you really want to delete the attributes, and inform you if any of the attributes you intend to delete have links. Click OK to remove the attributes from the pool of attributes. Hint: To bypass the delete confirmation dialog: (1) if none of the attributes you want to delete has links, hold Shift while you perform the Delete command; or (2) if one or more of the attributes you want to delete have links, hold Shift+Ctrl+Alt while you perform the Delete command.

Constraints: • • • •

Must be in Taxonomy mode Attributes pane must have focus At least one attribute must be selected No selected attributes can have data assigned to them Hint: To prevent data loss, MDM will not allow you to delete a linked attribute if values are assigned to it in one or more records. However, MDM does not detect this condition until after you attempt to perform the operation. As a result, the Delete menu item is available even if the selected attribute has data assigned to it. If you choose Delete in this situation, MDM does not permit the delete and instead displays an error dialog.

Linking and Unlinking Attributes Recall that when you create an attribute, you only define the type of information you intend you store in it, but you do not actually create the “bucket” in which to store the information until you link it to one or more categories.

144

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Taxonomy and Attributes

You can link multiple attributes to a single category, and you can link each attribute to multiple categories. You can also link an attribute to the parent of a category, if you want all of the children of that category to inherit the attribute. Note: An attribute is not associated with any records of the main table until you: (1) link it to a category; and (2) assign that category to a main table record. To link one or more attributes to a category: 1. 2. 3.

4.

In the taxonomy tree, select the category to which you want to link the attributes. In the Attributes pane, select the attribute(s) you want to link to the selected category. Right-click on one of the attributes and choose Link from the context menu, or click the Link Attribute toolbar button (shown at left), or press Ctrl+L, or choose Attributes –> Link from the main menu. MDM links the selected attributes to the selected category, and displays the linked icon in the Linked column of the Attributes pane. Hint: You can also drag-and-drop one or more attributes from the Attributes pane onto any category in the taxonomy tree to link it directly to that category.

To unlink one or more attributes from a category: 1. 2. 3.

4.

In the Taxonomy tree, select the category from which you want to unlink the attributes. 2. In the Attributes pane, select the attribute(s) you want to unlink from the selected category. 3. Right-click on one of the attributes and choose Unlink from the context menu, or click the Unlink Attribute toolbar button (shown at left), or press Ctrl+U, or choose Attributes –> Unlink from the main menu. 4. MDM unlinks the selected attributes from the selected category.

Constraints: Link Attribute Must be in Taxonomy mode Attributes pane must have focus At least one attribute must be selected Root node cannot have linked attributes Node cannot be an alias One or more of the selected attributes are already linked to or inherited by the selected node

2009

© 2009 SAP AG. All rights reserved.

145

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Unlink Attribute Must be in Taxonomy mode Attributes pane must have focus At least one attribute must be selected Root node cannot have attributes to unlink Node cannot be an alias All of the selected attributes must be linked to the selected node No selected attributes can have data assigned to them Note: To prevent data loss, MDM will not allow you to unlink a linked attribute if values are assigned to it in one or more records. However, MDM does not detect this condition until after you attempt to perform the operation. As a result, the Unlink menu item is available even if the selected attribute has data assigned to it. If you choose Unlink in this situation, MDM does not permit the unlink and instead displays an error dialog.

Figure 82: Unlinking Attributes

Viewing Attribute Usage To see which categories have a particular attribute linked to them (“attribute usage”): 1. 2. 3.

146

In the Attributes pane, select the attribute whose usage you want to see. Click on the Usage tab (to the right of the Attribute Detail tab). The Usage tab contains a partial version of the category tree that includes: (1) all of its nodes expanded; (2) just enough tree structure to display those nodes to which the attribute is linked in black; (3) all other nodes highlighted in gray

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Taxonomy and Attributes

Figure 83: Attribute Usage

Hint: ►► When you move the mouse pointer over a node to which the attribute is linked, MDM highlights the name of the node in bold. If you click on a bold node name, MDM will immediately change the selected category to that node in the taxonomy tree. The Usage tab makes it easy to detect errors in your taxonomy, when attributes that should not be linked to a category show up in the hierarchy of category links.

2009

© 2009 SAP AG. All rights reserved.

147

Unit 2: Data Management in SAP NetWeaver MDM

148

© 2009 SAP AG. All rights reserved.

MDM050

2009

MDM050

Lesson: Taxonomy and Attributes

Exercise 4: Taxonomy and Attributes Exercise Objectives After completing this exercise, you will be able to: • At the end of this exercise you will be able to perform basic taxonomy and attribute maintenance tasks.

Business Example In order to classify master data, SAP NetWeaver MDM uses the concept of taxonomy and attributes.

Task: If you are not still connected from your previous exercises, please open the MDM Data Manager, and log on to the repository MDM050_Exercise_Master, using the user specified by your instructor.

2009

1.

In the Data Manager, switch to Taxonomy mode.

2.

Create a new text attribute called Colour##, where ## is your group number. Use the values “White”, “Red”, “Blue”, “Green” and “Black”.

3.

Create a new numeric attribute called Quantity##, where ## is your group number. Enter “Quantity per package” in the Definition field. Select only the Nominal dimension, and the Default Unit “each”.

4.

Create a new coupled numeric attribute called Length x Width##, where ## is your group number. The delimiter should be set to “x”. Use the dimension “Length” for both numerics, with the default unit “centimeters”.

5.

Link the category “Paint Compounds” to your new attribute “Colour##”.

6.

Switch to record mode, and the main table. Using the search pane for Category, select the Paint Compounds. Find your new attribute, and check the dropdown list for the possible values.

© 2009 SAP AG. All rights reserved.

149

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Solution 4: Taxonomy and Attributes Task: If you are not still connected from your previous exercises, please open the MDM Data Manager, and log on to the repository MDM050_Exercise_Master, using the user specified by your instructor. 1.

In the Data Manager, switch to Taxonomy mode.

2.

Create a new text attribute called Colour##, where ## is your group number. Use the values “White”, “Red”, “Blue”, “Green” and “Black”. a)

3.

Create a new numeric attribute called Quantity##, where ## is your group number. Enter “Quantity per package” in the Definition field. Select only the Nominal dimension, and the Default Unit “each”. a)

4.

150

In the Attributes pane, right-click and select Add. Enter the Name Length and choose the Type “Coupled”. The Coupled Name should be set to “Width##”, and the delimiter “x”. Enter the appropriate settings for dimensions. Press Shift + Enter.

Link the category “Paint Compounds” to your new attribute “Colour##”. a)

6.

In the Attributes pane, right-click and select Add. Enter the Name Quantity##, and choose the Type “Numeric”. Enter the appropriate settings. Press Shift + Enter.

Create a new coupled numeric attribute called Length x Width##, where ## is your group number. The delimiter should be set to “x”. Use the dimension “Length” for both numerics, with the default unit “centimeters”. a)

5.

In the Attributes pane, right-click and select Add. Enter the Name Colour##, and choose the Type “Text”. Enter the appropriate text values. Press Shift + Enter.

Check that you have selected the Categories taxonomy in the table selection drop-down list. Right-click on Categories and select Expand Entire Branch or double-click on the root node “categories” to open the tree. Select “Paint Compounds” node and Link your new text attribute “Colour##”.

Switch to record mode, and the main table. Using the search pane for Category, select the Paint Compounds. Find your new attribute, and check the dropdown list for the possible values.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Taxonomy and Attributes

Lesson Summary You should now be able to: • Use Taxonomy mode in the Data Manager to classify master data, and to perform basic Attribute maintenance

2009

© 2009 SAP AG. All rights reserved.

151

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Lesson: Matching Mode Lesson Overview In this lesson the concept of matching in MDM is discussed, including transformations, rules and strategies.

Lesson Objectives After completing this lesson, you will be able to: •

Use Matching Mode to create new rules etc., and execute a matching strategy to merge duplicate data in the repository

Business Example Now that you have your MDM repository running, and data has been loaded, it may be necessary to perform cleansing and deduplication of the master data. Rules and strategies for identifying potential duplicates can be defined and executed in Matching Mode.

Matching Overview MDM matching functionality addresses the consolidation of records within an MDM repository. The purpose of matching is to locate identicals (the same object in different systems) and duplicates (the same object in the same system). Note: MDM matching functionality currently locates duplicates within the system but not identicals outside the system; it couples with MDM merging functionality to comprise the matching and merging support for deduplication of records within an MDM repository. Historically, matching was viewed as part of the deduplication scenario, itself part of the inbound cleansing process. By contrast, the current MDM implementation has matching follow the inbound cleansing process. In other words, matching (record-level operation) within the MDM Data Manager occurs subsequent to normalization (data-value-level operation) within the MDM Import Manager, leveraging the MDM paradigm of layering higher-level scenarios upon core, component functions rather than building them monolithically from scratch. A point of contrast: record matching within the MDM Import Manager, while similar, has matching capabilities based on exact field matches, which serves several purposes: (1) determining whether a record is a Create or an Update; and (2) preventing duplicates from getting into the repository in the first place. By contrast, the MDM Data Manager matching functionality supports interactive and automated strategy-based matching that allow identification of duplicates already in the repository.

152

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Matching Mode

Working in Matching Mode Matching mode supports deduplication, and is used to identify and eliminate duplicate records within an MDM repository. When you view the main table in Matching mode, MDM allows you to perform “matching-and-merging” on and against any or all of its records, using various user-defined criteria to decide whether or not records are potential duplicates. Matching mode looks a lot like Record mode, and in Matching mode, you can even search for and browse the records of the table. But you cannot edit them. Instead, Matching mode allows you define and execute matching strategies that identify potential duplicates for the records in the table, and then for each record, to merge any or all of the potential duplicates based on the likelihood of an actual match. The process of matching and merging records typically involves: (1) defining the matching strategies, including the various transformations, matching rules, and scoring thresholds that comprise each strategy; (2) performing a search, to narrow down the set of records to just the ones you want to work on; (3) executing a matching strategy on any or all of the search results against any or all of the records in the repository; and (4) merging any or all of the potential duplicates into each record.

Matching Mode at a Glance

Figure 84: Matching Mode

2009

© 2009 SAP AG. All rights reserved.

153

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Search Parameters Pane Just as in Record mode, the Search Parameters pane (left pane) contains the search tabs for drilldown search and also the free-form search parameters, each corresponding to actual fields of the records. In addition, there is a search tab and a pair of free-form search parameters for searching on the Matching Result columns of the Records grid, allowing you to search based on which records have potential matches that may require merging.

Records Pane Just as in Record mode, the Records pane (top-right pane) contains a row/column grid listing the table’s records.

Figure 85: Records Pane

In addition to columns corresponding to actual fields of the records, the Records grid also contains several Matching Result columns that indicate for each record the results of executing a matching strategy.

Matches Tab The Matches tab (tab in bottom-right pane) contains a records grid that lists the record currently selected in the Records pane along with all of its potential matches. For each record you select in the Records grid, use the Matches tab to view its potential matches and decide which ones to include in the Merge tab. In addition to columns corresponding to actual fields of the records, the Matches grid also contains several Matching Result columns that indicate for each potential matching record the results of executing a matching strategy.

Merge Tab The Merge tab (tab in bottom-right pane) is like the Merge Records dialog and includes the record currently selected in the Records pane along with all of the potential matches that you checked for inclusion in the Matches tab. For each record you select in the Records grid, use the Merge tab to merge the record with its potential matches that represent duplicates.

154

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Matching Mode

Transformations Tab The Transformations tab (tab in bottom-right pane) contains a multiobject properties grid that consists of three subpanes: (1) the Transformations pane, which lists the set of transformations; (2) the Properties pane, which lists the set of properties for each transformation, including the field to which the transformation is applied; and (3) the Substitutions pane, which lists the substitutions that comprise the transformation. Use the Transformations tab to add, rename, delete and duplicate transformations, to view and edit transformation properties, and to specify the set of substitutions for each transformation.

Rules Tab The Rules tab (tab in bottom-right pane) contains a multi-object properties grid that consists of two subpanes: (1) the Rules pane, which lists the set of matching rules; (2) the Properties pane, which lists the set of properties for each matching rule, including the scoring for the rule and the field or field combination to which the rule is applied. Use the Rules tab to add, rename, delete and duplicate matching rules, and to view and edit rule properties.

Strategies Tab The Strategies tab (tab in bottom-right pane) contains a multi-object properties grid that consists of three subpanes: (1) the Strategies pane, which lists the set of matching strategies; (2) the Properties pane, which lists the set of properties for each strategy, including the High and Low scoring thresholds; and (3) the Scoring Rules pane, which lists the set of scoring rules for you to select those that should be included in each strategy. Use the Strategies tab to add, rename, delete and duplicate matching strategies, to view and edit strategy properties, and to decide which matching rules to include for each strategy.

Workflows Tab Just as in Record mode, the Workflows tab (tab in bottom-right pane) lists the workflow tasks for the current user. However, instead of listing all of the tasks, the Workflows tab in Matching mode lists just the matching-related tasks corresponding to Match steps. Use the Workflows tab to view and process matching-related workflow tasks.

Search Selections Tab Just as in Record mode, the Search Selections tab (tab in bottom-right pane) lists all of the search selections that are currently in effect.

2009

© 2009 SAP AG. All rights reserved.

155

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Matching is Record Centric MDM matching is record-centric. This means is that each record has its own matching group of zero or more potential matches, matching groups may overlap, and matching is not transitive (i.e. record B is a potential match for record A, and record C is a potential match for record B does not mean that record C is a potential match for record A). When an MDM matching strategy is applied to a set of records, the strategy is applied to each selected record, and for each record, the potential matches are placed into the matching group for that record.

Interactive Matching Interactive matching in Matching mode is like searching (albeit based on complex “fuzzy” criteria that allow you to find potential matches that are not exact): fully interactive, ad hoc, and without any form of persistence. You can use the applicable command to execute a matching strategy on any set of selected records against the set itself, against the current search results, or against the entire set of records in the repository.

Automatic Matching Automated matching occurs as part of workflow, using a Match step that applies a matching strategy to the records in the workflow job, either against the records in the job or against the entire set of records in the repository. Matching results are persistent during the execution of the workflow.

156

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Matching Mode

Defining and Executing Matching Strategies Each matching strategy is defined as consisting of transformations, matching rules, and scoring thresholds, and then subsequently executed against one or more records. The process of defining and executing matching strategies consists of three design-time phases and two runtime phases, as follows: 1.

2.

3.

4.

Defining the transformations. For each field, a transformation applies multiple normalizing and cleansing operations to each field value on a record-by-record basis. Defining the matching rules. For each field or field combination, a matching rule applies a matching function to either the original or the previously transformed field value(s), and returns a score. Defining a matching strategy. Each strategy applies one or more rules during the matching process, and use a pair of high and low scoring thresholds to decide which records are potential matches. Executing the strategy. You can execute a strategy against one or more source records, and MDM applies the matching rules and the scoring thresholds on a record-pair-by-record-pair basis. Note: A rule that references qualifiers is evaluated individually for each qualified link combination, and the score for a record pair is the best score across the entire set qualified link combinations.

5.

Merging potential matches. For each source record, you can use the total matching score for each record pair to decide which of the potential matching records to merge with each source record.

The different phases of defining and executing matching strategies are described in the following sections.

Matching Strategy Definition A matching strategy is comprised of one or more matching rules. Each matching rule can reference one or more fields. The fields that a rule references can be either actual or transformed fields.

Transformations Transformations allow you to create one or more transformed fields as part of the matching process. A transformed field is a virtual field whose values are based on normalizing and cleansing the values of an actual field. The transformed field can then be referenced when defining matching rules.

2009

© 2009 SAP AG. All rights reserved.

157

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Transformations and transformed fields allow you to eliminate syntactic differences in the data that might otherwise interfere with the matching process and thereby prevent MDM from recognizing two semantically equivalent values as being the same. Note: Virtual transformed fields allow you perform matching against normalized and cleansed data values without changing the underlying repository data and without duplicating data. You can use the Transformations tab to add, rename, delete and duplicate transformations, to view and edit transformation properties, and to specify the set of substitutions for each transformation.

Transformation Properties The transformation properties (including the list of substitutions that comprise the transformation) control the normalizing and cleansing specifications of each transformation. Transformation Properties Property

Description

Properties Pane Name

The transformation name.

Field

The field to be transformed.

Language

The applicable language layer for a multilingual text field.

Preview

The transformed value for the selected record (read-only).

Substitutions Pane Token

Whether to apply substitution to tokens only (space-delimited).

From

The value to be replaced.

To

The replacement value. Note: The drop-down list of fields includes text fields and qualifiers (where qualifiers appear as qualifiedtable.qualifier).

158

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Matching Mode

Substitutions Each transformation is essentially a list of substitutions. A substitution specifies the replacement of a “from” string with a “to” string, applied either anywhere in the data value or only to distinct tokens. Substitutions are a powerful and versatile and yet also straightforward mechanism for normalizing and cleansing data, and directly support: • • • • •

Character substitution. Replace accented “foreign” characters with the corresponding character combinations (e.g. ‘ä’ “ae”). Character elimination. Remove punctuation and other special characters that have no matching significance (e.g. ‘.’, ‘,’, ‘;’, ‘:’). Token substitution. Replace entire words or abbreviations with a complete representation (e.g. “GM” –>“General Motors”). Token elimination. Eliminate noise words that may be inconsistent in the data (e.g. “Corp.”, “Inc.”, “LLC”). Synonym identification. Collapse tokens that are equivalent, such as variations on a name (e.g. “Rob”, “Bob”, “Bobbie” –>“Robert”)

Managing and Editing Transformations MDM allows you to create and manage any number of transformations in Matching mode. You can add, modify, rename, delete, and duplicate transformations as described in this section. To add a new transformation to the list of transformations: 1. 2.

3. 4.

If necessary, click on the Transformations tab to make it the active tab. Right-click in the Transformations pane and choose Add Transformation from the context menu, or choose Records –> Matching –> Transformations –> Add Item from the main menu. MDM adds a new transformation named “New Transformation” to the list of transformations, and highlights it for editing. Type the name you want for the transformation and press Enter. Hint: There is no explicit command to modify a transformation. To edit the properties of a transformation, select it in the Transformations pane of the Transformations tab, move the focus into the Properties pane, edit its properties directly, and press Shift+Enter to save the changes.

2009

© 2009 SAP AG. All rights reserved.

159

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

To edit the list of substitutions that comprise a transformation: 1. 2. 3.

If necessary, click on the Transformations tab to make it the active tab. In the Transformations pane, select the single transformation for which you want to edit the list of substitutions. Add, delete, and reorder substitutions as follows: •

4.

To add a substitution, check or do not check the Token checkbox in the first empty row, type the string to be replaced in the From cell, press Tab, type the replacement string in the To cell, and press Tab to move to the next empty row. • To delete a substitution, move the thick bordered highlight to the row containing the substitution you want to delete and press Del. • To reorder the substitutions, press Ctrl+Up and Ctrl+Down to move the selected rows up and down, or drag-and-drop them to the new position. Press Shift+Enter to save the changes

Figure 86: Transformations

Hint: To remove a From value, leave the To value empty. Note: Token substitution uses Space as a delimiter, which means the token for substitution should be surrounded by blanks. The From value is not case-sensitive (i.e. “Corp” will replace “Corp”, “corp”, and “CORP”).

160

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Matching Mode

To rename a transformation: 1. 2. 3.

4. 5.

If necessary, click on the Transformations tab to make it the active tab. In the Transformations pane, select the single transformation you want to rename. Right-click on the transformation and choose Rename Transformation from the context menu, or press F2, or choose Records –> Matching –> Transformations –> Rename Item from the main menu. MDM highlights the name of the transformation for editing. Type the new name you want for the transformation and press Enter.

To permanently delete one or more transformations from the list of transformations: 1. 2. 3.

4.

If necessary, click on the Transformations tab to make it the active tab. In the Transformations pane, select the transformation(s) you want to delete. Right-click on one of the transformations and choose Delete Transformation from the context menu, or press Del, or choose Records –> Matching –> Transformations –> Delete Item from the main menu. MDM prompts you to confirm that you really want to delete the transformations. Click OK to remove the transformations from the list of transformations.

Matching Rules A matching rule defines the matching function to be applied to a field or field combination, and assigns a score based on whether the matching function succeeds, fails, or is undefined because of NULL values. Each rule can then be included in one or more matching strategies. Matching rules are the building blocks of a matching strategy, where each rule represents an individual criterion for comparing records and contributes to the overall score of the strategy. Note: A rule that references qualifiers is evaluated individually for each qualified link combination, and the score for a record pair is the best score across the entire set qualified link combinations.

Rules Tab The matching rule definition operations are performed from the Rules Tab.

2009

© 2009 SAP AG. All rights reserved.

161

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 87: Matching Rules

You can use the Rules tab to add, rename, delete and duplicate matching rules, and to view and edit rule properties.

Matching Rule Properties Matching Rule Properties Property

Description

Name

The matching rule name.

Description

The matching rule description.

Function

The matching rule function.

Fields

The field or fields that participate in the matching rule.

Success

The score upon success.

Failure

The score upon failure (can be negative to reduce score).

Undefined

The score if any field has a NULL value.

Note: The drop-down list of fields includes fields and qualifiers (where qualifiers appear as qualifiedlookupfield.qualifier), and both actual and transformed items (where MDM appends [XFM] to the name of transformed items). Text fields do not appear in the drop-down list of fields unless they are sort-indexed Hint: When you specify multiple fields, the multiple field values are concatenated into a single value for comparison purposes, overcoming discrepancies around which fields were used to store which values (e.g. Fname+Lname or Address1+Address2). If you don’t want matching across fields, put each field in a different rule.

162

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Matching Mode

Matching Functions and Matching Scores Each matching rule is essentially a numeric scoring mechanism that uses the specified matching function to compare field values across record pairs during matching execution, and then return a score for the three possible outcomes of the function: • • •

Success. The matching function succeeded for the field values. Failure. The matching function failed for the field values Undefined. At least one of the fields values has a NULL value

When the match is not exact, fuzzy matching functions can also return Partial Success scores that are a fraction of the Success score based on the extent of the fuzzy match. Matching Functions Function Equals1

Token Equals1,2

1

Description • • •

String Comparison Exact match on the complete value of the entire field Returns Success, Failure or Undefined score

• • •

Token comparison (word order not important) Fuzzy match on each of the tokens of the field Returns Success, Partial Success3, Failure or Undefined score

Equals is faster than Token Equals, which must perform more steps

Uses the keyword parsing, which enables matching to use existing keyword indexes

2

Score = Success * Number of Unique Matching Tokens / Total Number of Unique Tokens 3

Note: To greatly improve matching speeds, enable sort indexing on fields used for Equals searches and enable keyword indexing on fields used for Token Equals operations.

2009

© 2009 SAP AG. All rights reserved.

163

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 88: Equals Matching Function

In this example, an Equals matching function against the field Vend Name would return no matches for any of the three records. However, an Equals matching function executed against Vend Name [XFM] (a previously defined Transformation) would show that all three records match. An Equals function either produces matches or no match: there is no partial match result available. This can be very powerful provide the correct field is used as the basis for the Equals matching function in the first place.

Figure 89: Token Equals Function 1

By contrast the Token Equals function will allow a partial match. Specifically a Token Equals matching function does not match based on the entire field but rather on the individual tokens within a field. In this diagram we can see that for VendName there are three tokens: Group, Bacou and Dalloz.

Figure 90: Token Equals 2

164

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Matching Mode

With Token Equals matching functions the three identified tokens within the field are used in the matching process. So if we are attempting to match to record 1 in this case, we can see that record 2 shows a match to all three tokens, albeit in a different order, giving a score of 3 out of 3. Records 1 and 2 are thus a 100% match if Token Equals matching is used, but an Equals matching function would show no match between these records. Comparing records 1 and 3 we see that there are actually four distinct tokens across the two records: Group, Bacou, Dalloz and Bakou. On this basis there are 2 out of 4 matches between records 1 and 3, that is two of the possible four tokens appear in both records. This is then a partial match, with a score of 50% in this case. Again, an Equals matching function would show no match between these records.

Managing and Editing Matching Rules MDM allows you to create and manage any number of matching rules in Matching mode. You can add, modify, rename, delete, and duplicate matching rules as described in this section. To add a new matching rule to the list of rules: 1. 2. 3. 4.

If necessary, click on the Rules tab to make it the active tab. Right-click in the Rules pane and choose Add Rule from the context menu, or choose Records –> Matching –> Rules –> Add Item from the main menu. MDM adds a new matching rule named “New Rule” to the list of rules, and highlights it for editing. Type the name you want for the matching rule and press Enter. Hint: There is no explicit command to modify a matching rule. To edit the properties of a rule, select it in the Rules pane of the Rules tab, move the focus into the Properties pane, edit its properties directly, and press Shift+Enter to save the changes

Matching Strategies A matching strategy is comprised of one or more matching rules and a pair of numeric thresholds. Each strategy can then be executed against a set of one or more records against the set, the search results, or all of the records in the repository. Matching strategies identify potential matches for each record based on the matching scores of the individual rules that comprise the strategy and the thresholds that determine which records are potential matches for each record.

Strategies Tab The matching strategy definition operations are performed from the Strategies tab.

2009

© 2009 SAP AG. All rights reserved.

165

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 91: Strategies Tab

You can use the Strategies tab to add, rename, delete and duplicate matching strategies, to view and edit strategy properties, and to decide which matching rules to include for each strategy.

Matching Strategy Properties Matching Strategy Properties Property

Description

Properties Pane

166

Name

The matching strategy name.

Max Score

Maximum total score based on the included rules (read-only)

Min Score

Minimum total score based on the included rules (read-only)

High Threshold

The threshold for high-likelihood potential matches.

Low Threshold

The minimum threshold for potential matches.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Matching Mode

Scoring Rules Pane Include

Whether or not to include the matching rule.

Rule

The name of the matching rule. Note: All matching rules defined in the Rules tab appear in the Scoring Rules pane; selecting Include adds a rule to the strategy. Note: The read-only Min Score and Max Score properties are calculated automatically by MDM based on the Success scores of every matching rule included in the strategy, and allow you to set the values for Low Threshold and High Threshold properties to classify the results.

Threshold Scores A matching strategy executes each of the rules that comprise the strategy during matching execution and calculates a total score for each record based on the score of each of the individual rules, and then uses for the current record and in which match level they belong: •



High. Records whose total score is greater than or equal to the High Threshold score are included in the list of potential matches in the Matches tab and placed in the High match level. Low. Records whose total score is greater than or equal to the Low Threshold score are included in the list of potential matches in the Matches tab and placed in the Low match level.

Managing and Editing Matching Strategies MDM allows you to create and manage any number of matching strategies in Matching mode. You can add, modify, rename, delete, and duplicate matching strategies as described in this section.

2009

© 2009 SAP AG. All rights reserved.

167

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

To add a new matching strategy to the list of strategies: 1. 2.

3. 4.

If necessary, click on the Strategies tab to make it the active tab. Right-click in the Strategies pane and choose Add Strategy from the context menu, or choose Records –> Matching –> Strategies –> Add Item from the main menu. MDM adds a new matching strategy named “New Strategy” to the list of strategies, and highlights it for editing. Type the name you want for the matching strategy and press Enter. Hint: There is no explicit command to modify a matching strategy. To edit the properties of a strategy, select it in the Strategies pane of the Strategies tab, move the focus into the Properties and Scoring Rules panes, edit its properties directly, and press Shift+Enter to save the changes.

Matching Strategy Execution Once you have defined a matching strategy, you can use the applicable MDM command to execute it on any set of selected records against the set itself, against the current search results, or against the entire set of records in the repository. Matching Strategy Execution Operations

168

Operation

Description

Selected vs. Selected

Matches selected records against themselves.

Selected vs. Results

Matches selected records against the search results.

Selected vs. All

Matches selected records against all records.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Matching Mode

Results vs. Results

Matches search results against themselves.

Results vs. All

Matches search results against all records.

All vs. All

Matches all records against themselves.

Note: The operations are subject to the following interpretation: (1) All means the “constrained” set of records in the repository based on security constraints; and (2) potential matches are dynamically rescored when you select a record in the Records pane. Note: A rule that references qualifiers is evaluated individually for each qualified link combination, and the score for a record pair is the best score across the entire set of qualified link combinations. Note: A rule that references tuples is evaluated individually for each tuple record, and the score for a record pair is the highest score among all tuple records involved in the rule. Executing a matching strategy and then merging records based on the matching results is described in the following sections.

Matching Results Column In addition to columns for the actual fields of the record, the Records grid and the Matches grid each contain several Matching Result columns that indicate the result of executing a matching strategy.

2009

© 2009 SAP AG. All rights reserved.

169

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 92: Matching Results

Hint: You can use the sortable Matching Result columns to sort the records in the Records pane as follows: (1) sort by [Count] to see the overall results of the matching strategy, and to see which records have the most potential matches (where too many matches may indicate that the strategy itself is not discriminating enough); (2) sort by [Level] to group by match level; and (3) sort by [Score] to handle in descending order records with the highest likelihood potential matches that may require merging. Note: Unlike other sortable columns, clicking on the [Count], [Level], or [Score] columns sorts records in descending order first, so that records with higher values are displayed at the top of the Records pane.

Executing the Matching Strategy You can execute a matching strategy as described in this section.

170

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Matching Mode

To execute a matching strategy: 1. 2. 3.

If necessary, select multiple records in the Records pane. Right-click on one of the records and choose Matching from the context menu, or choose Records –> Matching –> Execute from the main menu . Choose the applicable matching operation from the cascading menu: • • • • • •

Selected vs. Selected Selected vs. Results Selected vs. All Results vs. Results Results vs. All All vs. All Note: You must select more than one record to be able to execute the Selected vs. Selected command.

4. 5.

Choose the applicable strategy from the cascading menu of strategies (if more than one matching strategy is defined in the Strategies tab). MDM executes the matching strategy on the applicable records and populates the Matching Result columns and the Matches tab for them.

Figure 93: Executing Matching Strategy

2009

© 2009 SAP AG. All rights reserved.

171

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Merging Records After you execute the matching strategy on a set of records, you can use the Matches tab to decide which potential matches you want to include in the Merge tab, and then use the Merge tab to merge the records as described in this section. To merge a record with some or all of its potential matches:

172

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Matching Mode

Figure 94: Record Matches

1. 2.

Select a record with potential matches in the Records grid. In the Matches tab, check the Include checkbox for those potential matches you want to merge with the selected record. Note: The selected record in the Records grid does not appear in the Matches grid and always appears automatically in the Merge tab. Hint: You can include multiple records at once by selecting them in the Matches grid, right-clicking on one of them, and then choosing Include from the context menu, or choosing Records –> Matching –> Include from the main menu. You can also uninclude multiple records at once by selecting them in the Matches grid, right-clicking on one of them, and then choosing Uninclude from the context menu, or choosing Records –> Matching –> Uninclude from the main menu.

3.

In the Merge tab, set the values in the merged record. • • •

Double-click on a source column grid cell to quickly set the field value of the selected field. Use the column title context menu to quickly set all the field values of the merged record. Use the grid cell context menu to set the field value of the selected field, or to copy and paste values between fields. Note: The selected record in the Records grid appears in the Merge tab with its display field value in the title bar flanked by arrows (► value ◄).

4.

2009

When you are done setting values, right-click anywhere in the Merge tab and choose Merge Records from the context menu to merge the selected record with its potential matches.

© 2009 SAP AG. All rights reserved.

173

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 95: Merge Records

174

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Matching Mode

Exercise 5: Matching Mode Exercise Objectives After completing this exercise, you will be able to: • To use Matching Mode to deduplicate master data

Business Example Task: Create matching strategy to find and remove the duplicates created in an earlier lesson.

2009

1.

Log on to the MDM050_Exercise_Master repository using the Data Manager, and go to Matching Mode.

2.

Search for products produced by Manufacturer Rust-Oleum, whose part number starts with 19.

3.

Create a new rule called UPC##, based on the field UPC, for an equal match with a success score of 20, and a failure score of -10.

4.

Create a new rule called Manu## based on the field Manufacturer, and Alternate Part number. Again, use and equal match, and set success score to 30, with failure of -10.

5.

Create a new strategy called Strategy## which uses both rules. Set the thresholds to appropriate values, given the available maximum and minimum scores.

6.

Select you new record 19##-830X. Execute the matching strategy using Selected vs Result.

7.

Identify the matching record, and merge the two records. Set the Part number for the merged record to 19##-830. Set all of the attribute values that you maintained on your new record 19##-830X to your new merged record.

© 2009 SAP AG. All rights reserved.

175

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Solution 5: Matching Mode Task: Create matching strategy to find and remove the duplicates created in an earlier lesson. 1.

Log on to the MDM050_Exercise_Master repository using the Data Manager, and go to Matching Mode.

2.

Search for products produced by Manufacturer Rust-Oleum, whose part number starts with 19. a)

3.

Create a new rule called UPC##, based on the field UPC, for an equal match with a success score of 20, and a failure score of -10. a)

4.

In the Manufacturer search, expand RPM International, and select Rust-Oleum Corporation from the hierarchy. Then go to Free-form search, and locate Part number in the list. Next to part number, use the drop-down list to select the entry “starts with”, and then in the input field, type 19. Press Enter.

In Matching Mode, go to the Rules tab, right click in the white space, and select Add Rule. Type in UPC## (where ## is the group number assigned to you by the instructor) for the name. Leave the Function option as the default value (should be set to Equals), and using set the Fields property to UPC. Set Success to 20, and Failure to -10. Leave Undefined at 0. Use Shift+Enter to save.

Create a new rule called Manu## based on the field Manufacturer, and Alternate Part number. Again, use and equal match, and set success score to 30, with failure of -10. a)

In Matching Mode, go to the Rules tab, right click in the white space, and select Add Rule. Type in Manu## (where ## is the group number assigned to you by the instructor) for the name. Leave the Function option as the default value (should be set to Equals), and using set the Fields property to Manufacturer and Alternate Part Number, by selecting and Adding both to the list. Set Success to 30, and Failure to -10. Leave Undefined at 0. Use Shift+Enter to save.

Continued on next page

176

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Matching Mode

5.

Create a new strategy called Strategy## which uses both rules. Set the thresholds to appropriate values, given the available maximum and minimum scores. a)

6.

Select you new record 19##-830X. Execute the matching strategy using Selected vs Result. a)

7.

In the Records pane, right click on your records 19##-830X, and choose from the context menu Matching Selected vs. Results Strategy##. The Matching strategy should identify one High probability math for your record.

Identify the matching record, and merge the two records. Set the Part number for the merged record to 19##-830. Set all of the attribute values that you maintained on your new record 19##-830X to your new merged record. a)

2009

In Matching Mode, go to the Strategy tab, right click in the white space, and select Add Strategy. Type in Strategy## (where ## is the group number assigned to you by your instructor) for the Name. Using the checkboxes, select both of your rules. Leave the High Threshold at 45, and change the Low Threshold to 15. Use Shift+Enter to save.

In Matching Mode, switch to the Matches tab, and you should see on record listed. Note the score from each Rule, and the overall matching score. Check the checkbox for Include, and change to the Merge tab. You should now see the two records (19##-830 and 19##-830X) in separate columns, and an empty column for the Merged record. Right click in the column heading for the original record 19##-830, and select from the context menu Set All. The merged record column will now match this record. Look down the column for the 19##-830X record, and set the individual attribute values that do not exist in the merged record. Once completed, right click anywhere in the columns themselves (not the column headers) and select the option from the context menu Merge Records. On the following popup choose Yes.

© 2009 SAP AG. All rights reserved.

177

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Lesson Summary You should now be able to: • Use Matching Mode to create new rules etc., and execute a matching strategy to merge duplicate data in the repository

178

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

Lesson: Workflow Lesson Overview This lesson provides an overview of the use of workflow in MDM to control master data processes.

Lesson Objectives After completing this lesson, you will be able to: •

Use workflow to control master data maintenance processes, including the basics of validations

Business Example In order to ensure data integrity, workflow can be used to control master data processes.

MDM Workflows MDM offers multiple layers of data management capabilities for maintaining data integrity, enforcing business logic, and automating business processes, as follows: •





2009

Data integrity. At the core layer, MDM offers flexible schema management and an abstract object model that enforces data integrity with a variety of innovative features, including pick lists, enumerated text attributes, measurement data types, and so on. Validations. Layered upon data integrity, MDM validations are Excel-like expressions that allow you to enforce rules and business logic by defining tests for a variety of conditions, and then to execute a validation or validation group against one or more records. Workflows. At the outer layer, MDM workflows consist of a sequence of steps that allow you to orchestrate a series of operations that include user tasks, validations, and approvals, automating business processes at the data management level.

© 2009 SAP AG. All rights reserved.

179

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 96: MDM Workflow

The MDM data management workflow described in this section complements and layers upon both the data integrity features of MDM and MDM validations, already described in previous sections. Note: Workflow also dovetails with the MDM check out mechanism, allowing a workflow to proceed to completion on a private, hidden copy of the records of the job.

The MDM Workflow Engine Each MDM workflow consists of a sequence of steps and allows you to orchestrate a series of data management operations that include user tasks, validations, and approvals against one or more records.

180

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

MDM workflows are a tightly integrated component of the MDM Data Manager interface. Meanwhile, the underlying MDM workflow engine features a number of innovations that make designing, modifying, and executing workflows quick and easy for even the most non-technical MDM user: •











• •

• •



Microsoft Visio design-time environment. The flow diagram representing a workflow is designed using a Microsoft Visio plug-in, making workflow definition directly accessible even to end users. Task-oriented execution-time environment. Workflows move from step to step, showing up as tasks in each user’s inbound task queue within the MDM Data Manager, ready for processing by the user. Multi-record jobs. Each workflow is invoked as a job that can consist of multiple records that move through the steps of a workflow as a group while simultaneously maintaining record-level granularity. Record filtering. Selecting each workflow task limits the records in the Records pane to just those records in the job, making it easy to identify and focus in on the particular records that require processing. User- vs. role-based execution. A step can be assigned explicitly to one or more users, or it can be assigned to one or more roles, which are expanded into the applicable users during workflow execution. Group steps. A set of steps can be organized into a single group, which eliminates much of the complexity of typical flow diagrams, since a group step has just a single input and a single output. Any vs. all execution. Any or all of the steps in a group can be executed; similarly, a single step can be performed by any or all of its assigned users. Sequential vs. concurrent execution. The steps in a group can execute sequentially or concurrently; similarly, a single step can be performed sequentially or concurrently by its assigned users. Push vs. pull model. Receiving users can pull each task as it appears in their task queue, or sending users can push it to a particular user. Validations. Workflows can invoke validations that must succeed for every record in the job, or the job is kicked back to the previous step with Validation Result columns for each validation and every record. Approvals. Workflows can also require user approvals (either a single approval or the unanimous approval of all approvers), with Approval Result columns for each approver and every record.

Defining and Executing Workflows The MDM workflow engine supports a data management workflow (as contrasted to a business process workflow) with data-level rather than process-level granularity.

2009

© 2009 SAP AG. All rights reserved.

181

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Each workflow is defined as consisting of a series of steps. Each step can be a user operation, a validation, or an approval. A sequence of one or more steps in a group or in a branch of a workflow is a thread. You can add one or more records to a previously defined workflow and then launch the workflow as a job. Each job consists of the group of records that move through each step in the workflow as a series of tasks. Tasks appear in each user’s inbound task queue for processing. The process of defining and executing workflows consists of two design-time phases and two runtime phases, as follows: 1.

2.

3.

4.

Creating a workflow record. Each workflow record is stored in the Workflows table. You create a workflow by making the Workflows table the current table and adding a new record, which includes the workflow object that is a Microsoft Visio file stored in the repository. Defining the workflow. When you double-click on the workflow object, MDM launches Microsoft Visio for editing the flow diagram that represents the workflow, using a custom MDM workflow stencil that contains each of the MDM workflow step types and connectors. Creating a job. A workflow job is created by making any user table the current table and adding one or more records to an unlaunched job, which is an instance of a workflow that can then be launched manually or automatically based on various criteria. Executing the job. Once the job has been launched, it moves automatically from step-to-step and from user-to-user, showing up in the inbound task queue in each user’s Workflows tab for disposition and processing.

Workflow Owner Every workflow has an owner.. The workflow owner has special privileges and visibility as it relates to the corresponding workflow jobs. In particular, the owner of a workflow: (1) sees in its task queue every instance of every step that is available to or received by every other user; (2) is the only user who can (a) delete a job that is not yet complete or (b) take over performing a step; and (3) depending upon the settings of the Start step, may be the only user who is permitted to (a) send the job from one process step to the next or (b) split a job. Note: The special user [Owner] often appears in drop-down lists of users within workflow step properties and refers to the workflow owner. In addition, the special user [Anyone] sometimes appears in the drop-down lists and refers to any assignee user.

182

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

Workflow Launcher Every workflow also has a launcher. This is the user who launches the job. The workflow launcher has no special privileges, but can be selected to be the workflow owner, to perform the task, or to receive email notification. Note: The special user [Launcher] often appears in drop-down lists of users within workflow step properties and refers to the workflow launcher. In addition, the special user [Anyone] sometimes appears in the drop-down lists and refers to any assignee user.

Sending to the Next Step Sometimes, you may not care who sends a job from one process step to the next; in these cases, the last assignee to finish processing the current step is the one who gets to send it to the next one. Alternatively, when each process step has been completed, you may wish control of the job to pass back to the workflow owner, who can decide whether to push it to a particular assignee or allow it to be pulled by any of the assignees of the next step. Whether any user or just the owner can send to the next step is based upon the setting of the Send Next Step property of the Start step.

Splitting Jobs Sometimes, you may want some of the records in a job to proceed even though you have not finished processing all of them. To achieve this, you can split some of the records into a new job and send one of them on its way while you continue processing the records of the new job. Whether any assignee or just the owner or the launcher can split a job is based upon the setting of the Split Job property of the Start step or the Approve step.

Microsoft Visio Design-Time Why Microsoft Visio? Microsoft Visio is a familiar desktop application that is part of the popular Microsoft Office Suite, readily available, and easy-to-use. This makes MDM workflow definition directly accessible even to end users, who do not need to install or learn more complex process-modelling applications. The Visio plug-in includes a straightforward MDM workflow stencil of roughly a dozen shapes that embodies all of the workflow design-time functionality, and features the familiar three-pane structure typical of the Win32 MDM applications.

2009

© 2009 SAP AG. All rights reserved.

183

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Notifications MDM workflow can send email notifications when a step has exceeded its allotted time or number of iterations. The notification from the owner of the workflow is sent to all assignees who have received but not yet completed the step, along with a “cc” to the specified users.

Record Filtering When you select a task in the Tasks pane of the Workflows tab, MDM automatically limits the set of records in the Records pane to just those records in the corresponding job. This makes it easy to identify and focus in on the records that require processing.

Record Check Out Recall that you can manually check out and check in records using the Check Out and Check In commands of the MDM Data Manager. You can also have MDM automatically: (1) check out all the records of a workflow job when the job is launched; and then when the job has completed, either (2) check in the records; or (3) cascade the checkout to the workflow job that is launched by the workflow. Checking out records as part of a workflow allows it to proceed to completion on a private, hidden copy of the records of the job, and behaves according to the following general guidelines: • • • • • • • •

184

The workflow owner becomes the owner of the checked out records. As the workflow moves from step to step, each user who receives a step joins the checkout and is not unjoined for the duration of the job. No one (not even the workflow owner) can manually check in records (e.g. using the Check In or Roll Back commands of the MDM Data Manager). A record that is already checked out can be added to an unlaunched workflow job if all the other records in the job are also checked out. The records in an unlaunched workflow job can either be all checked in or all checked out, but not a mixture of both. A record that is already in a workflow job (specifically, a launched or unlaunched job) cannot be checked out. A record can be in multiple workflow jobs (specifically, launched or unlaunched jobs) only if none of them checks out its records. Cascaded jobs do not have to have the same owner.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

User vs. Role Assignments MDM workflow steps can be assigned either to one or more users or to one or more roles, as follows: • •

Users. User-based assignments allow you to explicitly specify which user or users should be responsible for performing the step. Roles. Role-based assignments allow you to specify roles rather than users, with the actual users determined by MDM at runtime. Note: Role-based assignments avoid having to explicitly identify users at design time, so that the actual users can change over time.

Execution Type Recall that multiple users or roles can be assigned to a single step. MDM allows you to specify the Execution Type property for each step as it relates to: (1) whether either any single assignee or all of them must perform the step; and (2) if all of them, sequential or parallel execution among the multiple assignees of the step. Similarly, multiple steps can be organized into a single group, and MDM allows you to specify the Execution Type property for the group as it relates to: (1) whether either any single step or all of them must be performed; and (2) if all of them, sequential or parallel execution among the multiple steps of the group. Execution Type Options Option

Description

All Concurrent

All assignees must perform the step. Each assignee can do so at the same time.

All Sequential Random

All assignees must perform the step. Each assignee can do so one at a time in any order.

All Sequential Ordered*

All assignees must perform the step. Each assignee can do so one at a time in the order listed in the step.

Any Single

Any single assignee can perform the step. The step can be pushed to or pulled by any assignee.

*Available only for the Execution Type property of a step, not a group, because for a group you could simply eliminate the group if the steps are to be executed in sequential order. Note: Behaviour within a role is Any Single, where the user who accepts an available task can cover multiple roles, “pulls it away” from the users in each role to which it belongs, and is not included in the list of users for that role when the user sends it to the next role.

2009

© 2009 SAP AG. All rights reserved.

185

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Push vs. Pull MDM workflows support both a push and a pull model as a job moves from user to user within a step and from step to step within a workflow. In particular, both within a step and between steps, receiving users can pull each task as it appears in their task queue, or sending users can push it to a particular user. Whether the job is pushed or pulled affects the status in the task queue of the receiving user or users, as follows: • •

Push. The task appears in the inbound task queue as Received Pull. The task appears in the inbound task queue as Available. Note: A task that appears in a user’s inbound task queue as Available becomes Received after the user Accepts the task.

Based on the Execution Type setting of the current or receiving step, either: (1) the push occurs automatically; or (2) the push/pull is manual and up to the sending user. Push and Pull Based on Execution Type Execution Type

Automatic Push

All Concurrent



All Sequential Random All Sequential Ordered All Sequential Ordered

Manual Push/Pull •

• •

Note: [ANY] appears as the first choice in the cascading menus of users, roles, and/or steps of the Next User and Next Step commands, as applicable, when manual push/pull is permitted and there are multiple values.

186

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

Manual vs. Automatic Steps MDM workflow supports two kinds of steps: •



Manual. A manual step appears in the cascading Next Step menus and requires user action before the task is manually sent to the next user in the step or the next step in the workflow. Automatic. An automatic step does not appear in the cascading Next Step menus and does not require user action; MDM performs the task and automatically sends the workflow to the next step. Note: Automatic steps include Assign, Notify, Validate, and Syndicate, and Merge and Connect (which are not functional). Note: Even though they are invisible, automatic steps (such as a Validate step) may generate errors that prevent the job from moving to the selected next step.

Validations and Approvals An MDM workflow can run a validation or validation group against the records of a job. If any of the records fails any of the validations, the job is kicked back to the previous step, with a Validation Result column for each validation indicating the success ( ) or failure ( ) for each record.

Task Completion Commands When you are done performing the action required by a task, you can indicate your completion using four different MDM workflow commands, only one of which will be enabled by MDM at any given time based upon the particular circumstances of the workflow. For some of the commands, MDM also displays a single- or multi-level cascading menu that includes: (1) groups; (2) steps; (3) roles; and/or (4) users. In particular, which levels and elements are included in the cascading menu depends upon whether or not you are the last user to perform a step and/or the Execution Type of the current or next step.

2009

© 2009 SAP AG. All rights reserved.

187

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 97: Forwarding a Workflow

Microsoft Visio Plug-In at a Glance Recall that the flow diagram representing a workflow is designed using a Microsoft Visio plug-in that is loaded automatically when you edit the Workflow field of a workflow record. Specifically, when you double-click on the Workflow field, MDM launches Microsoft Visio for editing the flow diagram representing the workflow, using a custom MDM workflow stencil that contains each of the MDM workflow objects.

Figure 98: Microsoft Visio Design Time Environment

188

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

Microsoft Visio with the MDM workflow plug-in features the familiar three-pane structure typical of the Win32 MDM applications: • • •

Workflow Stencil pane. The left pane contains the collection of Visio shapes corresponding to workflow step types and connectors. Visio drawing pane. The top-right pane contains the Visio drawing representing the MDM workflow. Step Properties pane. The bottom-right pane contains the properties of the step selected in the Visio drawing. Note: When a step shape is selected in the Microsoft Visio drawing (top-right pane), the Step Properties pane (bottom-right) contains a grid with a list of properties for the step.

Workflow Steps Each workflow consists of a user-defined sequence workflow steps.

2009

© 2009 SAP AG. All rights reserved.

189

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 99: Workflow Steps

Note: MDM workflow emphasizes self-regulating logic rather than command-and-control, and features a relatively small number of step types for conceptual and design simplicity. At the same time, these simple self-contained steps can be combined to build sophisticated workflows that are flexible, configurable, and self-evident. Note: The Validate, Notify, Merge Connect, and Merge steps are defined in Microsoft Visio and participate in workflow execution, but they are hidden from the user during runtime. For example, if Process1 is connected to Validate1 is connected to Process2, the user will see Process2 as the next step when finished with Process1 and attempting to send the job to the next step.

Workflows Tab Most of the workflow runtime operations are performed from the Workflows tab.

Figure 100: Workflows Tab

190

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

The Workflows tab consists of two subpanes: (1) the Status pane, which contains the list of task statuses; and (2) the Tasks pane, which contains a grid that lists the tasks for the currently selected queue. You can use the Workflows tab to view and process workflow tasks, as described in the following section.

Status Pane Each status contains those tasks in a particular state of processing. When you select a queue other than [ALL] in the Status pane, MDM automatically limits the tasks in the Tasks pane to just the applicable tasks. Task Statuses Status

Description

[ALL]

All of the tasks and unlaunched, completed, and deleted jobs.

Unlaunched

Unlaunched jobs.

Available

Tasks that are available.

Received

Tasks that have been received.

Send Next

Tasks that revert to the workflow owner for sending to the next step.

Cascaded

Completed jobs that have passed their checked out records to other jobs.

Completed

Jobs that have been completed.

Error

Tasks that have pending errors (Assign step only) or have been corrupted

Tasks Pane When you select a task in the Tasks pane of the Workflows tab, MDM automatically limits the set of records in the Records pane to just those records in the corresponding job. This makes it easy to identify and focus in on the records that require processing.

2009

© 2009 SAP AG. All rights reserved.

191

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Task Properties Property

Description

[New]

Whether the task has just arrived

[Priority]

The task priority: • • • • •

Lowest Low Normal High Highest

Workflow

The workflow name.

Step

The step name.

Status

The job or step status: • Unlaunched • Launched1 • Available • Accepted1 • Received • Send Next • Sent1 The step status: • • • • • • •

Done Deleted1 Split1 Assigned1 Cascaded Completed Error2 1 Transient state following the applicable user action Assignment fails for any record (Assign step) or job corrupted

2

192

User

The user’s name and all other users: (1) who have also Received but not yet completed that task; or (2) to whom the task is also Available, with the other user names displayed in square brackets (e.g. user [user2; user3]).

Recs

The number of records in the job.

Job ID

The id of the job.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

Arrived

The local date and time that the task arrived.

Created

The local date and time that the job was created.

Start

The local date and time that the task was received.

End

The local date and time that the task was completed. Note: Every change to the status of every task can change the entire set of tasks in your inbound task queue. Note: The owner of a workflow job sees all of the tasks for a job, including a separate instance for each user to whom it is Available or by whom it has been Received and is not yet complete.

Inbound Task Queue State Transitions As described above, unlaunched workflow jobs, steps that are part of a running job, and completed and deleted jobs all appear as tasks in a user’s inbound task queue. Moreover, the tasks appear in a variety of states, and move from the inbound task queue of one user to that of another as the task moves from user to user and the job moves from step to step. The tasks that appear in an inbound task queue and the state transitions that they undergo as a result of user actions are illustrated.

2009

© 2009 SAP AG. All rights reserved.

193

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 101: Workflow Statuses

Note: A single step in a workflow can spawn multiple Available or Received tasks, each of which is a user-specific instance of the step. Note: The owner of a workflow sees all of the tasks for a job, including a separate instance for each user to whom it is Available or by whom it has been Received and is not yet complete. Note: A job that checks out records and cascades to another workflow job that that also checks out the records: (1) will appear in the task queue with Status=Cascaded until the cascaded job(s) complete; and (2) cannot be deleted until its records are checked back in or rolled back by the cascaded jobs. Note: In the figure above, the upper paths to Available correspond to a pull, and the lower paths directly to Received correspond to a push. Recall that whether the push occurs automatically or whether the push/pull is manual and up to the sending user depends upon the Execution Type setting of the current or receiving step.

Managing Workflow Jobs The following sections describe the various workflow job management operations, including: • • • •

194

Adding records to a workflow job Removing records from a workflow job Launching a workflow job Deleting a workflow job

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

Workflow Job Management Operations Operation

Description

Add to Job

Adds the selected records to the selected job.

Remove from Job

Removes the selected records from the selected job.

Launch

Launches the selected job.

Delete

Deletes the selected job.

To add one or more records to a workflow job: 1. 2.

3. 4.

In the Records pane, select the record(s) you want to add to a workflow job. Right-click on one of the records and choose Workflows –> Add to Job from the context menu, or choose Records –> Workflows –> Add to Job from the main menu. Select a job from the cascading menu of new and unlaunched workflow jobs. MDM adds the records to the unlaunched job. Hint: There is no explicit command to create a new workflow job. Instead, a new workflow job is created automatically when you add records to a workflow job that does not yet exist. Note: The cascading menu includes all of the active workflows (for creating and adding records to a new unlaunched job) and all of the unlaunched jobs (for adding records to an existing unlaunched job). You cannot add records to a job that has been launched. You can add records to multiple jobs so long as none of the jobs checks out its records.

To remove one or more records from an unlaunched workflow job: 1.

In the Tasks pane of the Workflows tab, select the task corresponding to the unlaunched job from which you want to remove records. Note: When you select a task in the Tasks pane of the Workflows tab, MDM automatically limits the set of records in the Records pane to just those records in the corresponding job.

2. 3.

4.

In the Records pane, select the record(s) you want to remove from the workflow job. Right-click on one of the records and choose Workflows –> Remove from Job from the context menu, or choose Records –> Workflows –> Remove from Job from the main menu. MDM removes the records from the unlaunched job. Note: You cannot remove records from a job that has already been launched.

2009

© 2009 SAP AG. All rights reserved.

195

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

To launch an unlaunched workflow job: 1. 2. 3.

In the Tasks pane of the Workflows tab, select the task corresponding to the unlaunched job you want to launch. Right-click on the task and choose Workflows –> Launch from the context menu, or choose Records –> Workflows –>> Launch from the main menu. MDM launches the job and updates the Tasks pane of the Workflows tab accordingly. Note: Job launch fails if any records have been subsequently checked out after having been added to the unlaunched job.

To delete a workflow job: 1. 2. 3.

4.

In the Tasks pane of the Workflows tab, select the task corresponding to the job you want to delete. Right-click on the task and choose Workflows –> Delete from the context menu, or choose Records –> Workflows –> Delete from the main menu. If the records of the job were not checked out, MDM prompts you to confirm that you really want to delete the job. Click OK to delete the job. If the records of the job were checked out, MDM prompts you to choose whether to check in or roll back the checked out records. MDM deletes the job and updates the Tasks pane of the Workflows tab accordingly. Note: MDM deletes all of the tasks for the corresponding job. You can delete a job only if you are the owner of the corresponding workflow. You can delete either a launched or unlaunched job. You cannot delete a job with the status Cascaded if its records are still checked out.

Executing Workflow Jobs There are other workflow functions available from the context menu.:

196

Operation

Description

Mark as Done

Marks the selected records as done for the selected task.

Unmark as Done

Unmarks the selected records as done for the selected task.

Mark as Approved

Marks the selected records as approved for the selected task.

Mark as Disapproved

Marks the selected records as disapproved for the selected task.

Unmark

Unmarks the selected records for the selected task.

Split into Job

Splits the selected records from the selected job into a new job.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

Accept

Accepts the available task.

Assume

Assumes control of the selected task.

Assign

Assigns the selected task to the selected user.

Perform

Manually performs the selected task.

Done

Marks the selected task as done.

Next User

Sends the selected task to the next user.

Next Step

Sends the selected task to the next step.

Previous Step

Sends the selected job back to the previous step.

Set Priority

Sets the priority of the selected task.

Show History

Shows the history of the selected task.

Note: You must first select the applicable task in the Tasks pane of the Workflows tab to perform these operations

A Note About Workflows and Process Execution Recall that MDM workflows can be triggered by various events, such as adding, updating, or importing a record. However, such event-driven process execution has its limitations, and is effective only in very simple circumstances, when such events all trigger the same simple process. Unfortunately, in most scenarios, the process flow depends very much on the type of update or the business intent of the change. For example, changing a product description may simply require approval from a copy editor, but changing the price may require the record to be approved and then distributed to a downstream system. In the example, two very different processes must be chosen as a result of a single type of event. Moreover, as the number of variations increases, building these decisions into a single workflow that is triggered by a change event will likely result in excessively complex and difficult to manage process logic. An alternative to the event-driven approach is patterned after SAP’s transaction model, where the user chooses the process to follow (i.e. the particular transaction) before making any changes to the data. This ensures that the correct downstream steps take place without any ambiguity for the user or complex decision logic within the process. Within MDM, the transactional approach can be modelled by displaying a list of available workflows from which the user must choose before any modifications to the records take place. So for the example, the user would choose from the “Update Descriptive Information” workflow or the “Modify Price Structure” workflow before making the change.

2009

© 2009 SAP AG. All rights reserved.

197

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

This transactional approach is not only an effective substitute for event driven execution but also a superior model, resulting in two very different processes managed by two distinct workflows and making clear to the user what will happen as a result of each action.

Validating Records MDM validations are MDM expressions that return a Boolean success or failure result. Using MDM validations, you can define complex tests for all types of conditions, and then run those tests against a group of one or more records, all without using a query language. You can also assign each validation to one or more validation groups. Each validation group is a set of validations that can be conveniently executed as a group with a single selection rather than forcing you to run each individual validation separately. Validation expressions can be used to perform all sorts of tests that implement sophisticated business logic that goes far beyond simple data integrity checks, including: • • •

Making sure required fields and other fields that are required when another field has a particular value all have a non-NULL value. Making sure non-lookup fields that do not have pick lists to enforce data integrity have a allowed value (e.g. Price > 0). Comparing the values of different fields to make sure the relative values are allowed (e.g. Price > Cost).

The possibilities are endless!

Validation Operations There are a number of functions and operations available for validations, including: • • • • • • • • • • •

198

Adding a validation Renaming a validation Deleting a validation Duplicating a validation Editing a validation expression Creating a branch validation Placing a validation into one or more validation groups Editing the validation groups hierarchy Sorting validations Executing a validation Executing a validation group

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

Validations Tab The Validations tab contains a multi-object properties grid that consists of two subpanes: (1) the Validations pane, which lists the user-defined validations for the table or tuple definition selected in the drop-down list; and (2) the Properties pane, which lists the set of properties for each user-defined validation. The Validations pane’s drop-down list includes the current table as well as all of the tuple definitions in the connected MDM repository. The current table appears at the top of the list, separated by a gray line from the tuple definitions, which are listed below the line in alphabetical order. Note: The drop-down list includes all tuple definitions in the connected MDM repository, not just those linked to tuple fields in the current table.

Validation Properties The validation properties control the behaviour of each validation. Validation Properties Property

Description

Name

The validation name.

Description

The validation description.

Table

The table on which the validation operates.

Branch Value

The taxonomy lookup field value on which a branch branches.

Group

The validation groups to which the validation belongs.

Validation

The validation expression itself.

Error Message

The error message to display when the validation fails.

Automatic Execution

Whether or not to run the validation automatically each time you save a record, and if so, whether it is advisory (warning) or enforced (error): • • •

Callable

2009

None Warning Error

Whether or not the expression should appear in the drop-down list of functions so that is callable by other validations (Yes/No)?

© 2009 SAP AG. All rights reserved.

199

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Managing and Editing Validations MDM allows you to create and manage any number of validations in Record mode, for any table or tuple definition. You can add, modify, rename, delete, and duplicate validations as described in this section. To add a new validation to the list of validations: 1. 2. 3.

4.

5. 6. 7. 8.

Set the current table to the table on which you want the new validation to appear. If necessary, click on the Validations tab to make it the active tab. Make sure the current table is selected in the Validation pane’s dropdown list, or, if you want to add a validation for a tuple definition, select the tuple definition from the drop-down list. Right-click in the Validations pane and choose Add Validation from the context menu, or choose Records –> Validations –> Add Validation from the main menu MDM adds a new validation named “New Expression” to the list of validations, and highlights it for editing. Type the name you want for the validation and press Enter. Specify the other properties of the validation. Press Shift+Enter to save the new validation.

Figure 102: New Validation

Note: The new validation appears only in lists for the table or tuple definition selected in the Validations pane drop-down list. Hint: There is no explicit command to modify a validation. To edit the properties of a validation, select it in the Validations pane of the Validations tab, move the focus into the Properties pane, edit its properties directly, and press Shift+Enter to save the changes.

200

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

To rename a validation: 1. 2. 3.

4. 5.

If necessary, click on the Validations tab to make it the active tab. In the Validations pane, select the validation you want to rename. Right-click on the validation and choose Rename Validation from the context menu, or press F2, or choose Records –> Validations –> Rename Validation from the main menu. MDM highlights the name of the validation for editing. Type the new name you want for the validation and press Enter.

To permanently delete a validation from the list of validations: 1. 2. 3.

4.

If necessary, click on the Validations tab to make it the active tab. In the Validations pane, select the validation you want to delete. Right-click on the validation and choose Delete Validation from the context menu, or press Del, or choose Records –> Validations –> Delete Validation from the main menu. MDM prompts you to confirm that you really want to delete the validation. Click OK to remove the validation from the list of validations.

To duplicate a validation: 1. 2. 3.

4. 5.

If necessary, click on the Validations tab to make it the active tab. In the Validations pane, select the validation you want to duplicate. Right-click on the validation and choose Duplicate Validation from the context menu, or choose Records –> Validations –> Duplicate Validation from the main menu. MDM adds the duplicate validation to the list of validations and highlights the name of the validation for editing. Type the name you want for the duplicate validation and press Enter.

Editing Validation Expressions You can define and edit the validation expression associated with a validation as described in this section.

2009

© 2009 SAP AG. All rights reserved.

201

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

To edit a validation expression: 1. 2. 3.

If necessary, click on the Validations tab to make it the active tab. In the Validations pane, select the validation whose validation expression you want to edit. In the Properties pane, double-click on the Validation cell to open the Validation Expression dialog. Hint: To open the Validation Expression dialog, you can also click the “…” (browse) button on the far right of the Validation cell.

4.

5. 6.

Enter the validation expression using the keyboard and the toolbar buttons to enter values, measurements, field names, attribute names, qualifier names, lookup values, attribute text values, operators, and functions. Click OK to close the Validation Expression dialog. To save the validation, right-click on the Properties pane and choose Save Validation from the context menu, or press Shift+Enter. Hint: Try to avoid defining overly complex validations. Instead, each validation should perform just a single test, so it can be debugged quickly and reused in a variety of contexts. Then use validation groups to combine individual validations into sets that can be run at the same time.

Figure 103: Validation Expression

Validation Groups Sometimes you may want to run a group of validations against one or more records at the same time. For example, Trading Partner X may have a total of 125 validations while Trading Partner Y has a total of 143 validations, many of them in common with Trading Partner X.

202

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

MDM supports this by allowing you to assign each validation to one or more validation groups. A validation group is a set of validations that you can run at the same time just by invoking the name of the group rather than the name of the individual validation. When you run a validation group against a set of records, it is as if you have run each individual validation in the group, and you get an individual success or failure result for each validation for each record.

Validation Execution Manual vs. Automatic Execution A validation can be invoked in two different ways as follows: • •

Manual. You can manually run any validation or validation group against the selected records in the Records pane at any time. Automatic. You can define any validation so that MDM runs it automatically every time you edit and attempt to save a record. Automatic execution then has two different kinds of behaviour: – –

Warning. MDM simply warns you before saving a record if any of the automatic validations fail when you press Shift+Enter. Error. MDM not only warns you but also prevents you from saving the record if any of the automatic validations fail. Note: Validation errors are downgraded to warnings on checked out records. The error occurs upon check in.

Validation Result Dialogs When you run validations manually, or when MDM runs warning validations automatically, MDM displays a warning dialog listing each validation that failed against any of the selected or modified records.

Figure 104: Validation Warning

Note: For each validation that failed, the warning or error dialog displays the language-specific error message that you specified for the validation followed by the name of the validation in square brackets ([]). When MDM runs error validations automatically, MDM displays an error dialog listing each validation that failed against any of the modified records.

2009

© 2009 SAP AG. All rights reserved.

203

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 105: Validation Error

Note: When any of the modified records fails an error validation run automatically, MDM prevents you from saving the records.

Validation Result Columns When you press OK to clear the warning dialog that reports the failure of one or more validations run manually or one or more warning validations run automatically, MDM adds a Validation Result column to the Records grid indicating whether each record succeeded ( ) or failed ( ) for that validation.

Figure 106: Validation Results

Note: Each Validation Result column is named with the validation name in square brackets ([]). When you move the mouse pointer over a validation failure ( ), MDM pops up a tooltip with the error message associated with the validation, Hint: You can sort by each Validation Result column to group records that failed the validation, and edit them to correct the error. Note: When you test a multi-valued field or text attribute for equality to a value or values, “=” means “identically equal” (i.e. the same set of one or more values in exactly the same sequence). Note: NULL interpretation differs between validations and search. Specifically, an expression that returns a NULL result evaluates to: (1) TRUE for validations (validation SUCCESS); and (2) FALSE for search (included in the search results for the is FALSE operator).

204

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

Manually Executing Validations You can run an individual validation or validation group as described in this section. To manually run an individual validation or validation group against one or more selected records: 1. 2.

3. 4. 5.

In the Records pane, select the one or more records to validate. Right-click on one of the records and choose Validations from the context menu, or choose Records –> Validations from the main menu, and in either case, choose from the cascading menu: • Execute • Execute Group Choose from the cascading menu of individual or group validation names. MDM runs the validations and displays a message dialog indicating success or failure. Click OK to close the dialog. MDM adds a Validation Result column for each validation.

A Note About Validations and Data Integrity Compared to a transactional system, where data integrity tends to be absolute and all data must be entered perfectly before the record is saved, MDM is a data management system with records that evolve and are enriched over their lifecycle. Moreover, since data in MDM isn’t linked to a single process, business application, or downstream system, there may be different validations and business rules that are applicable in different circumstances. As a result, MDM data entry and validations tend to be fairly flexible and forgiving rather than overbearing, to avoid encouraging a user to put junk values into fields that cannot be empty.

2009

© 2009 SAP AG. All rights reserved.

205

Unit 2: Data Management in SAP NetWeaver MDM

206

© 2009 SAP AG. All rights reserved.

MDM050

2009

MDM050

Lesson: Workflow

Exercise 6: Workflow Exercise Objectives After completing this exercise, you will be able to: • Define validations and process a workflow job.

Business Example In order to ensure data integrity validations are implemented within your repository, and a workflow has been introduced to manage the process of master data maintenance.

Task 1: Design of the Workflow 1.

The Workflow has been designed as the following. For the Workflow design, the program Visio professional is needed. Because this is not available in the training environment, you can see the screenshot of the design as an explanation of the workflow.

Figure 107: Overall Workflow Design

The workflow starts and is owned by user Charles. The first step is received by user Mike. This user should assign images.

Figure 108: Step Definition - Assign Images

Continued on next page

2009

© 2009 SAP AG. All rights reserved.

207

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Afterwards the workflow runs into a validation step.

Figure 109: Step Definition - Validate Images

Then the workflow is received by user Helen. She is supposed to fill in categories and attributes to the new loaded product information.

Figure 110: Step Definition - Fill Categories

Her entries are being validates by the next validation step.

Figure 111: Step Definition - Validate Attributes

Afterwards user Majorie receives the workflow and is supposed to add all new objects to the appropriate distribution mask.

Figure 112: Step Definition - Mask

Afterwards the owner Charles needs to approve the workflow finally.

Continued on next page

208

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

Figure 113: Step Definition - Approval

As soon as this is done an email will be sent to a fictitious sales rep automatically. Now that the steps of the workflow are clear we can execute the steps of the workflow.

Task 2: Set Validations 1.

Logon to the MDM050_Workflow_{your letter} repository with the Data Manager, with the user Charles (no password). In the workflow there are two Validation steps required: Image Validation and Category Filled? [Workflow_Category] validation.

2.

Set the Image Validation expression to check that an image exists for the selected record. Enter the message text in the start screen of the validation setting: “One or multiple records do not have an image, please check and follow up.” Set the validation to Warning, and Callable.

3.

Select the Category filled? Validation, and set the Expression to check that both the attributes Type and Color are maintained. Enter the message text in the start screen of the validation setting: “One or multiple records do not belong to the correct category and/or do not fulfill the category specific requirements.” Set the validation to Warning, and Callable.

Task 3: Start and Check Workflow 1.

Choose table Workflows in Data Manager Application Check if Workflow is set to Active = “Yes” and Trigger Actions = “Manual”.

2.

Go back to the Main table and sort the records ascending for column Part Number. Select 5 records that start with #usk. Right mouse click on them and select Workflows --> Add to Job --> New Objects to repository The workflow task should now appear in the corresponding part of the screen. Go to the Workflow tab strip select the workflow, right mouse click launch the workflow. The workflow will start now and Mike will receive it. Exit the Data Manager and log on as user Mike. Continued on next page

2009

© 2009 SAP AG. All rights reserved.

209

Unit 2: Data Management in SAP NetWeaver MDM

3.

MDM050

User Mike is supposed to assign images for 5 records. Please go the record mode.

Figure 114: Workflow Execution 1

4.

Highlight the workflow in the Workflow tab. Go to tab strip Record Detail and select only 4 records, and add an image to these records. Send the workflow to the next step – you should receive a validation error. Correct the error, and forward the workflow on to Helen.

5.

Exit the Data Manager and log on with user Helen. Helen is supposed to fill in categories and attributes. Delete the category assigned to the five records, and replace with the category “Workflow_Category”. Add a new Type, like “Industrial Paint”, and some new colours, like “Red” and “Black”. Save the records and forward the workflow on to the next step.

Figure 115: Workflow Execution 2

6.

The Group is owned by user Majorie so please exit the Data Manager with user Helen and log on with user Majorie.

Continued on next page

210

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

Figure 116: Workflow Execution 3

Majorie has received two workflows, because there are two tasks within her assigned group. Create a new mask called “Distribution”, and add all 5 records to this mask. Mark this workflow as done, and then move on to the second workflow task, to mark all records as Active. Once completed, forward the workflow to the approver. 7.

Exit the Data Manager and log on as User Charles.

Figure 117: Workflow Execution 4

Check the records and set the status of the workflow to done. Highlight all records right mouse context menu…. Approve all records singe or all in one. Return to your workflow tab and mark workflow as done. Status will change to complete. An email will be send to the sales representative.

Continued on next page

2009

© 2009 SAP AG. All rights reserved.

211

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 118: Workflow Execution 5

If required the workflow can be deleted from the view. Choose delete. It will get the status trash.

212

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

Solution 6: Workflow Task 1: Design of the Workflow 1.

The Workflow has been designed as the following. For the Workflow design, the program Visio professional is needed. Because this is not available in the training environment, you can see the screenshot of the design as an explanation of the workflow.

Figure 119: Overall Workflow Design

The workflow starts and is owned by user Charles. The first step is received by user Mike. This user should assign images.

Figure 120: Step Definition - Assign Images

Afterwards the workflow runs into a validation step.

Figure 121: Step Definition - Validate Images

Then the workflow is received by user Helen. She is supposed to fill in categories and attributes to the new loaded product information. Continued on next page

2009

© 2009 SAP AG. All rights reserved.

213

Unit 2: Data Management in SAP NetWeaver MDM

MDM050

Figure 122: Step Definition - Fill Categories

Her entries are being validates by the next validation step.

Figure 123: Step Definition - Validate Attributes

Afterwards user Majorie receives the workflow and is supposed to add all new objects to the appropriate distribution mask.

Figure 124: Step Definition - Mask

Afterwards the owner Charles needs to approve the workflow finally.

Figure 125: Step Definition - Approval

As soon as this is done an email will be sent to a fictitious sales rep automatically. Now that the steps of the workflow are clear we can execute the steps of the workflow. Continued on next page

214

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

Task 2: Set Validations 1.

Logon to the MDM050_Workflow_{your letter} repository with the Data Manager, with the user Charles (no password). In the workflow there are two Validation steps required: Image Validation and Category Filled? [Workflow_Category] validation.

2.

Set the Image Validation expression to check that an image exists for the selected record. Enter the message text in the start screen of the validation setting: “One or multiple records do not have an image, please check and follow up.” Set the validation to Warning, and Callable.

3.

a)

Click on the tab Validation. Select the entry Image Validation. Error message: One or multiple records do not have an image, please check and follow up. In the line Automatic “Execution” “Warning” should be selected. In the line “Callable” there should be “Yes” selected.

b)

In the Properties pane click on the button ... in the line Validation to set the Validation Expression.

c)

Click on the button Functions and select “IS_NOT_NULL”. Then click on the button Fields and select Images. Click OK. Press Shift+Enter to save.

Select the Category filled? Validation, and set the Expression to check that both the attributes Type and Color are maintained. Enter the message text in the start screen of the validation setting: “One or multiple records do not belong to the correct category and/or do not fulfill the category specific requirements.” Set the validation to Warning, and Callable. a)

Please go again to the Validation tab strip. Select the validation Category filled? and check the details of the Validation expression. It should say BRANCH(Category). This is the master validation for a validation tree that can include category validations and attributes. Please find the already created branch Category filled? [Workflow_Category] Click on the Validation expression and add the following information using the drop down menu on the right hand side of the validation expression screen. IS_NOT_NULL(Color) AND IS_NOT_NULL(Type) Confirm with OK. Press Shift + Enter

Task 3: Start and Check Workflow 1.

Choose table Workflows in Data Manager Application Check if Workflow is set to Active = “Yes” and Trigger Actions = “Manual”. Continued on next page

2009

© 2009 SAP AG. All rights reserved.

215

Unit 2: Data Management in SAP NetWeaver MDM

2.

MDM050

Go back to the Main table and sort the records ascending for column Part Number. Select 5 records that start with #usk. Right mouse click on them and select Workflows --> Add to Job --> New Objects to repository The workflow task should now appear in the corresponding part of the screen. Go to the Workflow tab strip select the workflow, right mouse click launch the workflow. The workflow will start now and Mike will receive it. Exit the Data Manager and log on as user Mike.

3.

User Mike is supposed to assign images for 5 records. Please go the record mode.

Figure 126: Workflow Execution 1

4.

Highlight the workflow in the Workflow tab. Go to tab strip Record Detail and select only 4 records, and add an image to these records. Send the workflow to the next step – you should receive a validation error. Correct the error, and forward the workflow on to Helen. a)

5.

Go to field Images and double-click it: Choose an arbitrary image. You can get images in the Available images window by selecting data groups the Data Group tab. Press OK and return. You will get a warning message about maintaining multiple records. Click OK to acknowledge the warning. Go to your workflow, right mouse click and select from the context menu Send Next Step. You will get the following message Check your records and correct the one which is indicated wrong. Mark the Workflow and with a right mouse click. You can pass it on to the next recipient using the menu path Send Next –>Fill categories and attributes –>Helen.

Exit the Data Manager and log on with user Helen. Helen is supposed to fill in categories and attributes. Delete the category assigned to the five records, and replace with the category “Workflow_Category”. Add a new Type, like “Industrial Paint”, and some new colours, like “Red” and “Black”. Save the records and forward the workflow on to the next step.

Continued on next page

216

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

Figure 127: Workflow Execution 2

a)

6.

Go to the tab strip Workflow and click on the workflow. Go to tab strip Record Details and choose all 5 records. Delete the existing category, if one exists, and assign the new one – “Workflow_Category”. Select also a new type such as “Industrial Paint” and new colors, such as “black“ and “red”. Save by pressing Shift+Enter. Afterwards go back to tab strip Workflow and send the workflow to the next user.

The Group is owned by user Majorie so please exit the Data Manager with user Helen and log on with user Majorie.

Figure 128: Workflow Execution 3

Majorie has received two workflows, because there are two tasks within her assigned group. Create a new mask called “Distribution”, and add all 5 records to this mask. Mark this workflow as done, and then move on to the second workflow task, to mark all records as Active. Once completed, forward the workflow to the approver. a)

Select Table “Masks” Right click in the Records pane and choose Add Add a new Mask called “Distribution” And save using Shift+Enter. Return to the products table and select all 5 products. With a right mouse click select Add to Mask Distribution. Select the last workflow and set the item status (field) of all 5 records in the record detail view to item status “Active”. Return to Workflow view and forward the workflow to the approver Continued on next page

2009

© 2009 SAP AG. All rights reserved.

217

Unit 2: Data Management in SAP NetWeaver MDM

7.

MDM050

Exit the Data Manager and log on as User Charles.

Figure 129: Workflow Execution 4

Check the records and set the status of the workflow to done. Highlight all records right mouse context menu…. Approve all records singe or all in one. Return to your workflow tab and mark workflow as done. Status will change to complete. An email will be send to the sales representative.

Figure 130: Workflow Execution 5

If required the workflow can be deleted from the view. Choose delete. It will get the status trash.

218

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Workflow

Lesson Summary You should now be able to: • Use workflow to control master data maintenance processes, including the basics of validations

2009

© 2009 SAP AG. All rights reserved.

219

Unit Summary

MDM050

Unit Summary You should now be able to: • Identify the different modes of the MDM Data Manager • Use the various search features available in the MDM Data Manager • Add, delete, duplicate, check in/out and compare records in record mode. • Use the various techniques for maintaining the record details. • Understand the concept and maintenance of tuples. • Work with Masks. • Use Taxonomy mode in the Data Manager to classify master data, and to perform basic Attribute maintenance • Use Matching Mode to create new rules etc., and execute a matching strategy to merge duplicate data in the repository • Use workflow to control master data maintenance processes, including the basics of validations

220

© 2009 SAP AG. All rights reserved.

2009

Unit 3 Other Components of SAP NetWeaver MDM Unit Overview In this unit, participants will get an overview of the other clients provided with MDM, and will perform basic operations with these tools.

Unit Objectives After completing this unit, you will be able to: • • •

Be able to perform basic repository maintenance tasks such and load and unload repositories, and to add a new field to a table in MDM Understand the basic steps involved in performing an import, and to import data to populate both field and attribute data Understand the capabilities of the Syndicator in MDM through a very simple example

Unit Contents Lesson: Console ................................................................222 Exercise 7: Console........................................................249 Lesson: Import Manager .......................................................253 Exercise 8: Import Manager...............................................273 Lesson: Syndicator .............................................................279 Exercise 9: Syndicator .....................................................293

2009

© 2009 SAP AG. All rights reserved.

221

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

Lesson: Console Lesson Overview this lesson covers the use of the Console to manage and maintain repositories. This lesson will also cover important concepts in MDM regarding table and field types.

Lesson Objectives After completing this lesson, you will be able to: •

Be able to perform basic repository maintenance tasks such and load and unload repositories, and to add a new field to a table in MDM

Business Example In order to understand the maintenance of an MDM repository, it is first important to learn about the different types of tables and fields. Then you can use the Console to manage your repository, and to perform structural changes to your repository as required.

MDM Console The MDM Console allows the system manager to administer and monitor MDM Server software; to create and maintain the structure of the repositories; and control access to them. Master data records are not entered or managed within the MDM Console. The MDM Console also provides you with information about the MDM servers and all repositories currently connected to the servers.

Starting and Exiting MDM Console Before you can use the MDM Console, you need to be sure that the SQL DBMS (SQL Server, Oracle, DB2, or MaxDB) is up and running and that the MDM software is already installed on your system. Note: You can run multiple MDM Console sessions on the same computer.

222

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Console

To start MDM Console from either the Desktop or the Start menu: •

From the Desktop, double-click the MDM Console icon (shown at left), or from the Start menu, choose Programs –> SAP MDM –> MDM Console. After a few seconds, the MDM Console main window comes up. Note: Once MDM Console has been started, you may still need to perform some or all of the following additional steps before an MDM repository can be accessed by an MDM client or other clients on the network: 1. 2. 3. 4.

Mount an MDM Server (that is, make it accessible from the Console) Start the MDM Server Create a new MDM Repository or mount an existing (that is, make it accessible from the Console) Load the MDM repository

Figure 131: Mounting the MDM Server

To exit MDM Console: 1.

Click the close button in the upper right corner of the window, or choose File –> Exit from the main menu. Note: If you exit MDM Console without stopping a running MDM Server, the server remains running with its MDM repositories mounted and loaded even without the connection to your MDM Console session.

2.

MDM prompts you to ask if you would like to save the list of mounted servers to an MDM Console Settings file (described in the following section).

Accessing MDM Repositories When the selected node in the Console Hierarchy tree is an MDM Server, the Objects pane (top-right) is titled Repositories and the Object detail pane (bottom-right) is titled Repository Detail. The Repositories pane contains a grid with a list of mounted MDM repositories, where each repository in the list corresponds to a child of the selected MDM Server node; to view a repository’s properties, select the repository from the Repositories pane.

2009

© 2009 SAP AG. All rights reserved.

223

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

MDM Repository Properties Property

Description

Name

The MDM repository name.

Description1 The MDM repository description. DBMS Server

The network ID of the DBMS server that is hosting the repository.

DBMS Type The DBMS brand: • • • • Login

The login name for the DBMS server.

Password2

The password for the DBMS server.

Port1

The TCP/IP port number on which to connect to the repository.

Type1

The MDM repository type: • • • •

224

Normal Master Slave Publication Slave

Languages

The languages supported by the MDM repository.

Status3

The MDM repository status: • • • • • • • • • • • •

1

SQL Server Oracle DB2 MaxDB

Disconnected Unloaded Loading Loaded Running Remotely Outdated Newer than MDM Server Archiving Unarchiving Duplicating Invalid Busy

Hidden by default in the Repositories pane; unhide to display.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Console

2

Not visible in either the Repositories or Repository Detail panes.

3

Not visible in the Repository Detail pane.

In order to make an existing MDM repository visible to your MDM Console session, you must first mount it. Once mounted, you can see the repository’s current type and state and perform a number of administrative functions on it. The type and current state of mounted repositories are indicated in the Repositories pane and by the icon used to represent the repository in the Console Hierarchy tree.

Figure 132: Repository States

Mounting and Unmounting an MDM Repository Mount an existing MDM repository in order to access it from an MDM Server. If your organization has more than one MDM repository, you only need to mount those that are of interest to you. Note: An MDM repository can exist on any machine on the network to which you have access to the underlying SQL Server, Oracle, DB2, or MaxDB DBMS, and any MDM Server on the network can access and control access to each MDM repository. Each MDM Server maintains a list of currently mounted MDM repositories that persists even after the server is stopped and then restarted. When you mount and connect to an MDM Server that is already running, you will automatically see from your MDM Console all of the MDM repositories that have already been mounted on that MDM Server by any other MDM Console (including your own MDM Console during a previous session). Mounting an MDM repository is a password-protected operation which requires you to enter the password for the MDM Server, if you have not already done so during the current MDM session.

2009

© 2009 SAP AG. All rights reserved.

225

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

To mount an existing MDM repository: 1.

2. 3. 4. 5. 6. 7. 8. 9.

In the Console Hierarchy tree, right-click on the MDM Server and choose Mount Repository from the context menu, or select the tree node and choose Repositories > Mount from the main menu. MDM opens the Mount MDM Repository dialog with the DBMS Name, Login, and Password fields enabled. Select the DBMS Server to which you want to connect from the dropdown list. Enter the appropriate DBMS login (which must have system administrator privileges) and password for the selected DBMS Server and click Next. MDM disables the DBMS Server, Login, and Password fields and enables the Repository Name and Port fields. Select the MDM repository you want to mount from the drop-down list. If necessary, edit the TCP/IP port number in the Port text box. Click Finish to mount the MDM repository. MDM adds a node for the MDM repository to the Console Hierarchy tree as a child of the MDM Server. The repository status icon (shown at left) displays a gray lock to indicate that a connection to repository has not yet been established.

Figure 133: Mounting a Repository

Connecting to and Disconnecting from an MDM Repository Once you have mounted an MDM repository, you must connect to it before any further repository operations can be performed.

226

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Console

To connect to a disconnected MDM Repository (gray lock): 1.

2. 3. 4.

In the Console Hierarchy tree, right-click on the MDM repository to which you want to connect and choose Connect to Repository from the context menu, or select the tree node and choose Repositories –> Connect to Repository from the main menu. MDM opens the Repository Login dialog. Enter your MDM user name and password for the selected repository and click OK. Once you are connected to the repository, MDM changes the repository’s icon in the Console Hierarchy tree to reflect is current type and state. MDM also populates the Tables and Table Detail panes with table information for the MDM repository.

Figure 134: Connecting to a Repository

To disconnect from an MDM Repository: 1.

2.

In the Console Hierarchy tree, right-click on the MDM repository from which you want to disconnect and choose Disconnect from Repository from the context menu, or select the tree node and choose Repositories –> Disconnect from Repository from the main menu. MDM changes the repository status icon to a gray lock to indicate that the repository is now disconnected from the Console.

Loading and Unloading an MDM Repository Once you have mounted and connected to an MDM repository, it must next be loaded before it can be accessed by clients on the network. Note: An MDM repository can be simultaneously mounted by multiple MDM Servers. When you load the MDM repository on a particular MDM Server, it then becomes inaccessible to all other MDM Servers that have it mounted. Note: The structure of an MDM repository cannot be modified through MDM Console while the repository is loaded. Hint: If you want to modify the structure of an MDM repository while preserving access to the current version, you can duplicate the repository and give it a new name, or use the same name and move it to another DBMS machine.

2009

© 2009 SAP AG. All rights reserved.

227

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

To load an unloaded MDM repository (red square): 1.

2.

In the Console Hierarchy tree, right-click on the MDM repository you want to load and choose Load Repository from the context menu, or select the tree node and choose Repositories from the main menu. Choose whether to load the repository immediately or to update indices first. Note: When you choose Immediate, MDM automatically updates indices that it knows to be out of date as a result of changes you make to the MDM repository data through the MDM Data Manager. However, when the structure of the repository has been modified through MDM Console, MDM cannot know precisely which indices need to be updated. In these cases, you should choose Update Indices rather than Immediate when you load the repository.

3.

4.

228

MDM loads the MDM repository. While the repository is being loaded, MDM changes the repository status icon (shown at left) to a blue arrow, and reports the progress of the load in the Status field for the repository in the Repositories pane. When the loading process is complete, MDM changes the repository status icon (shown at left) to a green triangle to indicate that the MDM repository is loaded.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Console

To unload a loaded MDM repository (green triangle): 1.

2.

In the Console Hierarchy tree, right-click on the MDM repository you want to unload and choose Unload Repository from the context menu, or select the tree node and choose Repositories –> Unload from the main menu. Choose how to long to wait before unloading the MDM repository from the cascading menu: • • • •

Immediate 1 Minute 2 Minutes 5 Minutes Note: The non-Immediate choices allow users of MDM client applications time to finish using the MDM repository and exit before the repository is unloaded and no longer available. With the delayed options, each client application receives text messages at five, two, and one minute before shutdown. When a delayed unload option is selected, the repository state changes to Unload scheduled and a red square is added to the repository status icon (shown at left).

3.

After the selected wait time, MDM unloads the MDM repository and changes the repository status icon to a red square. Hint: It is usually faster with a large MDM repository to simply stop the MDM Server than to unload the repository, although the Unload command is clearly necessary if two or more repositories are loaded and you want to unload just one of them. Note: Once an MDM repository is unloaded: (1) the MDM Server will no longer serve the repository’s data to any client; (2) any MDM Clients using the repository will be automatically shut down (the delayed options give the MDM Client users warning that this is about to occur); and (3) MDM Client attempts to connect to it will fail with the message “The MDM repository is not loaded”.

Structure of the MDM Repository You will want a repository design that optimizes ease of maintenance (for you)and ease of searching (for your customers). Increased granularity and structure of the data will make it easier to maintain the repository; well thought-out categories and attributes will make it easier to search it. Planning the structure of an MDM repository starts with knowing all of the different kinds of information available in your product database (for example) that describe the products to your customers. The total range of information needs

2009

© 2009 SAP AG. All rights reserved.

229

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

to be separated into that which applies to: (1) all product records, regardless of product category; and (2) only certain categories of products. For example, in an MDM repository that contains both tools and furniture, some types of information will apply to all products, such as item number, manufacturer, price, package quantity, and so on. However, much of the information about tools will not apply to furniture, and vice-versa. Information common to all product records will become the fields of the main table in the repository, while category-specific information will be stored in the category-specific attributes. The initial steps of designing an MDM repository typically include the following: • • • • •

Decide which types of records will be stored in the repository’s main table(s). List all the fields to be included in the repository. Decide what type of data each field will contain. Decide which data can be stored in lookup tables or tuples. Describe the taxonomy of product categories and the attributes needed to define the categories.

Remember that the MDM data model is supported by a variety of different table types: main, flat, hierarchy, taxonomy and qualified flat tables and various object and special tables. Once you have determined the fields of the main table and the attributes of the taxonomy table (which can be defined later and continuously refined over time), you must then determine the set of additional “support” tables you will need, including flat, hierarchy, taxonomy, and qualified lookup tables, along with object tables and tuple definitions.

Delivered Repositories Many of the decisions above can be simplified by the use of delivered repositories. SAP NetWeaver MDM is delivered with a number of predefined repositories. repositories are available for: • • • • • •

230

Business Partner (SAP Note 1035773) Product (SAP Note 1252846) Customer (SAP Note 1252884) Employee (SAP Note 1268212) Material (SAP Note 1255401) Vendor (SAP Note 1252883)

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Console

The delivered content includes: • • • •

• •

MDM Repository files Predefined repository structure Predefined users and roles Some predefined lookup tables (for instance, with Business Partner, predefined values for “Address Usages” lookup, and “Categories”taxonomy lookup) Predefined validations, matching strategies and workflows Predefined import and syndication content

The use of this delivered content can dramatically reduce implementation times for SAP NetWeaver MDM, by acting as a starting point for data modelling exercises.

Multiple Main Tables Previous versions of MDM allowed each repository to have just a single main table. This meant that multiple repositories were necessary to store multiple objects, where each repository contained its own duplicate copy of common reference data and it was difficult if not impossible to link records across repositories.

Figure 135: Single Main Table per Repository

By contrast, MDM 7.1 allows each repository to contain as many main tables as necessary, so that multiple business objects (e.g. Suppliers and Products) can reside in a single repository. Using multiple main tables within a single repository has two primary benefits: • •

2009

Shared reference data. Business objects can share access to common lookup data (e.g. Customers + Suppliers –>Countries). Object cross references. Business objects can reference each other using a Lookup [Main] field type (e.g. Customers –> Suppliers).

© 2009 SAP AG. All rights reserved.

231

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

Figure 136: Multiple Main Tables in a Single Repository

Note: Multiple main tables – and the corresponding ability to store data about multiple objects within a single repository – eliminates an entire class of “phantom” MDM requirements around the challenges of cross-repository integration, including cross-repository references, validations, and exchange of common reference data.

Lookup [Main] Field Type Recall that previous versions of MDM allows you to define lookups from any table into lookup subtables, but not into the main table. By contrast, MDM 7.1 includes a new field type called Lookup [Main] that allows you to lookup data from a main table into another main table. This has several benefits: • •

Object cross references. Coupled with multiple main tables, objects can now reference each other (e.g. Customers –>Suppliers). Object self-references. Objects can also recursively reference themselves (e.g. Employees –> Employees). Note: Lookup [Main] fields are like Lookup [Flat] references to lookup subtables, but without pick lists for data entry and search (since the number of records in a main table is likely to be substantially greater than the number of records in a lookup table). Note: Lookup [Main] fields are like parent/child relationships to non-lookup subtables, but unidirectional rather than bidirectional and without the navigation.

Flat and Hierarchy Lookup Tables A lookup table is used to store values that are shared by many records in other tables, and also to act as a valid table that defines the set of allowed values of the corresponding lookup field for data entry and search. For example, a single manufacturer is typically associated with many product records. By storing manufacturer data in a lookup table, you can edit the single copy of a manufacturer’s data to immediately update all records that reference it. At the

232

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Console

same time, by defining a lookup field into the manufacturers table, you can constrain the set of allowed values of the lookup field to the corresponding set of values for manufacturer in the manufacturers table. For simple lookup tables, you need to decide whether the lookup values should be stored in a flat table or a hierarchical table, and what subtable fields are needed to store the additional information about each subtable record. For example, the Manufacturer field in the Products table typically should be a lookup field, with the Manufacturer data stored in a lookup table. Furthermore, the Manufacturers lookup table should be hierarchical if, for example, you need to accommodate company divisions. Hint: SAP recommends using the singular for lookup field names (“Manufacturer”) and the plural for table names (“Manufacturers”). Hint: A hierarchy lookup table is useful even when it is flat (i.e. only leaf nodes below the root), because it stores the ordered sequence of sibling records, allowing you to override the unordered sequence of values in a flat table and instead put the values in a fixed order. Hint: For proper organization of the records within an MDM repository, a hierarchy lookup field can normally be assigned only to the value of a leaf node in the hierarchy. Note: MDM supports hierarchies with unlimited number of parent/child levels.

Taxonomy Lookup Tables Product categories and subcategories, along with the attributes associated with them, are represented in an MDM repository as a hierarchy in a taxonomy table. A taxonomy table is a special kind of lookup table that provides support not only for a hierarchy of category and subcategory records, but also for category-specific attributes that can be assigned to each category on a category-by-category basis. By convention MDM often refers to this table as the Categories table. Every product should belong to a category. Note: A product can belong to at most one leaf-node category.

2009

© 2009 SAP AG. All rights reserved.

233

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

Whereas the taxonomy table itself and the fields of each of its records are created and defined in MDM Console, remember that the hierarchy of product categories and their associated category-specific attributes are created and managed using the MDM Data Manager in Taxonomy mode. Note: MDM supports multiple simultaneous taxonomies within a single MDM repository. Hint: For proper organization of the records within an MDM repository, a taxonomy lookup field can normally be assigned only to the value of a leaf node in the hierarchy.

Qualified Lookup Tables A qualified table is a special kind of lookup table that is extremely versatile. It can be used to efficiently store complex relationships between a main table product record and one or more lookup table records that contain various types of additional information. A qualified table stores a set of lookup records, and also supports qualifiers, database “subfields” that apply not to the qualified table record by itself, but rather to each association of a qualified table record with a main table record. Note: An MDM repository can have multiple qualified tables. Qualified tables offer self-configuring, out-of-the-box support for: • • • •

Multiple prices (including quantity price breaks) Cross-reference part numbers Other distributor-, supplier-, and customer-specific information Product applications for application-based search

Each of the different uses of a qualified table is described in the following sections.

Multiple Prices and Cross-Reference Part Numbers When might you use a qualified lookup table? A normal flat or hierarchy lookup table is effective for a single multi-valued lookup field when: (1) the lookup table contains a relatively small number of records compared to the main table; and (2) the lookup table records themselves are standard for every main table record and represent a predefined and relatively fixed set of lookup values, such as a lookup into a list of allowed manufacturer names. However, a qualified table is necessary when the number of lookup table records would otherwise be very large, because each main table record is related not just to the predefined lookup values of the lookup table records but also to one or

234

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Console

more additional fields of information that are different for every main table record (such as quantity price breaks, multiple prices for different divisions, regions, or trading partners, or cross-reference part numbers for different distributors or contract customers). In these cases, the fields whose values are different for each main table record should be defined as qualifier fields of the qualified table; the qualified table will then contain an actual record for each of the predefined lookup values or value combinations (such as distributor, contract customer, division, region, or trading partner). Note: A qualified table used for multiple prices, cross-reference part numbers, or other distributor-specific information usually contains few, if any, lookup fields and multiple qualifiers. Note: Qualified table records also provide a way to store additional distributor/supplier/customer-specific information for each of multiple distributors/suppliers/customers for each main table record. Note: In practice, the use of qualifiers and a qualified table instead of normal fields and a subtable keeps the number of actual records in the qualified table very small, but since every link between a main table record and an instance of a qualified table record contains additional information, the number of qualified link table records necessary to store the additional information is very large, often larger than the number of records in the main table itself. When used for multiple prices or cross reference part numbers, qualified tables and qualifiers allow you to store a massive amount of potentially sparse data, by eliminating n fields from the main table and replacing them with a single qualified lookup field into a qualified table that has n corresponding records and one or more qualifiers. For example, n price fields, one for each distributor or quantity price break (or worse, each distributor / quantity price break combination) can be replaced with n qualified table records, one for each distributor / quantity price combination, and a qualifier for the price. Consider first the main table of product records that contains sparse quantity pricing data for each product.

Figure 137: Sparse Pricing Data

Using a qualifier to store the quantity pricing data, the qualified table would have a single field Quantity and a single qualifier Price, and would contain quantity records.

2009

© 2009 SAP AG. All rights reserved.

235

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

Figure 138: Qualified Table

A qualified lookup field in the main table would replace all of the quantity price fields, and the pricing data would be stored as qualifier values associated with main table / qualified table links.

Figure 139: Qualified Lookup Data

Note: A main table / qualified table link is created only for those product/quantity combinations for which a price value actually exists. Using qualifiers to distinguish between different uses of the same unqualified application: (1) eliminates the need to enumerate every distinct value combination of fields and qualifiers taken together; (2) in so doing, dramatically reduces the number of distinct records in the qualified table, making it more useful as a valid table of allowed lookup values; and (3) avoids a tremendous amount of data duplication, especially when rich content (such as images, text blocks, and PDFs) is added to each qualified table record. This innovative data model has the following advantages: (1) it completely eliminates all duplication of both product data and application data typical of previous systems; (2) it efficiently enforces validation against the table of qualified table records; (3) it dramatically reduces memory and storage requirements; and (4) it is radically more efficient for maintenance and searching. For example, an automotive parts catalog that historically contained over twenty million application records is represented within an MDM repository with just over one million part records and forty thousand vehicle specification records.

236

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Console

Valid Tables and Nested Lookups-Within-Lookups Each of the flat, hierarchy, taxonomy, and qualified lookup table types acts as a valid table that defines the set of allowed values of the corresponding lookup field for data entry and search. Moreover, lookup fields can appear not only in the main table but also within the lookup tables themselves, such as when the Manufacturer field in the main table is a lookup into the Manufacturers table of allowed manufacturer names, and the State field in the Manufacturers table is in turn a lookup into the States table of allowed two-letter state abbreviations. Note: Recall that each lookup field in the main table can appear in MDM Data Manager as a search tab in the Search Parameters pane in Record mode, and that each nested lookup field in a lookup table appears within the search tab for the main table lookup field, for multilevel search-within-a-search. A lookup field with just a single nested lookup that is the only display field does not require multi-level search-within-a-search (since the set of nested lookup values and the set of lookup values is identical) and allows you to use a single nested lookup table to contain the shared set of allowed values for more than one lookup field. A data entry validation problem arises when the main table contains multiple lookup fields that are related and must be restricted to specific value combinations, since the allowed value lists offered by individual lookup fields cannot enforce the selection of allowed value combinations across the multiple lookup fields. A more serious problem – one of inaccurate data representation within the repository rather than simply inadequate data entry validation – arises when the main table contains multiple multi-valued lookup fields, since even with careful data entry to avoid the validation problem, each main table record will define all of the value combinations among the multiple values of each of the multiple lookup fields rather than specific value combinations. In both cases, the solution is to: (1) make each of the multiple lookup fields of the main table a single-valued lookup field of a lookup table, which becomes the valid table whose records will define each valid combination of values for the multiple lookup fields; (2) make each of the lookup table lookup fields a display field; and (3) create a single corresponding lookup field into the lookup table in the main table. Each individual value combination represented by a record of the lookup table can then be explicitly selected as a value for the main table lookup field during data entry, eliminating both the data entry validation problem and, when the main table lookup field is multi-valued, the data representation problem as well.

2009

© 2009 SAP AG. All rights reserved.

237

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

Lookup and Non-Lookup Tables All lookup tables in an MDM repository are subtables, but not all subtables are used as lookup tables. There are a number of subtle differences among the different types of lookup tables, as well as subtables that are not used for lookups, as described below: •



Flat, hierarchy, or taxonomy lookup tables. A flat, hierarchy, or taxonomy lookup table typically contains a relatively small number of lookup records compared to the number of main table records. It is used as a valid table that facilitates data entry and drilldown search, where each lookup table record represents a valid lookup value from which the user can select directly, and the list of lookup values can be limited by main table search results. A flat, hierarchy, or taxonomy lookup table provides full validation against lookup table values and records, since all of the subtable information is stored in the records of the lookup table. The relationship between main table records and flat, hierarchy, or taxonomy lookup table records is typically many-to-one (or perhaps many-to-few, if the lookup field is multi-valued). Qualified lookup tables. A qualified lookup table typically contains a much larger number of lookup records compared to a flat, hierarchy, or taxonomy lookup table, but still much smaller than the number of main table records. It too is used as a valid table that facilitates data entry and drilldown search, where each lookup table record often represents a valid combination of nested lookup values from which the user can select directly, or indirectly using the multi-level search-within-a-search of a qualified lookup search tab; however, a qualified table provides only partial validation against lookup table values and records, since some of the subtable information is stored as qualifiers. The relationship between main table records and qualified table records is typically many-to-many. Note: Unlike the number of qualified table records, the number of qualified link table records (where each record corresponds to a main table record / qualified table record link) is typically much larger than the number of main table records, and the relationship between qualified table records and qualified link table records is one-to-many. The use of qualifiers creates a two-level relationship (from main table to qualified table to qualified link table) that eliminates data duplication and dramatically reduces the number of qualified table records, making the qualified table more usable as a searchable lookup table.



238

Non-lookup subtables. A flat or hierarchy subtable that is not used as a lookup table but rather as the subtable in a parent/child product relationship (e.g. for the parts records in a “kits and parts” product relationship or for cross-reference part numbers) typically contains a much larger number of records than the main table, and a typical subtable record is referenced only once. The subtable does not define valid lookup values for data entry, is too large to facilitate drilldown search, and its values do not need to

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Console

be limited by the main table search results; instead, it is typically used to establish the traditional one-to-many relationship between main table records and subtable records (or alternatively, a one-to-many relationship between subtable records and main table records if the parent/child relationship is from subtable to main table).

Fields vs. Attributes - A Comparison A main table field is created in MDM Console and applies to all of the records in an MDM repository. By contrast, an attribute is created and linked in the MDM Data Manager in Taxonomy mode and applies just to record in categories to which the attribute is linked. A Comparison of Fields and Attributes

2009

Fields

Attributes

Created in MDM Console.

Created in the MDM Data Manager in Taxonomy mode.

Represents a schema change, so the MDM repository must be unloaded to add a field.

Does not represent a schema change; the MDM repository must be loaded to link an attribute.

Category-independent; applies to all main table records.

Category-specific; applies just to main table Records in categories to which the attribute is linked; cannot be linked to the taxonomy root.

Fields appear in schema order and cannot be hidden in the Record Detail tab.

Attributes appear in priority order in the Record Detail tab – and can be hidden entirely – on a per category basis based on the link priority.

Included in both the Records grid and Record Detail tab; always of interest even with large record sets.

Not included in Records grid; included in Record Detail tab only for the selected records; generally of interest only when you select a single or several main table records.

Text field; used to permit data entry of a unique value for each record.

No corresponding attribute type that permits entry of a unique value for each record.

Lookup field into a flat table; pick list forces user to choose from a set of specific lookup values during data entry.

Text attribute (like a “mini” lookup table); pick List forces user to choose from a set of specific text values during data entry.

© 2009 SAP AG. All rights reserved.

239

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

The lookup table record corresponding Each text value consists of: (1) a to each lookup value can contain any fixed-width Text field for the text number of user-defined fields. value itself; (2) a Text Large field for the text value description; and (3) a single-valued Image field for the text value image. Supports both drilldown search and free-form search.

Supports drilldown search; does not support freeform search.

Supports both numeric and measurement field.

Numeric attribute with or without a dimension.

No field type for representing two-dimensional data.

Coupled numeric attribute; used for representing two dimensional data.

Hint: From a design standpoint, sparsity of data is less important than whether the data item applies to all main table records (should be a field) or just some subset (should be an attribute). For example, you may not have a Weight value for every product, but weight certainly applies to every product and therefore should most likely be a field.

Working with Tables and Fields The following sections describe the various operations for changing the structure of an MDM repository, such as adding, modifying, and deleting tables and fields. Repository Structure Operations Operation

Description

Add Table

Adds a new table to the MDM repository.

Delete Table

Permanently deletes a table from the MDM repository.

Add Field

Adds a new field to the table.

Delete Field

Permanently deletes a field from the table.

Reorder Fields

Changes the display order of the fields of the table.

Note: You can only change the structure of an MDM repository that is mounted and unloaded. It is strongly recommended that you duplicate or backup an MDM repository prior to changing its structure. Adding or deleting tables and fields causes the MDM repository to automatically update its indices the next time it is loaded.

240

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Console

Working with Tables When the selected node in the Console Hierarchy tree is an MDM repository, the objects pane (top-right) is titled Tables and the detail pane (bottom-right) is titled Table Detail. The Tables pane contains a grid with a list of tables in the MDM repository, where each table in the list corresponds to a child of the selected repository node. Table Properties Property

Description and Constraints

Name

The unique name for the table. •

The object, special, and system table names are reserved

Code

The unique code for the table.

Description

The table description.

Type

The table type. • • •

Once a table is saved, its Type cannot be changed All the object tables and all the special tables are added automatically when you first create a new MDM repository An MDM repository can have at most a single instance of each object, special, and system table type

Display Field The field whose value is used as: (1) the value of a lookup field; (2) the node name in hierarchy trees; and (3) the name of the record in the Product Relationships popup window. Not available for the object tables or special tables Unique Fields

The fields that must contain unique values, or the field combinations whose combined values must be unique. Not available for the object tables or special tables

Key Mapping

Whether to maintain key mapping for the table (Yes/No)?

Hide Table

Whether to hide the table from client applications (Yes/No)? Available on Masks, Named Searches, and user-created Tables

Hint: There is no explicit command to modify a table. To modify a table, select it in the Tables pane, move the focus into the Table Detail pane, and edit those properties that can be changed for the field.

2009

© 2009 SAP AG. All rights reserved.

241

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

Display Fields A Display Field for a table is a field whose value is used as: (1) the corresponding lookup field value for each record; (2) the node name for the record in hierarchy trees; and (3) the name of the record in the Product Relationships popup window. When a table has multiple display fields, the value that is used for each record is the value combination among the display fields, with each pair of values separated by a comma (,). Note: Object tables and special tables don’t have Display Fields. Every MDM table type that has a display field: (1) must have at least one display field; and (2) permits multiple display fields. For example, in a hierarchy table named Manufacturers, you might select the Company Name field as the Display Field. The value of Company Name will then be used as the value for any lookup field into the Manufacturers table, as well as the value of the tree node that corresponds to each Manufacturers record. Note: MDM uses one of the display field(s) as the primary display field for various record operations Valid data types for Display Fields are AutoID, Integer, Real, Text, Text Normalized, Lookup [Flat], Lookup [Hierarchy], and Lookup [Taxonomy].

Unique Fields A Unique Field for a table is a field that must contain a unique value for each record, or in the case of a Unique Field combination, the field combinations whose combined values must be unique for each record. For example, in the main Products table, SKU and UPC might each be a Unique Field, and the combination of Manufacturer and Part Number might be a Unique Field combination. Note: Object tables and special tables don’t have Unique Fields. The uniqueness test is case-insensitive. For example, the values “ABC-123” and “abc-123” would be considered the same by MDM. Even though a unique field generally prevents more than one record from having the same value (or value combination in the case of a unique field combination), multiple records are permitted to have the value NULL for the unique field. The reason for this is that while unique fields are used to distinguish between multiple

242

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Console

records, a unique field with the value NULL means the record has not yet been fully defined, and therefore should not conflict with other records that are also not yet fully defined. Note: MDM indicates the Unique Fields in the Fields pane by placing the numeric value of the unique field in square brackets ([]) in the UF column for the applicable fields. Combined fields will have the same numeric value. Hint: If the top-right pane is currently displaying the list of Fields, you can also click on a field in the grid and change its status as a Unique Field by changing its Unique Field property between Yes and No in the Field Detail pane.

Adding and Deleting Tables An MDM repository can include any number of main or subtables. You can add and delete tables as described in this section. To add a new table to an MDM repository: 1. 2.

3. 4. 5.

In the Console Hierarchy tree, select the MDM repository to which you want to add a table. Right-click in the Tables pane and choose Add Table from the context menu, or click the Add Table toolbar button (shown at left), or press Ins, or choose Tables –> Add from the main menu. MDM adds a table named “New Table” at the end of the table list, and places you into the Table Detail pane to specify the properties of the new table. Specify the applicable properties. To save the table, right-click on the Table Detail pane and choose Save Table from the context menu, or press Shift+Enter. Note: When you first create a table (other than an object or special table), MDM automatically: (1) creates a Name field of type Text; and (2) makes it the Display Field for the table. Hint: Two tables cannot have the same name or the same code. If a table named “New Table” already exists, MDM automatically names the new table “New Table (n)” (where ‘n’ is the first available numeric value that will avoid a conflict).

Deleting Tables If you no longer expect to use a table to store information, you can delete it from the list of tables. Caution: Deleting a table is not reversible.

2009

© 2009 SAP AG. All rights reserved.

243

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

To permanently delete a table from the current MDM repository: 1.

2. 3.

In the Tables pane, right-click on the table to be deleted and choose Delete from the context menu, or select the field and click the Delete Field toolbar button (shown at left), or press Del, or choose Tables –> Delete from the main menu. MDM prompts you to confirm that you really want to delete the table. Click Yes to permanently delete the table from the MDM repository. MDM deletes the table. Note: You cannot delete the main table of an MDM repository.

Working with Fields To view or modify fields on a specific table, select the table in the Console Hierarchy tree. The fields for that table appear in the top-right pane, which is titled Fields. Select a field from the Fields pane to display its properties on the bottom-right pane, which is titled Field Detail.

Field Properties Field properties which are common to all field types are always visible in the Field Detail pane. Other, type-specific properties are visible in the Field Detail pane only when their corresponding field type is selected in the Type property. Field properties can be editable, read-only, or disabled, depending on the field type and, in some cases, the values set for other properties. Also, some properties can only be set when a field is created.

Required Fields The Required field property can be used in conjunction with validations to ensure that a field contains a value. To use this property, add the function REQUIRED_FIELDS() to a validation expression. When the validation is performed, this function automatically checks whether required fields (fields with the Required property set to Yes) have values

Normalised Fields A normalized field is a special type of fixed-width text field in which certain delimiter characters (i.e. all non-alphanumeric characters) are ignored for the purposes of searching and sorting. A normalized field (Type=Text Normalized) should be used instead of a fixed-width text field when its contents will contain values that differ in certain delimiter characters only, but should be considered equal for the purpose of searching and sorting. For example, “pn-157” and p/n.157” may be different ways

244

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Console

to represent the same value. Ignoring the delimiter characters (‘-‘, ‘/’, and ‘.’) causes these values to both be “pn157” for searching purposes and to compare as equal. Note: Keyword fields cannot be normalized.

Sort-Indexed Fields The Sort Index field property makes a field sortable in the Records grid of the MDM Data Manager and through the API. It accelerates free-form search for the equals and starts with Text operators, and for the =, = numeric operators. It also greatly improves matching speed on Equals matches in the Data Manager’s Matching mode. However, MDM spends extra memory and processing to maintain the sort index, which can dramatically slow down updates and imports on larger repositories. To improve system performance – or if you don’t think you will need to sort on a particular field – do not make it sortable. Note: Turning off sort-indexing for fields in Lookup [Flat] tables can improve MDM performance, especially when loading a repository. Some field types are not sortable. These will always have the property set to None and the property will be disabled.

Keyword Fields The Keyword field property indicates whether or not a field’s contents are included in the MDM repository’s built-in keyword search index. This index is used to match words entered in an MDM application’s keyword search parameter to records in the current table. When users perform a keyword search, MDM uses the Inxight stemming engine to extract the stems of their search words. This allows MDM to match the searched-for keyword to records containing the same stem as the search word but having different suffixes. For example, a keyword search for the word “walking” will match records containing the keywords “walks” and “walked” in the table’s keyword-indexed fields, since the search word and all of the keywords have the same stem, “walk.” Be aware that it is neither necessary nor recommended to keyword every field on the table. Rather, keyword only those fields which use a small set of unique words across all records (or small relative to the total number of records). A Description field is an example of such a field; even though the total number of words used across all records will be large, the number of distinct words will likely be small. By contrast, you should not keyword a Part Number field because it is likely to contain a different value for every record.

2009

© 2009 SAP AG. All rights reserved.

245

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

Also, you should not keyword fields which contain information that is so generic that a keyword search returns too many records to be useful. Note: You can use the Keyword property to keyword a PDF lookup field, which adds the contents of PDFs to the keyword index! Keyword-indexing a field greatly improves the speed of Token Equals matches on that field in the Data Manager’s Matching mode. Keyword stemming is available on a language-specific basis for English and other Western and Eastern languages.

Adding and Modifying Fields A normal MDM table can include any number of fields. You can add a field to a table and modify the properties of existing fields as described in this section. Since the different field types have different properties that define them, the steps for adding and modifying a field differ slightly depending on the type. To add a new field to a table: 1. 2.

3. 4. 5.

In the Console Hierarchy tree, select the table to which you want to add a field. Right-click in the Fields pane and choose Add Field from the context menu, or click the Add Field toolbar button (shown at left), or press Ins, or choose Fields –> Add from the main menu. MDM adds a field named “New Field” at the end of the field list, and places you into the Field Detail pane to specify the properties of the new field. Specify the applicable properties of the new field. To save the field, right-click on the Field Detail pane and choose Save Field from the context menu, or press Shift+Enter. Note: When you first create a table (other than an object table), MDM automatically: (1) creates a Name field of type Text; and (2) makes it the Display Field for the table.

Two fields cannot have the same name or the same code. If a field named “New Field” already exists, MDM automatically names the new field “New Field (n)” (where ‘n’ is the first available numeric value that will avoid a conflict). When you create any kind of lookup field, MDM automatically creates implicit primary key and foreign key matching fields within each of the two tables (the table that contains the lookup field and the lookup table itself), defining the many-to-one “join” relationship and maintaining referential integrity behind the scenes. The matching fields are hidden, while the value of the lookup field is the value(s) of the display field(s) of the lookup table record. When you add a lookup field to a table before you have added the target lookup table to the MDM repository, MDM provides an opportunity to create a new lookup table of the corresponding type as part of adding the new field. The

246

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Console

drop-down list for the Lookup Table property always includes an entry “[New type Table]” (where “type” is the lookup table type), and if you select it, MDM automatically creates a table of the corresponding type. If you add an object lookup field (e.g. Lookup [Image]) and the corresponding object table (e.g. Images) does not already exist, MDM automatically creates the object table as part of adding the new field.

Reordering Fields It may be useful to change the position (i.e. the display order) of fields in a table to facilitate record editing in the MDM Client application. The position of a field in a table is shown in the Pos. column of the Fields pane.

Figure 140: Field Position

To change the display order of fields in a table: 1. 2. 3. 4. 5.

In the Console Hierarchy tree, select the table whose fields you want to reorder. Right-click in the Fields grid and choose Reorder from the context menu, or choose Fields –> Reorder from the main menu. MDM opens the Reorder Field Positions dialog. Select one or more fields and drag them to the desired positions in the list Click OK to close the dialog.

Figure 141: Reordering Fields

2009

© 2009 SAP AG. All rights reserved.

247

Unit 3: Other Components of SAP NetWeaver MDM

248

© 2009 SAP AG. All rights reserved.

MDM050

2009

MDM050

Lesson: Console

Exercise 7: Console Exercise Objectives After completing this exercise, you will be able to: • Perform simple repository maintenance functions.

Business Example As requirements evolve, so to will the structure of your repository. Using the MDM Console you can make structural changes to your repository to reflect these evolving business requirements.

Task: In this exercise we will be working with the MDM050_Material_{your letter} repository. 1.

Open the MDM Console, mount the MDM server, and connect to your repository. If the repository is loaded, please unload the repository before proceeding further.

2.

Add a new Main table called Suppliers, and ensure that Key Mapping is enabled on this new table.

3.

Within the Suppliers table add new text fields for URL (length 50), Contact person (length 50), and Phone number (length 12). Also add a lookup field for Country. Note: Please be careful to select the correct field type before you save the record. If you mistakenly create the field with the wrong type, this cannot be changed. If this happens, please delete your field, and start again.

2009

4.

Add a new field in the Products main table to link it to the Suppliers main table.

5.

Load your repository.

© 2009 SAP AG. All rights reserved.

249

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

Solution 7: Console Task: In this exercise we will be working with the MDM050_Material_{your letter} repository. 1.

Open the MDM Console, mount the MDM server, and connect to your repository. If the repository is loaded, please unload the repository before proceeding further. a)

2.

Once the Console is open, right click on the text “SAP MDM Servers”, and from the context menu select Mount MDM Server. In the dialog that appears, type in localhost, and click OK. A new entry for localhost should appear. Under this you should see a hierarchy of entries, including the repository MDM050_Material_{your letter}. You will notice a padlock icon over the repository. Right click on your repository, and from the context menu choose Connect to Repository. In the dialog that appears, enter the user Admin, with no password, and click OK. Your repository structure should now be available. If your repository is running, right click on your repository and select from the context menu Unload Repository –>Immediate.

Add a new Main table called Suppliers, and ensure that Key Mapping is enabled on this new table. a)

Select your repository in the repository hierarchy, and you should see a list of tables in the top of the main screen. Right click in the list of tables, and select from the context menu Add Table. Set Name and Code to Suppliers, and type to Main. Set the property Key Mapping is set to Yes. Press Shift+Enter to save.

Continued on next page

250

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Console

3.

Within the Suppliers table add new text fields for URL (length 50), Contact person (length 50), and Phone number (length 12). Also add a lookup field for Country. Note: Please be careful to select the correct field type before you save the record. If you mistakenly create the field with the wrong type, this cannot be changed. If this happens, please delete your field, and start again. a)

4.

Add a new field in the Products main table to link it to the Suppliers main table. a)

5.

2009

In the repository hierarchy, expand the node by your repository to display the list of tables. Select the table Suppliers, and in the top of the main screen you will see the fields contained. Right click in the list of fields, and select from the context menu Add Field. Enter URL for the Name and Code, and set the type to Text. Set the Width property to 50, and leave all other properties with the default values. Repeat for Contact Person (note – Code cannot contain any spaces, so use ContactPerson for Code) and Phone Number (note the different length). For the Country field, use the field type Lookup [Flat], and set the lookup table to Countries.

In the repository hierarchy, select the Products table, so that the list of fields from this table is displayed at the top of the main screen. In this list of fields, right click, and from the context menu select Add Field. Call the new field Supplier, and set the type to Lookup [Main], and set the Lookup Table property to Suppliers.

Load your repository.

© 2009 SAP AG. All rights reserved.

251

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

Lesson Summary You should now be able to: • Be able to perform basic repository maintenance tasks such and load and unload repositories, and to add a new field to a table in MDM

252

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Import Manager

Lesson: Import Manager Lesson Overview This lesson will explain the basic steps involved in performing an interactive import into SAP NetWeaver MDM.

Lesson Objectives After completing this lesson, you will be able to: •

Understand the basic steps involved in performing an import, and to import data to populate both field and attribute data

Business Example Once you have a working MDM repository, you then need to load existing data into the repository. This can be loaded from almost any source.

Challenges of importing data Aggregating raw product data into something that deserves to be called rich master data has historically been an expensive and almost insurmountable challenge. It requires a tremendous amount of manual preprocessing (which must be repeated for each source data file), as well as direct user intervention for exception handling on a record-by-record basis when the records are actually imported. The MDM Import Manager solves the import challenge once and for all. It is a powerful GUI tool that allows you to import data from virtually any flat or relational electronic source file (e.g. Access, Excel, delimited text, SQL, XML, and any ODBC-compliant source), and to completely restructure, cleanse, normalize, and rationalize raw data into rich master data as part of the import process itself. The MDM Import Manager features an intuitive and highly efficient user interface coupled with innovative, patent-pending functionality that reduce the time and effort required to import raw electronic data by a factor of 100–1000 times. Instead of performing the import a record at a time, as with other import tools, it allows you to preprocess the source data a field at a time, dramatically reducing from hours to literally minutes the amount of time spent processing each source data file. Perhaps most importantly, the MDM Import Manager produces cleansed, normalized, and rationalized master data that is 100% accurate. Historically, most import tools that have been used to aggregate master data have operated on one single record at a time. Each field in the source (import) table is first mapped to a corresponding field in a destination (repository) table, and then each record is imported. The problem is that for a successful data import using such tools, the source data must have the same overall table and field structure as

2009

© 2009 SAP AG. All rights reserved.

253

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

the destination data, and a number of additional conditions, governing fields and naming, values, table structures and so on must be met. Only if all conditions can be met can the import of the data proceed without further user intervention. Unfortunately, all of the requirements for a clean import are rarely if ever met, and so the master data aggregator must perform a series of labour intensive pre-processing steps that can take hours or days, to sufficiently manipulate, massage, and transform the source data into a format that can be properly handled by the import tool. Moreover, during record-at-a-time imports, the import tool must flag each discrepancy or unexpected value for exception handling, which means that the import can never proceed smoothly without interruption. Specific, real-world import challenges include the following: • • • • • • • • • • • • • • • • • •

Combine information from multiple tables Create a pivot table Create a reverse pivot table Map fields Map values Convert data types Create measurement values Convert data values Split a single field to expand hierarchy Split a single field into multiple fields Split a single field into multiple data values Combine two fields to build a hierarchy Combine fields to create value combinations Combine fields to reconstitute hierarchy Combine fields to merge values Combine fields to create a multi-valued field Import attribute data as name/value pairs Match records

The MDM Import Manager is specifically designed to address these real-world requirements.

Key Advantages Advantages of using the MDM Import Manager include the following: •

254

Infinite flexibility. The MDM Import Manager can handle any tabular electronic source data, enabling you to arbitrarily restructure and rationalize it against destination data that has an entirely different structure. Moreover, the underlying engine can not only import but also transform data for destinations outside the repository.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Import Manager



















2009

No programming. Despite its flexibility, the MDM Import Manager requires no programming whatsoever, with a WYSIWYG interface that allows you to implicitly define a set of intricate transformation rules that can be saved and then reused on a recurring basis, either through the GUI or programmatically through an API End-to-end application. The MDM Import Manager includes comprehensive functionality to interactively browse, sort, restructure, and import source data that completely eliminates the need to use an external application for any step in the import process. No pre- or post-processing. Not only is the pre-processing typically required by other import tools completely eliminated, no postprocessing is required after the source data is within the repository, since it is completely transformed as part of the import process. Consistent view of source data. Regardless of the application file format of the source data (Access, Excel, delimited text, SQL, XML), the MDM Import Manager offers precisely the same user interface, functionality, and overall user experience for performing the import. Full relational support. The MDM Import Manager can combine related information from multiple tables, so that relational source data (even multiple sheets within an Excel file) do not need to be preflattened into a single table in an external application prior to import. Single interface. An “at-a-glance” interface simultaneously provides both a high-level “birds-eye” view of the schema structure of the source data (including tables, fields, and table relationships) and a low-level detailed view of the data itself within each of the tables. Field-oriented processing. User processing within the MDM Import Manager is performed field-by-field prior to import rather than record-by-record during import, reducing the magnitude of the processing effort from the number of records to the number of fields. Distinct value lists. For each field, the MDM Import Manager collapses the set of all values across the entire set of source records down to the set of distinct values, whose number will usually be dramatically smaller than the total number of records, often by several orders of magnitude. Value conversion and mapping. Data types are automatically converted and unit of measure strings automatically normalized and appended to numeric source data values based on the data type and physical dimension of the destination field, even when stored in the source data as text. In addition, you can apply value conversion filters both at the field level and at the individual value level, and map source data values to the domain of allowed destination values.

© 2009 SAP AG. All rights reserved.

255

Unit 3: Other Components of SAP NetWeaver MDM



MDM050

100% accuracy. Unlike other import applications that claim up to 96% accuracy for importing source data, the approach used by the MDM Import Manager supports and even guarantees 100% accuracy of the imported data, because the precise transformations must all be defined before you perform the import.

Each source data field is handled in sequence, with a beginning, a middle, and an end to the process of validating, correcting, and/or converting source data values. All exceptions are clearly visible in the set of distinct values for each field, and each can be handled accordingly. With or without value mapping, data type conversion, or measurement value creation, each distinct source value can be manually adjusted or corrected to completely eliminate source data inconsistencies.

Parametric Import The MDM Import Manager is a GUI “cockpit” that defines a very specific sequence of steps to prepare source data for import. But rather than perform the import a record at a time as with other import tools, the MDM Import Manager offers a comprehensive set of data transformation capabilities that allow you to pre-process the source data a field at a time prior to import. Moreover, for each field, the MDM Import Manager collapses the set of all values across the entire set of source records down to the set of distinct values, whose number will usually be dramatically smaller than the total number of records, often by several orders of magnitude. Field-at-a-time rather than record-at-a-time processing and the distinct value lists of the MDM Import Manager are together the lynchpin of its patent-pending Parametric Import™ technology, which supports the import of electronic source data from any tabular or XML format. Parametric Import is a new and radically more efficient approach to importing and transforming data that is conceptually similar to parametric search, as follows: •



Parametric search lists the complete set of distinct values for each field or attribute in a repository. Selecting a value during a drill-down search selects all of the underlying records that contain that value. Parametric import lists the complete set of distinct values for each field in the source data. Changing a value as part of the import (by mapping or converting it) changes it in all of the underlying records that contain that value.

In conjunction with field-at-a-time rather than record-at-a-time processing, distinct value lists make import exception handling much more efficient because: (1) the number of distinct values for each field is dramatically smaller than the total number of values; (2) each distinct value represents and is a proxy for not only all instances of the value across the entire set of underlying records, but also the subset of records that contain the value; (3) examining and then transforming each source

256

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Import Manager

data value must be done only once for each distinct value rather than once for each instance of the value; and as a result, (4) the maximum number of exceptions is the sum rather than the product of the number of distinct values in each mapped field. Hint: Distinct value lists also support partitioning, another patent-pending innovation of the MDM Import Manager that allows you combine fields to create field and value combinations, for additional transformation flexibility. For example, suppose there are 5000 source records, each with a value for a Country field that represents the country of origin, and moreover, there are twelve distinct values for Country across the 5000 records. If all of the source values for Country were in upper case and must be converted to mixed case for import, using the set of distinct values would require you to convert each of twelve values once rather than individually convert its value in each of 5000 source records. Similarly, if all of the source values for Country were three-letter abbreviations that must be mapped to the standard country names within the repository, using the set of distinct values would require you to map each of twelve values once rather than individually replace its value in each of 5000 source records. The benefit for the Country field is clear: twelve transformations rather than 5000. Note: Parametric import replaces the traditional concept of exception handling with a very specific and predictable sequence of steps to prepare source data for a clean and exception-free import.

Starting and Exiting the Import Manager Before you begin, you need to be sure that both the SQL DBMS and the MDM Server are up and running, and that the MDM repository you want to work on has been loaded. In addition, you must be sure that the source file or database from which you would like to import data is available, either through the Windows file system, an ODBC connection, MDM repository port, or the DBMS.

2009

© 2009 SAP AG. All rights reserved.

257

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

To start the MDM Import Manager: 1.

2.

From the Desktop, double-click the MDM Import Manager icon (shown at left), or from the Start menu, choose Programs –> SAP MDM –> SAP MDM Import Manager. When the Connect to MDM Repository dialog appears, choose the desired MDM repository from the drop-down list, choose a language, and enter your user name and password Note: The Remote System list includes an entry for each remote system defined in the MDM Console.

3.

Fill in the other source properties that correspond to the selected Type. Note: The Port list includes an entry for each inbound port defined in the MDM Console for the selected Remote System; those that do not have files waiting or are locked by another user are disabled in the drop-down list. When you select a port, the MDM Import Manager automatically selects the first source data file that is waiting to be processed; you can then use the Get Next Source File command to select each succeeding file. Note: The XML Schema list includes an entry for each XML schema defined in the MDM Console. Hint: For Type=XML and Type=XML Schema, you can select multiple XML source files, each having the same structure. Hint: If it is enabled, you can check the Read-Only option to prevent MDM from updating your data source.

4.

258

Click OK. After a few seconds, the MDM Import Manager main window comes up.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Import Manager

Figure 142: Logging on to Import Manager

Selecting the Current Tables When you first start the MDM Import Manager, it sets both the current source table and the current destination table to None. You must select a current source table and a current destination table before you can perform most of the MDM Import Manager operations

Figure 143: Selecting the Current Tables

Source Hierarchy Pane The Source Hierarchy pane (top-left pane) contains a tree representing the hierarchy of tables, fields, and data values of the source file whose records you intend to import. Use the tree in the Source Hierarchy pane to view the source table and field structure, to view distinct data values for each field, to define and view join and lookup relationships between tables, and to perform various source operations.

2009

© 2009 SAP AG. All rights reserved.

259

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

Figure 144: Source Hierarchy Pane

Destination Hierarchy Pane The Destination Hierarchy pane (top-right pane) contains a tree representing the hierarchy of tables, fields, attributes, qualifiers, and data values of the destination MDM repository into which you intend to import the source records. Use the tree in the Destination Hierarchy pane to view the destination repository table and field structure and to view distinct data values for each field, attribute, and qualifier.

Figure 145: Destination Hierarchy Pane

Source Preview Tab The Source Preview tab (tab in bottom pane) contains two subpanes. The left Tables subpane lists the source tables; the right Records subpane contains a list view of the selected source table’s records in a row/column grid, with a row for each record and a column for each of the fields. Use the Source Preview tab to interactively browse the records in each of the source tables and sort by any of the columns in ascending or descending order.

260

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Import Manager

Figure 146: Source Preview Tab

Partition Field/Value Tab The Partition Field/Value tab (tab in bottom pane) lists, on the left, the source fields that are available to partition the selected source field or value in the Source Hierarchy tree, and on the right, the destination fields and attributes that are available to partition the selected destination field or attribute in the destination hierarchy. Use the Partition Field/Value tab to create the partitions that combine fields into field combinations, for subsequent processing of value combinations rather than individual field values.

Figure 147: Partition Field/Value tab

Map Fields/Values Tab The Map Fields/Values tab (tab in bottom pane) contains two pairs of grids. The top pair of Field Mapping grids contain the source fields on the left and the destination fields, attributes, and qualifiers on the right; the bottom pair of Value Conversion and Mapping grids contain the set of distinct data values corresponding to the current source field on the left and corresponding to the current destination field on the right. Use the Field Mapping grids to map source fields to destination fields, attributes, and qualifiers. Then, for each pair of mapped source and destination fields, use the Value Conversion and Mapping grids to: (1) map values (when mapping to lookup fields and text attributes); (2) create measurement values (when mapping to measurement fields or numeric attributes); and (3) manually adjust, correct, and reformat individual data values.

2009

© 2009 SAP AG. All rights reserved.

261

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

Figure 148: Map Field/Values Tab

Note: You cannot map fields until you have selected the current source and destination tables. You cannot map and convert values until you have mapped the corresponding field

The Field Mapping Grids Field mapping is used to establish the correspondence between source and destination fields. The sets of source and destination fields available for mapping are displayed in the Source Fields and Destination Fields grids, respectively. • •

Source Fields grid. Displays the fields of the current source table as a tree (if XML) or a flat list. Destination Fields grid. Displays the fields of the current destination table as a tree.

Both grids display fields according to their “natural” order. For example, if a source file is in XML format, Import Manager uses a tree in the Source Fields grid to depict the nested structure of fields within the associated XML schema. Likewise, the Destination Fields grid displays tuples, qualified lookup fields, and other nested objects in their natural hierarchies, preserving the relationships within them that could otherwise be lost in a flat list. For each source field or field combination whose data values you want to import, you can use the Field Mapping grids to map the field to its corresponding destination field.

The Value Conversion and Mapping Grids Value conversion and mapping layers upon and augments field-level mapping and is used to transform source data at the value level. Specifically, for each mapped source field, the MDM Import Manager uses the bottom pair of Value Conversion

262

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Import Manager

and Mapping grids to display: (1) the set of distinct values of the field as a list or a tree in the Source Values grid; and (2) the set of distinct values of the mapped destination field as a list or a tree in the Destination Values grid.

Figure 149: Value Conversion

For each mapped source field, you must use the Value Conversion and Mapping grids to either map, properly convert, or create measurement values from each of the distinct values for the field, where the required mapping or conversion depends upon the mapped destination field type. Note: Distinct value lists allow you to map, convert, or adjust each distinct value just once to transform it for all instances across the entire set of source records.

Value Mapping When mapping to destination fields whose values are from a fixed domain of valid values (lookup fields and text attributes), corresponding source and destination values may not precisely match, and some source values may not already exist as destination values. In these cases, source fields that contain text values and are mapped to lookup fields and text attributes can be mapped not only at the field level, but also at the value level against the domain of allowed destination values, eliminating the need to pre-cleanse source data in an external application. Note: For each field, the MDM Import Manager collapses the set of all values across the entire set of source records down to the set of distinct values, whose number will usually be dramatically smaller than the total number of records, often by several orders of magnitude. Value-level mapping of source values forces a user to normalize source data, implicitly defining a precise set of transformation rules that: (1) eliminate differences between source and destination values; (2) collapse multiple source value variations into a single destination value; (3) properly map multiple delimited source values into a multi-valued MDM field; and (4) explicitly add new values to the set of destination values.

2009

© 2009 SAP AG. All rights reserved.

263

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

The value in the Converted Value column is most useful for adding new destination values or hierarchy, where it is used as the new item or node value. When mapping to existing destination values, the Converted Value is just a convenience for Automap, since each value could be manually mapped to any destination value regardless of its value. Note: Value mapping to the value domain of a lookup field or text attribute is like record matching to an index field in that both help to avoid creating duplicates of records or values that already exist. For each source value, you can use the Value Conversion and Mapping grids to manually map to the corresponding destination value or values, or you can automatically map values using the Automap button. When value mapping is required, each distinct source data value must be mapped and all discrepancies in the source data resolved in order to perform the import, as indicated by a coloured thunderbolt ( ) in the Mapped column of the Source Values grid. Note: When you map a source field to a destination field that requires value mapping, the name of the first column changes from Status to Mapped.

Eliminating Value Differences Value mapping can be used to eliminate differences between source and destination values, including the addition of new destination values. This is necessary to avoid polluting the repository with invalid values, which must be translated to the valid domain of destination values during the import process. Here source field STATE has been mapped to destination field State. The source values of the STATE field are completely different from the destination values of the State field, which is itself a lookup into the States table that contains the set of consistent, normalized two-letter state codes for each of the fifty states. Moreover, the source value Penna has no corresponding destination value.

Figure 150: Eliminating Value Differences

In this case, each source value can be mapped to its corresponding destination value, and a new destination value PA (shown in blue) added to correspond to the source value Penna.

264

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Import Manager

Figure 151: Added Value

Match Records Tab Once you have completed the field mapping and value conversion and mapping steps, record matching shifts the focus from the field-oriented processing to the more traditional record-oriented processing. Record matching – often called key field matching – is usually the final step in the import process, in which most import tools allow you to identify the single key field to be used to match source records to existing destination records, so that you can update or replace them rather than create duplicates in the repository. Note: This step is called record matching rather than key field matching because you can specify non-key fields as matching fields. Note: Record matching shifts the focus from the individual fields (vertical view of the source data) to the individual records (horizontal view of the source data).

2009

© 2009 SAP AG. All rights reserved.

265

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

Record matching in the MDM Import Manager takes basic key field matching and extends it as follows: • •









Multiple matching fields. You can specify multiple matching fields, for a more precise match if no single field is completely reliable as a key field. Matching field combinations. You can also specify matching field combinations if no individual field identifies each destination record, such as when MFG and PART NO together comprise the key field. Matches converted or mapped source values. Rather than using the original source value, matching is based upon the normalized, converted, or mapped source value, providing for a more accurate and precise match against destination record values. Case-by-case operations. The matching process breaks the source records into different groups based on the type of match – exact, partial, or conflict – and then allows you to apply a different default import action – skip, create, update, or replace – to each group. Record-by-record operations. You can then override the default import action for each individual source record and each matching destination record on a record-by-record basis, for even more precise import control. Analytic capabilities. Finally, you can selectively identify for special processing groups of records that match particular conditions, such as “the SKU field matches but the Description field has been changed” or “the List Price has changed by more than 20%.”

The Match Records Tab The Match Records tab contains several controls. These controls together allow you to: (1) meticulously match incoming source records to existing destination records; and then (2) efficiently and precisely specify the import action for each group of source records and then for individual records, as follows: •





266

Value matching. You can use the dual-list Value Matching control to specify a single matching field, multiple matching fields, or matching field combinations. Default import actions. You can use the Default Import Actions grid to specify the default import action for each group of source records, with a different import action for each group. Record matching. You can use the pair of Record Matching grids to override the default import action for each individual source record, and for each source record, each of its matching destination records.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Import Manager

Figure 152: Match Records Tab

Record Matching Concepts Record matching layers upon the following concepts in comparing source and destination records to determine if they match: • • • •

Value matches Record matches Match class Match type

Each of these concepts is described in the following sections. Note: Some of the following record matching concepts are mathematically and logically complex, and are included here only as a reference for interested users. You do not need to fully understand the concepts to make effective use of the record matching functions.

2009

© 2009 SAP AG. All rights reserved.

267

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

Value Matches For each matching field or field combination, there are three possible types of value matches, as follows: • • •

Equal. Every pair of corresponding source and destination values is equal (where some but not all of the matching pairs may be NULL). Undefined. At least one pair of corresponding source and destination values consists of a NULL and non-NULL value, and every other pair is equal. Not Equal. At least one pair of corresponding source and destination values is not equal. Note: For an individual matching field, a single pair of source and destination field values is compared for each source and destination record. For a matching field combination, a pair of values is compared for each individual matching field in the combination.

Figure 153: Value Matches

Note: For the purposes of the value match, NULL and NULL is: (1) treated as Undefined for an individual matching field; and (2) ignored for a matching field combination.

268

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Import Manager

Record Matches The destination records that match a particular source record depend upon the value matches for the matching fields or field combinations. An existing destination record matches a source record as follows: • •

Single matching field or field combination. The value match for the single matching field or field combination is Equal. Multiple matching fields or field combinations. The value match for at least one of the matching fields or field combinations is Equal. Note: If there is not at least one Equal value match among the one or more matching fields or field combinations (and the underlying pairs of source and destination values), then the source record simply does not have a matching destination record in the repository.

Match Class The match class for each source record indicates the number of matching destination records. The three match classes include: • • •

None. The source record matches no destination records. Single. The source record matches exactly one destination record. Multiple. The source record matches more than one destination. Note: When a source record matches multiple destination records, each matching field or field combination may have multiple value matches, each corresponding to a different matching record.

Match Type For each source record, the overall match type is based on: (1) the combination of match types for each individual matching destination record; where (2) the match type for each matching destination record is based on the combination of value matches for each individual matching field or field combination. For each matching destination record, the match types include: • • •

Exact. All the individual value matches are Equal. Partial. At least one value match is Equal and at least one Undefined; no value matches are Not Equal. Conflict. At least one value match is Equal and at least one value match is Not Equal.

For a source record that matches a single destination record, the overall match type for the source record is the same as the match type for the single matching destination record.

2009

© 2009 SAP AG. All rights reserved.

269

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

For a source record that matches multiple destination records, the overall match type of the source record is based on the “best” match type among each of the individual matching destination records, as follows: • • •

Exact. At least one Exact match among the matching destination records. Partial. No Exact matches but at least one Partial match among the matching destination records. Conflict. No Exact or Partial matches; all matching destination records are Conflict matches.

Figure 154: Match Types

Note: The only match type possible with a single matching field or field combination is Exact, since either a Partial or Conflict match requires an Equal match combined with at least one other value match (and without even a single Equal match, then the destination record simply doesn’t match the source record).

Figure 155: Example: Single Matching Field

270

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Import Manager

Import Execution Every step in the import workflow must be complete before you can perform the import. Moreover, the MDM Import Manager will not permit you to perform the import until two specific conditions have been met: •



Value mapping and conversion. For every mapped field, each of its values must either be properly converted to the destination data type or mapped to an existing or newly added destination data value. Record matching. You must specify one or more unique fields so that the MDM Import Manager can determine whether to create new records or update and replace existing destination records.

Monitoring Import Status You can always determine what needs to be done next by checking the Action Items at the top of the Import Status tab, which identifies the next required action.

Figure 156: Import Status

Import Maps All of the partitions, mappings, and other conversions can be saved in an import map within the MDM repository. A map is useful if you want to save your work before you have performed the import, if you want to subsequently apply the same transformations for future imports of additional records or updates from the same data source, or if you want to later use the map in conjunction with MDIS processing. Specifically, saving a map takes a snapshot of the state of the current Import Manager session so that it can later be restored when you load the map during a future session.

2009

© 2009 SAP AG. All rights reserved.

271

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

Content of Import Map Setting

Description

Configuration Options

All of the global default configuration option settings are saved in the map, along with over-ridden field settings. When you load the map, the settings are restored.

Joins and Lookups

All of the joins and lookup fields are saved in the map, including whether the lookup fields were looked up using [All]. When you load the map, saved joins and lookups that do not exist in the source file are ignored.

Partitions

All of the field and value level partitions are saved in the map. When you load the map, saved partitions of fields or values that do not exist in the source file are ignored.

Field Mappings

For each field, all of the field mappings are saved as source/destination name pairs. When you load the map, saved mappings for which the field name does not exist in the source file are ignored.

Value Conversions

For each field, value conversions are stored as follows: (1) at the field level, the filters are saved; and (2) at the value level all of the manually over-ridden value conversions are stored as source/destination value pairs. When you load the map, saved values that do not exist in the source file are ignored.

Value Mappings

For each field, all of the value mappings are saved as source/destination value pairs. When you load the map, saved values that do not exist in the source file are ignored.

Record Matching

The record matching fields and matching options are saved in the map.

Import Actions The default import action for each class and type of match are stored in the map.

272

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Import Manager

Exercise 8: Import Manager Exercise Objectives After completing this exercise, you will be able to: • Import data into newly created fields and tables.

Business Example You would like to perform a basic import of data into your new repository.

Task: Import new Supplier information into your Material repository. 1.

Call the Import Manager and log on to your MDM050_Material_{your letter} repository.

2.

Set the Source details as follows: Type:

Excel

Remote system:

MDM R/3_ERP

File name:

{path}\MDM050_Suppliers.xls

Your instructor will tell you the correct path for the MDM050_Suppliers.xls source file. Once these details have been set, click on Finish. 3.

We will start by loading the Supplier records into the Suppliers main table. Set the source and destination tables, and move to the Map Fields/Values tab strip.

4.

Automap the fields, and then review the value mapping for each field. You should notice that the text fields have converted automatically, and no further work is required for these. The Country field needs to be mapped though – why? Perform this mapping now.

5.

Click on the tab strip Match Records, and perform record matching based on Name [DF]. As the 6 records are all new, there is no existing match in the repository. Set the appropriate default import action, check the import status, and if ready to import, perform the import.

6.

Save the Import Map with the name Supplier Import. Close your import map.

Continued on next page

2009

© 2009 SAP AG. All rights reserved.

273

Unit 3: Other Components of SAP NetWeaver MDM

274

MDM050

7.

Now that the Supplier data has been uploaded, we can update the new Supplier field on the existing Products table. Set the source and destination tables appropriately and review the source data.

8.

Go to the Map Fields/Values tab strip, and perform Field Mapping. In order to complete this exercise, only Product and Supplier need to be mapped. Product should be mapped to Product Number in the destination, and Supplier to Supplier. Use the Default Import Action Update NULL Fields Only, and perform the import. Now log on to the Data Manager and check the result.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Import Manager

Solution 8: Import Manager Task: Import new Supplier information into your Material repository. 1.

Call the Import Manager and log on to your MDM050_Material_{your letter} repository. a)

2.

Double click on the Import Manager icon on the desktop, and log onto your repository as the user Admin.

Set the Source details as follows: Type:

Excel

Remote system:

MDM R/3_ERP

File name:

{path}\MDM050_Suppliers.xls

Your instructor will tell you the correct path for the MDM050_Suppliers.xls source file. Once these details have been set, click on Finish. 3.

We will start by loading the Supplier records into the Suppliers main table. Set the source and destination tables, and move to the Map Fields/Values tab strip. a)

4.

Set the source table by select the first drop down list, located beneath the menu option File. In this list, select the entry Suppliers$. IN the second drop down list, choose the destination table Suppliers. Then click on the Map Fields/Values tab strip.

Automap the fields, and then review the value mapping for each field. You should notice that the text fields have converted automatically, and no further work is required for these. The Country field needs to be mapped though – why?

Continued on next page

2009

© 2009 SAP AG. All rights reserved.

275

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

Perform this mapping now. a)

5.

Click on the tab strip Match Records, and perform record matching based on Name [DF]. As the 6 records are all new, there is no existing match in the repository. Set the appropriate default import action, check the import status, and if ready to import, perform the import. a)

6.

Click on the tab strip Match Records. Select the field Name [DF], and click on the button Add. On the far right of the screen, you should see the entry 6 of 6, with a Match Level and Match Type both set to None. Change the Default Import Action to Create. Click on the Import Status tab strip, and the text should read Ready to Import. If it does not, one of the preceding steps was not completed correctly. Go back and review the previous steps. If the text read Ready to Import, perform the import by clicking on the Red ! button. You should get a popup when the import has successfully completed.

Save the Import Map with the name Supplier Import. Close your import map. a)

7.

Once the Automap has been completed, click on each field in the list of source fields in turn, and look at the set of table in the bottom part of the screen. As you move through the fields, you should see a little green dot next to each value to indicate that the text value has been converted successfully. This is confirmed by the entry in the status bar, which will say something like “6 of 6 values converted”. This is not the case for the Country field however. Why? Because this is a lookup field – the source values must be mapped to existing lookup values, or become new lookup values themselves. With that in mind you must perform value mapping. In the source table, click on the first value AU. In the destination table, look for the value Australia. Click on Australia, and then click the Map button. A green zig-zag arrow should appear next to each value to indicate the mapping is complete. Repeat this process for GB (United Kingdom) and US (USA).

Choose the menu option File –> Save as… and enter the name Supplier Import in the popup. Once completed, choose the menu option File –> Close.

Now that the Supplier data has been uploaded, we can update the new Supplier field on the existing Products table. Set the source and destination tables appropriately and review the source data. a)

Set the source table to Products$ in the first drop down box, and the destination table Products in the second drop down box. Use the Source Preview tab strip to review the source data.

Continued on next page

276

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Import Manager

8.

2009

Go to the Map Fields/Values tab strip, and perform Field Mapping. In order to complete this exercise, only Product and Supplier need to be mapped. Product should be mapped to Product Number in the destination, and Supplier to Supplier. Use the Default Import Action Update NULL Fields Only, and perform the import. Now log on to the Data Manager and check the result.

© 2009 SAP AG. All rights reserved.

277

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

Lesson Summary You should now be able to: • Understand the basic steps involved in performing an import, and to import data to populate both field and attribute data

278

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Syndicator

Lesson: Syndicator Lesson Overview This lesson covers the process of syndication, allowing users to extract information from MDM to supply data to other systems.

Lesson Objectives After completing this lesson, you will be able to: •

Understand the capabilities of the Syndicator in MDM through a very simple example

Business Example In order to realise the full benefit of SAP NetWeaver MDM, the key mapping information stored in MDM can be exported for use in other systems. In data warehousing environments like SAP NetWeaver BW this will allow accurate global analyses to be performed. In transactional systems it will allow you to greatly reduce the effort of maintaining master data, allowing master data to be harmonised across systems.

MDM Syndicator Overview The timely and efficient distribution of master data to remote systems is an integral part of a sound master data management strategy. MDM Syndicator provides an innovative and flexible solution to this problem, ensuring that users throughout your enterprise have access to the same, up-to-date version of your master data. Using the same, intuitive interface as other MDM applications, Syndicator is a powerful GUI tool that allows you to select record data from an MDM repository and completely restructure it to fit the needs of any remote system without modifying the source data itself. Moreover, you can use Syndicator to create reusable syndication maps, meaning the actual syndication of data can be performed by users without intimate knowledge of the data or its structure. You can even automate the entire syndication process!

2009

© 2009 SAP AG. All rights reserved.

279

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

Data Syndication Challenges Historically, an administrator tasked with syndicating data to heterogeneous systems faced a number of challenges. Such challenges include: • • • • • • • • • • • • • • •

Selecting records to syndicate Selecting the format of the syndication file Mapping fields and attributes Flattening a hierarchy field into a single delimited field Flattening a hierarchy field into multiple fields Splitting a multi-valued field into multiple fields Syndicating subrecords of qualified data Syndicating data in multiple languages Merging fields from external tables Combining fields to create custom values Formatting data values Replacing NULLs with default values Including remote-system specific keys Creating complex, one-to-many XML structures Tracking changed records

The Syndicator has been specifically designed to address these challenges.

Syndication Syndicator provides an intuitive and interactive means for distributing master data from an MDM repository. Rather than exporting entire records and subrecords of master data to all remote systems in your organization, Syndicator enables you to customize exports to match the specific business needs and data requirements of each of your heterogeneous systems. Features and innovations provided by Syndicator to help you customize syndications include: • • • • •

280

Parametric search. Only syndicate records which contain the data values you specify. Item mapping. Identify the master data fields you want to syndicate and match them to their corresponding fields on the remote system. Field transformation. Split and flatten complex field types or select fields to concatenate or customize. Data transformation. Apply a wide range of data conversion and normalization rules. Record suppression. Prevent unchanged or keyless records from being syndicated.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Syndicator

Moreover, you can save each customization as part of a syndication map.

Parametric Search Parametric search lists the complete set of distinct values for each field or attribute in a repository. Selecting a value during a drill-down search selects all of the underlying records that contain this value. Using parametric search, you can quickly and easily “fine-tune” the syndication to include only the specific record set you desire.

Item Mapping Rather than export an entire repository table for every syndication, the item mapping feature lets you identify the exact fields and attributes required by each business case or remote system. As corresponding source and destination fields may not have the same names, item mapping provides a clear method for identifying which fields actually match.

Field Transformation It often may not be possible to directly map source fields to destination fields on a one-to-one basis. Instead, a source field may need to be transformed in order to match its corresponding destination field. Such transformations may include splitting, concatenating, and adding custom values.

Data Transformation Even source data values may need to be converted in order to meet the requirements of the destination system. Numeric and date value conversions, data normalization, and other transformations are often necessary when syndicating master records to remote systems.

Record Suppression Syndicating records which have not changed since their last syndication date, or which lack the proper keys for a destination system, can result in waste of network resources and a slowdown of overall syndication time. By suppressing these types of records before syndication begins, such consequences can be avoided.

Syndication Maps All of the searches, item mappings, and other customization related to a syndication can be saved within the MDM repository as a syndication map. A syndication map is useful if you want to do any of the following: • • • •

2009

Save your work before performing a syndication Perform the same syndication in the future Run syndications from workflows or MDM Java API applications Automate syndications using the Syndication Server

© 2009 SAP AG. All rights reserved.

281

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

The Current Table Syndicator exports data from its connected MDM repository to a syndication file. The MDM repository table serving as the data source for a syndication is called the current table. The name of the current table is displayed in the drop-down list at the far left of the Syndicator toolbar.

Figure 157: The Current Table

The drop-down list includes all syndication-compatible tables in the connected MDM repository. The repository’s main tables appear at the top of the list and are separated by a gray line from its subtables, which are listed below the line in alphabetical order. To select a new current table, simply select the table from the dropdown list. Selecting a new current table automatically updates the Syndicator’s main window to reflect the contents of the new table. To prevent unintended work loss, save the map before changing tables. Syndicator can export record data and remote keys from the current table as well as from lookup tables used by current table fields. In addition, The Merge Item feature enables fields from tables external to the repository to be syndicated with the rest of the main table data Note: The default current table on all new maps is a main table.

The Syndication File Once a syndication is executed, Syndicator exports record data to a file in either flat text or XML formatting, depending on the properties of the syndication map. The name and location of the syndication file set by the user at the time of syndication. The syndication file can be previewed at any time by opening the Destination Preview tab in the Tabs pane Note: When the syndication file format is XML, Syndicator creates a separate XML file for each output record. Note: If a syndication’s destination is a port, Syndicator automatically saves the syndication file to the port’s Ready folder

282

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Syndicator

Performing the Syndication There are four basic steps to using Syndicator: • • • •

Connect to a source MDM repository Define the map Select the records to syndicate Execute the syndication

Each step is described in detail in the following sections.

Step 1: Connect to a Source MDM Repository When you start Syndicator, you must connect to an MDM repository before doing anything else. The repository you select at start-up serves as the source of all syndications mapped and executed while Syndicator is open.

Step 2: Define a Map In Step 2, your job is to specify what data is going to be syndicated, which remote system is going to receive the syndicated data, and how the data will be formatted when it gets there. To answer these questions, you must define a map.

What’s in a Map? Syndicator maps include the following information: • • • • • • •

Which search selections to apply to the current record set What data from matching records is going to be syndicated Which remote system is going to receive the syndication file What the field structure of this remote system may look like How source data maps to this field structure How data should be formatted in the syndication file How the syndication file itself should be formatted

This information enables you to create reusable maps which contain all the necessary business logic required for a syndication. With this intelligence stored in the map itself, future syndications can be performed automatically or by persons with no knowledge of the data or remote systems.

Loading a Map Once Syndicator connects to a repository, its main window opens. When there is no other map open (such as when Syndicator first opens or after you close a map file), the connected repository’s main table is set as the current table and MDM itself is set as the remote system. In most cases, you will load a map before continuing.

2009

© 2009 SAP AG. All rights reserved.

283

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

To load a map, you have the following options: • • • •

Opening an existing map Connecting to a port Creating a new map Importing a map file from an external location

Once a map is loaded, it becomes the current map. The information in Syndicator’s Tabs pane always reflects the state of the current map. If you open or import a map that doesn’t need editing, you can proceed to “Step 3: Select the Records to Syndicate.” Otherwise, you are ready to begin editing the map.

Figure 158: Syndication Map Properties

Suppressing Unchanged and Keyless Records Syndicator’s Map Properties tab gives you options for preventing unchanged records and records with no remote key mappings from appearing in the syndication file. Note: To suppress unchanged or keyless records, key mapping must be enabled on the current table. Suppressed records appear in the Records pane and are counted in the Status Bar, but are not included in the Destination Preview tab.

284

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Syndicator

Editing a Map Whenever you create a new map – or adapt an existing one for use with a different remote system – performing the following actions ensures the fields, data, and format of the syndication file generated from the map are compatible with the remote system: • • • • •

Edit map properties Edit destination item properties Modify source items to match destination fields Map source items to destination items Save the map

Figure 159: Item Mapping

Step 3: Selecting the Records to Syndicate At this point, you are ready to execute the syndication. However, if you execute now, it is possible that all records on the current table will be included in the syndication file. Syndicator provides two ways to narrow down the set of records included in a syndication file: searching and suppressing. These methods are the topic of Step 3. The two types of searches available in MDM are drill-down searches and free-form searches. MDM searches feature the following capabilities: • • •

Real-time searching. Searches are performed after each selection. Automatic updates. The Records pane and Status bar are updated instantly after every search selection. Value-limiting. As you select each search parameter value, MDM narrows down the values listed in every other search parameter to include only those remaining in the resulting record set.

At any time, you can perform the following search-related operations: • • • •

2009

Make search selections using the Search Parameters pane. View all current search selections on the Search Selections tab. Clear all search selections by clicking the Reset Search button. Save and restore local searches from the Search menu.

© 2009 SAP AG. All rights reserved.

285

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

Step 4: Execute the Syndication Before you execute the syndication, verify the following is correct: • •

Options selected on the Map Properties tab reflect what is expected by the remote system. The Destination Preview tab displays the expected record data.

Once you execute a syndication, Syndicator prompts you for the file name and location where you want the syndicated records to be saved (if you are syndicating to a port, the name and location are provided automatically).

XML XML is a text-based format for describing data. Although it has its own syntax, the structures it creates for storing and exchanging data are completely defined by the user. One of the many benefits of using XML is that it enables the creation of rich, complex data structures that mirror the way master data is represented in an MDM repository. Further, once these structures are created, they can be used to create maps for importing data to and syndicating data from an MDM repository. The following sections provide a high-level overview of XML and the XML-related features included in Syndicator.

XML Basics XML is an abbreviation for eXtensible Markup Language. As a markup language, it is readable by both humans and computers, making it a useful tool for organizing data. There are two basic components to the language of XML: • •

Elements. Containers used to store text values or other elements. Attributes. Containers used to store data about an element.

Elements are the building blocks of XML. On the most basic level, they are simply containers used to store data. When organized into larger structures, however, elements become the backbone of an XML file. An element is usually comprised of an opening tag, a closing tag, and “whatever comes between.” What comes between can be a text value or a set of other elements, depending on how the element is defined. The ability to “nest” elements inside other elements gives XML users the flexibility to create structures as rich and complex as their data model requires. A key concept to remember about elements is that they should describe the data they contain. Consider the following element: cow

286

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Syndicator

The tags and clearly describe the value they contain, cow, as being an animal. This descriptive power makes exchanging data between systems easy to manage because well-named elements are always easy to identify. The other basic component of XML is the attribute. An attribute is an alternate means of storing data in an XML file and is usually located inside an element’s opening tag. Attributes typically are used to identify or describe an element in some way. Consider the following example: cow Here, the attribute home provides additional information about the value contained in the element . There is often confusion over when to use attributes instead of elements in an XML file, as both can provide the same information. This is ultimately the decision of the XML schema author based on the data model to be represented. There are, however, differences between attributes and elements which are worth noting. First, attributes are not repeatable; they are limited to a single value. Elements, on the other hand, are repeatable inside a parent structure, meaning they can contain multiple values Second, attributes cannot be used to build sub-structures of data. Whereas the nesting of elements to describe data structures is a key benefit of using XML, attributes cannot be used in this way. Differences Between Attributes and Elements Characteristic

Attribute

Element

Can contain text





Repeatable



Nesting



XML Schema Files If elements are the building blocks of an XML structure, the XML schema file (also referred to as an .xsd file) serves as the blueprint by which the structure is built. The schema file defines many properties for an XML file, including: • • • • •

2009

What elements can appear in the file. What content each element can contain. How the elements are to be structured in the file. How often an element can appear in a given structure. What attributes each element possesses.

© 2009 SAP AG. All rights reserved.

287

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

The definition of these properties is critical when exchanging data between systems, as it ensures the integrity of the data being exchanged. With a pre-defined schema file, both the source and destination of a data exchange know exactly what data is being sent and received and how it is to be interpreted. For this reason, Syndicator requires a pre-defined .xsd schema file for all XML-based syndications. A schema file can be opened “on the fly” from an external file location or loaded from the connected repository. Once identified, an XML schema serves as the basis for all syndication maps created using Syndicator. Note: In MDM terminology, an .xsd file that has been saved to a repository through MDM Console is called an XML Schema. An .xsd file located on an external file system is called an XML Schema File.

XML vs Flat Text To fully appreciate the differences between XML and flat text, consider their structural differences. Flat text files are limited to “rectangular” structures built of rows and columns. Product record in flat text format Item No

Item

Color

Price

100

T-SHIRT

Red

19.99

XML, on the other hand, is based on hierarchical structures. the same record as above but in XML format.

Figure 160: XML vs Flat Text

Collectively, these elements represent a single record from the Products table. Instead of a rectangle, the elements are nested in a hierarchy. The record itself is represented by the element.

288

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Syndicator

Note that it does not contain text but other elements: , , and . These elements represent the fields of the Products table. Inside each element is the text value shown for the record in its corresponding field on the Products table. XML can represent data originating from a single table. But a primary feature of XML is that it can go beyond the limits of traditional tables.

Repeatable Elements One important benefit of XML is the ability to repeat elements inside a larger hierarchical structure. Specifically, repeatable XML elements give users the opportunity to create “rich” data structures capable of containing data much more efficiently than a traditional text table. Consider the example of a multilingual field in a table. The Color field can only hold one value, although multiple language/value pairs are available.

Figure 161: Repeatable Elements

In order to syndicate the multilingual values inside the Colors table to a flat table, you would need a separate destination field for each possible language.

Figure 162: Destination Table

With this model, each new language added to a repository would require an additional field to be added to the destination table. Now consider how XML solves this problem. By making the element repeatable, all language/value pairs for Color are repeated inside the record element.

XML and Syndicator In most cases, Syndicator looks and behaves identically for both XML and flat maps. However, there are some differences worth noting.

2009

© 2009 SAP AG. All rights reserved.

289

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

XML structures are displayed as trees in Syndicator, with elements and attributes serving as tree nodes. The structure and contents of the tree are determined by the XML schema named in the syndication map. Note: Syndicator always displays an element’s attributes last among its child items. They are also labeled as attributes in the Type column.

Figure 163: An XML tree in the Item Mapping tab

Mapping Repeatable Elements in Syndicator Repeatable XML elements correspond naturally to various MDM data Structures. Each MDM structure can appear as a source item on Syndicator’s Item Mapping tab. All, except for the table root, can be mapped directly to repeatable XML elements from this tab. In the Item Mapping tab, source items representing repeating data structures display a repeating node icon ( ) before their names. Their child items, which represent the repeating data values, display a text icon ( ) before their names. For destination items, the repeating node icon ( ) indicates a repeatable XML element and a text icon ( ) is used for its nested child elements (which actually store the repeating data values). Because they employ identical icon schemes, mapping repeating MDM structures to repeatable XML structures is easy and intuitive. A mapping of a repeating MDM structure to a repeatable XML structure.

Figure 164: Mapping Repeatable Elements

290

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Syndicator

Syndicating XML Records By default, Syndicator creates a separate XML file for each output record it creates upon syndication. This behavior differs from flat text files, which include all output records in a single syndication file. The map property XML File Output allows you to switch between syndicating one output record per file or syndicating all output records in one file. For large syndications, a separate property, Max Record Per Output File, allows you set a threshold for the number of records that can be contained in one syndication file, after which a new file is started.

2009

© 2009 SAP AG. All rights reserved.

291

Unit 3: Other Components of SAP NetWeaver MDM

292

© 2009 SAP AG. All rights reserved.

MDM050

2009

MDM050

Lesson: Syndicator

Exercise 9: Syndicator Exercise Objectives After completing this exercise, you will be able to: • Perform a flat syndication of material and supplier data from our newly enhanced repository.

Business Example Task: Perform a flat syndication

2009

1.

Call the Syndicator and log on to your MDM050_Material_{your letter} repository as the Admin user.

2.

Click on the Destination Items tab strip, and create four new Destination Items, Product ID, Product Name, Supplier, and Country of Origin.

3.

Click on the Item Mapping tab strip, and map the fields as appropriate.

4.

Check the Destination Preview tab strip for a preview of the output of the syndication. When you are ready, perform the syndication. Call the output file Product_data.txt, and store on your desktop. After the syndication is complete, close the Syndicator, and check the content of the file.

© 2009 SAP AG. All rights reserved.

293

Unit 3: Other Components of SAP NetWeaver MDM

MDM050

Solution 9: Syndicator Task: Perform a flat syndication 1.

Call the Syndicator and log on to your MDM050_Material_{your letter} repository as the Admin user.

2.

Click on the Destination Items tab strip, and create four new Destination Items, Product ID, Product Name, Supplier, and Country of Origin. a)

3.

Click on the Item Mapping tab strip, and map the fields as appropriate. a)

4.

294

Click on the Destination Items tabstrip, and in the white space, right click. From the context menu choose Add Destination Item. Call it Product ID. Repeat three more times to create the remaining Destination Items. Click on the Item Mapping tabstrip. Map Product Number to Product ID, and Product Name to Product Name. For Supplier, in the Source items pane, expand Supplier, and choose Name [DF] and map to the Destination Item Supplier. For Country of Origin, expand the Country node (under Supplier node), and again map to Name [DF].

Check the Destination Preview tab strip for a preview of the output of the syndication. When you are ready, perform the syndication. Call the output file Product_data.txt, and store on your desktop. After the syndication is complete, close the Syndicator, and check the content of the file.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Syndicator

Lesson Summary You should now be able to: • Understand the capabilities of the Syndicator in MDM through a very simple example

2009

© 2009 SAP AG. All rights reserved.

295

Unit Summary

MDM050

Unit Summary You should now be able to: • Be able to perform basic repository maintenance tasks such and load and unload repositories, and to add a new field to a table in MDM • Understand the basic steps involved in performing an import, and to import data to populate both field and attribute data • Understand the capabilities of the Syndicator in MDM through a very simple example

296

© 2009 SAP AG. All rights reserved.

2009

Unit 4 Security and Auditing Unit Overview Security is important in any system. When data is brought together from many different systems, and stored in a single consolidated environment, security becomes even more important. This unit covers the use of roles and users to provide limited access to the data and functions within MDM.

Unit Objectives After completing this unit, you will be able to: •

Create users and roles in MDM, and use the change tracking capability

Unit Contents Lesson: Users, Roles and Change Tracking in MDM ......................298 Exercise 10: Users, Roles and Change Tracking in MDM ............319

2009

© 2009 SAP AG. All rights reserved.

297

Unit 4: Security and Auditing

MDM050

Lesson: Users, Roles and Change Tracking in MDM Lesson Overview This lesson covers the implementation of security and change tracking in MDM, through the use of the tables Users, Roles, and Change Tracking.

Lesson Objectives After completing this lesson, you will be able to: •

Create users and roles in MDM, and use the change tracking capability

Business Example Once your MDM repository has been loaded with data, you need to be able to restrict access by users based on both functions that can be performed, and data that can be displayed.

Why Is Security Necessary? With the increasing use of distributed systems and the Internet for managing business data, the demands on security are also on the rise. When using a distributed system, you need to be sure that your data and processes support your business needs without allowing unauthorized access to critical information. User errors, negligence, or attempted manipulation on your system should not result in loss of information or processing time. These demands on security apply likewise to SAP NetWeaver MDM.

MDM Security Overview MDM supports a multi-level security model that features granular, role-based access not only to functions and data from within MDM client applications but also to the administrative functions of MDM Console itself. Specifically, MDM Console complements the password-protection of the MDM Server with role-based access to MDM repository functions and objects, as follows: •



298

Server level. You can password-protect an MDM Server to require that users must first supply a valid password before performing server-level MDM Console functions that require authentication. Repository level. Administrative users must first connect to an MDM repository by supplying a valid username/password before performing any repository-level MDM Console function upon it.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Users, Roles and Change Tracking in MDM

Figure 165: Security in the Console

MDM Server Security MDM Console features a password authentication feature that controls access to MDM Servers and to the administrative MDM Console functions related to each MDM Server. Password-protecting an MDM Server is an optional but recommended strategy for securing access to MDM Server operations. Password-Protected MDM Server Operations

2009

Operation

Description

Start MDM

Server Starts the MDM Server.

Stop MDM

Server Stops the MDM Server.

Mount Repository

Mounts the selected MDM repository.

Create Repository

Creates a new repository on the MDM Server.

Create Repository from Schema

Creates a new repository on the MDM Server.

Duplicate Repository

Adds a duplicate repository to the MDM Server.

Delete Repository

Deletes a repository from the MDM Server.

Create Slave

Creates a slave repository on the MDM Server.

Archive Repository

Archives a repository on the MDM Server.

© 2009 SAP AG. All rights reserved.

299

Unit 4: Security and Auditing

MDM050

Unarchive Repository

Unarchives a repository on the MDM Server.

DBMS Settings

Edits DBMS settings for a repository or MDM Server.

Log file access

Viewing or deleting MDM Server log files

Unless you password-protect an MDM Server, these administrative functions are available to anyone who mounts the MDM Server within MDM Console. The MDM Console functions that are available before connecting at the server level to a password-protected MDM Server are those that allow you to view and connect to already-mounted MDM repositories. An MDM Server password is only required once during an MDM Console session, unless the user unmounts the MDM Server which clears password authentication for security purposes.

MDM Repository Security A traditional SQL DBMS allows you to define basic user-level security to prevent unauthorized access to the database. You can specify the tables to which each user has access, granting at the table level either: (1) no access to the table; or (2) complete read/write access to the table, including access to all of its fields and records. By contrast, MDM supports a dramatically more flexible multidimensional security scheme that provides much more granular control over which users can access an MDM repository, which functions they can perform, and which tables, fields, and records they can access. The MDM security scheme includes: •







300

Users. A user represents an entity that can connect to and access the MDM repository. Each user has a user name and password, and is assigned one or more roles that collectively specify the complete set of privileges for that particular user. Roles. Each role specifies a set of privileges to access each of the MDM repository’s tables, fields, lookup record values, and records, and to perform each of the repository functions. The same role can be assigned to more than one user. Privileges. For each repository function, you can either prevent or allow the role to perform the function, and for each table and field, you can grant the role full read/write access or read-only access. Constraints. For the Masks table and some lookup tables (those referenced by at least one single-valued lookup field and no multi-valued lookup fields), you can specify the set of masks or lookup values that should be visible and accessible for the role.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Users, Roles and Change Tracking in MDM

Precisely defining each role – and then assigning one or more roles to each user – provides very fine control over who can access an MDM repository and how they can access it. You can define repository security from within MDM Console by working on the following administrative tables, which are located under a repository’s Admin node in the Console Hierarchy tree: • •

Roles. Defines the sets of functional permissions, access privileges, and record constraints that can be assigned to MDM user names. Users. Defines the MDM user names that can access the MDM repository and manages their role assignments.

MDM User and Role Management Recall that MDM’s multi-level security model supports granular, role-based repository access to functions and data from within MDM client applications. This multi-level security model extends to administrative functions within MDM Console itself.

Users Table The Users table stores the MDM user names that can access the MDM repository. When selected from the Console Hierarchy tree (it is a child of the Admin node), the Users table’s records appear in the top-right pane. The predefined properties for user name records are listed below; all of the properties are directly editable in the User Detail pane. User Properties Property

Description

Name

The user name.

Full Name

The full name of the user.

Description

A description of the user.

Password

The user password (displayed as “********”).

Roles

The list of roles assigned to the user.

Email Address

The email address of the user (for workflow notifications).

All MDM repositories are created with a user named Admin already added to the Users table. The Admin user name: (1) cannot be deleted; (2) has no initial password; and (3) is assigned the Admin role.

2009

© 2009 SAP AG. All rights reserved.

301

Unit 4: Security and Auditing

MDM050

Figure 166: Users Table

Each new record that you add to the table defines a new user name and its associated role(s). Note: Users can change their passwords from within MDM client applications by choosing Configuration –> Change Password. Note: The Users table is an MDM system table. It is created automatically when you create a repository and cannot be deleted.

Roles SAP NetWeaver MDM uses its own mechanisms for authorizations and roles. Roles are assigned to users.

Authorizations Authorizations are assigned to roles and are contained in the Roles table. These authorizations can be assigned and unassigned by selecting the options below: • •

Functions (no authorization/authorization for a function, such as Add Records) Access to tables and fields (Read-Only, Read/Write, Constraints)

Roles Table The Roles table stores roles that can be assigned to users on the Users table. When selected in the Console Hierarchy tree (it is a child of the Admin node), the Roles table’s records appear in the top-right pane. The predefined properties for Roles table records are listed below; all of the properties are directly editable on the Role Detail tab.

302

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Users, Roles and Change Tracking in MDM

Role Properties Property

Description

Name

The role name.

Description

A description of the role.

Users

The list of users associated with the role.

Figure 167: Roles Table

Additional tabs in the Role Detail pane define a role’s functional privileges, table and field access rights, and record constraints. All MDM repositories are created with two roles already added to the Roles table: Admin and Default. The Admin role: (1) cannot be deleted; (2) allows unrestricted access to MDM functions, tables and fields, and records; and (3) is assigned to the Admin user. Although you can assign the Admin role to as many users as you like, you cannot modify the Admin role’s access rights. The Default role: (1) cannot be deleted; (2) initially allows unrestricted access to MDM functions, tables and fields, and records; and (3) is assigned to all new users added to the Users table. You can modify the Default role’s access rights at any time. Each new record that you add to the Roles table defines a new role and lets you assign the role to selected users. Note: The Logged-In Role Maintenance setting in the MDM Server settings file controls whether or not you can edit roles while users assigned that role are connected to an MDM repository. Note: The Roles table is an MDM system table. It is created automatically when you create a repository and cannot be deleted.

Functional Privileges The functional privileges for a role are displayed in a hierarchy in the Name column in a grid within the Functions tab. Each of the functions is associated with a leaf node in the hierarchy, which are organized into groups using the internal nodes.

2009

© 2009 SAP AG. All rights reserved.

303

Unit 4: Security and Auditing

MDM050

For each function, you can specify either of the following access settings by selecting from the radio button grid control in the Access column: • •

Execute – the function can be executed by the role None – the function cannot be executed by the role

Figure 168: Functional Privileges

Using this tab, you can customize permissions for various MDM functions for the role selected in the Roles table. Note: The setting of the Functions (default) node determines the default privilege for new functions that are added to updated versions of the MDM software. The functional privileges assigned to a role in the Functions tab are constrained to those tables, fields, and objects which the role is granted read/write access to in the Tables and Fields tab. Hint: You can change the access privileges of all functions simultaneously by changing the setting of the Functions (default) node.

Table and Field Privileges The table and field privileges for a role are displayed in a hierarchy in the Name column in a grid within the Tables and Fields tab. Each of the repository’s normal tables is represented in the hierarchy by an internal node, with its fields represented by leaf nodes. Each of the repository’s special tables and objects are represented by single leaf nodes.

304

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Users, Roles and Change Tracking in MDM

Figure 169: Table and Field Privileges

For each node, you can customize access privileges by specifying either of the following access settings in the Access column: • •

Read/Write Read-Only

For table nodes, the access setting determines whether or not a role has access to the following functions on the selected table: • •

Record-level functions (such as adding and deleting records) Schema-level functions (such as adding and deleting fields)

The table node access setting also serves as the default access setting value for all new fields added to the table. For field and object nodes, the access settings determine whether or not the selected field or object value can be modified by the role. Note: To perform an operation on a table, field, or object, a role must have both the corresponding functional privilege and Read/Write access to that table, field, or object.

Record Constraints The record constraints for a role are controlled from the Constraints column of the grid within the Tables and Fields tab.

2009

© 2009 SAP AG. All rights reserved.

305

Unit 4: Security and Auditing

MDM050

Figure 170: Record Constraints

Record constraints are selections of masks, named searches, and/or lookup table records that allow you to create virtual subset repositories on a per role basis. Only records that fall within the constrained record set will ever be visible or known to the role. To specify a constraint, you simply select the masks, named searches, and/or lookup values which correspond to the records you want to make visible and accessible to the role. In this regard, specifying constraints is like specifying search selections that are always in effect. Selecting constraints on the Masks table limits the visible record set to records included in the selected mask(s). Any additional named search or lookup table constraints are applied to the records in the selected masks, limiting further which records are visible to the role. Note: Multiple mask selections are considered “OR” combinations, meaning records only have to appear in one selected mask to be visible, not all selected masks. Selecting constraints on the Named Searches table limits the visible record set to only those records that match the search parameters of the selected named search(es). Any additional lookup table constraints will further limit which records are visible to the role. Note: Prior to MDM 5.5 SP6 Patch 1, multiple named search selections were treated as “AND” combinations, meaning records must match the search parameters in all selected searches in order to be visible to the role. After MDM 5.5 SP6 Patch 1, multiple named search selections are treated as “OR” combinations, meaning records matching the search parameters in any selected named search will be visible to the role. MDM does not enforce mask or named search constraints when the Masks or Named Searches table is the current table. This frees users to create their own masks and named searches and have access to them afterwards, but it also exposes the role-constraining masks and named searches to the user. To prevent users from accessing specific mask or named search records, add a lookup field to your Masks and Named Searches table and constrain its lookup values to hide or display mask and named search records accordingly.

306

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Users, Roles and Change Tracking in MDM

Whether a record is visible or hidden on a role’s Masks or Named Searches table does not affect which records are visible to that role on other tables. Selecting constraints on a lookup table limits the visible record set to only those records that have the selected values in their lookup fields or in their lookup hierarchy. Lookup table constraints limit: (1) the set of visible main table records; (2) the set of visible subtable records; (2) the set of visible lookup table values in the Record Detail tab; and (3) the set of visible lookup values in the search tabs. For example, if a main table, Products, has a field that looks into the Manufacturers table, and the Manufacturers table has a field that looks into the States table, selecting a constraint on the States table will: (1) hide all records on the States table except the record corresponding to the selected value; (2) hide all records on the Manufacturers table except records with lookup field values matching the selected State value; and (3) hide all records on the Products table except records with lookup field values matching the remaining manufacturers on the Manufacturers table. No other state or manufacturer lookup values will appear in the Record Detail tab or in the Search Parameters pane. Note: You can only set constraints on tables which are referenced by single-value lookup fields. If a table is used as a multivalued lookup field or as the nested lookup of a multi-valued lookup field, you will not be able to set constraints on it. Note: Multiple lookup constraints are considered “AND” combinations, meaning only records which remain after all lookup constraints have been applied will be visible. Finally, constrained record sets are dynamic. Records which fall into a constrained record set become visible and accessible (or invisible and inaccessible) to a role automatically as they are added, deleted, or modified in the repository. Note: It is possible for a user to add or modify a record and then have this record disappear instantly from view, if: (1) the user’s role is constrained by named searches and the newly added or modified record is outside the search parameters of the constraining searches; or (2) the user’s role is constrained by masks (new records are not visible to users constrained by masks). To prevent these scenarios from occurring, roles constrained to masks should not have add record privileges and roles constrained to named searches should not have add record or modify record privileges.

2009

© 2009 SAP AG. All rights reserved.

307

Unit 4: Security and Auditing

MDM050

For each table for which you can assign constraints, the value in the Constraints column is as follows: • •

[ALL] – table not constrained [n] – table has ‘n’ constraints selected Note: You cannot manually create the [0] case (i.e. ‘n’ equals 0), which can occur if all selected constraints are replaced or deleted.

When you select constraints for a table, the values that you select become the unconstrained (visible) values and the values that you do not select become the constrained (hidden) values. When you add constraints for a table, the set of selected (unconstrained) values always implicitly includes the NULL value. To select constraints for a table: 1. 2.

In the Tables and Fields tab, double-click on the cell in the Constraints column corresponding to the table you want to constrain. MDM opens a dual-list drop-down control for multiple-item selection. Select or deselect mask, named search, or lookup record values from the drop-down list or hierarchy, as follows: • • • •

To add Available value(s) to the Selected values list, highlight them and click the Add button. To remove values from the Selected values list, highlight them and click the Remove button. To add all of the values to the Selected values list, click All. To remove all of the values from the Selected values list, click None. Note: Available values appear as a list for flat lookup tables and Named Searches and as a hierarchy for the Masks table and hierarchy lookup tables.

3. 4.

Press Enter or click on the up triangle to close the drop-down control. To save the new constraints, right-click on the Tables and Fields tab and choose Save Role from the context menu, or press Shift+Enter.

Performing MDM Operations The access settings in the Functions tab controls the rights to execute a given function (the functions roughly correspond to the menu options of the MDM Client). Similarly, the access settings in the Tables and Fields tab control rights to each of the tables and fields. This includes the main table, lookup tables, object tables (Images, Text Blocks, PDFs, etc), the Masks table, the Families table, and publications. To perform an operation, you must have both functional access (the ability to perform the given function), object access (the ability to read/write the object(s) on which the operation is being performed), and record access (pursuant to the

308

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Users, Roles and Change Tracking in MDM

record constraints). For example, to add an image to an MDM repository, you must have the Add Records functional access, and Write access to the Images table. Having only one of those rights is insufficient. Note: When a user belongs to multiple roles, MDM separately calculates the rights for each role (based on the functional privileges, the object privileges, and the record constraints), and then combines the rights of those roles with an OR.

Connections Table The Connections table is an MDM system table with a predefined set of fields, and records that appear in the top-right Connections pane of MDM Console. Each record that MDM maintains corresponds to a currently connected MDM client application, along with the connection time and time since last access, allowing you to monitor connection activity. Note: When you first create a new MDM repository, MDM automatically creates the Connections table (as a child of the Admin node of the Console Hierarchy tree). The properties for each connection are listed below; none of the properties are directly editable in the Connection Detail pane, which is read-only. Connection Properties

2009

Property

Description

Name

The user name.

Host Name

The system on which the MDM client is running.

Application Name

The MDM application (e.g. Client, API, Import Manager).

Connection Time

The date and time the connection was established.

Last Activity Time

The date and time the connection was last accessed.

© 2009 SAP AG. All rights reserved.

309

Unit 4: Security and Auditing

MDM050

Figure 171: Connections Table

Predefined Users, Roles and Passwords In general there are one predefined user and two predefined roles when creating a repository from scratch. The predefined user is the Admin user. The Admin role is assigned to it. A password is not maintained initially for this user. It is very important to maintain a strong password for this user shortly after creating the repository. The other predefined role is the Default role. Initially it has full privileges. It is important to reduce these privileges shortly after creating the repository.

Single Sign-On Support MDM Server does not support single sign-on in the current release 7.1. When a client application is used, the user IDs and passwords need to be provided to log onto the MDM Server and the repositories.

Password Change Enforcement Users with the appropriate authorization (such as the Admin role) can create new users in the MDM Console. The end user can be forced to change the password after the first logon to the MDM Server using one of the MDM Client applications (such as MDM Data Manager or MDM Image Manager). This feature prevents the administrator from knowing the passwords of the end users. You can configure this “initial password” behaviour. The flag “User Must Change Password” in the console user administration activates the described function if it is set to “Yes”. This feature can also be used by the administrator to enforce a password change by the user at any time.

310

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Users, Roles and Change Tracking in MDM

Figure 172: Password Change Enforcement

After creating a user, the default setting for the “initial password” behaviour is “No”. You must set it to “Yes” after user creation.

Minimum Length of Password The minimum length of passwords can be customized. You can maintain it centrally in the mds.ini file located in the server directory “...\sap\MAF\MDS{instance number}\config”. One parameter is used for this setting: •

Minimal Password Length=5 (for example)

It is important to assign a strong and secure default password to each created user. After you change the minimal password length in the ini file, this password length is not automatically applied to all users whose assigned password is shorter than the minimal password length. The default value for the minimal password length after installing the MDM Server is 5. It can be set to zero, but we do not recommend that you allow users without passwords. Changes to mds.ini only take effect after a restart of the MDM Server.

Password Validity Timeframe Users are forced to change the password after the validity timeframe for the password has expired. The validity timeframe of the password is maintained centrally in the mds.ini file located in the server directory “..\sap\MAF\MDS{instance number}\config”. Two parameters are used for this setting: •

Password Expiration Days=90 (for example) This option sets the time until a password will expire



Password Expiration Warning=7 (for example) This option sets the number of days a user will get warnings before his password expires.

2009

© 2009 SAP AG. All rights reserved.

311

Unit 4: Security and Auditing

MDM050

Figure 173: Security Settings in MDS.ini

After the defined number of warnings, the user cannot log onto the system without changing his or her password. It is possible to define that the password for a user will never expire. The flag “Password Never Expires” in the console user administration activates the described behaviour if it is set to “yes”. Changes to mds.ini only take effect after a restart of the MDM Server.

Locking User Accounts The user account is locked after a defined number of failed password logon attempts for a defined length of time. The user account lock setting is maintained centrally in the mds.ini file located in the server directory “...\sap\MAF\MDS{instance number}\config”. Two parameters are used for this setting: •

Lock Account After Failed Password Attempts=3 This option sets the number of failed password logon attempts allowed before the user account is locked (here 2 attempts; with the third attempt the account will already be locked).



Lock Account Duration=1800 This option sets the duration of the password lock after the failed password attempts allowed (here 1800 seconds).

After the defined number of failed password logon attempts, the user cannot log onto the system for the defined number of seconds. The administrator can reset a locked account at any time. The flag “Reset Account Lock” in the console user administration deactivates the lock if it is set to “yes”.

312

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Users, Roles and Change Tracking in MDM

Figure 174: Reset Account Lock

This feature can significantly slow down password brute force attacks if the number of allowed failed password attempts is set to a low value and the lock duration is set to a relatively high value. The User Account Lock feature does NOT work for users with the Admin role. This prevents administrators from lock out scenarios. Keep the number of users with the Admin role as small as possible. Use especially strong passwords for those users, as they are not protected against brute force attacks.

Emergency User Concept The emergency user concept defines how to access a system in case of loss of all administrative user credentials. For MDM, it is an emergency concept based on a database user. If all administrative user credentials for a repository are lost, the administrator of the MDM database should perform the following steps: 1. 2. 3. 4.

5.

2009

Access the database server using a database management tool (such as SQL Server Enterprise Manager). Open the corresponding database of the respective repository. Database naming convention: [repository name]_m000. Open the user table. Table name: A2i_CM_Users. Replace the password in the field ‘Password’ of the administrator user record with the following: D41D8CD98F00B204E9800998ECF8427E (this represents a blank password). The repository administrator can now log onto the repository with a blank password. After logging onto the repository, the administrator should immediately change the password.

© 2009 SAP AG. All rights reserved.

313

Unit 4: Security and Auditing

MDM050

Auditing Logging of Security-Relevant Information The MDM Server contains a logging functionality for security-relevant information. The logs are stored as CSV files in the server directory “...\sap\MAF\MDS{instance number}\log”. You can view them from the MDM Console. There are two types of logs: 1. 2.

MDS_Audit: Security-relevant Information MDS_Log: Technical server logs

If a log file exceeds a size of 2 MB, a new file is created. Since logs are not overwritten, you can create a long-term archive. Due to the risk of running out of hard disk space, you should archive old log files or (if there is no need for a long-term archive) delete them from time to time.

314

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Users, Roles and Change Tracking in MDM

The following security-relevant information is logged: •

Server:



– Start/stop server instance – Change server password – Log onto server Repository – – – – – – –



Log onto or off from repository Create/delete Start/stop/repair Rename repository (log shows only new name) Archive (log shows only name of repository to archive) Unarchive repository (log shows only name of archive target) Archive/unarchive publication model (log shows the same data as archive/unarchive repository) – Create slave (log shows only slave name) – Export schema (log does not show the schema’s origin or target name) – Create repository from schema (log shows only name of target repository) – Change DBMS settings (log shows only change event, but no further details) – Add/update/delete role (log shows only update event, but no further details) – Add/update/delete user – Update change tracking (log shows only update event, but no further details) – Create/update/delete port (log shows only events, but no further details) Repository Metadata: – – – –

2009

Create/update/delete table (log shows only event, but no further details) Create/update/delete table field (log shows only event, but no further details. No information about corresponding table available.) Create/update/delete tuple (log shows only event, but no further details) Create/update/delete tuple field (log shows only event, but no further details)

© 2009 SAP AG. All rights reserved.

315

Unit 4: Security and Auditing

MDM050

Change Tracking Table The Change Tracking table is an MDM system table with a predefined set of fields, and records that are not directly visible in MDM Console. Each record is created automatically by MDM when the value of any field that you are tracking is changed, providing an audit log of changes within the system. Note: For each change, MDM records the date, the time, the user who made the change, the old value, and the new value. The change tracking settings for the tables and fields are displayed in a hierarchy in the Name column in a grid within the Change Tracking Detail pane. Each normal table is represented by an internal node and each of its fields by a leaf node. For each field, you can specify whether to track changes of the following types by selecting from the radio button grid control in the corresponding column: • • •

Track Adds – track new field value when a record is added Track Modifies – track old and new values when the field is modified Track Deletes – track old field value when a record is deleted

Figure 175: Change Tracking Table

The nodes in the Name hierarchy include actual and virtual fields. Note: You can only change the settings for the Change Tracking table for an MDM repository that is mounted and unloaded. Caution: Enabling change tracking can dramatically degrade MDM system performance when records are modified. To view the changes that have been recorded, you have two options. Firstly, if you browse the database {Repository name}_Z000, there is a table called A2I_CM_HISTORY, which stores all records associated with the Change Tracking

316

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Users, Roles and Change Tracking in MDM

table. Alternatively, a separate user interface is available for viewing change information tracked on this table. This interface can be viewed as a stand-alone application, as an iView, or it can be integrated into the MDM Data Manager. This UI is a new Java based application called the Change Tracker, which you can deploy and access through a Portal connection. This application also browses the History table, but through a JDBC connection. More information on the Change Tracker is available in the Portal section later in this course.

2009

© 2009 SAP AG. All rights reserved.

317

Unit 4: Security and Auditing

318

© 2009 SAP AG. All rights reserved.

MDM050

2009

MDM050

Lesson: Users, Roles and Change Tracking in MDM

Exercise 10: Users, Roles and Change Tracking in MDM Exercise Objectives After completing this exercise, you will be able to: • To create a number of users with restricted access to the repository.

Business Example You need to provide limited access to your repository.

Task: Create new users and roles in your repository.

2009

1.

Log onto your MDM050_Material_{your letter} repository using the Data Manager. Create a new Mask called Role1, and randomly assign about a dozen or so products to this mask.

2.

Call the Console (if not already open) and mount your MDM Server. Connect to your MDM050_Material_{your letter} repository.

3.

In the Console Hierarchy pane, locate the Users table for your repository, and create two new Users, Robert and Sandra.

4.

In the Console Hierarchy pane, locate the Roles table for your repository. Create a new role called Catalog Browse, which allows access to No Functions at all, and with Read Only access to all tables and fields. Set a constraint based on Mask, selecting your mask Role1. Assign this role to your new user Robert.

5.

Create a second role called Bonza Admin, with full access to Functions, and Read/Write permissions for all tables and fields. Set a constraint on Supplier, limiting the value to Bonza only. Assign this role to your new user Sandra.

6.

Logon in turn as Robert and Sandra, and check which records they can access. Test some basic functions.

© 2009 SAP AG. All rights reserved.

319

Unit 4: Security and Auditing

MDM050

Solution 10: Users, Roles and Change Tracking in MDM Task: Create new users and roles in your repository. 1.

Log onto your MDM050_Material_{your letter} repository using the Data Manager. Create a new Mask called Role1, and randomly assign about a dozen or so products to this mask. a)

In the Data Manager, change the current table to Masks, and create a new entry, by using right click, Add. Call the Mask Role1, set the property Main Table to Products, and press Shift+Enter to save. Change the current table to Products, and select at random, about a dozen or so records. Right click and choose from the context menu Add to Mask –> Role1.

2.

Call the Console (if not already open) and mount your MDM Server. Connect to your MDM050_Material_{your letter} repository.

3.

In the Console Hierarchy pane, locate the Users table for your repository, and create two new Users, Robert and Sandra. a)

4.

Expand the node Admin to locate the Users table. Right click, and select from the context menu Add User. Call the user Robert, and fill in the appropriate details, including a password. Leave Roles and Email Address blank. Repeat this process for the second user, Sandra.

In the Console Hierarchy pane, locate the Roles table for your repository. Create a new role called Catalog Browse, which allows access to No Functions at all, and with Read Only access to all tables and fields. Set a constraint based on Mask, selecting your mask Role1. Assign this role to your new user Robert. a)

Select the Roles table, right click and from the context menu choose Add Role. Give your role the name Catalog Browse. Under the Functions tab strip, set the very first entry to None. You will be prompted to set this value for all settings – click Yes. On the Tables and Fields tab strip, again change the first entry, to Read Only. Once again you will be asked if you want this change to effect all settings – click Yes. Scroll down to find the entry for Masks. Click on the Constraints column, and choose Role1, and click Add to create the Masks constraint. Once completed you should see [1] listed next to Masks, in the Constraints column. Press Shift+Enter to save. Go back to the Users table, click on your user Robert. You will notice that the role Default appears. Assign your new Catalog Browse role to the user. Press Shift+Enter to save. Continued on next page

320

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Users, Roles and Change Tracking in MDM

5.

Create a second role called Bonza Admin, with full access to Functions, and Read/Write permissions for all tables and fields. Set a constraint on Supplier, limiting the value to Bonza only. Assign this role to your new user Sandra. a)

6.

2009

Select the Roles table, right click and from the context menu choose Add Role. Give your role the name Bonza Admin. Under the Functions tab strip, ensure the first entry is set to Execute (default value, so no changes should be required). On the Tables and Fields tab strip, check the first entry is set to Read/Write (default value, so no changes should be required). Locate the entry for Suppliers. Click on the Constraints column, and choose Bonza Pty. Ltd., and click Add to create the constraint. Once completed you should see [1] listed next to Suppliers, in the Constraints column. Press Shift+Enter to save. Go back to the Users table, click on your user Sandra. You will notice that the role Default appears. Assign your new Bonza Admin role to the user. Press Shift+Enter to save.

Logon in turn as Robert and Sandra, and check which records they can access. Test some basic functions.

© 2009 SAP AG. All rights reserved.

321

Unit 4: Security and Auditing

MDM050

Lesson Summary You should now be able to: • Create users and roles in MDM, and use the change tracking capability

322

© 2009 SAP AG. All rights reserved.

2009

MDM050

Unit Summary

Unit Summary You should now be able to: • Create users and roles in MDM, and use the change tracking capability

2009

© 2009 SAP AG. All rights reserved.

323

Unit Summary

324

MDM050

© 2009 SAP AG. All rights reserved.

2009

Unit 5 IT Scenarios Unit Overview This unit will cover the IT scenarios of MDM.

Unit Objectives After completing this unit, you will be able to: • • •

Process flow for loading master data from ERP source into MDM for matching Perform matching, and further maintenance on master data, followed by distribution of master data via syndication Understand the process and implications of moving to fully centralised master data management

Unit Contents Lesson: Consolidating Master Data ..........................................326 Lesson: Harmonising Master Data ...........................................332 Exercise 11: Harmonising Master Data..................................337 Lesson: Central Master Data Management .................................341

2009

© 2009 SAP AG. All rights reserved.

325

Unit 5: IT Scenarios

MDM050

Lesson: Consolidating Master Data Lesson Overview This lesson will introduce teh master Data Consolidation IT scenario of SAP NetWeaver MDM.

Lesson Objectives After completing this lesson, you will be able to: •

Process flow for loading master data from ERP source into MDM for matching

Business Example You have implemented SAP NetWeaver MDM in order to perform consolidation of your master data.

Master Data Consolidation SAP NetWeaver MDM supports three IT scenarios, each of which builds on the last. These scenarios are Master Data Consolidation, Master Data Harmonisation (which builds on Consolidation), and Central Master Data Management (which builds on Harmonisation). The first of the scenarios (and typically the starting point for any MDM implementation) is Master Data Consolidation. The Master Data Consolidation scenario allows the identification of identical master data objects within heterogeneous landscapes, the merge of these identical objects centrally, and provides the relevant key mapping information for further use in business operations or analytics.

Figure 176: Master Data Consolidation

326

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Consolidating Master Data

The basic process starts with the extraction of master data objects from an SAP remote system using a special MDM transaction for sending mass IDoc messages (ERP and R/3) or client proxy XML messages (CRM and SRM). SAP NetWeaver PI transforms the message format to XML and transfers the messages to the MDM file system. Finally you import the objects to MDM, using on of the following types of import: Interactive Import You use the MDM Import Manager to map fields, values, and records manually before import. This method is recommended for initial loading when the Import Manager maps have to be adapted. If you use a predefined repository and you did not change the data model you can use the automated import from the beginning. Automated Import You use the MDM Import Server to perform an automated import. This method is recommended for delta loading, when the mapping is already complete.

Process Flow

Figure 177: Process Flow

2009

© 2009 SAP AG. All rights reserved.

327

Unit 5: IT Scenarios

MDM050

Extraction 1. 2.

3.

4.

5.

Log onto your remote system. Choose one of the following transactions: MDM_CLNT_EXTR for all supported master data objects in all supported SAP Business Suite remote system types except the following: ERP and R/3 employee Material classification data For more information about MDM_CLNT_EXTR, see SAP Note 1035601. PFAL for ERP and R/3 employee Set up the extraction. You can set detailed selection options and save extraction variants. For more information see the system documentation of the extraction transactions. Run the extraction. The extraction is started as a batch job. Choose Display Jobs to get an overview of the extraction jobs. By opening the job log you can check the created messages. PI receives the IDoc or XML messages and proceeds as follows: a) b)

PI transforms IDoc and XML messages to an XML format that matches the structure of the repository. PI routes messages to the MDM file system created by the MDM port (Ready folder). To check the message transfer in PI use transaction SXMB_MONI.

Interactive Import to MDM 1. 2.

Start the MDM Import Manager and choose your repository. From the Type drop down list choose Port. Note: The port serves as a central depot to collect relevant information for importing and exporting data from and to remote systems as well as defining the file type. Ports simplify the manual and automated handling of connection information by bundling attributes (for example direction of the data flow, XML schema, import folder, maps). We recommend using ports for import. The shipped MDM repositories are already supplied with ports. You can only select a port if the following prerequisites are given: • •

The port is not locked by another user. There is at least one XML file available in the Ready folder of the port or there is an XML file in the Exceptions folder of the port.

If there is a file in the exceptions folder, the port has the status exception and you can select the port to process the exception. 3. 4.

328

Select your remote system. Select the appropriate inbound port. Do not set the Read-only flag because segments are added for pivot transformations.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Consolidating Master Data

5.

6.

The Import Manager loads the map defined in the port. If you did not set an import map in the port, the Import Manager creates an empty map. The map establishes the structural mapping between the source file(s) and the destination object. If you change the structure of the predefined repositories you have to reflect the changes in the map. On the Map Fields/Values tab pages view the mapping. All imported formats (time, date, numeric fields, and so on) should be defined as specified in the configuration options. If this is not the case proceed as follows: a) b) c)

7.

8.

Unmap all fields of the corresponding format. Change the configuration options. Map all fields again. You cannot map different formats within one import. On the Match Records tab page select the matching fields. Set the remote key and choose the appropriate default import action for an initial or delta load. Review partial matches manually. The actual matching (duplicate check) and merging takes place in the Data Manager later on. In Import Manager match by remote key only, so that objects from different systems can not overwrite each other. Execute the import. On the Import Status tab page resolve any open action items until the status Ready to Import is displayed. The Execute Import button [!] is only enabled in this status.

Automated Import to MDM When the mapping for a certain object type and remote system is finished you can perform further imports in an automated process. The MDM Import Server is a background process service), which separates the core processing of master data imports from the front-end processing. MDM Import Server allows you to load master data records periodically from various remote systems to various MDM Servers and repositories based on the port concept. Once the data is delivered by PI to a specific port directory, it will automatically get picked within a configurable time interval and queued up for import processing. MDM Import Server creates log files of the entire load process, which are stored in the port folder Log and can be displayed in MDM Console. If an error occurs in the automated import, the MDM Import Server stops and drops the XML in the Exception folder of the port. You can import the XML interactively using the MDM Import Manager and correct the error (for example complete the import map or adapt the XML schema).

Result The business objects are stored in the MDM Server. You can check this by displaying the imported records in the MDM Data Manager.

2009

© 2009 SAP AG. All rights reserved.

329

Unit 5: IT Scenarios

MDM050

You can also launch a workflow on import to automate the further processing of the master data objects (for example matching).

330

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Consolidating Master Data

Lesson Summary You should now be able to: • Process flow for loading master data from ERP source into MDM for matching

2009

© 2009 SAP AG. All rights reserved.

331

Unit 5: IT Scenarios

MDM050

Lesson: Harmonising Master Data Lesson Overview In this lesson the advantages of using the IT scenario Master Data Harmonisation will be discussed.

Lesson Objectives After completing this lesson, you will be able to: •

Perform matching, and further maintenance on master data, followed by distribution of master data via syndication

Business Example You have implemented SAP NetWeaver MDM in order to harmonise master data across your landscape.

Master Data Harmonisation SAP NetWeaver MDM supports three IT scenarios, each of which builds on the last. These scenarios are Master Data Consolidation, Master Data Harmonisation (which builds on Consolidation), and Central Master Data Management (which builds on Harmonisation). Master Data Harmonisation allows organizations to cleanse master data on materials, suppliers, and customers and leverage the results to perform enterprise-wide analytics, such as global spend analyses. Consolidated master data is then distributed to the connected remote systems to streamline business operations based on high-quality data.

Figure 178: Master Data Harmonisation

332

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Harmonising Master Data

The first step in this process is to perform Master Data Consolidation. Once the consolidated and cleansed master data is available in MDM, the data can then be distributed to the connected remote systems, so that the matching data across all affected systems is harmonised. This allows for a single point of data maintenance, followed by replication of newly maintained data to all systems in the landscape.

Process Flow

Figure 179: Process Flow

2009

© 2009 SAP AG. All rights reserved.

333

Unit 5: IT Scenarios

MDM050

Cleansing and De-duplicating Data 1. 2.

Start the MDM Data Manager with your repository and switch to Matching Mode. Identify duplicate records: a)

Define and store transformations and matching rules and combine them to matching strategies: Note: Transformations normalize field values to make them comparable. Rules define the ways how the system compares the fields and sets matching scores. Strategies combine the rules, summarize the scores, and classify the matching results. The best way of matching heavily depends on the character of the concrete data. The matching settings contained in the shipped repositories can serve as templates.

b)

3.

Run the matching. You can match every record against every other record in a repository (all vs. all, one vs. all, a set of record vs. another set, etc.). To specify a set of records you can narrow down the records using the whole variety of the MDM Data Manager search functions. After the matching is done you can sort the records by matching score and check if the highly matching records are duplicates. Merge the duplicates. Select the duplicate records and choose Merge Records. You can compare the records field by field and select which values in which record you want to keep. The merged result record preserves all the remote keys associated with each selected record. Merged records are no longer displayed as individual records in the records result pane, but can be referenced in the remote systems using their remote keys.

Distributing Master Data Once the Master Data Consolidation has been completed, the cleansed data can be distributed to the appropriate systems. There are two methods for performing this distribution of data: Interactive distribution You use the MDM Syndicator to map fields, values, and records. This method is recommended for initial distribution when the syndication maps have to be adapted. Automated distribution You use the MDM Syndication Server to perform an automated distribution. This method is recommended for delta distribution when mapping is already complete.

334

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Harmonising Master Data

Interactive Distribution 1. 2. 3.

4.

Start the MDM Syndicator with the defined repository. Choose File –> Connect to Port. Select the remote system and outbound port that you created during configuration. The Syndicator loads the appropriate map and sets the outbound file type, XML schema, and so on according to the port settings. For an interactive distribution the port needs to be set to non-automatic syndication. Select the records that you want to syndicate. On Syndicator properties tab you have the following options: • •

Suppress Unchanged Records: Unchanged records are grayed-out in the Records pane. This option simplifies delta distribution. Suppress Records Without Key: Only records with key mapping information are displayed in the Records pane. With this option, only those objects that already exist in the remote system, can be updated.

On the Preview tab page, you can check the fields to be extracted and their content for the selected objects. 5.

6.

Choose Syndications Execute to start syndication. The Syndicator indicates the number of suppressed (for example no key mapping) and syndicated records in the syndication status window. Choose File –> Save to save a changed syndication map for reuse.

Automated Distribution When the first syndication for a certain object type and remote system is finished you can perform further syndications in an automated process. The MDM Syndication Server is a background process (service), which separates the core processing of master data export from the front-end processing. MDM Syndication Server allows you to distribute master data records automatically from various MDM Servers and repositories to various remote systems based on the port concept. The Syndication Server delivers master data records as XML messages to outbound port directories periodically triggered by a scheduling mechanism or continuously triggered by changes in master data records. MDM Syndication Server creates log files of the entire distribution process, which are stored in the port folder Log and can be displayed in MDM Console. If an error occurs in the automated export, the MDM Syndication Server stops and drops the XML in the Exception folder of the port. You can export the record interactively using the MDM Syndicator and correct the error (for example adapt the syndication map).

2009

© 2009 SAP AG. All rights reserved.

335

Unit 5: IT Scenarios

MDM050

Result The Syndicator creates one XML file per object and remote system (derived from the key mapping entry) and stores it in the folder defined by the outbound port. PI picks up the files and passes them to the remote systems.

336

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Harmonising Master Data

Exercise 11: Harmonising Master Data Exercise Objectives After completing this exercise, you will be able to: • To perform basic harmonisation steps

Business Example Task: Using an existing Customer repository, you will cleanse the data, and perform a syndication of the key mapping information, ready to be imported into SAP NetWeaver BW.

2009

1.

Log onto the MDM050_Customer_{your letter} using the MDM Data Manager, as user Admin (no password).

2.

Search for all records with Source set to BW.

3.

Execute the Matching Strategy, Organisation Match, using Results vs Results.

4.

Locate the records where the Organisation name starts with Becker. Merge Becker Stuttgart and Becker Koeln. You may wish to further explore the matching data and merge other higher scoring records also.

5.

Call the Syndicator, and log on to your MDM050_Customer_{your letter} repository as Admin.

6.

In the Syndicator search for the records where the Source is set to BW.

7.

In the tab Destination Items create two new Destination Items, MDM Id, and Partner Number.

8.

Go to the Map Items tab, and map these to the appropriate MDM repository fields. Check the Destination Preview to see how the syndicated data may look.

9.

Execute the syndication.

© 2009 SAP AG. All rights reserved.

337

Unit 5: IT Scenarios

MDM050

Solution 11: Harmonising Master Data Task: Using an existing Customer repository, you will cleanse the data, and perform a syndication of the key mapping information, ready to be imported into SAP NetWeaver BW. 1.

Log onto the MDM050_Customer_{your letter} using the MDM Data Manager, as user Admin (no password).

2.

Search for all records with Source set to BW. a)

3.

Execute the Matching Strategy, Organisation Match, using Results vs Results. a)

4.

In the search pane for Source, choose BW. This should limit the result set to about 194 records.

In Matching mode, right click in the result set, and from the context menu select Matching –> Results vs Results –> Organisation match.

Locate the records where the Organisation name starts with Becker. Merge Becker Stuttgart and Becker Koeln. You may wish to further explore the matching data and merge other higher scoring records also. a)

In Matching Mode, select the record Becker Stuttgart, and look on the Matches tab for matching record. Tick the checkbox next to the record Becker Koeln, and go to the Merge tab. Right click on the column header for the first record, and choose Set All to populate the empty “Merged Record” column. Right click on this new record and select from the context menu Merge records.

5.

Call the Syndicator, and log on to your MDM050_Customer_{your letter} repository as Admin.

6.

In the Syndicator search for the records where the Source is set to BW. a)

7.

In the search pane for Source, choose BW.

In the tab Destination Items create two new Destination Items, MDM Id, and Partner Number. a)

Go to the Destination Items tab, right click and from the context menu select Add Destination Item. Call it “MDM Id”. Repeat for “Partner Number”.

Continued on next page

338

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Harmonising Master Data

8.

Go to the Map Items tab, and map these to the appropriate MDM repository fields. Check the Destination Preview to see how the syndicated data may look. a)

9.

Execute the syndication. a)

2009

On the Map Items tab, map the repository field MDM Id to your new destination item MDM Id. Perform the same sort of mapping for Partner Number. Check the data in the Destination Preview tab. Click on the ! button to perform the syndication. Call the file customer_keys.txt, and save it on your desktop.

© 2009 SAP AG. All rights reserved.

339

Unit 5: IT Scenarios

MDM050

Lesson Summary You should now be able to: • Perform matching, and further maintenance on master data, followed by distribution of master data via syndication

340

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Central Master Data Management

Lesson: Central Master Data Management Lesson Overview This lesson will discuss the IT scenario Central Master Data Management.

Lesson Objectives After completing this lesson, you will be able to: •

Understand the process and implications of moving to fully centralised master data management

Business Example You have implemented SAP NetWeaver MDM in order to centralise your master data management tasks.

Central Master Data Management SAP NetWeaver MDM supports three IT scenarios, each of which builds on the last. These scenarios are Master Data Consolidation, Master Data Harmonisation (which builds on Consolidation), and Central Master Data Management (which builds on Harmonisation). Once the Master Data Consolidation and Harmonisation has been completed, organizations can centrally manage their master data. They can support company-wide quality standards by ensuring that central control of master data begins as soon as the data is created. With Central Master Data Management, organisations can centrally create, change and enrich master data in MDM.

Figure 180: Central Master Data Management

2009

© 2009 SAP AG. All rights reserved.

341

Unit 5: IT Scenarios

MDM050

Process Flow 1. 2.

Start the MDM Data Manager with the defined repository. Create new records or update and enhance the values for existing records. MDM does not automatically validate changed and new records according to the remote system settings. To avoid objects being rejected by the remote systems when they are distributed, you can do the following: •



To implement the validation of your remote system in MDM as well, use the validation engine in the MDM Data Manager. You can use the MDM workflow capabilities to combine user tasks, validations, and approvals. To protect fields against changes, use the MDM Console security mechanism to update the Distributor role. Change specific fields to read-only in the Table and Field pane using the MDM Console.

Note: If you change the data model of the repository using the MDM Console (for example add new fields) and want to distribute the enhanced records, be aware of the downstream processes. You may also have to adapt syndication maps, XML-schemas, PI content, and the data model of the remote system. 3.

342

You can optionally use the MDM Enrichment Architecture to integrate MDM with third-party data enrichment services that support and extend the core data quality process. The enrichment architecture enables MDM to send data element(s) to an external data enrichment provider and receive response containing data to be updated or inserted in a repository. Examples for such a process are address parsing and standardization, intra-record cleansing/normalization, lookup against standard repository, auto-classification, and corporate relationships.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Central Master Data Management

Lesson Summary You should now be able to: • Understand the process and implications of moving to fully centralised master data management

2009

© 2009 SAP AG. All rights reserved.

343

Unit Summary

MDM050

Unit Summary You should now be able to: • Process flow for loading master data from ERP source into MDM for matching • Perform matching, and further maintenance on master data, followed by distribution of master data via syndication • Understand the process and implications of moving to fully centralised master data management

344

© 2009 SAP AG. All rights reserved.

2009

Unit 6 Business Scenarios Unit Overview In this unit, students will look at the use of MDM to support Business Scenarios.

Unit Objectives After completing this unit, you will be able to: • • •

Understand the concept and advantage of the GDS Business scenario Understand the concept and advantage of the CDI Business scenario Understand the capabilities of MDM in the area of Catalogs, and Print Publishing

Unit Contents Lesson: Global Data Synchronisation........................................346 Lesson: Customer Data Integration ..........................................354 Lesson: Rich Product Content Management and Print Publishing .......357

2009

© 2009 SAP AG. All rights reserved.

345

Unit 6: Business Scenarios

MDM050

Lesson: Global Data Synchronisation Lesson Overview This lesson will explain the advantages of being able to exchange master data along the supply chain using Global Data Synchronisation.

Lesson Objectives After completing this lesson, you will be able to: •

Understand the concept and advantage of the GDS Business scenario

Business Example You would like to understand how SAP NetWeaver MDM supports Global Data Synchronisation.

Global Data Synchronisation The ecosystem of consumer product (CP) manufacturers faces a variety of challenges. Global recession and changes in society influence the consumer and require CP manufacturers continuously to adapt new circumstances. On an industry level, the development of global standards like EPC and GS1 and growing internationalization lead to the increased importance of collaboration between manufacturers and their retail trading partners. In traditional Supply Chain scenarios, error rates in ordering are high, meaning unnecessary and wasteful returns, and inefficiencies in the supply chain.

346

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Global Data Synchronisation

Figure 181: Typical Supply Chain Scenario

The global data synchronization (GDS) business scenario allows you to exchange trade item data with your retail partners using the Transora and UCCnet data pools. GDS is the prerequisite for efficiently handling the ordering, shipping, and invoicing processes. GDS is also beneficial if you have any processes related to radio frequency identification (RFID). By synchronising master data along the supply chain in this way, these errors described above can be eliminated. This will result is improvements by: • • • • •

Preventing errors when communicating with trading partners Reducing the number of incorrect invoices Decreasing the time needed to introduce new products Minimising the manual effort needed to change orders Processing information and requests from trading partners that are communicated through the data pool

Figure 182: Synchronisation of Master Data

2009

© 2009 SAP AG. All rights reserved.

347

Unit 6: Business Scenarios

MDM050

Using global data synchronization, companies can manage and exchange product data locally and globally: • • • • •

Reduce error-processing costs resulting from inconsistent product data Establish channels for exchanging standardized information with data pool (for example, 1Sync) for further publication to trading partner Implement a quick but complete solution for complying with trading-partner requirements Integrate with SAP ERP seamlessly and permanently Achieve a lower total cost of ownership, since global data synchronization (GDS) is based on your existing landscape

The GDS solution is an easy to use, lean solution built on top of MDM technology. It is supplied with a thin client user interface (browser based), with customisable search fields, and a simple set of roles to limit functions performed by users.

Creating or Changing Trade Items Based on Materials You can use this business process to create or change trade items in the GDS 2.0 Console that are derived from material master records in the ERP system. You extract material master data by first using various criteria to select materials that are intended for global data synchronization. The second part of the extraction process involves sending the selected materials to the GDS 2.0 Console, where they are transformed into trade items. This entails adding more attributes to the basic material, as required by the trade item definition. You then save the trade items in the GDS 2.0 Console. The benefit of this process is that you can integrate materials used internally in the ERP system with trade items that manufacturers and retailers exchange externally.

348

© 2009 SAP AG. All rights reserved.

2009

MDM050

2009

Lesson: Global Data Synchronisation

© 2009 SAP AG. All rights reserved.

349

Unit 6: Business Scenarios

MDM050

Figure 183: Creating or Changing Trade Items Based on Materials

1.

Select materials (SAP ERP) You select materials from which you want to derive trade items.

2.

Start distribution (SAP ERP) You use Application Link Enabling (ALE) to distribute your selected materials.

3.

System executes mapping (PI Process Integration) SAP Exchange Infrastructure (SAP PI) maps the IDoc XML format to the XML format of the GDS 2.0 Console and initializes the proxy.

4. 5.

System checks if trade items exist (GDS 2.0 Console) System imports trade items (GDS 2.0 Console) If the trade items do not exist in the GDS 2.0 Console, the system creates new trade items.

6.

Enrich trade items (GDS 2.0 Console) You add attributes to trade items so they comply with data pool requirements.

7.

Select trading partners (GDS 2.0 Console) You select the trading partners to which you want to distribute the trade items. You can create trading partners either before or after you create trade items. You must ensure that both the trade items and the trading partners exist in the GDS 2.0 Console.

Synchronizing Data with Data Pool You use this business process to register trade items stored in the GDS 2.0 Console with the UCCnet and Transora data pools. You can also change trade items, even if they have already been registered or published, and send them to the data pools again. The data on trade items you want to send, and on the trading partners you want to reach through the data pools must meet the data pool requirements. Manufacturers and retailers can use exchanged master data, that is trade items (Global Trade Item Numbers) and trading partners (Global Location Numbers) in their operative processes, such as ordering and invoicing. This means manufacturers and retailers no longer need to communicate using proprietary identifiers such as material or customer numbers.

350

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Global Data Synchronisation

Figure 184: Synchronizing Data with Data Pool

1.

Choose action (GDS 2.0 Console) You can register trade items with a trading partner or publish trade items to a trading partner.

2.

Determine list of GTINs (GDS 2.0 Console) You use various search criteria to create a list of the trade items (GTINs) you want to send to the data pool.

3.

Validate trade items (GDS 2.0 Console) Before you send the register or publish command to the data pool from GDS 2.0 Console in the form of a message, you can validate the trade items to ensure they meet the data pool requirements. When you register trade items, the GDS 2.0 Console automatically validates these trade items before it sends them to the data pool.

4.

System maps XML format of GDS 2.0 Console to XML format of data pool (PI Process Integration) SAP Exchange Infrastructure (SAP PI) maps the data from the SAP-internal XML format to the data pool-specific XML format.

5. 6.

2009

System converts message to AS2 protocol (PI Process Integration) System validates registration data (Data Pool)

© 2009 SAP AG. All rights reserved.

351

Unit 6: Business Scenarios

MDM050

The data pool checks if the registration message complies with the data pool standards. 7. 8.

System stores registration (Data Pool) System processes acknowledgement (GDS 2.0 Console) The GDS 2.0 Console receives an acknowledgement from the data pool and processes it.

9.

System sets synchronization status (GDS 2.0 Console) Depending on the acknowledgement received from the data pool, the GDS 2.0 Console sets a synchronization status for the corresponding trade item(s).

10. Choose action (GDS 2.0 Console) After you have registered a trade item, you can change the trade item data or publish the trade item. This process step applies only to trade items that are destined for one specific retailer. If the trade item is not restricted to one specific retailer, the publication process takes place automatically. 11. System maps XML format of GDS 2.0 Console to XML format of data pool (PI Process Integration) SAP PI maps the data from the SAP-internal XML format to the data pool-specific XML format. 12. System converts message to AS2 protocol (PI Process Integration) 13. System validates publication data (Data Pool) The data pool checks if the publication message complies with the data pool standards. 14. System stores publication (Data Pool) 15. System processes acknowledgement (GDS 2.0 Console) The GDS 2.0 Console receives an acknowledgement from the data pool and processes it. 16. System sets synchronization status (GDS 2.0 Console) Depending on the acknowledgement received from the data pool, the GDS 2.0 Console sets a synchronization status for the corresponding trade item(s).

352

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Global Data Synchronisation

Lesson Summary You should now be able to: • Understand the concept and advantage of the GDS Business scenario

2009

© 2009 SAP AG. All rights reserved.

353

Unit 6: Business Scenarios

MDM050

Lesson: Customer Data Integration Lesson Overview This lesson will provide an overview of Customer Data Integration, and discuss how SAP NetWeaver MDM can support companies as they consolidate customer data.

Lesson Objectives After completing this lesson, you will be able to: •

Understand the concept and advantage of the CDI Business scenario

Business Example “Even though companies could merge and consolidate customer data into a single database, applications continue to process and modify customer data – and therefore data harmonization and management remains a key issue to solve. ”- Forester Group

Customer Data Integration Customer information is often dispersed loosely over multiple application systems. Without consolidating this information, subsequent business processes are only based on local information, which can be incomplete or even obsolete, and all employees involved in customer interactions rely on the given customer data. Harmonized customer data is often crucial to the success of an enterprise within a customer-oriented business – both in terms of cost efficiency and customer loyalty. CDI is the process of consolidating and managing customer data from all available sources. This ensures that all relevant departments in the organisation have access to the most up-to-date and complete view of customer data available. This is an essential extension to Customer Relationship Management (CRM). Why is CDI so important? • • • • •

354

Improve cross-sell and up-sell efforts by providing a complete picture of the existing customer relationship Streamline business processes by eliminating manual rework caused by bad data Reduce costs by centralizing the management of customer data Coordinate customer processes across business units and locations more efficiently Enable accurate analyses on a consolidated basis in order to make better business decisions

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Customer Data Integration

What are the benefits? • • • •

360° view of customers and customer interactions Easier maintenance of customer data – change once and propagate many Reduced marketing costs with less duplication and greater personalization Accuracy and reliability of all customer data-related analyses

Figure 185: Customer Data Integration

Many of the core functions required to support CDI are already available with SAP NetWeaver MDM. Specifically: • • • • • • •

Ad-hoc, semi-automated matching with exclusion support, simulation and rules tuning Basic survivorship rules for merge Open interfaces to third-party data quality vendors Extended consolidation scenario for business partners Web services supporting CDI processes Extended integration into SAP CRM and ERP Infrastructure supporting integration into non SAP CRM systems

In summary, with SAP NetWeaver MDM, SAP provides a flexible data hub that allows the autonomy of customer data from business applications, with a data model that supports both B2B and B2C scenarios.

2009

© 2009 SAP AG. All rights reserved.

355

Unit 6: Business Scenarios

MDM050

Lesson Summary You should now be able to: • Understand the concept and advantage of the CDI Business scenario

356

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Rich Product Content Management and Print Publishing

Lesson: Rich Product Content Management and Print Publishing Lesson Overview This lesson will cover the main elements of the print publishing process with MDM.

Lesson Objectives After completing this lesson, you will be able to: •

Understand the capabilities of MDM in the area of Catalogs, and Print Publishing

Business Example SAP NetWeaver is not just a repository for master data. The master data held within MDM can be enriched and then published as a catalog, either online, or printed.

Print Publishing MDM Publisher is one of the powerful suite of MDM tools for next-generation master data management and single-source, cross-media catalog publishing. MDM Publisher does more than just desktop publishing. It goes much further to implement an elegant and seamless combination of many different technologies, concepts, and minute details to create a comprehensive solution to an age-old problem: how to produce visually stimulating catalogs which retain their connections to ever-changing product data. Many of the features incorporated in the MDM system are unique, while others are careful refinements of existing ones. Collectively, they have been combined in an unprecedented way to form an entirely new class of application software for catalog publishing. Just as modern word processing represented a quantum leap over rudimentary text editing, MDM Publisher represents a quantum leap over desktop publishing.

The MDM Publishing (R)evolution Since its earliest inception, MDM has provided companies with efficient solutions for publishing master data. This functionality has grown over time and is now embodied in the MDM Publisher. To better understand what benefits MDM Publisher can provide now and in the future, it may be helpful to look back at its origins.

2009

© 2009 SAP AG. All rights reserved.

357

Unit 6: Business Scenarios

MDM050

MDM Publisher evolved out of the former Layout and Publication modes of MDM Data Manager. These modes helped users prepare master data for publication by leveraging MDM’s existing connection to the product data contained in an MDM repository. The key to this connection was the Family Hierarchy – an MDM innovation which automatically groups records into product families based on shared field or attribute values. With the Family Hierarchy, catalog producers no longer had to manually add, delete, or move individual product records from family to family as the repository data changed. MDM would do that for them, leaving them free to focus their creative energies on the catalog layout. Data Manager’s Layout Mode pulled virtually all of the formatting, structuring, and layout tasks out of traditional desktop publishing (DTP) applications and into MDM, where users could create “smart” catalog presentations thanks to MDM’s knowledge of the underlying product data. With Layout Mode’s WYSIWYG display and host of patent pending innovations, designers transformed “flat” table data into multidimensional, eye-catching layouts. Because all layout work was tied to product families, not individual records, users could easily leverage the effort that went into creating layouts for a single catalog into other publications, resulting in dramatic savings in production time and costs. Of course, creating reusable layouts was only half the story. Data Manager’s Publication Mode let users define MDM publications, hierarchical structures which formed the basis of catalogs. MDM publications define the order in which product layouts are to appear in the final catalog and even dictate which records to include or exclude. Once layouts were created and a publication structure defined, users sent the publication data to a third-party DTP application in order to create the actual catalog document. Catalog designers would have to compose the catalog page-by-page within the DTP, using an MDM plugin to occasionally refresh the catalog with “live” product data from the MDM repository. Starting with SAP MDM 5.5 SP4, Layout Mode and Publication Mode were pulled out of Data Manager to form the basis of a new application, MDM Publisher. MDM Publisher took the existing functionality of these modes and added new page-management and spread editing capabilities. These new features allow users to create fully-paginated catalog documents within MDM and also to perform composition work previously possible only in a traditional DTP application, such as precisely placing, spacing, and sizing objects on a catalog’s pages. The emergence of MDM Publisher represents a major step forward towards a complete and unified data management/catalog publishing system. With each new release, MDM Publisher continues to add to and refine its already-impressive feature base in order to provide you with the ultimate catalog layout solution.

358

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Rich Product Content Management and Print Publishing

What is an MDM Publication? Catalog production typically involves three separate processes: • • •

Information-gathering. Product data, pricing, and artwork must be collected and assimilated for each item in the catalog. Design. Visually-appealing layouts must be created for displaying product information in the catalog. Content Management. Decisions must be made regarding which products are to appear in the catalog and in what order.

Often, each process is handled by a different person or group. To further complicate matters, these parties may use different applications to perform their jobs, making it difficult to create a unified, orderly, and transparent system for catalog production. Technological limitations can also hamper production efforts. Databases provide centralized data storage but extracting this data often requires special programming which outputs data in formats not suitable for print. Desktop publishing (DTP) applications, on the other hand, produce page layouts which are visually appealing but not easily updateable. The major problem with producing catalogs using these methods is that the results are not reusable. That is, when it is time to produce a new catalog, most of the production work has to be performed all over again. MDM Publisher represent a paradigm shift in the way print catalogs are produced. It combines the data awareness of a traditional database management system with the design abilities of a DTP program, resulting in publications which are: •









Data-aware. MDM publications retain connections to “live” MDM repository data, making it easy to update catalogs whenever new product information is available. Record-agnostic. Instead of tying catalog layouts to specific product records, layouts in MDM publications are based on product families, making it easy to add, delete, or move products in a catalog. Readily-configurable. All product and layout information is stored in the MDM repository, making it easy to create, organize, and re-order product information in a catalog. Enterprise-ready. MDM publications are designed for multi-user production, offer numerous status and reporting features, and can readily produce multilingual catalogs. Automatically-reusable. MDM Publisher includes a number of features and innovations designed to automatically generate catalog content based on reusable design strategies.

The following sections describe the concepts behind MDM publications.

2009

© 2009 SAP AG. All rights reserved.

359

Unit 6: Business Scenarios

MDM050

Families and the Family Hierarchy A family (also called product family) is a group of records that are related by one or more common field and/or attribute values. In MDM, families are organized hierarchically, usually according to the underlying repository taxonomy. For this reason, the Family Hierarchy is represented as a tree in MDM applications, with each individual family appearing as a leaf node in the tree. This hierarchical structure is important not only for organizational purposes, but also for purposes of inheritance. The benefits of inheritance makes the MDM publishing process much more efficient than other catalog solutions. It is important to remember that the Family Hierarchy is dynamic, meaning that as product records are added, deleted, and edited in the MDM repository, MDM automatically adds, deletes, and repopulates families in the Family Hierarchy. Lastly, each family in the Family Hierarchy is stored as a record in the MDM repository’s Families table. You can add fields to the Families table for storing family data, such as images, text blocks, and other information applicable to a product family as a whole rather than to individual product records.

Publications and Presentation Hierarchies Publications are the catalog documents created by MDM Publisher. They can be created, opened, closed, and printed just like any document in a word processing or desktop publishing program. MDM organizes publications in hierarchies rather than as single, continuous, scrolling documents. The leaf-node item in a publication’s hierarchy is a presentation. A presentation can represent either a family or an individual record and contains the actual product information that will be published in the catalog. For this reason, a publication’s structure is called its presentation hierarchy. Unlike the Family Hierarchy, a presentation hierarchy is not fixed to the repository’s taxonomy. Instead, it is an organization entirely of your own creation. You are free to add, delete, move, and split nodes to create a structure that’s right for the catalog you want to produce.

Items and Objects The information that appears on the pages and spreads of an MDM publication is determined by the items and objects which belong to that publication’s presentations. Although these terms seem interchangeable, in MDM Publisher they refer to two different things.

Items Items refer to the fields, attributes, and qualifiers which belong to the records of a specific family or presentation.

360

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Rich Product Content Management and Print Publishing

MDM compiles the list of items for a family or presentation by collecting schema information from the main, qualified, and Families tables of the MDM repository. Items Table Type

Items Collected

Main

The fields, attributes, and relationships defined for the records of the selected family or presentation

Qualified

All fields and qualifiers on “looked into” qualified tables.

Families

All family data plus any alternative display fields.

For example, to collect items for a presentation of T-shirt records, MDM analyzes the repository’s main, qualified, and Families tables to gather schema information for the records in that presentation.

Figure 186: Items

This presentation’s main table records are made up of the fields Item No, Category, and Manufacturer; the attributes Sleeve , Size, and Color; and the qualified lookup field Local Price, which looks into the Prices qualified table. The Prices qualified table is itself made up of the field Region and the qualifier [Price]. Finally, two family data fields have been added to the Families table: Logo and Features.

2009

© 2009 SAP AG. All rights reserved.

361

Unit 6: Business Scenarios

MDM050

Thus, the complete list of items for the presentation would be: • • • • • • • • • •

Item No Category Manufacturer Sleeve Size Color Region Price Logo Features

MDM Publisher let you customize the placement and appearance of every item in a family or presentation layout. These customizations can be collectively referred to as an item’s layout properties. Think of them as the blueprints for how a presentation’s record data should be displayed on the spreads of your publication.

Figure 187: Publisher Layout Properties

Objects Whereas items refer to the schema information that originates in the MDM repository, objects refer to the layout elements which end up on the actual spreads of a publication. MDM Publisher supports two classes of objects: •



362

Family or Presentation Objects. The table, text, and image objects which MDM Publisher generates from record data associated with a family or presentation. Non-Family Objects. Text blocks, drawings, and images which are not generated from the records of a selected family or presentation but are instead added directly to a spread by a user.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Rich Product Content Management and Print Publishing

MDM generates family and presentation objects by getting the records belonging to a family or presentation from the MDM repository and then applying the various layout properties defined for the items in those records. The resulting objects are displayed in MDM Publisher..

Figure 188: The Object Generation Process

The ratio of “objects generated” to “record items” is not necessarily 1:1 but can differ from item to item and publication to publication based on record values and layout property settings. That is, one or more objects may be generated from one or more items. Possible item-to-object ratios are as follows: • • • •

One-to-one. One object is generated from one item. One-to-many. One object is generated from multiple items Many-to-one. Multiple objects are generated from a single item. Many-to-many. Multiple objects are generated from multiple items.

For an example of the object generation process “in action”, recall the presentation of T-shirts from the “Items” section.

Figure 189: A presentation’s Main, qualified, and Families table records

From these repository records, MDM Publisher can automatically generate presentation objects, based on the layout properties defined for the record items.

2009

© 2009 SAP AG. All rights reserved.

363

Unit 6: Business Scenarios

MDM050

Figure 190: Presentation objects generated from record data

Non-family objects are not generated by MDM Publisher but are instead added directly to a spread by the user. Non-family objects can be added from a source within the MDM repository (such as an image that belongs to a separate product family) or from an external file.

Figure 191: Adding a non-family object to a spread

Note: You can also create non-family text and drawing objects from within MDM Publisher. Once objects have been generated by MDM or added by a user, you can use MDM Publisher’s built-in WYSIWYG Spread Editor to size and place each object precisely on a publication’s pages.

364

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Rich Product Content Management and Print Publishing

Figure 192: Presentation objects in the Spread pane

Object Snapshots The process of generating objects (also called calculating objects) for a family or presentation can be time-consuming, especially when large numbers of records are involved. More importantly from a design perspective, every time there is a data change in the repository – such as records being added, deleted, or modified – the objects of affected families and presentations are updated automatically. This dynamic response is the result of MDM Publisher’s “live” connection to the MDM repository. This connection is extremely helpful when it is time to update a publication, but the last thing you want to happen after spending hours, days, or weeks designing your spring catalog is for someone to unwittingly ruin your spreads by updating the repository with the “summer collection” data. To protect you against these hazards, MDM Publisher creates a snapshot of presentation objects after they are initially generated. Like a photograph, this snapshot is a “frozen in time” recording of the objects in the presentation. MDM Publisher stores these snapshots with your presentations and uses them – not the dynamic repository data – to populate your publication’s spreads. In this regard, snapshots serve as a firewall between the ongoing changes that occur in the repository and the static spreads in your publications. Snapshots also make loading objects much faster, as MDM does not have to re-generate objects each time a presentation is selected. A snapshot is taken of the objects initially generated for a presentation. These snapshot objects are automatically added to the presentation’s spread.

2009

© 2009 SAP AG. All rights reserved.

365

Unit 6: Business Scenarios

MDM050

Figure 193: A spread getting its initial objects from the snapshot

Record changes made in the MDM repository cause changes to the presentation objects. However, the snapshot remains unchanged, protecting the design work done on the spread.

Figure 194: The snapshot protecting the spread from repository changes

Of course, you are never “stuck” with the initial snapshot. If you decide later that you do want to include the repository changes in your spreads, you can instruct MDM Publisher to update the snapshot.

Figure 195: Updating the snapshot with repository changes

As these examples show, the snapshot feature allows MDM Publisher to retain its connection to the master data but puts the user in control of how and when to update publications with the latest data changes.

366

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: Rich Product Content Management and Print Publishing

From MDM to DTP Publisher pages are sent to the DTP program from MDM Publisher. A DTP Plug-in or XTension (also called a paper Plug-in) needs to be installed and running in order to perform this publishing step. Pages can be published to DTP from the Spread view or from Family mode. Options for publishing from Family mode include Publish Sequential and Publish Section (when the Spread view is enabled). The Plug-in for InDesign provides not only the connection between the MDM Publisher and InDesign, but also a MDM publication-specific menu to allow for a smooth transition from the Publisher to InDesign. InDesign stores the MDM Navigator/MDM Status Palette under the Window menu for the same fields. • • •





The MDM Document field provides information on whether or not the open document was published from MDM 7.1. The Layout Server Connection field indicates the document’s connection to the layout server service by IP address. The Publication Name field displays the source of the publication name in MDM. A publication name may be manually entered for redirecting the document to a different publication and server location. The MDM Server field displays the server on which the connected database is loaded. This information may be updated if the database location has changed, by un-checking the Lock checkbox, entering in updated information, and rechecking the Lock check box. The Catalog Tag field contains the catalog name to which this publication is linked.

The MDM Indexer helps to provide an index for the printed publication. The Index we are referring to here is the index that is typically at the back of a publication. It is designed to point you to the page numbers where a product resides. The page numbering is assigned via the DTP program used. When the index is finished in the Indexer, it is sent to InDesign through the DTP Plug-in after which any final adjustments can be made before complete finalization and the distribution of the final document either to the printer or to the appropriate internal department for final approval.

2009

© 2009 SAP AG. All rights reserved.

367

Unit 6: Business Scenarios

MDM050

Lesson Summary You should now be able to: • Understand the capabilities of MDM in the area of Catalogs, and Print Publishing

368

© 2009 SAP AG. All rights reserved.

2009

MDM050

Unit Summary

Unit Summary You should now be able to: • Understand the concept and advantage of the GDS Business scenario • Understand the concept and advantage of the CDI Business scenario • Understand the capabilities of MDM in the area of Catalogs, and Print Publishing

2009

© 2009 SAP AG. All rights reserved.

369

Unit Summary

370

MDM050

© 2009 SAP AG. All rights reserved.

2009

Unit 7 SAP NetWeaver Integration Unit Overview MDM is a key component within SAP NetWeaver. In this unit students will see the benefits of integrating MDM with the SAP NetWeaver Portal, and with SAP NetWeaver BW.

Unit Objectives After completing this unit, you will be able to: •



Describe the benefits of loading Key Mapping info into BW to enhance reporting capability, including a demo of a query with and without this key mapping info Use the thin client provided in the portal to maintain master data in MDM, and understand the limitations compared to the Data Manager

Unit Contents Lesson: SAP NetWeaver BW Integration....................................372 Exercise 12: SAP BW Integration ........................................377 Lesson: SAP NetWeaver Portal Integration .................................380 Exercise 13: SAP NetWeaver Portal Integration .......................389

2009

© 2009 SAP AG. All rights reserved.

371

Unit 7: SAP NetWeaver Integration

MDM050

Lesson: SAP NetWeaver BW Integration Lesson Overview This lesson will look at the advantages of loading key mapping information into BW for consolidated analyses.

Lesson Objectives After completing this lesson, you will be able to: •

Describe the benefits of loading Key Mapping info into BW to enhance reporting capability, including a demo of a query with and without this key mapping info

Business Example You have implemented SAP NetWeaver MDM to consolidate Customer data across your many transactional systems. Duplicates have been identified using MDM, and these have been merged together. These duplicate Customer records have also been loaded into your BW system, and now you want to use the key mapping information from MDM to allow consolidated reporting in BW.

SAP Business Warehouse Architecture SAP BW enables the analysis of data from operative SAP applications as well as all other business applications and external data sources such as databases, online services, and the Internet.

Figure 196: SAP BW Architecture

As shown above, the SAP BW architecture provides for the acquisition, transformation, storage, analysis, access and distribution of data from both SAP and non-SAP sources. The Business Explorer Suite (BEx) includes a variety of tools to make this possible. In this course, we will first focus on the BEx Query Designer.

372

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: SAP NetWeaver BW Integration

The BEx Query Designer is the tool for creating query definitions. These query definitions structure how data from a variety of sources will be structured for presentation to the user. Power users can use the BEx Query Designer to create queries based on data stored in BI data providers in an easy and intuitive manner using Drag and Drop. Analyses and reports can draw on components that need to be created only once but can be reused in many queries. BEx queries and query views are the basis for analyses, reports, and planning scenarios in the BEx Web Application Designer, BEx Report Designer, and BEx Analyzer (Excel Add-in). The BW server, which is pre-configured by Business Content for core areas and processes, allows you to examine the relationships in every area within your company. Business Content provides targeted information to companies, divided into roles. This helps your employees to carry out their tasks. As well as roles, Business Content includes other pre-configured objects such as InfoCubes, queries, key figures, and characteristics. These objects facilitate the implementation of SAP BW. Within the BEx Web area, the Web Analyzer provides for web-based execution of queries as well as ad hoc analysis of data from a wide array of sources. The BEx Web Application Designer is a complete toolset for designing and deploying custom web applications within the organization. These applications often contain data from queries, but could also provide access to other structured and unstructured data. The BEx Report Designer allows for a high degree of control over the formatting of query output. They can change the layout of reports individually, add headers and footers to reports and pages, integrate texts, pictures, and charts, enter page breaks etc. The Web Item Report enables power users to include formatted reports in BEx Web applications. Queries can be executed within several different user interfaces. The BEx Analyzer makes use of Microsoft Excel to provide a well-understood interface for viewing and analyzing data. Information Broadcasting is accomplished by the BEx Broadcaster that provides all the functions necessary to distribute queries, reports and analyses to end users and to the Enterprise Portal. In addition, the BEx Broadcaster provides a wide range of functions such as alerting and the pre calculation of results.

Integration Scenarios with MDM By consolidating Business Warehouse (BW) data with SAP NetWeaver, you can update BW master data info objects to provide a solid base for cross-company reporting, such as global spend analyses. BW keeps its knowledge of local object keys in the various systems, but it receives additional information regarding consolidation from SAP MDM. The transactional dataflow within SAP BW is not affected. There are three integration scenarios for MDM BW integration, as described below:

2009

© 2009 SAP AG. All rights reserved.

373

Unit 7: SAP NetWeaver Integration

MDM050

Figure 197: Integration Scenarios

In all three scenarios the key aspect of the integration is to pass key mapping information from MDM into BW and store this against the BW master data record. This consolidated “group key” or “global ID” can then be used in analyses performed by BW to show consolidated reports. Take for example a sales scenario where we have three similar customer records; Ben and Jerry’s, Ben & Jerry’s, Ben and Jerrys Inc. In a normal BW scenario, as these are three separate master records in our transactional system, they will appear in BW as three separate master data records. Transactions will be posted against these three records in the transactional system, and so it follows that this transactional history will be loaded into BW and will form the basis of BW queries.

Figure 198: Original BW Data

Now let’s introduce MDM into this scenario. When we load these three master data records into MDM, and perform a matching, these three records are identified as duplicates, and given a single MDM key. In BW, we can extend the master data to include a new navigational attribute to hold this MDM key, and this can then be used in queries to provide consolidated information.

374

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: SAP NetWeaver BW Integration

Figure 199: Consolidated BW Data

We can see that with the addition of the key mapping information from MDM we can now perform accurate global analyses on the newly consolidated data.

2009

© 2009 SAP AG. All rights reserved.

375

Unit 7: SAP NetWeaver Integration

376

© 2009 SAP AG. All rights reserved.

MDM050

2009

MDM050

Lesson: SAP NetWeaver BW Integration

Exercise 12: SAP BW Integration Exercise Objectives After completing this exercise, you will be able to: • To perform global customer analysis using consolidate customer data that has been syndicated from MDM

Business Example You want to be able to use your recently syndicated MDM key mapping information to provide consolidated reporting in SAP NetWeaver BW.

Task: Use syndicated MDM key mapping information to perform global analyses of customer data in BW. 1.

2009

Log on to BW, using WTS as described by your instructor. Execute the two queries T_MDM050_Q00 and T_MDM050_Q001 and compare the results.

© 2009 SAP AG. All rights reserved.

377

Unit 7: SAP NetWeaver Integration

MDM050

Solution 12: SAP BW Integration Task: Use syndicated MDM key mapping information to perform global analyses of customer data in BW. 1.

Log on to BW, using WTS as described by your instructor. Execute the two queries T_MDM050_Q00 and T_MDM050_Q001 and compare the results. a)

378

In WTS, call Start –> Programs –> Business Explorer –> Analyzer. This will start Excel. Using the BEx toolbar, open the queries described above, and execute them.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: SAP NetWeaver BW Integration

Lesson Summary You should now be able to: • Describe the benefits of loading Key Mapping info into BW to enhance reporting capability, including a demo of a query with and without this key mapping info

2009

© 2009 SAP AG. All rights reserved.

379

Unit 7: SAP NetWeaver Integration

MDM050

Lesson: SAP NetWeaver Portal Integration Lesson Overview In this lesson the use of the SAP NetWeaver Portal as a thin client frontend to SAP NetWeaver MDM will be discussed.

Lesson Objectives After completing this lesson, you will be able to: •

Use the thin client provided in the portal to maintain master data in MDM, and understand the limitations compared to the Data Manager

Business Example You have a number of users who require simple read only or simple maintenance access to the data in your repository. Rather than install the MDM client tools on their PC, you have decided to allow access to MDM through the Portal interface.

Introduction to SAP NetWeaver Portal An enterprise portal ensures a central point of access to information, applications, and services in the company. All your SAP and non-SAP systems, your data warehouse, desktop documents, Web contents, and Web services are brought together in a single user interface. With Single Sign-On, you benefit from the simplified process of authentication and communication between different IT systems. Knowledge Management in the portal converts unstructured data into important company information. Collaboration facilitates cooperation between people within the company and beyond, and Personalization adapts the portal structure to suit the requirements of the individual users.

Role-Based User Management Every employee in a company has particular roles for which they require different functions and information for their daily work. SAP NetWeaver Portal provides role-based functions and information. That is, company roles to which content is assigned are mapped in the portal. Each employee is assigned to the roles that provide the content required for his or her daily work. Once employees log on to the portal, they will then see only the content that is relevant to their roles. The figure below shows the objects that connect portal content and users.

380

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: SAP NetWeaver Portal Integration

Figure 200: Portal Content Objects

The most important content objects are: •

• •



iView A program that retrieves data from various sources in your company and on the Internet, and displays it in SAP NetWeaver Portal and makes it available for editing purposes, if necessary. Page Layout of one or more iViews. Workset A collection of tasks, services and information that can be used to create roles. Worksets consist of iViews and pages organized in a directory structure that defines the navigation paths. Role Roles determine which content (defined by the iViews and pages it contains) can be accessed through which navigation paths (defined by the directory structure). Roles can be assigned to individual users or groups of users.

Benefits of Business Packages in SAP NetWeaver Portal In addition to approximately 100 roles, SAP also provides standard content in Business Packages. Business Packages contain predefined portal content that can be used to call the transactions and reports in many different system types. It also contains documents and information, based on the roles for users, managers, and experts. Business Packages help your content manager to work, and considerably reduce the implementation time for your Enterprise Portal because they allow portals to be built without any additional development work.

Design of the Portal Desktop The “portal desktop” refers to the entire portal screen, including its content and layout. It also comprises the tools that users require to personalize their portals. The portal desktop is divided into three main sections: the header area, navigation panel, and content area.

2009

© 2009 SAP AG. All rights reserved.

381

Unit 7: SAP NetWeaver Integration

MDM050

Figure 201: Portal Desktop

The header area is the part of the portal desktop that does not change when you navigate from one page to another. It contains the masthead and the top-level navigation bar. The masthead usually displays the company name and logo, a greeting, and the name of the user who is logged on, as well as links to functions such as Personalization, Help, and Log Off. The top-level navigation bar consists of tab pages that depict the first two levels of the portal hierarchy. Deeper levels of the hierarchy can be accessed in the navigation panel using the detailed navigation in the panel. When the user calls a particular portal hierarchy using the Navigation functions, the content area changes. This is the actual user interface for performing tasks. A page appears with several iViews or a whole-page iView.

Using SAP NetWeaver Portal with SAP NetWeaver MDM Portal Content for MDM can be obtained or developed in any of the following ways: Standard MDM Portal Content that has been Customized MDM Portal content can be customized and adapted in the portal with the wizards and editors that are part of the content administrator tools in the SAP MDM NetWeaver Portal component. The portal can be personalized and the look and feel of the content can be changed to suit any business scenario and determine which content is displayed for particular user roles. Custom Developed Portal Content Customers can develop their own customized Portal application

382

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: SAP NetWeaver Portal Integration

Hybrid – Standard iViews with Customized Solutions Many organizations work with a combination of the above two options by configuring their own customized solutions to be interactive with the MDM customized portal content. This can be achieved by using a customized event – an EPCF and URL client side eventing mechanism allows custom and standard iViews to exchange data.

Figure 202: Different Options for Portal Content

Business Packages for Predefined Repositories Portal content is also available as a Business Package which contains preassembled, role-based content for completing business tasks. These packages include ready-to-use iViews, pages, and worksets.

Business Package for Master Data Management The SAP NetWeaver Portal (EP) Content for MDM allows Portal enablement of master data repositories. The repository data can be searched, displayed, compared, and maintained. The iViews in this portal content package are: • •

Fully adaptable to the schema structure of the MDM repository to which they are connected Fully collaborative with other iViews on the page

The following use cases apply to the MDM portal content delivery: Business Package for Predefined Repositories You can use the predefined worksets, roles, and pages to work with the following shipped MDM repositories for SAP Business Suite remote systems: • •

2009

ERP repositories for customer, vendor, material and employee Cross-system (ERP, SRM, CRM) repositories for business partner and product

© 2009 SAP AG. All rights reserved.

383

Unit 7: SAP NetWeaver Integration

MDM050

Portal Content Development for Custom Repositories You can use the iView templates to create new iViews and build other content around them. By mixing and matching the iViews you can design and configure specialized portal pages for custom repositories.

Business Value The business package provides specific capabilities and user interfaces for accessing MDM repository data. It allows you to search predefined repositories in the following ways: • • • • •

Picklist search – for selecting values from flat or hierarchical lookup tables Hierarchy search – for selecting nodes in hierarchical or taxonomy lookup tables Attribute search – for selecting attribute values connected to taxonomy nodes Qualifier search – for performing a search on qualifier lookup values Freeform search – for performing keyword, text, numeric or date searches on all relevant fields in the search table, and on qualifier fields in a qualified lookup table

The following capabilities are also available in MDM portal content: • • • •

Show and save all current search settings. Show the current result list. Users can add result items to a comparison view, store them in personalized bags or hand them over to an MDM workflow Show and process MDM workflow tasks using Universal Worklist (UWL) interapplication integration. Show details based on a selected item in the result list. Users can change item details, create new items and delete items here.

The business package offers the following roles: • • • •

Business Expert Master Data Administrator Master Data Expert OCI Subscriber

The iViews are connected to a specified repository using a system landscape object. The iViews on a page interact with each other dynamically, displaying the most current data and allowing the user to take advantage of the available search and maintenance capabilities.

384

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: SAP NetWeaver Portal Integration

MDM Role-Based Privileges when Working with iViews User access to portal content is determined by role definitions. Users are assigned to the role or roles that provide content relevant to them. A user only has access to the content that has been assigned to all of his or her roles. A portal user's access to tables or fields in a repository depends on what has been set for the MDM Role in the MDM Console by the administrator. As you will recall, each role in MDM can selectively grant or deny access to any MDM function and to any table or field. When editing an Item Details iView, actual access at runtime depends on the access status. In the portal, during runtime, there is no automatic adjustment to the UI elements according to the functional privileges that are set in the MDM Console. For example, a Create button still appears on the UI of the iView even if the user has not been granted the functional privilege to create a record. It is your responsibility (content administrator) to configure meaningful functional privileges that are in line with the MDM Console settings. In any case, the Console settings cannot be overridden by the UI functional privileges configuration. With this feature, you can rely solely on the MDM Console settings and can disregard the Updateable property in the iView. The MDM Console settings are always enforced on the user. The advantages are: • •

Saves on maintenance as the MDM Console settings apply to all the iViews associated with a given MDM role. There is consistency in that the changes made to the access status of a user in the MDM Console, changes the access status of the user for all the iViews.

Creating and Managing iViews MDM iViews have the advantage that they are not complex in structure and are therefore not restricted by any underlying schema structure. As opposed to regular iViews in other systems which are embedded into the pages on which they appear, MDM iViews are more generic and granular in nature enabling their placement on a page to be more adaptable. The SAP NetWeaver Portal offers templates for creating iViews. You can use iView templates to create new iViews and to build other content around them. By mixing and matching the iViews you can design and configure specialized portal pages for custom repositories. The following are some examples of these templates:

2009

© 2009 SAP AG. All rights reserved.

385

Unit 7: SAP NetWeaver Integration

MDM050

iView Templates Name of iView

Description

Picklist Search To search an MDM repository for values in a single lookup iView table Hierarchy Search iView

To search an MDM repository for values in hierarchical and/or taxonomy lookup tables

Attribute Search iView

To search an MDM repository for multiple attributes and their values connected to a taxonomy table (depending on which node is selected in the connected taxonomy lookup table)

Qualifier Search iView

To search an MDM repository for entries in qualified lookup tables

Text Search iView

To search an MDM repository using a freeform keyword search of all relevant fields in the search table

Search State iView

Shows the current search settings

Result Set iView

Displays the items that match the search settings for all search iViews on a portal page

Item Details iView

Displays record details based on a selected record in the Result Set iView

Working with MDM Workflows in the Portal Working with MDM workflows in the portal is based on two elements: • •

Result Set iViews Universal Worklist (UWL)

MDM workflows consist of a sequence of steps that automates business processes that are carried out by users. Each workflow is invoked as a job that can consist of multiple records that move through the steps of the workflow. You can add one or more records to the workflow and then launch the workflow as a job. Each job consists of the records that move through each step in the workflow as a series of tasks. The Universal Worklist (UWL) enables portal users to display and edit all work items from connected systems on a single interface in SAP EP. The Universal Worklist (UWL) provides unified and centralized access to the open work of a user and the relevant information in the portal. It collects tasks and notifications from multiple provider systems in one list for one-stop access.

386

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: SAP NetWeaver Portal Integration

Using the public UWL APIs and the MDM Connector, the MDM UWL allows you to carry out the following actions: • • • • • • • • •

Display MDM workflow jobs or tasks Delete jobs or tasks Launch unlaunched jobs Add and remove records from unlaunched jobs View records in a workflow job or task Send workflow tasks to the next step Display the History of a workflow task or a completed job. Execute those operations that are visible for the same job/task in SAP MDM Data Manager Workflow, for example Next Step and Assign. Launch the iView or page depending on the portal role of the user, or depending on the portal user group of the user.

Configuring a Change Tracker MDM can track changes on tables and fields. The level of change tracking, and which tables/fields to track, are configurable in the MDM Console. MDM opens a new database on the same database engine as the MDM repository and writes all change records to this database. The Change Tracker is an application which provides a convenient UI for displaying and viewing changes as stored in the MDM Change History database. The Change Tracker application connects to the database via a JDBC connection.

2009

© 2009 SAP AG. All rights reserved.

387

Unit 7: SAP NetWeaver Integration

388

© 2009 SAP AG. All rights reserved.

MDM050

2009

MDM050

Lesson: SAP NetWeaver Portal Integration

Exercise 13: SAP NetWeaver Portal Integration Exercise Objectives After completing this exercise, you will be able to: • To compare the thin client Portal interface with the MDM Data Manager

Business Example Task: A prebuilt Portal role is available for the repository MDM050_Exercise_Master. Your instructor will provide you with the details required to connect to this portal. Log on as instructed, and perform the following exercises.

2009

1.

How many products are available from Dalloz Safety?

2.

Compare the products 11130031, 11130032 and 11130033. Apart from the product number, how many fields have been maintained differently across these records?

3.

Remove all records from the Comparison, and reset the search.

4.

Which category of products are produced by Ansell Protective Products?

5.

Reset the search.

6.

How many boots are available in size 12?

7.

Of these, how many are waterproof, and fleece lined?

8.

Reset the search.

9.

Create a copy of the Quick Service Toolkit from Loctite Corporation (part number 00101). Edit this copy, and set the new part number to A00101-## (where ## is the group number assigned to you by your instructor. Change the Manufacturer to Estwing Manufacturing Company. Add a new Pricing for the Region Walldorf, where the list price is €7.99, and the sales price €7.49, on a single item. Save your record and log off the portal.

© 2009 SAP AG. All rights reserved.

389

Unit 7: SAP NetWeaver Integration

MDM050

Solution 13: SAP NetWeaver Portal Integration Task: A prebuilt Portal role is available for the repository MDM050_Exercise_Master. Your instructor will provide you with the details required to connect to this portal. Log on as instructed, and perform the following exercises. 1.

How many products are available from Dalloz Safety? a)

2.

Compare the products 11130031, 11130032 and 11130033. Apart from the product number, how many fields have been maintained differently across these records? a)

6

3.

Remove all records from the Comparison, and reset the search.

4.

Which category of products are produced by Ansell Protective Products? a)

Gloves

5.

Reset the search.

6.

How many boots are available in size 12? a)

7.

12

Of these, how many are waterproof, and fleece lined? a)

390

154

1

8.

Reset the search.

9.

Create a copy of the Quick Service Toolkit from Loctite Corporation (part number 00101). Edit this copy, and set the new part number to A00101-## (where ## is the group number assigned to you by your instructor. Change the Manufacturer to Estwing Manufacturing Company. Add a new Pricing for the Region Walldorf, where the list price is €7.99, and the sales price €7.49, on a single item. Save your record and log off the portal.

© 2009 SAP AG. All rights reserved.

2009

MDM050

Lesson: SAP NetWeaver Portal Integration

Lesson Summary You should now be able to: • Use the thin client provided in the portal to maintain master data in MDM, and understand the limitations compared to the Data Manager

2009

© 2009 SAP AG. All rights reserved.

391

Unit Summary

MDM050

Unit Summary You should now be able to: • Describe the benefits of loading Key Mapping info into BW to enhance reporting capability, including a demo of a query with and without this key mapping info • Use the thin client provided in the portal to maintain master data in MDM, and understand the limitations compared to the Data Manager

392

© 2009 SAP AG. All rights reserved.

2009

MDM050

Course Summary

Course Summary You should now be able to: • • • •

2009

Explain the architecture and components of SAP NetWeaver MDM Use the Data Manager to maintain master data in MDM, including the use of Matching and Workflow Perform basic functions in other components of SAP NetWeaver MDM, such as the MDM Console, Import Manager and Syndicator Understand how SAP NetWeaver MDM can be used to support Master Data Consolidation and Harmonisation, and Central Master Data Management

© 2009 SAP AG. All rights reserved.

393

Course Summary

394

MDM050

© 2009 SAP AG. All rights reserved.

2009

Feedback SAP AG has made every effort in the preparation of this course to ensure the accuracy and completeness of the materials. If you have any corrections or suggestions for improvement, please record them in the appropriate place in the course evaluation.

2009

© 2009 SAP AG. All rights reserved.

395

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF