cancel
Showing results for 
Search instead for 
Did you mean: 

We have many mappings, which one is good in performance wise ?

Former Member
0 Kudos

We have many mappings, which one is good in performance wise ?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Message Mapping->java->ABAP->XSLT is the order.

Thanks

Kiran

Answers (7)

Answers (7)

Former Member
0 Kudos

Hi Prasadrao,

They are four types of mapping In XI.

Performance wise we can prfer first

Graphical mapping or Message mapping: this is one to one mapping, it is easy to conversions. suppose major conversions are required for Graphical mapping we need to write the User Defined Functions (UDF's), we write UDF's performance is very low.

Second preference is XSLT Mapping:

XSLT( XML STYLE SHEET LANGAUAGE TRANSFORMATION): It takes the XML data and it produce the XML data. it is easy to understand XI. because XI is looking for XML format.

Third Prefence is JAVA Mapping:

Java Mapping better than the ABAP Mapping. Because Java is very low code conversion for compare to ABAP. so automatically it performance is good for compare to ABAP.

and Finally ABAP Mapping.

There is more mapping conversions required for the fields better to write the ABAP Mapping compare to UDF's.

Regards,

SKumar

Former Member
0 Kudos

HI

Different Mapping Techniques are available in XI. They are: Message Mapping, XSLT Mapping, Java Mapping and ABAP mapping.

u2022The integration repository includes a graphical mapping editor. It includes built-in functions for value transformations and queue and context handling. There is an interface for writing user-defined functions (java) as well.

u2022XSLT mappings can be imported into the Integration Repository; java methods can be called from within the XSLT style sheet. Advantages of this mapping are: open standard, portable, extensible via Java user-defined functions.

u2022If the transformation is very complex, it may be easiest to leverage the power of Java for mapping.

u2022ABAP mapping programs can also be written to transform the message structures.

Message Mapping

SAP XI provides a graphical mapping tool that generates a java mapping program to be called at run time.

u2022Graphically define mapping rules between source and target message types.

u2022Queue-based model allows for handling of extremely large documents.

u2022Drag-and-drop.

u2022Generates internal Java Code.

u2022Built-in and user-defined functions (in Java)

u2022Integrated testing tool.

u2022N:M mapping is possible.

JAVA MAPPING:

Usually Java mapping is preferred when the target structure is relatively complex and the transformation cannot be accomplished by simple graphical mapping.

For e.g. consider a simple File->IDoc scenarion where the source file is a simple XML file, whereas the target file is an IDoc with more than one hierarchy level e.g FINSTA01. Content conversion in XI can only create a single level hierarchy, so in this scenario a Java mapping would come in handy.

See these:

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

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10dd67dd-a42b-2a10-2785-91c40ee5...

/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-i

/people/thorsten.nordholmsbirk/blog/2006/08/10/using-jaxp-to-both-parse-and-emit-xml-in-xi-java-mapping-programs

When to use Java mapping

1) Java mapping are used when graphical mapping cannot help you.

Advantages of Java Mapping

1)you can use Java APIs and Classes in it.

2) file look up or a DB lookup is possible

3) DOM is easier to use with lots of classes to help you create nodes and elements.

Java mapping can be used when you have complex mapping structures.

ABAP MAPPING:

ABAP mappings are mapping programs in ABAP objects that customers can implement using the ABAP Workbench.

An ABAP mapping comprises an ABAP class that implements the interface IF_MAPPING in the package SAI_MAPPING. The interface has a method EXECUTE with the some signature.

Applications can decide themselves in the method EXECUTE how to import and change the source XML document. If you want to use the XSLT processor of SAP Web AS, you can use the ABAP Workbench to develop a stylesheet directly rather than using ABAP mappings.

In ABAP mapping you can read access message header fields. To do this, an object of type IF_MAPPING_PARAM is transferred to the EXECUTE method. The interface has constants for the names of the available parameters and a method GET, which returns the respective value for the parameter name. The constants are the same as in Java mappings, although the constant MAPPING_TRACE does not exist for ABAP mappings. Instead, the trace object is transferred directly using the parameter TRACE of the method IF_MAPPING~EXECUTE.

For more details refer

http://help.sap.com/saphelp_nw70/helpdata/EN/ba/e18b1a0fc14f1faf884ae50cece51b/frameset.htm

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5c46ab90-0201-0010-42bd-9d030259...

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e3ead790-0201-0010-64bb-9e4...

/people/sameer.shadab/blog/2005/09/29/testing-abap-mapping

/people/udo.martens/blog/2006/08/23/comparing-performance-of-mapping-programs

