Graphical Mapping Vs XSLT mapping Vs Java Mapping Vs ABAP Mapping
Hi Experts,
I have a question regarding different message mapping options available in XI namely
Graphical Mapping
XSLT mapping
Java Mapping
ABAP Mapping
Q1: Which amoung the above mappings is the best and why?
Q2: On what cases Graphical, XSLT, Java and ABAP Mapping should be used?
Q3: Is it true that graphical and XSLT mappings are converted into Java class internally?
Kindly help!
Thanks
Gopal
Message was edited by:
gopalkrishna baliga
Hi,
There is no hard and fast rule for using the mapping techniques.
Graphical Mapping is used for simple mapping cases. When, the logic for your mapping is simple and straight forward and it does not involve mult hiearchical mapping requirement. and context handling.
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. XSLT can lead to a bad perfrormance if the Source XML is huge.
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
Also, check this thread for more info,
Different types of Mapping in XI
Am not sure about XSLT , but , yes graphical mapping is converted into java classes internally and these classes use SAX parsing as well.
Regards,
Bhavesh
Similar Messages
-
Hello,
Pls let me know about Java Maping and ABAP Mapping
Also pls provide good simple scenario blogs for Java Maping and ABAP Mapping.
RegardsHi Ranchit,
Check these links for Mappings
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9202d890-0201-0010-1588-adb5e89a6638
https://websmp102.sap-ag.de/~sapdownload/011000358700003604872004E/MappingXI30.pdf (Need Service Makrket place ID)
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8a57d190-0201-0010-9e87-d8f327e1dba7
JAVA Mapping BLOGS
/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-i
/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-ii
/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-iii
/people/stefan.grube/blog/2006/10/23/testing-and-debugging-java-mapping-in-developer-studio
ABAP Mapping Blogs
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e3ead790-0201-0010-64bb-9e4d67a466b4
/people/sameer.shadab/blog/2005/09/29/testing-abap-mapping
Sachin
Message was edited by:
Sachin Dhingra -
Regarding Java mapping and ABAP Mapping
Hello,
If I suppose to do Java mapping or ABAP mapping, Is there any pre requisite to perform these two mappings?
If exist what they are?
How to perform them?
Thank youHello jyotsna,
Java mapping can be used when you have complex mapping structures.
We can do most of the times for our requirements through Graphical mapping.
When the structures are very complex to build you can go for SAX (Simple API for XML) or DOM (Document Object Model) parsers.
Message mapping internally generates DOM parser.
Java Mapping in XI
https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=java+mapping&adv=false&sortby=cm_rnd_rankvalue#
SAP Network Blog: Implementing a Java Mapping in SAP PI
/people/carlosivan.prietorubio/blog/2007/12/21/implementing-a-java-mapping-in-sap-pi
Java Mapping (SAP Library - Partner Connectivity Kit)
http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/frameset.htm
SAP Network Blog: XI Java Mapping Helper (DOM)
/people/alessandro.guarneri/blog/2007/03/25/xi-java-mapping-helper-dom
SAP Network Blog: Testing and Debugging Java Mapping
/people/stefan.grube/blog/2006/10/23/testing-and-debugging-java-mapping-in-developer-studio
Binary Conversion in XI - Java Mapping - Code Gallery - Wiki
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/binary%2bconversion%2bin%2bxi%2b-%2bjava%2bmapping
SAP Network Blog: "JAVA MAPPING", an alternate way of reading a CSV file
/people/rahul.nawale2/blog/2006/07/18/java-mapping-an-alternate-way-of-reading-a-csv-file
ABAP mappings run on ABAP Stack and are developed in the ABAP workbench of the Integration Server.
You normally do not need to use the ABAP mappings and is preferable for someone with ABAP programming background. I should say JAVA functions would suffice any complex scenarios.
refer step by step guides for ABAP Mapping
ABAP Mapping
https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=abap+mapping&adv=false&sortby=cm_rnd_rankvalue#
How to Use ABAP Mapping in Exchange Infrastructure 3.0 (NW2004)
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5c46ab90-0201-0010-42bd-9d0302591383
SAP Network Blog: Testing ABAP Mapping
/people/sameer.shadab/blog/2005/09/29/testing-abap-mapping
SAP Network Blog: How to call XI ABAP Mapping via RFC
/people/ricardoandres.maienza/blog/2007/04/06/how-to-call-xi-abap-mapping-via-rfc
SAP Network Blog: XI: ABAP mapping logs - more standard = better visibility
/people/michal.krawczyk2/blog/2006/09/20/xi-abap-mapping-logs--more-standard-better-visibility
SAP Network Blog: Dynamically sending a mail to the PO creator using XSLT- ABAP Mapping
/people/rahul.nawale2/blog/2006/11/01/dynamically-sending-a-mail-to-the-po-creator-using-xslt-abap-mapping
You need to provide the name of your mapping program maually , you see it is an input box.
just provide the name of abap mapping program it will work.
and one more thing you cannot test abap mapping program in integration builer you need to test in abap only.
use tcode: SXI_MAPPING_TEST for testing abap mapping
Thanks,
Satya
Reward points if it is useful.. -
When do we go for ABAP mapping and Java mapping
Hi friends,
At present I am working on graphical mapping in XI ,can you guys give me with an example or scenario when do we use ABAP mapping , Java mapping or XSLT mapping.
Thanks in advance
Sud<a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/forums">https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/sdn/forums</a>
I have standard XSLT mapping programs available for my scenarios, so use XSLT mapping. Similarly with Java mapping, For most scenarios, message mapping does the job too well. Abap mapping similarly is used to leverge existing ABAP base. If message mapping becomes confusing and hard to follow with too many functions, I go for Java mapping (just my way). I havent used ABAP mapping thus far.
Discussing ABAP mapping
ABAP mapping is developed in ABAP work bench. ABAP mapping needs to be transported to integration server and XI does not support this transport and have to do with ABAP transports.
Customers who can develop mapping program on SAP web AS and can transport them there can use ABAP mapping
*ABAP mapping programs cannot access the value table
*Since ABAP mappings are executed on ABAP stack SAP does not provide any ABAP mapping programs
*ABAP mapping programs must exists with one single version in IS, unlike JAva and XSLT mapping that can have multiple versions of mapping program
Regards,
Priya
priya k
null -
ABAP mapping Vs Graphical mapping
Hi
I have an inbound scenario to R/3 where the purchase requisition has 300 line items. I was wondering if it is easier to do ABAP mapping for such scenarios instead of Graphical mapping as it would be better performace as ABAP mapping is executed on ABAP engine?
I would appreciate valuable inputs.
Thanks,
Arjun.Hi Arjun
As mentioned above in the comparison Blog between 2 mappings, i dont think it gives clear picture, if you have some specific work which getting Dynamic Configuration stuff for example, then you will have to Look for ABAP mapping Class, my thinking is that it depends completely on the requirment.
For ABAP mapping you can go to
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e3ead790-0201-0010-64bb-9e4d67a466b4
Let me know if you want any further clarifications
Piyush
Pl:reward points if found helpful. -
ABAP mapping constraints/restrictions ?
what are the ABAP mapping constraints/restrictions? Please answer its urgent.
vinod ,
constrains are basically
1) ABAP mapping are very complex....
2)generally ppl go for ABAP mapping when its not possible to do the mapping dwith graphical,java or XSLT.
3) there is no ABAP mapping editor in XI
4) u have to import the ABAP mapping in IR..then u can use it in Interface mapping.
ABAP Mapping is used whenever you explicitly need to build your output XML structure . Its entirely depends on your call which approach you want to adopt i.e. JAVA mapping or ABAP mapping as in both the cases you need to explicitly build the output structure . ABAP Mapping however creates a DOM tree in the memory . Therefore it can be a performance issue whenever your source structure is complex . In case you need an idea of how to go about ABAP mapping here is a link which you can refer
http://help.sap.com/saphelp_nw04/helpdata/en/47/b5413acdb62f70e10000000a114084/frameset.htm
Also ABAP mappings have the handicap that they are separated from usual development in Repository. Additional there is more (ABAP, DOM) experience required as for example for XSLT or graphical mapping (my point of view). So they are used for special reasons like access to ABAP stack (transparent tables!).
Refer this Pdf
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e3ead790-0201-0010-64bb-9e4d67a466b4
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5c46ab90-0201-0010-42bd-9d0302591383
https://www.sdn.sap.com/irj/sdn/docs?rid=/webcontent/uuid/110ff05d-0501-0010-a19d-958247c9f798#jdi [original link is broken]
And these Blog also
/people/sameer.shadab/blog/2005/09/29/testing-abap-mapping
/people/ricardoandres.maienza/blog/2007/04/06/how-to-call-xi-abap-mapping-via-rfc
u can achieve value mapping using ABAP mapping..
see here..
ABAP Mapping with Value Mapping
u can have a look
Using ABAP XSLT Extensions for XI Mapping
/people/r.eijpe/blog/2005/11/04/using-abap-xslt-extensions-for-xi-mapping
regards
biplab
Use a Good Subject Line, One Question Per Posting - Award Points -
XI 7.0 ABAP-Mapping in Design Builder (Interface Mapping)
Hi,
in XI 3.0 there was the possibility to specify a ABAP-Mapping-Class in the Interface Mapping. In XI 7.0 the
entry ABAP-Mapping is somehow missing in the drop-down-Box, there is a Message-Mapping, JAVA-Mapping and XSLT-Mapping but no ABAP-Mapping :-(.
Did this move somewhere else or are ABAP-Mapping's not possible anymore ??
Best Regards,
Frank MarxFrank,
You need to activate ABAP and XSLT mapping.
Check this blog for the same,
/people/ravikumar.allampallam/blog/2005/02/10/different-types-of-mapping-in-xi
Regards,
Bhavesh -
Hi All,
The use of ABAP Proxy is nothing but the Adapterless implementation,as per my assumption.But is there any other reason for prefessing ABAP Proxy over the Adapter while the practical implenentation is done?
Also,for ABAP Mapping ,I have a qustion that when is ABAP Mapping preferred over other Mappings that is Graphical Mapping and Java Mapping while practical implementation?
Thanks and regards,
AmolHi Shweta,
To answer your first question, we prefer ABAP proxies over RFCs due to the reason that the communication happens directly between the Integration Engine of sender sap R/3 system and the IE of the XI system. It elimintes the need for Adapter Engine(On the sender side).
However, when there are standard IDOCs avaialble, then we use IDOCs instead of proxies due to the various other advantages of IDOCs like monitoring, reprocxesing etc.
But, in case the sender is not a SAP R/3 system, then obvious we can not use ABAP Proxy.
Refer this article to choose the best integration option amongst Proxy,RFC,Enterprise Services.
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0e7ae66-be6d-2a10-d385-92e6e67dee10
Regarding your second question,
ABAP mapping is least preferred due to issues like Performance, Non-Portability (We cannot use the abap mapping in any other Open-source middleware).
The only time we go for it is if we have people with only ABAP skills..:)
Regards,
Ravi Kanth Talagana -
Hi All,
In case of IR,while specifying mapping program in interface mapping we get option for message mapping,java mapping and XSLT mapping.
But if I want to use ABAP mapping what are the prerequisites for it?
Please guide me.Hi,
ABAP mapping is not available by Default and should be activated.
take a look at this blog on doing the same,
/people/ravikumar.allampallam/blog/2005/02/10/different-types-of-mapping-in-xi
Regards,
Bhavesh -
Abap mapping for content conditions routing in a flat-flat scenario
Dear Experts.
I have a flat-flat file scenario. Based on the content of the input file, I need to route data to the receiver.The source flat file will have several IDOC details.
Assume two fields FIELD1 and FIELD2 in different segments of the IDOC. My requirement is if FIELD1 of an IDOC = "XYZ" and FIELD2 of the same IDOC = "PQR", then this IDOC's details has to be passed to the receiver.
I have tried to implement the above condition at interface determination in graphical mapping.
In the graphical mapping, the problem is:
Assuming there are 3 idocs in the input file.
FIELD1 of IDOC[1] = 'XYZ' and FIELD2 of IDOC[1] = 'PQR'
FIELD1 of IDOC[2] = 'LMN' and FIELD2 of IDOC[2] = 'RST'
FIELD1 of IDOC[3] = 'ABC' and FIELD2 of IDOC[3] = 'DEF' .
Now, if none of the IDOCs in the input file satisfy my requirement,the message mapping should not be called at all. But in my case its failing because FIELD1 of IDOC[1] and FIELD2 of IDOC[3] together are satisfying the condition and hence the message mapping is getting called.
And I need to check this condition IDOC wise. Both the conditions has to be satisfied in the same IDOC.
The question is very similar to the one posted by SHOBHA HB. (Topic:Receiver determination(or Interface determination) and conditional routing )
but, due to complexities in the graphical mapping, we have decided to go for the ABAP mapping instead.
Kindly help, by mentioning the steps I should follow for this interface, the logic basically. I already have paths to some basic ABAP mapping documents from SDN, so, kindly refrain from posting general URLS for definition or history of ABAP mapping.
IF you could guide me on this interface, It would be really helpful.
regards,
giri rajHi,
/people/ravikumar.allampallam/blog/2005/02/10/different-types-of-mapping-in-xi
This document will help you to create ABAP Mapping .
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/3.0/how%20to%20use%20abap-mapping%20in%20xi%203.0.pdf
How to Use ABAP Mapping in Exchange Infrastructure 3.0 (NW2004)
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5c46ab90-0201-0010-42bd-9d0302591383
SAP Network Blog: How to call XI ABAP Mapping via RFC
/people/ricardoandres.maienza/blog/2007/04/06/how-to-call-xi-abap-mapping-via-rfc
SAP Network Blog: Testing ABAP Mapping
/people/sameer.shadab/blog/2005/09/29/testing-abap-mapping
/people/udo.martens/blog/2006/08/23/comparing-performance-of-mapping-programs
An ad-on
/people/michal.krawczyk2/blog/2006/09/20/xi-abap-mapping-logs--more-standard-better-visibility
Regards -
Is multimapping is possible using abap map
Hi,
My scenario is to deal with 1:n message splitting.Is it possible using abap mapping instead Graphical mapping?
Appreciate for your response.
Regards,
Daniel.LAPrateek,
Could you please tell why it's not possible thru ABAP Mapping? I think it's possible thru ABAP mapping, plz correct me if i'm wrong. I agree that Multimapping is possible only for adapter that lies in J2EE Engine! Plz clarify.
raj. -
Error in ABAP Mapping (type SAP-ABAP, kernel error ID UNCAUGHT_EXCEPTION)
Hi ,
Scenario: Manually Purchase Order is created, automatically Sales Order should be created in the Target System through PI,
I have used Message Mapping which is working fine for single Customer and Vendor,
For Multiple Customers and Vendors i am using one ZTABLE, Only Message Mapping is not sufficient to my requirement.
Now i am using both Message Mapping and ABAP Mapping at a time in Interface Mapping. I created the class and done the development., whene i run the scenario i am getting the error as below,
*<SAP:Stack>Error in mapping program ZCL_SD_IDTO_POSO (type SAP-ABAP, kernel error ID UNCAUGHT_EXCEPTION) An exception with the type CX_SY_REF_IS_INITIAL occurred, but was neither handled locally, nor declared in a RAISING clause Dereferencing of the NULL reference</SAP:Stack>*
*<SAP:Retry>M</SAP:Retry>*
*</SAP:Error>*
Please let me know.
Best Regards
VamsiHave u seen the ABAP mapping guide?
Refer this series to the ABAP mapping section.https:///people/sravya.talanki2/blog/2006/12/26/aspirant-to-learn-sap-xiyou-won-the-jackpot-if-you-read-this-part-ii
It will be very handy and useful. -
Hi,
My system is running on XI 3.0 SP9, I am using abap mapping for conversion idoc xml structure to flat file structure. But I am getting the error as shown below.
Appreciate for your response.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Request Message Mapping
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
<SAP:Category>Application</SAP:Category>
<SAP:Code area="MAPPING">APPLICATION_PROGRAM_ERROR</SAP:Code>
<SAP:P1>ZCL_ABAP_MAPPING4X</SAP:P1>
<SAP:P2>R3_ABAP</SAP:P2>
<SAP:P3>UNCAUGHT_EXCEPTION</SAP:P3>
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>Error in mapping program ZCL_ABAP_MAPPING4X (type R3_ABAP, kernel error ID UNCAUGHT_EXCEPTION)</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
Regardsm
Mallikarjun.MHave u seen the ABAP mapping guide?
Refer this series to the ABAP mapping section.https:///people/sravya.talanki2/blog/2006/12/26/aspirant-to-learn-sap-xiyou-won-the-jackpot-if-you-read-this-part-ii
It will be very handy and useful. -
Reg: Test an ABAP mapping
Hi All,
When i go to test at interface mapping level there is no possiblity to test ABAP mapping. Is there any way to test ABAP mapping without executing scenario.
Thanks,
Satish.This is a link very useful for ABAP Mapping :
http://help.sap.com/saphelp_nw04/helpdata/en/86/8280ba12d511d5991b00508b6b8b11/frameset.htm
You should define a simple scenario. Sender Service, Receiver Service and Interface Mapping using your ABAP Mapping
You can test your ABAP Mapping using the transaction,
SXI_MAPPING_TEST
Check my weblog as to how to use the transaction for testing,
/people/sameer.shadab/blog/2005/09/29/testing-abap-mapping
Check this thread:
https://www.sdn.sap.com/sdn/collaboration.sdn?contenttype=url&content=https%3A//forums.sdn.sap.com/thread.jspa%3FforumID%3D44%26threadID%3D34468%26messageID%3D326456%23326456
Note:please reward points if solution found helpfull
Regards
Chandrakanth.k -
Cyrillic characters issue in ABAP mapping
Hello Experts,
I am using ABAP mapping program to convert IDOC XML to flat file. Further i am using FIle adapter to write this file on FTP server.
My problem is:
When Idoc contains CYRILLIC characters in payload, then these characters appear as "#" after the mapping has executed.
If I check in SXMB_MONI in XI, the inbound payload displays data correctly. In "Request Message mapping" node, if I check the output of ABAP mapping program, then cyrillic characters are replaced with "#". The same "#" is then written to File.
Do you have any idea, how do i deal with this problem.
NOTE: I tried passing encoding type = UTF-8 to the function - SCMS_STRING_TO_XSTRING which is used the mapping program to set the encoding type, but it did not work.@PI Expert: I tried to debug the ABAP mapping using SXI_MAPPING_TEST transaction, however when I paste my payload in the editor, the cyrillic characters appear as junk characters. Due to this, in the output, these junk characters are appear as "#"
@Sarvesh: I too initially thought that this could be problem with AL11, that it is not displaying the data correctly. However when I checked the "Request Message Mapping" node in SXMB_MONI, it showed "#" characters. Also the .csv file generated contains "#" only.
Thanks for your time and response. -
IDoc to Flat file scenario - abap mapping
Hi All,
I have to do some IDOC to Flat file scenarios. In Order to generate the file in required format I will have to add all segments(Nodes) of Idoc in FCC receiver. We also have other option of doing it through ABAP Mapping which I found in one blog.
Now my question is : Is it better way of doing it through FCC or ABAP Mapping?
Ofcourse from development point of view ABAP Mapping looks easier as FCC is very time consuming task.
Is there and performance issues in either of the approach?
Thanks and Regards,
AtulHi VJ and Harald,
Thanks for your replies.
I am not having PI7.1 however the given blog was very informative.
I will try using file port approach as suggested.
Thanks and Regards,
Atul
Maybe you are looking for
-
Satellite L300 - Vista update error 8007007A
I am using Toshiba L300 laptop with Windows Vista home premium loaded in the system while purchase. I found Vista Update through Windows update. I have tried to install it, but while installation i got a error message 8007007A. Can anyone help me to
-
Iphoto is unable to upload my new photo book in the store for printing. I have done it several times withouth problems. Keeps giving me the same error message "...failed asset upload...cancel order or try again". tried 10 times. Also done preview and
-
HT1222 I can't update iOS 7.1, I don't know why that,please help me
I can't update iOS 7.1
-
Itunes wont recognize iphone 4s ios7!!!
i have a mac on 10.5.8 software. my itunes is 10.6.3 and my iphone 4s is ios7. i tried connecting to itunes but it says i need version 11.1. i tried downloading it but it says i need newer software and i checked for updated on my mac but it says ther
-
I am running Oracle VM 3.1.1 on a server with 4 ethernet interfaces. bond0 is setup with eth0 and eth1 and bond mode is active/backup. This bond is used by the managed network. bond1 is setup with eth2 and eth3 and bond mode is dynamic link aggregati