UKMS ( Unified Key mapping)

44
Decision-making: using Standard (UKMS) or an individual solution for Key-Mapping of mastetr data Ulf Kretzschmar, SAP Deutschland AG & Co. KG 18.11.2008

description

Please refer the document for UKMS concepts

Transcript of UKMS ( Unified Key mapping)

  • Decision-making: using Standard(UKMS) or an individual solutionfor Key-Mapping of mastetr data

    Ulf Kretzschmar,SAP Deutschland AG & Co. KG18.11.2008

  • SAP 2008 / Page 2

    1. One requirement => various solutions1.1. project requirements1.2. possible solutions

    2. Standard solution => UKMS (Unified Key-Mapping Service)2.1. functionality2.2. possible use

    3. Customer development3.1. requirements3.2. development3.3. realization

    4. Pro und cons4.1. UKMS4.2. individual solution4.3. summary

    AgendaSAP CONSULTING

  • SAP 2008 / Page 3

    AgendaSAP CONSULTING

    One requirement => various solutions

    Standard solution => UKMS (Unified Key-MappingService)

    Customer development

    Pro und cons

  • SAP 2008 / Page 4

    AgendaSAP CONSULTING

    possible solutions

    project requirements

  • SAP 2008 / Page 5

    As Is - situation:

    Isolated master data? Multiple systems have for the same thing e.g. material name different names? Requirement in both systems to have both information available to match the right data

    e.g. to the right voucher.=> multiple master data maintenance

    ? Valid for SAP to SAP as well as for SAP to non SAP communication=> single data store

    incoherent knowledge? Inconsistent master data? no duplicate check? Evaluation over several systems quite complicate? Multiple points of contact for missing / wrong master data

  • SAP 2008 / Page 6

    As Is => pro and cons

    Data availability in all effected systems? pro:

    ? Local data validation and responsibilities,? Short ways to get decisions

    ? cons:? multiple data storage,? with increasing the number of target system the number of data who has

    to maintain is also increasing? No central point of contact for data maintenance and responsibilities

  • SAP 2008 / Page 7

    Should be - situation :

    Uniform / shared basis of master data? Harmonized master data? Handling of different requirements like different data types, multiple Keys.? Central master data storage with decentralized data maintenance (one-stop

    maintenance)? Using of available authorization profile authorization profile concept for data

    maintenance? Logging of activities related to master data

    Coherent knowledge of master data? Central master data database? duplicate check? Synchronized evaluation

  • SAP 2008 / Page 8

    Should be => pro and cons

    Central data storage? pro:

    no redundant data maintenance=> reduced effort for support,clear responsibilities,central point of contact

    ? cons:data validation and responsibilities are distributed on several systems /different contacts,longerr ways for decisions

  • SAP 2008 / Page 9

    AgendaSAP CONSULTING

    project requirements

    possible solutions

  • SAP 2008 / Page 10

    approach 1 => Standard UKMS

    System BSystem B

    ORDERS

    MATERIALSSystem ASystem A

    GLOBALSEARCH

    ORDERS

    DATACONSOLIDATION

    USERINTERFACES

    MATERIALS

    UKMS

    System CSystem CPRODUCTS

    SourcemessageDE

    US

    BW

    TargetmessageGER

    USA

    BW

    XIMAPPING

    Use of standard functionality UKMS (Unified Key-Mapping Service) withSAP NetWeaver 7.0 (2004s) (downgraded to WebAS 6.40)Customer development of UI is necessary

  • SAP 2008 / Page 11

    approach 2 => Customer development

    File Server

    GOM

    Send Sample

    SAP XI

    ProvideValue

    mapingService

    ReceiveSample

    MessageFile

    Adapter

    SOAPAdapter

    Store SampleFile

    Adapter

    PerformLookup Call

    duringMessageMapping

    Send SampleMessage

    ABAPProxy

    Customer development of whole functionality, developed onproject requirements

  • SAP 2008 / Page 12

    approach 3 => MDM master data distribution

    master data harmonization with MDM (only named forcompleteness)

  • SAP 2008 / Page 13

    AgendaSAP CONSULTING

    Standard solution => UKMS (Unified Key-MappingService)

    One requirement => various solutions

    Customer development

    Pro und cons

  • SAP 2008 / Page 14

    AgendaSAP CONSULTING

    Use Cases

    Functionality

  • SAP 2008 / Page 15

    functionality

    Unified Key-Mapping Service (UKMS ) is a generic service who is linking the keymapping information's between source and target system

    GROUP of synonymous objects

    Thesaurus functionality ? provide the identifiers of one object

    Dictionary functionality ? provide the objects of a group and their identifiers

    1IDENTIFIER

    2IDENTIFIER

    OBJECTwith multiple identifiers

    1IDENTIFIER 1IDENTIFIER

    2IDENTIFIER 2IDENTIFIER

    OBJECTwith multiple identifiers

    3IDENTIFIER

    4IDENTIFIER

    OBJECTwith multiple identifiers

    3IDENTIFIER 3IDENTIFIER

    4IDENTIFIER 4IDENTIFIER

    OBJECTwith multiple identifiers

    System ASystem A System BSystem B

    ORDER 47112 pc. material bike

    ORDER 47112 pc. material cycle

    UKMS

  • SAP 2008 / Page 16

    UKMS: Technology & Architecture

    Implementation? UKMS engine embedded in ABAP stack? Part of SAP NetWeaver 2004s and later

    Easy Use & Setup? Typically no configuration steps necessary? For use within XI mapping runtime, key store is referenced

    via RFC communication channel? Choice of 3 interface flavors: ABAP OO, RFC, Java

    SAP NetWeaverABAP AS

    UKMS Engine

    Common Access Layer

    Buffer

    Generated Persistency Dat

    abas

    e

    Supp

    lier o

    r Con

    sum

    er

  • SAP 2008 / Page 17

    UKMS: Technology & Architecture =>Interfaces

    Unified Key Mapping (UKM) provides various interfaces for accessing key mapping.

    ? The interface that is closest to the UKM core is the ABAP-OO interface. It providesthe entire scope of functions with the greatest granularity.

    ? RFC-enabled function modules wrap parts of the ABAP-OO interface and providecross-system access to the most important methods.

    ? A Java API represents a wrapper for the RFC-enabled function module. This JavaAPI is provided as XI content for SAP Basis. To make it easier to call the Java APIfrom xslt mappings, you can use an xslt include that contains the Java calls.

    The following diagram shows the wrapperlayers of the UKM:

    DBDB

  • SAP 2008 / Page 18

    UKMS: Technology & Architecture =>scope of functionality

    ? UKM offers a simple ABAP-OO interface that supports reading, writing, deleting, andsaving mappings as well as their clean-up. There are also wrappers in the form ofRFC-enabled function modules for reading, writing and deleting mappings.

    ? XI interface mappings (XSLT transformations) can access mappings of the UKMusing a Java API. The Java API is stored in SAP Basis as XI content.

    ? In the interfaces, a mapping consists of pairs of keys that are stored in the databaseas a grouped mapping of objects. This means that more than two keys aresupported for each mapping group.

    ? To identify a key, core component type "Identifier" is fully supported.

    ? UKM supports transactional behavior and transaction-dependent buffering.

    ? All interfaces are mass-enabled.

    ? The UKM does not need any customizing settings.

    ? UKM can manage multiple independent mapping instances in order to support anintentional separation. For example, you might want a separate instance for eachmaster data object type (business partner, product master). A mapping instance isidentified by the mapping context.

  • SAP 2008 / Page 19

    AgendaSAP CONSULTING

    Functionality

    Use Cases

  • SAP 2008 / Page 20

    Use Cases

    Master data distribution between non-harmonized systems

    Synchronous access to a non-harmonized system

    System ASystem A System BSystem BMATERIALMaterialID = bike

    MATERIALMaterialID = cycle

    UKMS

    System ASystem A System BSystem BgetObj(bike) getObj(cycle)

    return(bike) return(cycle)MATERIALMaterialID = cycle

    UsingComponent

    UKMS

  • SAP 2008 / Page 21

    Use Cases

    Message code validation and translation

    Translation between incompatible software components (material product,customer/vendor

    System ASystem A System CSystem CMATERIALMaterialID = bike

    PRODUCTProductGUID =

    47110815ABC8165765123A65F

    UKMS

    Targetmessage

    GERUSA

    BW

    Sourcemessage

    DEUS

    BW

    translate

    validate

    UKMS

  • SAP 2008 / Page 22

    Use Cases

    Persistency for result of data consolidation

    Code validation and translation of entered data

    System ASystem AMATERIALMaterialID = bike

    MATERIALMaterialID = cycle

    DATACONSOLIDATIONcompare

    provide resultsUKMS

    translatevalidate

    UKMS

  • SAP 2008 / Page 23

    AgendaSAP CONSULTING

    Pro und cons

    One requirement => various solutions

    Standard solution => UKMS (Unified Key-MappingService)

    Customer development

  • SAP 2008 / Page 24

    AgendaSAP CONSULTING

    Implementation / realization

    Requirements

  • SAP 2008 / Page 25

    Value Mapping Customer Requirements

    MAJOR aspects? Data Integrity? Performance? Future XOM requirements? SAP future release strategy? Security / Authorization? Implementation effort ($)

    MINOR aspects? Monitoring? Transport management? Usability

  • SAP 2008 / Page 26

    Key Findings UKMS questions and concerns in the Project

    Performance impacts? Concerns around concepts going through different layers of ABAP and Java involving

    remote calls

    ? Use of XSLT mappings could improve performance of the calls to UKM.However

    Current planning based upon use of graphical editor

    XSLT mappings in itself have negative impact which would neutralize performancegain related to UKM

    Compound Keys? Can only be handled as concatenations of keys into one field

    Mapping table synchronization across different SAP systems currently notsupported? Currently it needs to be located on the TSW Box since it requires NetWeaver 2004S

    ? Could we downgrade it to WebAS 6.40? (Assessed to be difficult)

    Comment: Later the functionality was downgraded to WebAS 6.40

  • SAP 2008 / Page 27

    AgendaSAP CONSULTING

    Requirements

    Implementation / realization

  • SAP 2008 / Page 28

    Value Mapping Data model

    Approach:? The data tables that provide the actual mapping keys are stored and maintained on the

    Hub

    ? No Business user access to XI

    ? Business and SAP COE users need to maintain the Mapping table data

    ? Access to mapping data using authorization model, Control reports etc.

    ? Use global codes whenever suitable (hub approach)

    ? Data model should support bidirectional value mapping

    ? Use one generic table to facilitate replication and to reduce maintenance efforts

  • SAP 2008 / Page 29

    Value Mapping Data model in detail

    The 5 keys are "from"metadata categoryby definition

    Value key sequence numberis 1 to 5 range for sourcesystem

    The 5 global values aremetadata category"to" by definition

    These tables tells about thenumeric or alphanumeric formatand domains in SAP DDIC.DDIC will also specifies fieldlookup tables

    can controlvalue of

    can controlformat of

    is part of

    hasauthorizationrules in

    controls

    is described by

    SOURCE SYSTEM (YGOM_DATASOURCE)Source system code

    Source system nameERP source system indicatorSite datasource code (FK)ERP source system code (FK)

    MAPPING OBJECTMapping object acronym

    Mapping object description

    SCENARIO VALUE KEY METADATASource system code (FK)Mapping object acronym (FK)Scenario metadata category indicatorScenario value key sequence number

    TABNAME (FK)FIELDNAME (FK)Non SAP table name (FK)Non SAP table field name (FK)

    SAP TABLE (DD02L)TABNAME

    SAP TABLE FIELD (DD03L)TABNAME (FK)FIELDNAME

    NON SAP TABLE (YGOM_xxx)Non SAP table name

    NON SAP TABLE FIELD (YGOM_xxx)Non SAP table name (FK)Non SAP table field name

    Non-SAP field data typeNon-SAP field length

    VALUE MAPPINGMapping object acronym (FK)Source system code (FK)Value mapping key 1 valueValue mapping key 2 valueValue mapping key 3 valueValue mapping key 4 valueValue mapping key 5 value

    Value mapped to value 1Value mapped to value 2Value mapped to value 3Value mapped to value 4Value mapped to value 5Default value indicator

    SCENARIOSource system code (FK)Mapping object acronym (FK)

    Display role codeMaintenance role codeGlobal mapping indicatorMapping by exception indicator

  • SAP 2008 / Page 30

    Customer Value Mapping SolutionArchitecture

  • SAP 2008 / Page 31

    Value Mapping in GOM

    ABAP API? Table with mapping values YXI_VM_VALUES

  • SAP 2008 / Page 32

    Value Mapping Data model

    ABAP API? Table with scenario description YXI_VM_SCENARIO? And some reference tables

    Table Description Data maintenance

    YXI_VM_SCENARIO_KEYS Contains the mapping scenario metadataincluding key fields and reference tables

    Transaction ZXI_VM_SCENARIO_KEYS

    YXI_VM_VALUES Contains the actual keys that are looked upby the mapping service

    Transaction ZXI_VM_VALUES

    YXI_VM_SCEN Contains the mapping scenario names standard maintenance screen

    YXI_SYSTEM Contains systems that occur in Mappingscenarios

    standard maintenance screen

    YXI_VM_SCENARIO Contains Display- and Maintenance Roles formapping scenario/system-combination.Indicators for global mapping, mapping byexception, source/target.

    standard maintenance screen

    YXI_VM_DATTYP Description of data fields in Non-SAP tables standard maintenance screen

    YXI_VM_TABLES List of Non-SAP Tables that occur in mappingscenarios

    standard maintenance screen

  • SAP 2008 / Page 33

    Value Mapping Data model

    ? Y_XI_VALUE_MAPPING implementsthe following logic

    Check inYXI_VM_SCENARIO ifI_RECEIVER is of type

    source or target

    fill empty source-keys byX and

    select target-values forI_SENDER, I_SCENARIOand source keys on table

    YXI_VM_VALUES

    I_RECEIVER is target I_RECEIVER is source

    fill empty export parameterswith string #NODATA#

    Export target values asexport parameters

    E_TVAL1, , E_TVAL5

    Check inYXI_VM_SCENARIO ifI_SENDER is of typesource or target

    select source-values forI_RECEIVER,

    I_SCENARIO and targetvalues from importingparameters on table

    YXI_VM_VALUES whereDEFAULT=Y

    I_SENDER is source

    I_SENDER is target

    First SELECT:fill empty source-keys by

    X andselect target-values for

    I_SENDER, I_SCENARIOand source keys on table

    YXI_VM_VALUES

    Second SELECT:select source-values in

    table YXI_VM_VALUES forI_RECEIVER,

    I_SCENARIO and targetvalues from first SELECTwith DEFAULT-flag = Y.

    If no record is found fillexport parameters withstring #NOVALUE#

  • SAP 2008 / Page 34

    Value Mapping Data model

    ? ERP offers the Value Mapping as a Web Service utilizing the SAP WAS ProxyFramework

    ? The ABAP Proxy can be called using plain SOAP

    ? The Proxy itself uses FM Y_XI_VALUE_MAPPING

    Proxy Implementation

    Proxy Interface YXI_SII_VALUE_MAPPING

    Implementing Class YXI_SCL_VALUE_MAPPING

    Package YXI_SVC

    Comment

  • SAP 2008 / Page 35

    Value Mapping PI - Design

    ? On XI the Value Mapping Service will be called from within the graphical mapping tool

  • SAP 2008 / Page 36

    AgendaSAP CONSULTING

    Customer development

    One requirement => various solutions

    Standard solution => UKMS (Unified Key-MappingService)

    Pro und cons

  • SAP 2008 / Page 37

    AgendaSAP CONSULTING

    Customer Development

    Standard UKMS

    Summary

  • SAP 2008 / Page 38

    Standard UKMS => PRO + CONS

    BP decided on UKMS from SAP after conducting a rapid prototype which rendered thefollowing benefits:? Flexible - its very easy to add new mapping objects & data? Scalable

    ? single repository capable of holding all key mappings and supporting all translations? and a given SAP NetWeaver Exchange Infrastructure (SAP NetWeaver XI) system can support

    multiple UKMS instances? Performing

    ? UKMS sits in SAP NetWeaver XI. This provides tight coupling with our integration bus as eachtranslation call is executed wholly within SAP NetWeaver XI.

    ? Limited dependency on external systems. UKMS does not go down as routine maintenanceetc. occurs on non-SAP NetWeaver XI systems.

    ? Easy to Use? Standard SAP routines provided and supported? Mapping Access Routines are easily converted to Web Services? We developed a simple web front-end which exposes powerful UKMS functionality in a user-

    friendly manner? Secure UKMS database is housed in SAP NetWeaver XI and all data translations occur on the

    inside of our firewall protector? No incremental cost to use. UKMS is delivered standard beginning with SAP NetWeaver 7.0

    http://www.sap.com/community/showdetail.epx?itemID=13885

    Contra:? Multiple Keys only supported with using delimiters? New User profiel has to be maintained on PI-system

  • SAP 2008 / Page 39

    AgendaSAP CONSULTING

    Standard UKMS

    Customer Development

    Summary

  • SAP 2008 / Page 40

    Customer Development

    ? PRO? Functionality can be build on project requirements? Multiple keys can be handled with several fields, no delimiter? User interface has to be developed any way? If data are stored on ERP system, already existing authorization concept can be used

    ? CONTRA? More less already existing functionality has to be developed again? No SAP support? No standard supported VM codes like ABAP, XSLT, JAVA

  • SAP 2008 / Page 41

    AgendaSAP CONSULTING

    Standard UKMS

    Summary

    Customer Development

  • SAP 2008 / Page 42

    Summary

    Both solutions have pro and cons.

    ? PRO? For sure to use standard UKMS has the advantage to use STANDARD.? Also a lot of functionality is delivered and the possibility to access UKMS is offered via

    ABAP-OO, RFC, Java or XSLT.

    ? CONTRA? Unfortunately there is not maintenance screen to access or maintain data means you

    have to develop in any case.? Also the way to handle multiple keys has a potential to improve.

  • SAP 2008 / Page 43

    Copyright 2008 SAP AGAll 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 changedwithout prior notice.

    Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.

    SAP, R/3, xApps, xApp, SAP NetWeaver, Duet, SAP Business ByDesign, ByDesign, PartnerEdge and other SAP products and services mentioned herein as well as their respective logos aretrademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned and associated logos displayed arethe 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 writtenpermission 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 thatthis 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 theaccuracy 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 orimplied, 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 limitationshall 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 thesematerials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages.

    Weitergabe und Vervielfltigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrckliche schriftliche Genehmigung durchSAP AG nicht gestattet. In dieser Publikation enthaltene Informationen knnen ohne vorherige Ankndigung gendert werden.

    Einige von der SAP AG und deren Vertriebspartnern vertriebene Softwareprodukte knnen Softwarekomponenten umfassen, die Eigentum anderer Softwarehersteller sind.

    SAP, R/3, xApps, xApp, SAP NetWeaver, Duet, SAP Business ByDesign, ByDesign, PartnerEdge und andere in diesem Dokument erwhnte SAP-Produkte und Services sowie diedazugehrigen Logos sind Marken oder eingetragene Marken der SAP AG in Deutschland und in mehreren anderen Lndern weltweit. Alle anderen in diesem Dokument erwhnten Namen vonProdukten und Services sowie die damit verbundenen Firmenlogos sind Marken der jeweiligen Unternehmen. Die Angaben im Text sind unverbindlich und dienen lediglich zuInformationszwecken. Produkte knnen lnderspezifische Unterschiede aufweisen.

    Die in dieser Publikation enthaltene Information ist Eigentum der SAP. Weitergabe und Vervielfltigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Formauch immer, nur mit ausdrcklicher schriftlicher Genehmigung durch SAP AG gestattet. Bei dieser Publikation handelt es sich um eine vorlufige Version, die nicht Ihrem gltigen Lizenzvertragoder anderen Vereinbarungen mit SAP unterliegt. Diese Publikation enthlt nur vorgesehene Strategien, Entwicklungen und Funktionen des SAP-Produkts. SAP entsteht aus dieserPublikation keine Verpflichtung zu einer bestimmten Geschfts- oder Produktstrategie und/oder bestimmten Entwicklungen. Diese Publikation kann von SAP jederzeit ohne vorherigeAnkndigung gendert werden.

    SAP bernimmt keine Haftung fr Fehler oder Auslassungen in dieser Publikation. Des Weiteren bernimmt SAP keine Garantie fr die Exaktheit oder Vollstndigkeit der Informationen, Texte,Grafiken, Links und sonstigen in dieser Publikation enthaltenen Elementen. Diese Publikation wird ohne jegliche Gewhr, weder ausdrcklich noch stillschweigend, bereitgestellt. Dies gilt u. a.,aber nicht ausschlielich, hinsichtlich der Gewhrleistung der Marktgngigkeit und der Eignung fr einen bestimmten Zweck sowie fr die Gewhrleistung der Nichtverletzung geltenden Rechts.SAP haftet nicht fr entstandene Schden. Dies gilt u. a. und uneingeschrnkt fr konkrete, besondere und mittelbare Schden oder Folgeschden, die aus der Nutzung dieser Materialienentstehen knnen. Diese Einschrnkung gilt nicht bei Vorsatz oder grober Fahrlssigkeit.

    Die gesetzliche Haftung bei Personenschden oder Produkthaftung bleibt unberhrt. Die Informationen, auf die Sie mglicherweise ber die in diesem Material enthaltenen Hotlinks zugreifen,unterliegen nicht dem Einfluss von SAP, und SAP untersttzt nicht die Nutzung von Internetseiten Dritter durch Sie und gibt keinerlei Gewhrleistungen oder Zusagen ber InternetseitenDritter ab.

    Alle Rechte vorbehalten.

  • SAP 2008 / Page 44