TBIT41+ +Mapping+Functionality+in+XI
February 16, 2017 | Author: Alexandra Olariu | Category: N/A
Short Description
Download TBIT41+ +Mapping+Functionality+in+XI...
Description
SAP Exchange Infrastructure
Mapping Functionality in XI
Overview Integration Builder Mapping – Introduction Overview Java Mapping XSLT Mapping ABAP Mapping
Message Mapping General Concepts Standard Functions Element Cardinality Context Handling User-Defined Functions Value Mapping Examples
© SAP AG 2002, Title of Presentation, Speaker Name 2
Overview Integration Builder Mapping – Introduction Message Mapping
© SAP AG 2002, Title of Presentation, Speaker Name 3
Component Overview
Integration Builder (IB)
Central Monitoring SAP Systems
Integration Repository (IR)
Integration Directory (ID)
Integration Server (IS)
3rd Party Systems 3rd Party Middleware Component Marketplace/ Business Partner
System Landscape Directory (SLD) © SAP AG 2002, Title of Presentation, Speaker Name 4
Integration Builder Common client-server framework for all objects Two instances of the framework Repository Business Scenarios & Business Processes Interface Objects Mapping Objects Adapter Objects
Directory Party Service Receiver determination Interface determination Sender/Receiver Agreements
© SAP AG 2002, Title of Presentation, Speaker Name 5
Design Integration Builder Integration Repository Scenario Editor
Business Scenarios
Process Editor
Business Processes
BPEL
Mapping Editor
Mappings
XSLT Java
Condition Editor
Context Objects
XPath
Message Interfaces
WSDL
Interface Editor
Proxies
Message Types Data Types
XSD
Software Component Version
Software Component
System Landscape Directory © SAP AG 2002, Title of Presentation, Speaker Name 6
J2EE/ABAP
SAP Web AS ≥ 6.20
Configuration Integration Builder Integration Directory Business Scenarios Business Processes Configuration Wizards
Routing Rules Receiver Determination Rules Interface Determination Rules (including Mapping Assignment)
Configuration Editors
Collaboration Agreements Security
Collaboration Profiles Parties & Services Channels
© SAP AG 2002, Title of Presentation, Speaker Name 7
Integration Processing
Integration Server
Integration Directory Business Scenarios
Inbound Handling (also in adapters)
Business Processes Receiver Determination
Routing Rules Receiver Determination Rules
Interface Determination
Interface Determination Rules (including Mapping Assignment)
Channel Determination Mapping
Collaboration Agreements Security
Collaboration Profiles Parties & Services Channels
© SAP AG 2002, Title of Presentation, Speaker Name 8
Outbound Handling (also in adapters)
Integration Engine
Business Process Execution
Business Process Engine
Objects in the Integration Repository References
Business Scenario Objects
Interface Objects
Mapping Objects
Message Interfaces Message Types
Interface Mappings
Fault Message Types
Message Mappings
Data Types
Imported Archives
Business Scenarios Actions Business Processes Imported Objects (IDocs, RFCs)
Unified behaviour of all objects for change management, naming conventions, documentation,...
© SAP AG 2002, Title of Presentation, Speaker Name 9
Integration Builder: Introduction
© SAP AG 2002, Title of Presentation, Speaker Name 10
Object Handling in the Integration Repository Before development can start Development manager or administrator has to import a software component version from SLD Create namespaces in this software component version
Each repository object is uniquely identified by the triple software component version, namespace, object name As a general rule: Software component : Namespace = 1 : n A namespace is transferred to a new version of a software component after development is finished (Release-Transfer)
Object version management Changes are collected in (user-specific) change lists and can be activated once Each user may have different change lists for each software component version he is working in After activation a new object version is released. Old versions can be viewed by means of an object history.
© SAP AG 2002, Title of Presentation, Speaker Name 11
Integration Builder XI 2.0 SP1: Software Logistics Feature
Purpose
Objects from source -> destination
‘Role’ of target object
Copy
Reuse (global data types, for example)
Within one Repository: SWCV1->SWCV2 SWCV1->SWCV1
Copy with initial object version
(context menu)
Within one Directory
Release transfer (menu “Tools”)
Take over (all) objects to next (or another) SWCV of same repository at end of development
Within one Repository: SWCV1->SWCV2 (single objects or all objects of a namespace or all objects of a SWCV)
Identical object with same version as source object
Transport, shipment
Repository1 -> Repository2 (all objects of a namespace or all objects of a SWCV)
Repository.: Copy with same version as source object
(Only Repository)
Export/ Import (context menu)
Directory1 -> Directory2
Directory: New initial object version is created
SWCV: Software Component Version © SAP AG 2002, Title of Presentation, Speaker Name 12
Overview Integration Builder Mapping – Introduction Overview Java Mapping XSLT Mapping ABAP Mapping
Message Mapping
© SAP AG 2002, Title of Presentation, Speaker Name 13
Overview - General Mapping Types
Mapping Transformation from one message structure to another Transformation rules defined by mapping program
Peter Miller Airline Kingdom AK087 2001-11-22 business
© SAP AG 2002, Title of Presentation, Speaker Name 14
Value Mapping
Structure Mapping
22.11.2001 087 Peter Miller 2 Happy Holiday
Mapping at Runtime Messages in XI contain a sender interface
Integration Server
IS evaluates configuration data of the Integration Directory •
During logical routing, the IS determines a Receiver Interface (1).
•
Such an interface pair can optionally reference an Interface Mapping An interface mapping points to one or more mapping programs (for request, response and/or fault messages) IS executes mapping programs (2)
•
Receiver determination and mapping step can also be performed within in the scope of BPM (1;2)
© SAP AG 2002, Title of Presentation, Speaker Name 15
Inbound Handling (also in adapters) Receiver Determination Interface Determination
1 Business Process Execution
1;2
Channel Determination Mapping Outbound Handling (also in adapters)
Integration Engine
2
Business Process Engine
Overview - Relate Mapping Programs to Interfaces Outbound Message Interface
Request
Output Message Type
Response
Input Message Type
Fault
Fault Message Type
© SAP AG 2002, Title of Presentation, Speaker Name 16
Integration Repository Interface Mapping(s) Message Mapping XSLT Mapping Java Mapping ABAP Mapping
Message Mapping XSLT Mapping Java Mapping ABAP Mapping
Message Mapping XSLT Mapping Java Mapping ABAP Mapping
Inbound Message Interface
Input Message Type
Output Message Type
Fault Message Type
Overview - Mapping Programs to Map Messages Message Mapping Designed by using the graphical mapping editor of Integration Builder Result: Generated Java Code.
Imported Archives Import externally defined mapping programs into repository Java mapping: Implemented by using a specific interface XSLT mapping: Runtime supports XSLT processor Java methods can be called from within a Style Sheet
ABAP Mapping You can execute mapping programs in a sequence
© SAP AG 2002, Title of Presentation, Speaker Name 17
Overview Integration Builder Mapping – Introduction Overview Java Mapping XSLT Mapping ABAP Mapping
Message Mapping
© SAP AG 2002, Title of Presentation, Speaker Name 18
Java Mapping (I) Mapping programs can be implemented in Java 1. Develop your Java code locally e.g. with your IDE 2. Create a .jar or a .zip 2.1 Using the jar command of the jdk 2.2 Using a built-in IDE functionality 3. Create a new Imported Archive and import the .jar to the Integration Repository
© SAP AG 2002, Title of Presentation, Speaker Name 19
Java Mapping (II) - Development Define a Java class that implements the Java interface com.sap.aii.mapping.api.StreamTransformation The interface contains two methods: 1. public void execute(java.io.InputStream in, java.io.OutputStream out) to perform the mappings. 2. public void setParameter(java.util.Map param) to access to runtime constants possible (for example: INTERFACE, SENDER_NAME)
The required libraries are contained in the aii_map_api.jar, which is part of your SAP J2EE Engine installation DOM and SAX Parsers provided by the SAP XML Toolkit for Java can be used API to execute value mappings
© SAP AG 2002, Title of Presentation, Speaker Name 20
Java Mapping (III) - Template
© SAP AG 2002, Title of Presentation, Speaker Name 21
Overview Integration Builder Mapping – Introduction Overview Java Mapping XSLT Mapping ABAP Mapping
Message Mapping
© SAP AG 2002, Title of Presentation, Speaker Name 22
XSLT Mapping (I) Proceeding equivalent as for Java mappings 1. Develop your XSLT files 2. Create a .jar or a .zip 2.1 Using the jar command of your jdk 2.2 Using a built-in IDE functionality 3. Create a new Imported Archive and import the .jar to the Integration Repository 4. Uploaded XSLT programs can modified within the XI Repository by means of a simple editor. © SAP AG 2002, Title of Presentation, Speaker Name 23
XSLT Mapping (II) - Features XSL-Transformation: transforming XML structures XPath: Locating information in XML documents and : inclusion of other XSLT files to access runtime constants Invoking external Java methods from within an XSL Transformation
© SAP AG 2002, Title of Presentation, Speaker Name 24
XSLT Mapping (III) - Example XSLT Mapping with Java Enhancement
Calls the method merge:
© SAP AG 2002, Title of Presentation, Speaker Name 25
Overview Integration Builder Mapping – Introduction Overview Java Mapping XSLT Mapping ABAP Mapping
Message Mapping
© SAP AG 2002, Title of Presentation, Speaker Name 26
ABAP Mapping (I) Mapping programs can be implemented in ABAP 1. Add additional mapping types in your Exchange Profile: com.sap.aii.repository.mapping.additionaltypes = R3_ABAP|Abap-class;R3_XSLT|XSL (ABAP Engine) 2. Develop your ABAP-OO class in the Object Navigator (se80) 3. Create a new Interface Mapping •
Select Mapping Type Abap-class
•
Enter the name of the ABAP-OO class
© SAP AG 2002, Title of Presentation, Speaker Name 27
ABAP Mapping (II) - Development Define a ABAP class that implements the interface IF_MAPPING of package SAI_MAPPING The interface contains the method EXECUTE to perform the mappings. Parameter
Direction
Reference
SOURCE
Importing
XSTRING
PARAM
IF_MAPPING_PARAM
TRACE
IF_MAPPING_TRACE
RESULT
Exporting
XSTRING
The required libraries are contained in the aii_map_api.jar, which is part of your SAP J2EE Engine installation DOM and SAX Parsers provided by the SAP XML Toolkit for Java can be used API to execute value mappings
© SAP AG 2002, Title of Presentation, Speaker Name 28
Overview Integration Builder Mapping – Introduction Message Mapping General Concepts Standard Functions Element Cardinality Context Handling Value Mapping User-Defined Functions Examples Mapping “Patterns” Multi–Mapping Mapping Template
© SAP AG 2002, Title of Presentation, Speaker Name 29
Overview Integration Builder Mapping – Introduction Message Mapping General Concepts Standard Functions Element Cardinality Context Handling Value Mapping User-Defined Functions Examples Mapping “Patterns” Multi–Mapping Mapping Template
© SAP AG 2002, Title of Presentation, Speaker Name 30
General Concepts - Mapping Editor (I)
Structure Overview
Source Structure
Target Structure
Data-Flow Editor
Target Field Mapping
© SAP AG 2002, Title of Presentation, Speaker Name 31
General Concepts - Mapping Editor (II) Import of source and target structure From Integration Repository XSDs developped in the Integration Repository Imported External Definitions (WSDLs, XSDs, DTDs) Imported SAP meta data (RFCs, IDocs)
From local file system (XSD or XML) Not all XSD tags are supported (general rule: XSDs that can be created by using the data type editor can be imported) and are not supported
Mapping editor displays a simplified XML representation of XSD files in structure overview
© SAP AG 2002, Title of Presentation, Speaker Name 32
General Concepts - Mapping Editor (II) Design message mapping using the data-flow editor Message mapping is composed of several target field mappings You can edit one target field mapping in the data-flow editor All mandatory target fields (marked in red) must be mapped
© SAP AG 2002, Title of Presentation, Speaker Name 33
Icon Status Display Icon Types Icon
Meaning Attribute Element Element with maxOccurs = unbounded
Icon Colors Color
Meaning
White
Attribute or element not assigned
Red
Attribute or element must be assigned to complete the mapping
Yellow
Attribute or element has already been assigned but the corresponding mapping in the data-flow editor is not complete
Green
Mapping to target field complete
© SAP AG 2002, Title of Presentation, Speaker Name 34
General Concepts - Elements
Attribute Element is mandatory and might re-occur (minOccurs>0, maxOccurs>1) Element is mandatory (minOccurs>0) Parent node might repeat (maxOccurs>1) Element might repeat (maxOccurs>1)
© SAP AG 2002, Title of Presentation, Speaker Name 35
General Concepts - Elements Elements
Nodes Do not contain any values
Attributes Attributes behave like elements in mappings Attributes are marked with “@”sign in the mapping editor.
© SAP AG 2002, Title of Presentation, Speaker Name 36
General Concepts – Assign Source/Target Message Types
There are 3 ways message types can be assigned to the Message Mapping. 1. By using an existing object already created in the Integration Repository (e.g. Message Type, External Definitions) 2. By using an RFC or IDoc meta data imported from SAP 3. By importing XML or XSD files from local file system
© SAP AG 2002, Title of Presentation, Speaker Name 37
General Concepts – Assignment of Fields (I)
Double click on a field = insert field into data-flow editor
Double click on a field = navigate to mapping
drag&drop drag&drop
© SAP AG 2002, Title of Presentation, Speaker Name 38
drag&drop
General Concepts - Assignment of Fields (II)
2. Choose assignment function 1.Mark root nodes of subtrees
•
Mappings are created automatically for homonymous child elements
© SAP AG 2002, Title of Presentation, Speaker Name 39
General Concepts - Data–Flow Editor
Delete Floating Objects
Delete Current Mapping
Lay Out Mapping
Select Function Category Define User Function
© SAP AG 2002, Title of Presentation, Speaker Name 40
Select Function
General Concepts – Mapping Templates
1.Mark root nodes of subtrees
2. Choose “Load Mapping Template”
•
Mapping Templates based on Date Types have to be created beforehand
•
Subnodes must reference this pair of Data Types
© SAP AG 2002, Title of Presentation, Speaker Name 41
General Concepts - Text Preview
Text Preview Text Preview per target field
All target field mappings
© SAP AG 2002, Title of Presentation, Speaker Name 42
General Concepts - Dependencies
Dependencies
All mappings or mappings of two selected subnodes are displayed
© SAP AG 2002, Title of Presentation, Speaker Name 43
General Concepts – Test Mappings (I) A completed Message Mapping can be tested by using the “Test” tab. Loads an XML instance from a local file.
Execute Mapping •
1.
2.
Search node name in the Tabular Tree View
Tabular Tree View
XML document view
Dropdown provides the creation and saving of test cases
Prerequisites The defined message mapping must be complete. This means that each mandatory target field must be assigned to one or more source fields. There must not be any unassigned arguments when using functions.
© SAP AG 2002, Title of Presentation, Speaker Name 44
General Concepts – Test Mappings (II) Editing the XML instances to use in test cases:
Enter test data
Using the context menu in the (Tabular) Tree View, you can copy sub-trees, delete nodes, and add elements and attributes. In the Value column in the tabular tree view you can also enter values for fields. © SAP AG 2002, Title of Presentation, Speaker Name 45
Using the editor for the XML view, you can manually edit elements and attributes or their values here. Use CTRL C, CTRL X, and CTRL V respectively to copy, cut, and paste parts of an XML instance.
General Concepts – Debug Mappings Using the “Display Queue” to examine each step of the mapping:
Note: The “context” display and usage in the queues will be discussed in later slides.
© SAP AG 2002, Title of Presentation, Speaker Name 46
Overview Integration Builder Mapping – Introduction Message Mapping General Concepts Standard Functions Element Cardinality Context Handling Value Mapping User-Defined Functions Examples Mapping “Patterns” Multi–Mapping Mapping Template
© SAP AG 2002, Title of Presentation, Speaker Name 47
Standard Functions: Introduction
X1 X2
R = f(X1,X2)
R
X1 X2 R = f(X1,X2,X3) R X3
I
O = f(I)
O
O= Generated Value O
All functions expect and return string values Generating functions ‘produce’ values (for example: Constant) Some standard functions provide function properties (denoted by a small asterisk) For example: concat lets you additionally specify a delimiter Call the function properties window by double clicking the function
© SAP AG 2002, Title of Presentation, Speaker Name 48
Simple Standard Functions: concat Function category: Text Source Message
Mapping
Target Message
Harry Potter
Harry Potter
concat properties Delimiter=“ “
© SAP AG 2002, Title of Presentation, Speaker Name 49
Simple Standard Functions: Substring Function category: Text Source Message
Mapping
Target Message
0123456789-181170
0123456789
Substring properties start from: 0 count: 10
counting starts at 0 !
© SAP AG 2002, Title of Presentation, Speaker Name 50
Simple Standard Functions: DateTrans Function category: Date Source Message
Mapping
Target Message
181170
11/18/1970
DateTrans properties src Format: ddMMyy dst Format: MM/dd/yyyy
For potential date patterns, please see Java class java.text.DateFormat © SAP AG 2002, Title of Presentation, Speaker Name 51
Boolean Functions Condition
X
ifWithoutElse
if
R then
R = Y if X is true or 1 or no tag is produced
if
Y Result value if condition is true
Result value if condition is true
Y then
Condition
X
R
if else
R = Y if X is true or 1, else Z
Z Result value if condition is false
Boolean functions Return true or false string Interpret 1 and true (not case-sensitive) as true-value
© SAP AG 2002, Title of Presentation, Speaker Name 52
Calculations Function category: Arithmetic Source Message
Mapping
Target Message
90
90.00
FormatNum properties Number Format: ###,###,###.00 (For potential patterns, please see Java class java.text.DecimalFormat)
Calculations (add, multiply, etc.) are performed with Java float precision Trailing zeros in result are truncated, e.g.: 4.2-0.2 = 4 To keep trailing zeros use FormatNum function © SAP AG 2002, Title of Presentation, Speaker Name 53
Overview Integration Builder Mapping – Introduction Message Mapping General Concepts Standard Functions Element Cardinality Context Handling Value Mapping User-Defined Functions Examples Mapping “Patterns” Multi–Mapping Mapping Template
© SAP AG 2002, Title of Presentation, Speaker Name 54
Element Cardinality – Mandatory Mappings (minOccurs>0)
Mandatory Elements and Nodes (minOccurs>0) Mapping is mandatory. A source element or a constant has to be assigned to the target element. Otherwise error message: “Messagemapping not completely defined” If not sufficient values are provided from the source structure during runtime, an exception is raised.
© SAP AG 2002, Title of Presentation, Speaker Name 55
Element Cardinality – Fixed Occurrences (minOccurs=maxOccurs)
Exception: Nodes with fixed occurrences (minOccurs=maxOccurs) Nodes are automatically marked in green. Mapping is not mandatory. Nodes are created automatically.
For elements with fixed occurrences the rules of mandatory elements are applied
© SAP AG 2002, Title of Presentation, Speaker Name 56
Element Cardinality – Repeating Elements (maxOccurs>1)
Mapping of Repeating Elements and Nodes (maxOccurs>1) Source: Target element is created as often as mapped source element occurs in the source message. Source: Creating function (e.g. Constant) If minOccurs>0, target elements are created. If minOccurs=0, 1 target element is created.
© SAP AG 2002, Title of Presentation, Speaker Name 57
Element Cardinality – Node Mapping
Mapping of non mandatory Nodes (minOccurs=0) If a non mandatory node contains elements with minOccurs>0, these elements become mandatory after their parent node is assigned.
© SAP AG 2002, Title of Presentation, Speaker Name 58
Element Cardinality – Node Mapping (II)
Mapping of non mandatory Nodes (minOccurs=0) Assignment of elements is not sufficient Node has to be ‘created’ by assigning a suitable source node/element
© SAP AG 2002, Title of Presentation, Speaker Name 59
Element Cardinality – Unique Target Mapping
Mapping from more than one Source element Only a single and unique mapping relation per target element is allowed (n:1 relationship) Multiple mapping relations can be defined by duplicating the target node or element (Duplicate Subtree) To duplicate a node or an element, right-click on the object in the target structure pane and select “Duplicate Subtree”
© SAP AG 2002, Title of Presentation, Speaker Name 60
Overview Integration Builder Mapping – Introduction Message Mapping General Concepts Standard Functions Element Cardinality Context Handling Value Mapping User-Defined Functions Examples Mapping “Patterns” Multi–Mapping Mapping Template
© SAP AG 2002, Title of Presentation, Speaker Name 61
Context Handling (I)
Context Change Message mapping works internally by using queues If no further elements are imported at a particular hierarchy level, a Context Change is inserted in the queue Use node functions to handle changes in the message hierarchy.
© SAP AG 2002, Title of Presentation, Speaker Name 62
Context Handling (II)
Why Queue Processing? No size limitations for messages Better runtime performance
Context changes have impact on: User-Defined Functions Breaking and inserting of hierarchy levels
Manipulation of queues ant contexts Explicit context selection on source elements and nodes Using node functions
removeContexts: deletes all context changes of a queue SplitByValue: insert additional context changes in a queue
© SAP AG 2002, Title of Presentation, Speaker Name 63
Context Handling - “Show queue” (I)
A tool to display queues: 1.
Upload or create source xmldocument in test mode
2.
Right-click on box representing element or function
3.
Select “Show queue”
© SAP AG 2002, Title of Presentation, Speaker Name 64
Context Handling - “Show queue” (II) Example Sender and Receiver Structure
Related Mapping
© SAP AG 2002, Title of Presentation, Speaker Name 65
Context Handling - “Show queue” (III) Example
“Show queue” function display value queues leaving the related element/function. “Debugging” functionality Applicable to any step in the mapping Step by step check of mappings © SAP AG 2002, Title of Presentation, Speaker Name 66
Context Handling - “Show queue” (IV)
Inner context change. Represented internally by constant ResultList.CC
Initial and terminal context change – Not passed to the internal queue processing
Queue value
Suppressed value. Represented internally by constant ResultList.SUPPRESS. Suppressed when creating target element
The displayed queue contains the following values:
© SAP AG 2002, Title of Presentation, Speaker Name 67
•
ResultList.SUPPRESS
•
ResultList.CC
•
“toothpaste”
•
ResultList.CC
•
ResultList.SUPPRESS
Context Handling - Node Functions – removeContexts(I) With removeContexts Source Message
Mapping
Target Message
A.one A.two A.three B.one B.two
A.one A.two A.three
© SAP AG 2002, Title of Presentation, Speaker Name 69
Context Handling - Node Functions – SplitByValue (I) With SplitByValue Source Message
Mapping
Target Message
one two three four
one two three four
SplitByValue() is the counterpart to removeContexts() inserts a context change in the source value queue. context change in the queue after each value, after each change to the value, or after an empty tag. © SAP AG 2002, Title of Presentation, Speaker Name 70
Context Handling - Node Functions – SplitByValue (II) Without SplitByValue Source Message
Mapping
Target Message
one two three four
one two three four
© SAP AG 2002, Title of Presentation, Speaker Name 71
Context Handling – Explicit Context Selection (I) As of XI 2.0 SP3 the context of source nodes and elements can be selected explicitly More precise handling as removeContexts function But: removeContexts function still necessary for context manipulation within a mapping chain Example: Message Type
© SAP AG 2002, Title of Presentation, Speaker Name 72
XML representation
Context Handling – Explicit Context Selection (II) Explicit choice of contexts and resulting queues Context changes are relevant: user-defined functions structure hierarchy
But: the removeContexts function is still necessary for context manipulation within a mapping chain : Context
Resulting Queue
© SAP AG 2002, Title of Presentation, Speaker Name 73
Context Handling – Explicit Context Selection (I) Comparing two contexts with diverse numbers of entries: Last value of context with less elements is reiterated Applies also to Constants
Example: the content of the two contexts is concatenated; Value “prodAttribute” of /Fieldnames is reiterated to fill up result context.
© SAP AG 2002, Title of Presentation, Speaker Name 74
Overview Integration Builder Mapping – Introduction Message Mapping General Concepts Standard Functions Element Cardinality Node Functions Value Mapping User-Defined Functions Examples Mapping “Patterns” Multi–Mapping Mapping Template
© SAP AG 2002, Title of Presentation, Speaker Name 75
Value Mapping (I) – FixValues The FixValues function provides a simple generic value mapping (or key mapping) in the Integration Repository 1. Use the standard function Conversions -> FixValues to link source and target element 2. Double click to define properties Each field mapping uses its own table of key-value pairs. Filled tables can be copied to other mappings. But copied table is independent of origin.
© SAP AG 2002, Title of Presentation, Speaker Name 76
Value Mapping (II) – Value mapping The Value mapping function provides a more specific value transformation. 1. Use the standard function Conversions -> Value mapping to link source and target element 2. Double click to define properties 3. Define access keys for table entries: Value Mapping Context stores information on the origin of the data. If data is maintained in the Integration Directory, use http://sap.com/xi/XI Agency and Schema for sender and receiver messages. Any arbitrary string value can be used.
© SAP AG 2002, Title of Presentation, Speaker Name 77
Value Mapping (III) - Value Mapping Group Semantically identical information is collected in “Value Mapping Groups” Value Mapping Groups can be maintained: in the Integration Directory by sending data to Message Interface “ValueMappingReplication” of SAP BASIS -> SAP BASIS 6.40 -> http://sap.com/xi/XI/System
Following entries are required 1. 2. 3.
Agency Schema (Namespace and Object Type ) Value (the group’s representative for a given Agency – Schema combination)
© SAP AG 2002, Title of Presentation, Speaker Name 78
Value Mapping (VI) – Define Value Mappings Value Mappings are created automatically between representatives of the same group All entries for a couple of Agency/Schema combinations are displayed using Tools-> Value Mapping in the Integration Directory Each new entry will create automatically a new group.
© SAP AG 2002, Title of Presentation, Speaker Name 79
Value Mapping (VI) – Mass Configuration Mass data can be maintained in Value Mappings tables by means of an XI Interface Based on Message Interface ValueMappingReplication of http://sap.com/xi/XI/System in SC SAP BASIS 6.40 Configuration has to be created in Directory Provided data has to correspond to structure:
© SAP AG 2002, Title of Presentation, Speaker Name 80
Overview Integration Builder Mapping – Introduction Message Mapping General Concepts Standard Functions Element Cardinality Node Functions Value Mapping User-Defined Functions Examples Mapping “Patterns” Multi–Mapping Mapping Template
© SAP AG 2002, Title of Presentation, Speaker Name 81
User-Defined Functions – Overview
Functional enhancements if standard functions do not fulfill requirements Is only visible in the message mapping in which you created it Integration of Java programs from imported archives of the same software component version Usage just like standard functions
© SAP AG 2002, Title of Presentation, Speaker Name 82
User-Defined Functions – Overview
User–Defined Function types: Simple functions, which can process individual field input values for each function call. Simple functions, therefore, expect strings as input values and return a string. Advanced functions, which can process non–single string field input values for each function call. You can pass either all field values of a context or the whole queue for the field in an array when calling the function. Each input field is passed as an array of String. Returned values are stored in a String array, ResultList.
© SAP AG 2002, Title of Presentation, Speaker Name 83
User-Defined Functions – Definition Specify: Label: Text that appears in the function chooser and on the data-flow object to identify the new function. Argument Count: The number of input values that should be transferred to the function. Input values are of type java.lang.String Description: Description of the function’s use.
© SAP AG 2002, Title of Presentation, Speaker Name 84
User-Defined Functions – Binding of external Classes (I)
Define User Function
© SAP AG 2002, Title of Presentation, Speaker Name 85
User-Defined Functions – Binding of external Classes (I) Select Simple Function Single return value is of type java.lang.String
Import Java packages if required, e.g. sap.xi.mytools.*; sap.xi.myutils.*; © SAP AG 2002, Title of Presentation, Speaker Name 86
User-Defined Functions – Binding of external Classes (I) Example: following class should enhance a user-defined function
com.sap.aii.mappingtool.tf3.rt.Container
© SAP AG 2002, Title of Presentation, Speaker Name 87
User-Defined Functions – Binding of external Classes (II) Procedure: 1. Compile your Java class and create a .jar 2. Create a new Imported Archive and upload your .jar. 3. The relevant class has to be declared in the Import statement
© SAP AG 2002, Title of Presentation, Speaker Name 88
User-Defined Functions – Advanced Functions Advanced user–defined functions can access more than just individual values. A complete context or an entire queue can be accessed.
Context
Queue
Message Mapping works by using queues. There is a queue for each hierarchy level. © SAP AG 2002, Title of Presentation, Speaker Name 89
User-Defined Functions – Advanced Functions Advanced user–functions can import either just one context or the complete queue into input String arrays. To import the complete queue, check the “Cache Entire Queue” checkbox in the function editor. Working with Contexts or Queues
Information in Cache
Implications
Context
Do not have identifiable context change.
Queue
Contains context change indicator. Much more memory intensive.
Context changes at the beginning and end of the context or queue are implicit and cannot identified.
© SAP AG 2002, Title of Presentation, Speaker Name 90
User-Defined Functions – Advanced Functions
Input parameters: String[] , ResultList, Container Flag “Cache the whole queue” Selected: all values of the whole queue are passed to the function Not selected: values of one context is passed to the function
ResultList contains output of function Output builds up a new queue
© SAP AG 2002, Title of Presentation, Speaker Name 91
User-defined functions – String[] Context changes are treated as fields They are represented by class variable java.lang.String ResultList.CC Queue output determines input values of user-defined functions First and last context change of each queue are suppressed Caching the whole queue
Not caching the whole queue
String[] a = {"A.1.1","A.1.2", ResultList.CC,"A.2.1", ResultList.CC,"A.3.1", ResultList.CC,"B.1.1", ResultList.CC,"B.2.1", "B.2.2"};
String[] a = {"A.1.1", "A.1.2"}; {"A.2.1"}; {"A.3.1"}; {"B.1.1"}; {"B.2.1","B.2.2"};
String[] a = {"A.1.1","A.1.2", "A.2.2","A.3.1", ResultList.CC,"B.1.1", "B.2.1","B.2.2"};
String[] a = {"A.1.1", "A.1.2", "A.2.1","A.3.1"}; {"B.1.1","B.2.1", "B.2.2"};
© SAP AG 2002, Title of Presentation, Speaker Name 92
User-defined functions – Container Container supports the methods void setParamter(String, Object) Object getParameter(String) Stalled parameters can be accessed in this specific function GlobalContainer getGlobalContainer() MappingTrace getTrace() Map getTransformationParameters() Map can be used to get runtime constants, e.g. Object map.get(StreamTransformationConstants.SENDER_SYSTEM)
GlobalContainer supports the methods void setParamter(String, Object) Object getParameter(String) Stalled parameters can be accessed in different functions of one message mapping
MappingTrace supports the methods void addWarning(String) – trace level: 1, 2, 3 void addInfo(String) – trace level: 2, 3 void addDebugMessage(String)– trace level: 3 Writes String to message monitoring
© SAP AG 2002, Title of Presentation, Speaker Name 93
User-defined functions – ResultList ResultList supports the methods and constants void addValue(String) void addContextChange() void addSuppress() void clear() ResultList.CC (context change) ResultList.SUPPRESS (suppressed value)
Outbound queue has to be build up manually, i.e. in case you cache the whole queue values, context changes and suppressed values have to be added manually.
© SAP AG 2002, Title of Presentation, Speaker Name 94
User-defined functions – function types
Simple Functions
Advanced Functions
Input Parameters
String, …, Container
String[], …, ResultList, Container
Returning Values
return String;
result.addValue(String);
Processing
Function is called once per field mapping
Function is called once per context or queue. Values of context /queue are stored in input string arrays
© SAP AG 2002, Title of Presentation, Speaker Name 95
Overview Integration Builder Mapping – Introduction Message Mapping General Concepts Standard Functions Element Cardinality Node Functions Value Mapping User-Defined Functions Examples Mapping “Patterns” Multi–Mapping Mapping Template
© SAP AG 2002, Title of Presentation, Speaker Name 96
Examples – Get value by key (I)
Problem: A specific value should be filtered by a key or qualifier Example: only English should be mapped to resulting field
© SAP AG 2002, Title of Presentation, Speaker Name 97
Examples– Get value by key (II)
Solution:
1. Create mapping
2. Set Contexts of and
© SAP AG 2002, Title of Presentation, Speaker Name 98
Examples– Get value by key (III)
Discussion: 3. Display Queues to investigate
4. Explanation
Since the element may only occur once in the resulting structure, the output has to be put in a single context. The two suppressed values are removed automatically when the resulting document is created In an alternative solution two contexts of and keep their initial contexts and a removeContexts is inserted after the ifWithoutElse function.
© SAP AG 2002, Title of Presentation, Speaker Name 99
Examples – Copy head to line (I)
Problem: A hierarchical structure has to be mapped to a flat structure One should be created per Header information (represented ) occurring only once per should be multiplied and copied to .
© SAP AG 2002, Title of Presentation, Speaker Name 100
Examples – Copy head to line (II)
Solution: 1. Create UserDefined Function
2. Create mappings
© SAP AG 2002, Title of Presentation, Speaker Name 101
Examples – Copy head to line (III)
Discussion: 3. Display Queues
4. Explanation
The User-Defined Function copyPerValue copies the value of per each occurrence of to the relevant context. The SplitByValue function then distributes the copied values to the contexts of the flat structure. Since only contains empty fields, you can use in this case also function concat instead of copyPerValue. See Context Handling – Explicit Context Selection (I) for details.
© SAP AG 2002, Title of Presentation, Speaker Name 102
Overview Integration Builder Mapping – Introduction Message Mapping General Concepts Standard Functions Element Cardinality Node Functions Value Mapping User-Defined Functions Examples Mapping “Patterns” Multi–Mapping Mapping Template
© SAP AG 2002, Title of Presentation, Speaker Name 103
Mapping “Patterns” Mapping “patterns” are some of the common mapping requirements we found in the past which XSLT was used, because we did not think that Message Mapping provided the functionality
Summarization Sequence–Number Generation Duplicating Subtrees Table / Value Lookups Tree–Reversal
© SAP AG 2002, Title of Presentation, Speaker Name 104
Mapping “Patterns” – Summarization Summarization is when we try to consolidate detailed information into total/subtotals and counts. The count and sum functions will act on the content of a context. Therefore, the context of the group to be summarized must be selected appropriately. Example:
Source: Order details containing customer, order numbers and order amount
Target: Total and count the order by each customer and a summary of all orders
© SAP AG 2002, Title of Presentation, Speaker Name 105
Mapping “Patterns” – Summarization
© SAP AG 2002, Title of Presentation, Speaker Name 106
Mapping “Patterns” – Summarization Mapping Result:
© SAP AG 2002, Title of Presentation, Speaker Name 107
Mapping “Patterns” – Sequence–Number Generation There are situations when sequence numbers had to be generated based on the number of occurrences of the source data. This is frequently used during mapping to SAP IDocs or BAPIs when item number, which is no available from the source, had to be entered. Example: Source: Order information.
Target: Two complex elements had to be populated from the source. Each one contains a sequence number which matches the position of the data in the source. Sequence number to be generated. © SAP AG 2002, Title of Presentation, Speaker Name 108
Mapping “Patterns” – Sequence–Number Generation There are two ways the sequence number can be generated. 1.
2.
Use Advanced User–Defined function to generate the sequence number all at once. Use Simple User–Defined function to generate the sequence number for each occurrence separately, keeping track of the sequence number value previously generated.
© SAP AG 2002, Title of Presentation, Speaker Name 109
Mapping “Patterns” – Sequence–Number Generation 1.
Use Advanced User–Defined function to generate the sequence number all at once.
The java function creates the sequence number all at once based on the number of elements in the source. The sequence numbers are written to the ResultList object.
© SAP AG 2002, Title of Presentation, Speaker Name 110
Mapping “Patterns” – Sequence–Number Generation 1.
Use Advanced User–Defined function to generate the sequence number all at once.
© SAP AG 2002, Title of Presentation, Speaker Name 111
Mapping “Patterns” – Sequence–Number Generation 1.
Use Advanced User–Defined function to generate the sequence number all at once. Test Results:
© SAP AG 2002, Title of Presentation, Speaker Name 112
Mapping “Patterns” – Sequence–Number Generation 2.
Use Simple User–Defined function to generate the sequence number for each occurrence separately, keeping track of the sequence number value previously generated.
The sequence number is stored in the container object. Each time it is retrieved, incremented and saved. Note: There is no input required.
© SAP AG 2002, Title of Presentation, Speaker Name 113
Mapping “Patterns” – Sequence–Number Generation 2.
Use Simple User–Defined function to generate the sequence number for each occurrence separately, keeping track of the sequence number value previously generated.
We cannot display the queue to examine the result of the mapping.
© SAP AG 2002, Title of Presentation, Speaker Name 114
Mapping “Patterns” – Sequence–Number Generation 2.
Use Simple User–Defined function to generate the sequence number for each occurrence separately, keeping track of the sequence number value previously generated.
© SAP AG 2002, Title of Presentation, Speaker Name 115
Mapping “Patterns” – Duplicating Subtrees Even if elements are shown to occur more than once in the XML instance according to XML Schema Definition, they are only displayed once in the structure overview. To assign source field(s) to multiple positions of an element in the target structure, the element or the entire subree can be duplicated (copied) using the context menu in the target structure. Example: Source: Accounting information with adjustment type and amount.
Target: Two CurrencyAmt’s are to be created. One is to credit one account. The other is to debit another account. The amount will either be positive or negative depending on the ADJTYPE.
© SAP AG 2002, Title of Presentation, Speaker Name 116
Mapping “Patterns” – Duplicating Subtrees The subtree “CurrencyAmt” must be duplicated first. This will create 2 CurrencyAmt’s. One for credit, and one for debit.
© SAP AG 2002, Title of Presentation, Speaker Name 117
Mapping “Patterns” – Duplicating Subtrees
© SAP AG 2002, Title of Presentation, Speaker Name 118
Mapping “Patterns” – Duplicating Subtrees Mapping Results:
© SAP AG 2002, Title of Presentation, Speaker Name 119
Mapping “Patterns” – Table/Value Lookup During mapping, a lookup is necessary in a different subtree structure of the XML document. This lookup process is easily accomplished using XSLT, since we can navigate the XML document using absolute or relative “path” specification. In Message Mapping, there is no facility to navigate the XML document. In Message Mapping, we have to use the context of the different elements required for the lookup. A Java function will be needed to perform the comparisons. And, the matched values will have to be written to ResultList. Example: Source: Contains credit card information, with 2 subtrees. One is account information (including account number, cost center, sub–account, card type, etc.) The 2nd subtree contains detailed billing information (including account number, date, billing amount, etc.) Target: Contains only detailed billing information, but with each billing record, the cost center, sub–account and card type from the account info record must also be included. The account number in the detail is used to do the lookup of the account information records.
© SAP AG 2002, Title of Presentation, Speaker Name 120
Mapping “Patterns” – Table/Value Lookup Source:
=
© SAP AG 2002, Title of Presentation, Speaker Name 121
Target:
Mapping “Patterns” – Table/Value Lookup Java Function:
The lookup’d value must be written to the ResultList.
© SAP AG 2002, Title of Presentation, Speaker Name 122
Mapping “Patterns” – Table/Value Lookup
Contexts must be set a root level.
Mappings for all 3 elements are identical, except for the element names.
© SAP AG 2002, Title of Presentation, Speaker Name 123
Mapping “Patterns” – Table/Value Lookup Mapping Results:
© SAP AG 2002, Title of Presentation, Speaker Name 124
Mapping “Patterns” – Tree–Reversal Below is a mapping scenario which reverses the parent and child nodes. A “reverse” summarizations is also performed.
Target document:
Source document:
The products are to be sorted and totaled by prices with the orderids listed.
© SAP AG 2002, Title of Presentation, Speaker Name 125
Mapping “Patterns” – Tree–Reversal The source document is organized by orderid, product and price. The same product can occur in more than 1 orders. The target document is summarized by product with a total price and listed within each product all the orderids. The same orderids can occur in more than 1 products. The mapping needs to reverse the organization of the source document. Based on that, the following needs to be done using the contexts/queues used by Message Mapping: 1.
2.
3.
Get a list of all the products. Since the same product can be in multiple orders, we must eliminate the duplicates, and, then, sort them. Sum the prices by product and assign those totals to the products in their sorted order. Examine all the orderids and determine which orderids contain each of the products in the sorted list. Then, assign those orderids to the products.
© SAP AG 2002, Title of Presentation, Speaker Name 126
Mapping “Patterns” – Tree–Reversal Three Java functions were written to: 1.
Extract the products, eliminate duplicate names, and sort them in alphabetical order.
© SAP AG 2002, Title of Presentation, Speaker Name 127
Mapping “Patterns” – Tree–Reversal 2. Total the prices and assign the total to the appropriate products.
© SAP AG 2002, Title of Presentation, Speaker Name 128
Mapping “Patterns” – Tree–Reversal 3. Retrieve all the orderids and assign them to the appropriate products.
Note: “Cache Entire Queue” is checked. When the product is being retrieved, the Context Change is skipped. The Context Change is added to the ResultList.
© SAP AG 2002, Title of Presentation, Speaker Name 129
Mapping “Patterns” – Tree–Reversal Mapping for ITEM: To create the number of elements.
© SAP AG 2002, Title of Presentation, Speaker Name 130
Mapping “Patterns” – Tree–Reversal Mapping for the attribute NAME, which is the product name.
© SAP AG 2002, Title of Presentation, Speaker Name 131
Mapping “Patterns” – Tree–Reversal Display Queue for determining NAME:
© SAP AG 2002, Title of Presentation, Speaker Name 132
Mapping “Patterns” – Tree–Reversal Mapping to create the number of element for ORDERS_WHERE_ITEM_IS_FOUND.
© SAP AG 2002, Title of Presentation, Speaker Name 133
Mapping “Patterns” – Tree–Reversal Mapping for the attribute TotalSalesFOrThisItem, which totals the prices by product name.
© SAP AG 2002, Title of Presentation, Speaker Name 134
Mapping “Patterns” – Tree–Reversal Display Queue for determining TotalSalesFOrThisItem:
© SAP AG 2002, Title of Presentation, Speaker Name 135
Mapping “Patterns” – Tree–Reversal Mapping for the element ORDERID, which will be listed by product name.
© SAP AG 2002, Title of Presentation, Speaker Name 136
Mapping “Patterns” – Tree–Reversal Display Queue for determining ORDERID:
© SAP AG 2002, Title of Presentation, Speaker Name 137
Mapping “Patterns” – Tree–Reversal Partial listing of the mapping results:
© SAP AG 2002, Title of Presentation, Speaker Name 138
Overview Integration Builder Mapping – Introduction Message Mapping General Concepts Standard Functions Element Cardinality Node Functions Value Mapping User-Defined Functions Examples Mapping “Patterns” Multi–Mapping Mapping Template
© SAP AG 2002, Title of Presentation, Speaker Name 139
Multi–Mappings Multi–Mapping can only be used in ccBPM: Used to map abstract interfaces Development is the same as Message Mappings n:1 Transformation Bundles multiple messages into one message, for example, individual purchase order items into one purchase order. 1:n Transformation Splits a message into multiple messages, for example, a purchase order into the individual purchase order items. n:m Transformation Converts a message into another message, for example, a message that is defined by interface A is converted to message that is defined by interface B.
Multi–Mappings reference multiple message structures: All source message structures are combined into 1 source structure. All target message structures are combined into 1 target structure. Therefore, there is only one source structure mapped to one target.
© SAP AG 2002, Title of Presentation, Speaker Name 140
Mapping “Patterns” – Multi–Mappings The Message Types are entered using the Messages tab in the mapping editor. The root element is always . The Mapping Editor inserts an element for each source or target message, where N is the position of the message. Example:
Message Type (Source)
Message Type (Target)
OrderHeader(1)
Order(1)
OrderItem(0…unbounded)
OrderInfo(1)
© SAP AG 2002, Title of Presentation, Speaker Name 141
Mapping “Patterns” – Multi–Mappings
Insert more messages
Change Occurrences
No msg type name
Mapping rules are the same as for previously discussed Message Mappings. © SAP AG 2002, Title of Presentation, Speaker Name 142
Overview Integration Builder Mapping – Introduction Message Mapping General Concepts Standard Functions Element Cardinality Node Functions Value Mapping User-Defined Functions Examples Mapping “Patterns” Multi–Mapping Mapping Template
© SAP AG 2002, Title of Presentation, Speaker Name 143
Mapping Templates Message Mappings can be saved as Mapping Templates. Mapping Templates can be reused (or loaded) in other Message Mappings or Mapping Templates. Features: Mapping Templates can be defined for structure mappings of the following structures: Data Types Complex types in IDocs and RFCs Complex types in External Definitions The referenced types used in mapping templates can be located in any software component versions.
© SAP AG 2002, Title of Presentation, Speaker Name 144
Mapping Templates The Mapping Editor is used to create and load the structures used by the Mapping Templates. Defining Mapping Templates The Mapping Template can be saved by: 1. 2. 3.
Selecting the Source and Target source in the Mapping Editor Choose Save Mapping Template from either the target structure context menu or from the object toolbar Enter a unique name for the new Mapping Template.
© SAP AG 2002, Title of Presentation, Speaker Name 145
Mapping Templates Using Mapping Templates: Mapping Templates can be used in Message Mappings from any software component version: 1.
In the Mapping Editor, select a type element in the source and target structure.
2.
Choose Load Mapping Templates from either the target structure context menu or from the object toolbar.
3.
If mapping templates are available for the types in the source and target fields, a select dialog window will be displayed.
The Types must match what were defined in the existing Mapping Templates.
© SAP AG 2002, Title of Presentation, Speaker Name 146
Further Information Public Web: http://help.sap.com http://sdn.sap.com http://service.sap.com SAP Customer Services Network: http://www.sap.com/services/
Related XI 3.0 Workshop / Training Opportunities NetWeaver04 Overview XI 3.0 Implementation Workshop Introduction to XML and Technical Standards Advanced Integration Builder Advanced BPM Adapter Framework B2B and Industry Standards Proxy Development and Deployment © SAP AG 2002, Title of Presentation, Speaker Name 147
Questions?
Q&A
© SAP AG 2002, Title of Presentation, Speaker Name 148
Copyright 2004 SAP AG. All Rights Reserved No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. Microsoft®, WINDOWS®, NT®, EXCEL®, Word®, PowerPoint® and SQL Server® are registered trademarks of Microsoft Corporation. IBM®, DB2®, DB2 Universal Database, OS/2®, Parallel Sysplex®, MVS/ESA, AIX®, S/390®, AS/400®, OS/390®, OS/400®, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere®, Netfinity®, Tivoli®, Informix and Informix® Dynamic ServerTM are trademarks of IBM Corporation in USA and/or other countries. ORACLE® is a registered trademark of ORACLE Corporation. UNIX®, X/Open®, OSF/1®, and Motif® are registered trademarks of the Open Group. Citrix®, 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. MarketSet and Enterprise Buyer are jointly owned trademarks of SAP AG and Commerce One. SAP, SAP Logo, R/2, R/3, mySAP, mySAP.com 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 trademarks of their respective companies.
© SAP AG 2002, Title of Presentation, Speaker Name 149
Copyright 2004 SAP AG. Alle Rechte vorbehalten Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrückliche schriftliche Genehmigung durch SAP AG nicht gestattet. In dieser Publikation enthaltene Informationen können ohne vorherige Ankündigung geändert werden. Die von SAP AG oder deren Vertriebsfirmen angebotenen Softwareprodukte können Softwarekomponenten auch anderer Softwarehersteller enthalten. Microsoft®, WINDOWS®, NT®, EXCEL®, Word®, PowerPoint® und SQL Server® sind eingetragene Marken der Microsoft Corporation. IBM®, DB2®, DB2 Universal Database, OS/2®, Parallel Sysplex®, MVS/ESA, AIX®, S/390®, AS/400®, OS/390®, OS/400®, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere®, Netfinity®, Tivoli®, Informix und Informix® Dynamic ServerTM sind Marken der IBM Corporation in den USA und/oder anderen Ländern. ORACLE® ist eine eingetragene Marke der ORACLE Corporation. UNIX®, X/Open®, OSF/1® und Motif® sind eingetragene Marken der Open Group. Citrix®, das Citrix-Logo, ICA®, Program Neighborhood®, MetaFrame®, WinFrame®, VideoFrame®, MultiWin® und andere hier erwähnte Namen von Citrix-Produkten sind Marken von Citrix Systems, Inc. HTML, DHTML, XML, XHTML sind Marken oder eingetragene Marken des W3C®, World Wide Web Consortium, Massachusetts Institute of Technology. JAVA® ist eine eingetragene Marke der Sun Microsystems, Inc. JAVASCRIPT® ist eine eingetragene Marke der Sun Microsystems, Inc., verwendet unter der Lizenz der von Netscape entwickelten und implementierten Technologie. MarketSet und Enterprise Buyer sind gemeinsame Marken von SAP AG und Commerce One. SAP, SAP Logo, R/2, R/3, mySAP, mySAP.com und weitere im Text erwähnte SAP-Produkte und -Dienstleistungen sowie die entsprechenden Logos sind Marken oder eingetragene Marken der SAP AG in Deutschland und anderen Ländern weltweit. Alle anderen Namen von Produkten und Dienstleistungen sind Marken der jeweiligen Firmen.
© SAP AG 2002, Title of Presentation, Speaker Name 150
View more...
Comments