cancel
Showing results for 
Search instead for 
Did you mean: 

mapping objects

Former Member
0 Kudos

hi expects,

can any body tell me about mapping objects .and what is use of message mapping,java mapping ,xslt mapping,abap mapping.

thank you

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Answers (3)

Answers (3)

prasanthi_chavala
Active Contributor
0 Kudos

Hi Rohit,

XI provides 3 standard ways of interface mapping between source and target.

1)Graphical mapping

2)Java mapping

3)XSLT mapping

Two more additional mapping types can be activated in XI by making changes to the exchange profile. Those two mappings are

1)ABAP mapping

2)XSLT mapping with ABAP Extensions

Graphical mapping is a common approach followed by everyone for generating desired target structure. It involves simple drag-n-drop to correlate respective nodes (fields) from source and target structure. It hardly involves coding. (Exception – User defined functions). But sometimes with graphical mapping it is difficult to produce required output. For example … text/html output, namespace change, sorting or grouping of records etc. A person comfortable with Object Oriented ABAP can go for ABAP mapping instead. One can also think of Java mapping as another option but it is a bit complex and required knowledge of Java. In such cases, XSLT mapping can be the best approach to meet the requirements.

A few example cases in which an XSLT mapping can be used:-

1)When the required output is other than XML like Text, Html or XHTML (html displayed as XML )

2)When default namespace coming from graphical mapping is not required or is to be changed as per requirements.

3)When data is to be filtered based on certain fields (considering File as source)

4)When data is to be sorted based on certain field (considering File as source)

5)When data is to be grouped based on certain field (considering File as source)

>>>Advantages of using XSLT mapping

1)XSLT program itself defines its own target structure.

2)XSLT programs can be imported into SAP XI. Message mapping step can be avoided. One can directly go for interface mapping once message interfaces are created and mapping is imported.

3)XSLT provides use of number of standard XPath functions that can replaces graphical mapping involving user defined java functions easily.

4)File content conversion at receiver side can be avoided in case of text or html output.

5)Multiple occurrences of node within tree (source XML) can be handled easily.

6)XSLT can be used in combination with graphical mapping.

7)Multi-mapping is also possible using xslt.

8)XSLT can be used with ABAP and JAVA Extensions.

>>>Disadvantages of using XSLT mapping

1)Resultant XML payload can not be viewed in SXMB_MONI if not in XML format (for service packs < SP14).

2)Interface mapping testing does not show proper error description. So errors in XSLT programs are difficult to trace in XI but can be easily identified outside XI using browser.

3)XSLT mapping requires more memory than mapping classes generated in Java.

4)XSLT program become lengthier as source structure fields grows in numbers.

5)XSLT program sometimes become complex to meet desired functionality.

6)Some XSL functions are dependent on version of browser.

Regards,

Prasanthi.

Former Member
0 Kudos

Hi Rohit.

There are 4 types of mapping in XI

1. Graphical Mapping

2. XSLT Mapping

3. JAVA Mapping

4. ABAP Mapping

Graphical Mapping is used for simple mapping cases. When, the logic for your mapping is simple and straight forward and it does not involve any complex logic.

Java and XSLT mapping are used when graphical mapping cannot help you.

When the choice is between Java And XSLT, XSLT is simpler than java mapping and easier. But, it has its drawbacks. One among them being that you cannot use Java APIs and Classes in it. There might be cases in your mapping when you will have to perfrom something like a properties file look up or a DB lookup, such scenarios are not possible in XSLT and so, when you want to use some specific Java API's you will have to go for Java Mapping.

Java Mapping uses 2 types of parsers. DOM and SAX. DOM is easier to use with lots of classes to help you create nodes and elements, but , DOM is very processor intensive.

SAX parser is something that parses your XML one after the other, and so is not processor intensive. But, it is not exaclty easy to develop either.

For further info on each of the mapping, refer to these links,

Graphical Mapping,

http://help.sap.com/saphelp_nw04/helpdata/en/6d/aadd3e6ecb1f39e10000000a114084/content.htm

http://help.sap.com/saphelp_nw04/helpdata/en/43/c4cdfc334824478090739c04c4a249/content.htm

XSLT Mapping

http://help.sap.com/saphelp_nw04/helpdata/en/73/f61eea1741453eb8f794e150067930/content.htm

http://www.w3.org/TR/xslt20/

Java Mapping

http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/content.htm

DOM parser API

http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/package-frame.html

Check this blog on Mapping:

/people/ravikumar.allampallam/blog/2005/02/10/different-types-of-mapping-in-xi

Also, check this thread for more info,

Regards,

Subhasha Ranjan

former_member189558
Contributor
0 Kudos

Hi Rohit,

Mapping programs are required to transform the source data to the target schema format...

There are options for mapping program:

1) Message mapping : Easy to use.. has GUI drag and drop... las limitation in terms of complex hierarchy

2) XSLT / JAVA mapping programs can be created AND IMPORTED IN xi for use

3) ABAP mapping can also be use. it needs to be developed in the ABAP stack as a ABAP Class...

2 and 3 are programatic and you have better flexibility for transformation...

Thanks,

Himadri