https://websmp101.sap-ag.de/~sapdownload/011000358700003082332004E/HowToABAPMapping.pdf

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

/people/r.eijpe/blog

XSLT Mapping

XSLT stands for EXtensible Stylesheet Language Transformations. It is an XML based language for transforming XML documents into any other formats suitable for browser to display, on the basis of set of well-defined rules.

/people/sap.user72/blog/2005/03/15/using-xslt-mapping-in-a-ccbpm-scenario

/people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping

The above menotined are the mapping present in the XI.

When it is critical and complicate we go for the ABAP,JAVA or XSLt mapping. For simple Mapping we go for the graphical mapping.

the selection of mapping also depends upon the requirement and alos on our scenario.

cheers

Former Member
0 Kudos

ABAP Mapping, Java Mapping, XSLT Mapping, Graphical Mapping

XSLT & ABAP mapping r not good at performance

Graphical is the best,

Java can be used for critical mapping

Former Member
0 Kudos

A java map written by a highly experienced java programmer will be the best mapping performance wise.

Message or graphical maps are also good performance wise but they are used more because of ease of use and the ability to view context/queues thus making debugging easier. Internally a message map is a java code.

regards

Sameer

Former Member
0 Kudos

Hi,

Sameer, you said very well about the preference of Java Mapping. Just extending to it.

Java Mapping comes up with SAX parser and DOM Parser.

Java Mapping with SAX parser is performance wise better and even Graphical mapping also follows the SAX parser internally.

Then you can prioritize the DOM parser.

Thanks

swarup

Edited by: Swarup Sawant on Jun 22, 2008 6:24 PM

former_member193376
Active Contributor
0 Kudos

Hi

It depends on the complexity of the mapping, if the mapping is complex then you will use Java or Xslt mapping. If its simple then you will go for graphical mapping.

But the order of performance wise is :

Message Mapping->java->ABAP->XSLT is the order.

Hope this helps you

Thanks

Saiyog

Former Member
0 Kudos

Hi,

ABAP Mapping

Java Mapping

XSLT Mapping

Graphical Mapping

1. Graphical mapping : Simplest mapping process, carried out using functions provided by sap, or by using simple user defined functions.

2. Abap Mapping : Programs written in abap that can be implemeted using the abap workbench.

3. Java Mapping : Simple UDFs.

4. XSLT mapping : Used when we need to create an xml structure.

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.

Excellent Blog

/people/udo.martens/blog/2006/08/23/comparing-performance-of-mapping-programs

Thanks

Vikranth

Former Member
0 Kudos

hi,

There are varois mapping which are to be used depending upon the System that you are working on....................

1) It depends on the which system you are working (if it is SAP R/3 the ABAP mapping is ideal because R/3 runs on ABAP stack)

2) if you are working J2EE system rthe it is ideal to work with Java mappings beacuse the back end systems and the platform will support only the particulat mappings

So there are varoius factors and reasons which has has to be taken care before a mapping used...................

these are different mappings used in XI. Out of these ABAP mapping is not supported in XI

for this you have to make an entry in exchange profile

Features of different mappings are as follows

Message Mapping

1) Graphical design and tset environment

2) Queue based model allows handling of very large documents

3) Extensible via Java user defined Functions

XSLT Mapping

1)Open Standard

2)Portable

3) Extensible via Java user defined functions

4)Memory overhead for very large documents

Java Mapping

1)Flexiblity of Java programing language

2) java mapping program is responsible for parsing/rendering XML

ABAP

1)Leverage existing ABAP base

2) ABAP mapping program is responsible for parsing/rendering XML

Now depending upon the client and business requirement you have to chose the mapping

also it depends upon the availabilty of your resourecs.

Thanks,

Vijaya.

Former Member
0 Kudos

SAP recommends the graphical mapping, but all times graphical may not

suitable to our requirements,

so based on our requirement we select the mapping type.

Graphical mapping is the simplest of all mappings and easy and we have

a mapping editor and standard

functions available. when this becomes too complex, or this functions

are not enough then we generally

opt for java or xslt or ABAP mappings,

In general ABAP mapping preference is very less.

If we need many functions then we will go for XSLT mapping. If there

are some predefined functions

in the java to suitable to our requirement then we will go for the Java

mapping.

If data is less then

Graphical mapping -


> Java(sax parser)mapping -


> Java(dom

parser)mapping -


>

XSLT mapping -


> ABAP mapping.

If data is high then

XSLT mapping -


> Java(sax parser)mapping -


> Graphical

mapping(internally it uses SAX)

-


> Java(dom parser)mapping -


> ABAP mapping.