How to Create Your Very Own Master Data Object … to Create Your Very Own Master Data Object Types...
Transcript of How to Create Your Very Own Master Data Object … to Create Your Very Own Master Data Object Types...
How to Create Your Very Own Master Data Object TypesRichard LeBlancSAP Labs Canada
Tables: Qualified, Hierarchy, Taxonomy, Relationship
Wrap-up
Overview
Tables and Fields
Tables: Qualified, Hierarchy, Taxonomy, Relationship
Wrap-up
Overview
Tables and Fields
© SAP AG 2006, 4
SAP NetWeaver MDM – Console
SAP MDM Console
Server-Handling Functionality
Command Line Interface to SAP Master Data Management (MDM)
Repository Security Settings
Repository Creation and Maintenance
© SAP AG 2006, 5
SAP NetWeaver MDM – Console (cont.)
1. Hierarchy Pane
2. Record Pane
3. Details Pane
© SAP AG 2006, 6
SAP NetWeaver MDM – Console (cont.)
Server levelRepository level
© SAP AG 2006, 7
SAP NetWeaver MDM – Console (cont.)
The MDM Console is used to create all tables and fields
© SAP AG 2006, 8
SAP NetWeaver MDM – Multilingual Support
All other propertiesNameAliasDefinitionImageText ValueText Value ImageText Value Description
Taxonomy metadata
All other data typesOptionally multi-lingualTextText Large
Always multi-lingualBooleanImagesText BlocksText HTMLsPDFs
Repository data
Repository nameTable nameField name
Repository metadata
Non-LingualMultilingualElement
© SAP AG 2006, 9
SAP NetWeaver MDM – Language Inheritance
Two levels of inheritance can be defined by the administrator
Small (green) indicates the first level language
Small (dark red) gives you the second level inheritance text, often the master language for the company
Tables: Qualified, Hierarchy, Taxonomy, Relationship
Wrap-up
Overview
Tables and Fields
Table TypesTable PropertiesField TypesField Properties
© SAP AG 2006, 12
Main
Flat
Hierarchy
SAP NetWeaver MDM – Table Types
Images Variants
Families
Relationships
Main Table and Sub-Tables
Taxonomy
Qualified
Special Tables
© SAP AG 2006, 13
SAP NetWeaver MDM – Table Types (cont.)
Text blocks
HTML texts
PDFs
Images
Sounds
Videos
Binary objects
Object Tables
Table TypesTable PropertiesField TypesField Properties
© SAP AG 2006, 15
SAP NetWeaver MDM – Table Properties
Read/WriteNameDisplay fieldsUnique fieldsKey mapping
Write-Once, Read-OnlyTable type
Table TypesTable PropertiesField TypesField Properties
© SAP AG 2006, 17
Standard SQLTextText LargeIntegerRealReal8TimeStampBoolean
SAP NetWeaver MDM – Field Types
© SAP AG 2006, 18
MDM ExtendedText Normalized CurrencyName GM TimeLog MeasurementAuto ID
SAP NetWeaver MDM – Field Types (cont.)
© SAP AG 2006, 19
MDM ExtendedLiteral Date Time StampLiteral Time User StampCreate Stamp Mask
SAP NetWeaver MDM – Field Types (cont.)
© SAP AG 2006, 20
MDM ExtendedLookup [Flat] Lookup [Qualified] Lookup [Text HTML] Lookup [Video]Lookup [Hierarchy] Lookup [Image] Lookup [PDF] Lookup [Binary Object]Lookup [Taxonomy] Lookup [Text Block] Lookup [Sound]
SAP NetWeaver MDM – Field Types (cont.)
Table TypesTable PropertiesField TypesField Properties
© SAP AG 2006, 22
SAP NetWeaver MDM – Field Properties
RequiredMultilingual KeywordDisplay FieldUnique FieldCalculatedCalculationWidthSort TypeDecimal PlacesShow Fractions
© SAP AG 2006, 23
SAP NetWeaver MDM – Field Properties (cont.)
QualifierSearch TabMulti-ValuedLookup TableCache
Tables: Qualified, Hierarchy, Taxonomy, Relationship
Wrap-up
Overview
Tables and Fields
QualifiedHierarchyTaxonomyRelationship
© SAP AG 2006, 26
SAP NetWeaver MDM – Qualified Tables
Qualified TableIs a special kind of lookup table
Efficiently stores complex relationships between a main table record and lookup table records that contain various types of additional information
Stores a set of lookup records, and also supports qualifiers, which arefields that apply not to the qualified table record itself, but rather to each association of a qualified table record with a main table record
© SAP AG 2006, 27
SAP NetWeaver MDM – Creating a Qualified Table
Create a New Table – Add TableType – Qualified Flat
Create new fields – Add FieldData Type – All Except Lookup (Qualified Flat) and (Taxonomy)If Field = Qualifier then
Qualifier = “Yes”
If Qualifier = Yes thenCache = “Yes” or “No”
Note – At least one field that is not marked as qualifier must be flagged as a display field
© SAP AG 2006, 28
SAP NetWeaver MDM – Linking to Main Table
Add a new field in the Main Table with the following properties …
Type = Lookup [Qualified Flat]Multi-Valued = YesLookup Table = Name of existing qualified tableSearch Tab = Yes
Note: Set to Yes if you want this field to be searchable in the MDM Data Manager, otherwise, set to No
© SAP AG 2006, 29
SAP NetWeaver MDM – Populating a Qualified Table
Select Qualified Value box associated with the main table record
Click on “Add” to create new qualified field
Or select from existing values
Populate qualifier values
© SAP AG 2006, 30
SAP NetWeaver MDM – Qualified Table Example
1. Create a hierarchy table for the region information
Contains only a name field
2. Create a flat table for currency information
Contains two fields; name (display) and symbol
© SAP AG 2006, 31
SAP NetWeaver MDM – Qualified Table Example (cont.)
3. Create a qualified flat tableContains the following five fields:
Region lookup into the hierarchy created first (keyword and display field)
Currencies lookup into the currencies table (keyword and display field; Cache = yes; Qualifier = yes)
Package quantity field type measurement packing (display field; Cache = yes; Qualifier = yes)
List price; type currency (display field; Cache = yes; Qualifier= yes)
Sales price; type currency (display field Cache = yes; Qualifier= yes)
© SAP AG 2006, 32
SAP NetWeaver MDM – Lookups
VALID TABLES AND NESTED LOOKUPS-WITHIN-LOOKUPS
Each of the flat, hierarchy, taxonomy, and qualified lookup table types act as a valid table that defines the set of legal values of the corresponding lookup field for data entry and search
Manufacturer lookup field in the main table
Manufacturer Table
Manufacturer NameIkeaBoschWalmartSony
Country Table
USDEFRGR
Look for valid combinations
© SAP AG 2006, 33
SAP NetWeaver MDM – Lookup vs. Qualified Lookup
Free-floating lookup data is not possible
Free-floating lookup data is possible
Qualified field is only possible on main table
Lookup-within-lookup is possible
Qualified record is maintained after the main table records gets created
Lookup table record needs to be maintained before the main table record
Contains conditional set of records, e.g., pricing based on manufacturer and region
Contains predefined set of records, e.g., a list of manufacturers for a product
Contains larger number of records compared to the main table
Contains relatively small number of records compared to the main table
Qualified LookupFlat or Hierarchy Lookup Table
© SAP AG 2006, 34
SAP NetWeaver MDM – Advanced Applications
Scenario – Price breaks by quantity and product
Qualified Table contains field quantity and qualifier, price
Qualified lookup field in the main table replaces all quantity and price fields
Pricing data stored as qualifier values associated with the main table
A main table and qualified table link is created only for prices with product/quantity combination
© SAP AG 2006, 35
SAP NetWeaver MDM – Advanced Applications (cont.)
Scenario – Product records that contain one or more part numbers by manufacturers
Qualified table with single field Distributor and single qualifier, Part Number
Part Number is stored as a qualifier value associated with the main table and the qualifier link table
© SAP AG 2006, 36
SAP NetWeaver MDM – Advanced Application
Scenario – Single automotive part with variable install options used in multiple combinations of make, year, and model
A qualified table with three qualifiers and three distinct fields to store application-specific data
Application-specific values stored as qualifiers associated with the main table and qualified link table –resulting in single main-table record
© SAP AG 2006, 37
SAP NetWeaver MDM – Things to Remember
A qualified table …Is a special kind of lookup tableBuilds conditional, one-to-many relationshipCan store n number of combinationsIs available for Search and PublishingCan be populated using Import Manager
Is only available on Main table – qualified lookups on sub-tables arenot possible
Qualified data is always linked to main table data — free-floatingqualified data is not possible
Qualified HierarchyTaxonomyRelationship
© SAP AG 2006, 39
SAP NetWeaver MDM – Hierarchies
Purpose: Special table type that stores hierarchal data
Constraint:Only leaf nodes can be assigned to record
Options:Can be multi-valuedWhen maintaining, un-assign with Delete key
Use cases:Group lookup values fields to ease the searchQualified lookup table fields help to searchUNSPC classificationsAll hierarchal field values
© SAP AG 2006, 40
SAP NetWeaver MDM – Hierarchies (cont.)
Rely on the hierarchy view:Multi-languageRenamingRelated fieldsmaintenanceHide/display
Easy hierarchy changes by drag and drop
Change constraints:Delete node operation possible only if no object is assignedDelete only possible on leaf nodes (no complete branch deletion)
© SAP AG 2006, 41
SAP NetWeaver MDM – Hierarchies (cont.)
Non-unique node name is supported if it doesn’t have sibling nodesChild nodes can be hidden if hierarchy is not used for familyMerge of nodes is supportedRenamingNode can be aliased to group objects even when searching in different treesHierarchy order is controlled manually and can be changed (move and insert as sibling: Tree inserted before target)Additional information can be stored (more than one field in table definition)
Qualified HierarchyTaxonomyRelationship
© SAP AG 2006, 43
SAP NetWeaver MDM – Taxonomies
The MDM Data Manager is used to manage categories and attributes
© SAP AG 2006, 44
SAP NetWeaver MDM – Taxonomies (cont.)
AttributesCan be assigned to any level of the hierarchy, making inheritance in child nodes (inheritance cannot be removed)Can be assigned to multiple nodes (in different branches)Cannot be mandatory. Workaround: If the taxonomy assignment is mandatory, a validation group can check the value (but it’s not valid for the Import Manager)Have no default value availableCan rely on priority to change the display order of attributes in the Data Manager (additional settings in Data Manager options)
© SAP AG 2006, 45
SAP NetWeaver MDM – Taxonomies (cont.)
NameAlias: Alternative name for searchDefinition: Full descriptionImage: Attribute-specific image
Attribute TypesText: Valid values listNumeric: With unit of measures and ratingsCoupled-numeric: A combination of two numeric attributes
Language Details: Multi-lingual support
Usage tab: Where-used list of attributes
© SAP AG 2006, 46
SAP NetWeaver MDM – Taxonomies (cont.)
TextPredefined list of values for entry, search, and compareCan be used for family partitioning (only if single-valued)Image can be attached to every possible valueCan be multi-valuedTexts can be translated in configured languages
NumericReal with dimensions/unit of measuresRatings: Nominal, min, max, average, typicalCan be multi-valued
Coupled numericCouples of associated numeric values: Value A under value condition XExample: Vaporization temperature under pressure condition
Only the first numeric value is available for search selectionsNatively multi-valued
© SAP AG 2006, 47
SAP NetWeaver MDM – Taxonomies (cont.)
Changing hierarchy treeBe careful of inherited attributes
Converting attributes types
Merging attributes
Splitting numeric multi-rating attributes
Partitioning categories following attributes
Consolidating categories
Splitting multi-linked attribute to one foreach category
Making matching sets: Automatic relationships between objects based on common attributes values (result only available within API calls)
Changing attributes definition (extend values list, add ratings, etc.)
© SAP AG 2006, 48
SAP NetWeaver MDM – Taxonomies (cont.)
Changing the object assignment to categories when editing records can lead to taxonomy changes:
If a non-valued attribute does not exist in the target category, the attribute will not be linked to the target category
No impact on the taxonomyAttribute is no longer available for the object
If a valued attribute does not exist in the target category, the attribute will be linked to the target category (changing taxonomy definition)
Be very careful when changing category assignmentPrevent such change, if necessary, by using role definitions
Qualified HierarchyTaxonomyRelationship
© SAP AG 2006, 50
SAP NetWeaver MDM – Relationship Types
Establishes a link between records of the same or different tablesParent/child: Between records in same or different tables, asymmetricSibling: Between records of same table, symmetric
© SAP AG 2006, 51
SAP NetWeaver MDM – Relationship Types (cont.)
Sibling relationshipRelates a group of product records that are equivalent and/or interchangeable from some merchandising or structural standpoint
Note Sibling relationships are symmetric. In other words, if A, B, and C are in a single group of related sibling records, then A is related to its siblings B and C, B is related to its siblings A and C, and C is related to its siblings A and B.
Parent/child relationshipRelates a group of records that are not equivalent, where one of them is the parent, and the rest of them are the children
Assembly and ComponentsParentChild
Note Parent/child relationships are asymmetric. In other words, if A, B, and C are in a group of related parent/child records and A is the parent of B and C, then B is the child of A and the sibling of C, and C is the child of A and the sibling of B.
Cross SellsSibling
© SAP AG 2006, 52
SAP NetWeaver MDM – Relationship Properties
Qualified Tables – Hierarchies –Taxonomies – Relationships
Wrap-up
Overview
Tables and Fields
© SAP AG 2006, 54
SAP NetWeaver MDM – Summary
Prepare your data model on paperList all attributes/fields with types (text, real, hierarchy, etc.)
The ones which apply to all objects should be defined as fieldsThe other ones should be attributes in taxonomies
Group fields according their business logicMain tablesLookup tablesQualified lookup tablesOptionally, sub-tables involved in relationships only
Check qualified table fields’ yes/no property because it cannot be changed once createdGroup attributes in the appropriate taxonomy — reuse existing attributes when possible to avoid any redundancy in maintenanceComplete additional main properties like unique field, key mapping, multilingual (especially when it’s not changeable), search tab, etc.
© SAP AG 2006, 55
SAP NetWeaver MDM – Summary (cont.)
Use flat sub-tables to restrict possible valuesThink about hierarchy even if you have a flat hierarchy (leaf nodes below root) because it enables you to order entries in a fixed wayFlat lookup tables should be used to minimize the data maintenance of often used fields. They also minimize the amount of memory required.Qualified sub-tables should be used only if field-dependent values must be maintainedNon-critical/search information can be stored in sub-tables and linked to main records using relationship tables (parent/child relation only)
© SAP AG 2006, 56
SAP NetWeaver MDM – Summary (cont.)
Use qualified tables with limited combinations of key fields
Purpose: Define only valid combinations on fields available in the qualifying table
Valid distribution channels for sales organizations
Solution: Single-valued lookup field of lookup table used as qualifying field
Lookup table should contain only valid combinationsCombined fields set as “displayed fields” in the lookup table
Only existing records in the lookup (combinations)can be selected
Each displayed fieldis a selection criteria
© SAP AG 2006, 57
SAP NetWeaver MDM – Summary (cont.)
FieldsMultiple format support (integer, dates, time, Boolean, real, text, etc.)Common property available for all objectsSearch through both drill down and free-formFree text input or lookup table for input availableNo maintenance allowed for users (console, repository unloaded)Key mapping within lookup tableNo field type to represent two-dimensional data
AttributesLimited format support (text/numeric/coupled numeric)Property restricted to linked category and objects assigned to such categorySearch available on attribute from linked category selection with drilldown, no free-form searchNo free text input, only restricted list on textsEasy maintenance in Data Manager available for all (repository loaded)Key mapping available on attributesCoupled numeric attribute used to represent two-dimensional data
© SAP AG 2006, 58
SAP NetWeaver MDM – Summary (cont.)
Nested lookupRepository unloaded (schema change in the console)Lookup table(s) within lookup tableDisplay fields/level can be chosenAutomatic ordering Enable nested table as search criteriaStructure isn’t changeable
HierarchyRepository loaded (users can maintain it)Any number of levelsLeaf node information displayed, additional fields can also be displayedEntries order manually done in the hierarchy definitionSearch within hierarchy on all levelsVery flexible
Think about how the lookup will be usedDo you want to allow users maintaining entries with different authorizations?Do you need multiple search criteria?Do you want specific ordering?
Nested lookup vs. hierarchy
© SAP AG 2006, 59
Resources
https://www.sdn.sap.com/irj/sdn/developerareas/mdmForumsWhite PapersBlogsEtc.
http://service.sap.com/mdm*
http://help.sap.com SAP NetWeaver SAP NetWeaver 2004 SAP MDM and GDS 5.5 SP03
*Requires user name/password
© SAP AG 2006, 60
For more information: Access the SAP Developer Network –www.sdn.sap.com
The central hub for the SAP technology community
Everyone can connect, contribute and collaborate- consultants, administrators and developersFocus around SAP NetWeaver and SAP xApps
High quality of technical resourcesArticles, how-to guides, weblogs, collaborative areas, discussion forums and downloads, toolkits and code-samples
A collaboration platform, not a one-way street
SAP experts from customers, partners and SAP
SDN is powered by SAP NetWeaver™Built on the SAP Enterprise PortalFeaturing collaboration capabilities of SAP Knowledge Management
© SAP AG 2006, 61
7 Key Points to Take Home
Before you begin, have a look at SAP’s predelivered business content. It might offer some ideas or be used as a starting point.Consider prototyping to make sure your data model …
Is easily searchableIs easily maintainableCan accommodate required data imports and exports
The main table …Cannot be used as a lookup for another tableIs the only table that can have a taxonomy lookup fieldIs the only table that can have a qualified lookup field
© SAP AG 2006, 62
7 Key Points to Take Home (cont.)
Consider your taxonomy carefully. If the categorization of your objects doesn’t lead to category-specific attributes, use a hierarchy table instead.A record can only be assigned to a leaf node of a hierarchy. If you need to assign it to a non-leaf node, create a leaf node as a child of the non-leaf node and use it instead.The relationship table can’t be modified. If you need additional relationship data, consider the following …
Create a new flat table that contains relationship dataAdd a flat lookup field to the table(s) participating
in the relationshipThe field must point to the newly created relationship table
Use a lookup instead of a Boolean to control access to a main table records based on the value of the lookup, e.g., active/inactive
© SAP AG 2006, 64
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice.Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation. IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, and Informix are trademarks or registered trademarks of IBM Corporation.Oracle is a registered trademark of Oracle Corporation.UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology. Java is a registered trademark of Sun Microsystems, Inc.JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape. MaxDB is a trademark of MySQL AB, Sweden.SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.The information in this document is proprietary to SAP. No part of this document may be reproduced, copied, or transmitted in any form or for any purpose without the express prior written permission of SAP AG.This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies, developments, and functionalities of the SAP® product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. Please note that this document is subject to change and may be changed by SAP at any time without notice.SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement.SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence.The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages.
Copyright 2006 SAP AG. All Rights Reserved