Skip to Content

Message Mapping Simplified – Part I

It was initially very hard for me to understand the message mapping when we are trained on SAP XI.I browsed help.sap.com and ended up getting more confused. After working with SAP XI for some time however the intuition is changed. I will try to simplify the message mapping by elucidating the concepts in the nutshell. Blog does not cover the message mapping in detail but just gives the basic understanding for any new XI developers. Part 1 of the blog provides a base for conceptual understanding of message mapping with suitable examples.

As we know XI produces the XML documents at the inbound/outbound of the integration pipeline, there is a need for us to map the source XML doc to the target XML doc. Message Mapping editor is a built in feature, which helps to map the source and target XML messages graphically.
In this blog we discuss various terms related to it.

Definition: Message Mapping

Firstly, let me define the message mapping in the way I look at it:

“Message Mapping is nothing but a set of rules for producing target XML from the source XML.These rules are nothing but relations between the source XML tags and target XML tags”.

These rules keep varying according to the business requirements on the source and target XML documents.

Sample Rule :

Sample Mapping

Occurence

Illustration of Mapping Error:

Mapping Error

Definition: Representation:

Before we proceed further it is better if we have a clear understanding of the 3 terms:

1.

Element

: Simple XML tag.

2.

Attribute

: Property of XML tag.

3.

Node

: Logical grouping of set of XML tags.

In XI it is represented as shown below:

XML representation in XI:

XML tag representatin in XI

Additionally there is color indicator for the target XML messages:

1.

Red Color

indicates that target nodes/elements/attributes are mandatory and has to be definetly mapped.

2.

Green Color with a red circle

at the bottom indicates that there is a minimum occurrence specified for the tag which has to be met in the mapping.

3.

Green color

indicates that we can map the nodes/elements/attributes according to the requirements.

Color Indication in the Mapping Editor:

Color Indicator in XI Mapping Editor

Contexts in Message Mapping:

Once the above concepts are clear we can proceed to the most confusing part of message mapping called “Context Handling”.
Initially when I was browsing through the training materials and mapping patterns it was really hard for me to exactly figure out what the term “Context” means. (Forget about context handling and context changing).

Definition: Context

After working out few examples I figured out that: “Context of an element is nothing but just the level (with reference to its parent node) where the XML tag appears in the given XML document”.
Level of any element is set to the immediate parent node by default.

Definition: Context Changing

Once the definition of context is very clear the rest of the terms are automatically clarified.“Context Changing is just changing the level of XML tag (element level in the XSD) in the XML document or It is just the flexibility provided by XI for changing the XSD of the XML document at the runtime”. Example given below might make you to understand it better. I added a

Qualifications

node and

Description

element in the source data type and one

Qual_Desc

element in the target data type.

Default Context

The context of the

Description

tag is automatically set to the

Qualification

by default in XI which means that always

Description

XML tag occurs under

Qualification

XML tag as shown below.

Source XML message interpretation by the Mapping runtime before context change:

XML before Context Change

I changed the context of the

Description

tag to the root

MT_SRC

XML tag as shown below.

Changing Context in XI

Source XML message interpretation by the Mapping runtime after context change:

XML after Context Change

Definition: Context Handling

Contexts in XI can be handled by various ways like

node functions, advanced functions

, which will be, illustrated more in detail in the next blog. We also have queuing mechanisms for handling complex Context Changing in advanced user functions.

Once the above concepts are clear , working with the message mapping and trouble shooting any errors that occurred became relatively very easy for me. Part II will provide some more good examples for playing around with message mapping feature

provided by XI.

27 Comments
You must be Logged on to comment or reply to a post.