How to expertise in Java mapping XI i am intersted
Hi XI experts
I am new to XI as well Java but i am more intersted to write
<b><u>Java mapping and Java proxies</u></b>
I searched full sdn but i am not getting the proper start up
Can any one help me on this ?
Adv thanks and points to all
Regards
Kiran LVS
Hi
The following thread will give the full details on Java mapping after java basics
Programming
Apart form the above links u can look at these following links will give you more
information on java mapping/Debug/Testing
/people/stefan.grube/blog/2006/10/23/testing-and-debugging-java-mapping-in-developer-studio
/people/thorsten.nordholmsbirk/blog/2006/08/10/using-jaxp-to-both-parse-and-emit-xml-in-xi-java-mapping-programs
/people/rahul.nawale2/blog/2006/07/18/java-mapping-an-alternate-way-of-reading-a-csv-file
/people/amol.joshi2/blog/2006/03/10/think-objects-when-creating-java-mappings
http://help.sap.com/saphelp_nw04/helpdata/en/bd/c91241c738f423e10000000a155106/frameset.htm
Java Mappings for XI
Java mapping
I think this will answer your question
Regards
Prasad K
Similar Messages
-
Idoc to jdbc scenario java mapping
hi all,
i have scenario in which
sender is idoc and receiver is oracle.
i want to do this mapping through java.
so how can i do java mapping in this scenario?Hey
SDN has several blogs/threads/articles for java mapping,please search for them and you will get an idea how to proceed with java mapping.
Thanks
Aamir -
000000000000F0011000001448MSQUAL9010000000906 *
200798438321H001 SHEN.500010/10/200723:56:55NOSP KWO4A MS*
2007984383215397 00000500000205 *
2007984383215396 00000200000205 *
200798438321C001 *
200798438322H001 SBHS.500011/10/200705:50:00NOSP AGH4A MS*
2007984383225397 00000500000205 *
2007984383225396 00000238000205 *
2007984383220012 00001480000355 *
200798438322C001 *
=============================================
Main header :000000000000F0011000001448MSQUAL9010000000906 ( relation 1:1 )
Each record ending with Start : *
Sub Header : 200798438321H001 ( relation 0:unbound )
body messages 00000500000205 ( relation 0:unbound )
Close Subheader :200798438322C001 ( relation 0:unbound )
any one could help how to write the Java mapping , am able to get the data from local folder , but error getting as a message mapping error, there is no key field values for in this message.
Probably it should be happen with Java mapping, actually I am from SAP SD back ground, can understand the ABAP.
Warm regards,
kumar.Hi,
I think file adapter is sufficient for you. Dont need any java mapping. Refer to the file adapter content conversion for sender. Identify the key fields for heading, messages and footer. Then define record set with repeating structures in it like head,1,msg,*,footer,1.
This should solve the problem.
VJ -
JAVA Mapping: Handle Special characters like u00E4,u00FC an so on
Hi everybody,
we have a JAVA Mapping that gerenates text nodes with special characters.
The generated XML is later used in an graphical message-mapping.
During runtime we ge the trace/error:
com.sap.aii.utilxi.misc.api.BaseRuntimeException: Fatal Error:
com.sap.engine.lib.xml.parser.ParserException: Unsupported character: 31(:main:, row:1, col:2498) at
com.sap.aii.mappingtool.tf3.Transformer.checkParserException
Does anybody know, how to modify the JAVA-mapping to have a workaound for this problem?
Thanks
Regards Mario
Edited by: Mario Müller on Jul 22, 2008 4:33 AMHi Mario,
As java mapping does not validate the xml,the output gets created but if u have to use the xml structure,the u will have to include the following.
Assume u r using a write method to write the output xml,then
check for tspecial charactters like &,<,>.' etc and replce them as shown below
private void write(String s)
//Traverse through the string
for (int i=0 ; i < string.length();i++)
String s1 = data.substring(i, i + 1);
if (s1.equals("&"))
write ("&");
else if (s1.equals("<"))
write("<");
else if (s1.equals(">"))
write(">");
else if (s1.equals("\""))
write(""");
else if (s1.equals("'"))
write("'");
else
write(s1);
Should help u out
Edited by: Mohd Tauseef Ibrahim on Jul 22, 2008 11:08 AM
Edited by: Mohd Tauseef Ibrahim on Jul 22, 2008 11:09 AM -
can i have a file2file scenario which uses simple java-mapping. As i m new to Java, jus wanna learn how it happens.
I wanna know how to code the Java mapping .....and how to utilize it in the Interface Mapping.....
I know a bit of DOM parsing..Hi,
see the below links
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,
Different types of Mapping in XI
/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
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.highlightedcontent?documenturi=%2flibrary%2fxi%2fxi-design_configuration%2ffileValidationsinSAPXI-ACaseStudy.pdf
http://www.cafeconleche.org/books/xmljava/chapters/ch09.html
http://www.cafeconleche.org/books/xmljava/chapters/ch06.html
Check these blogs for reference..
/people/udo.martens/blog/2006/08/23/comparing-performance-of-mapping-programs
/people/ravikumar.allampallam/blog/2005/06/24/convert-any-flat-file-to-any-idoc-java-mapping
java mapping /people/amol.joshi2/blog/2006/03/10/think-objects-when-creating-java-mappings
Regards
Chilla -
Hi All,
I have been working in PI for sometime now. But i have never done JAVA mapping or writing modules in PI. Now i am in need of working on either of these. I have no idea on the topics mentioned above. I tried searching for docs and links on these and was successful in finding only example scenarios, which was not very clear.
Can anyone give me details on these for a beginner please? I mean how to start with JAVA mapping and basics in it.
Regards,
Lavanya RHi Lavanya,
There are multiple blogs for Java Mapping,you can start following those links:
Easy way to learn - Java Mapping using DOM - SAP PI 7.1+
Beginners guide to Java mapping using DOM parser in SAP XI - Process Integration - SCN Wiki
**************** - Understanding Java Mapping concepts
You must be aware of the XML parsing techniques such as DOM and SAX parser.You may at first start parsing through JAVA program (if you are not that fluent in parsing)and then gradually try to implement into PI.You may find multiple documents for developing parsing program in JAVA tutorial sites like :
Reading XML Data into a DOM (The Java&trade; Tutorials &gt; Java API for XML Processing (JAXP…
Parsing an XML File Using SAX (The Java&trade; Tutorials &gt; Java API for XML Processing (JA…
Regards,
Suman -
PI 7.11 - How to create a System Error in SXMB_MONI using a Java Mapping
Hi
We ve go a Java Mapping in a File-to-HTTP Scenario. It works perfect except of one error case: if an empty source file or a source file with the wrong structure is delivered. In this case our Java Mapping forwards an empty payload to the HTTP channel. So, for PI is the mapping successful.
I'd like to recognize this case and invoke a system error in the SXMB_MONI, so that this mapping will be stopped and our alerting concept informs the users. I know, how to recognize the case in Java but need to know how to create the System Error Status in the PI System.
Thanks in advance
MichaelHi Michael,
Please refer here for the mapping API description:
http://help.sap.com/javadocs/NW04S/SPS09/pi/com/sap/aii/mapping/api/package-summary.html
You can use the StreamTransformationException exception describet there to raise an error from your Java mapping. Direct link:
http://help.sap.com/javadocs/NW04S/SPS09/pi/com/sap/aii/mapping/api/StreamTransformationException.html
You might also consider using the "Empty-File Handling" option in sender file CC to avoid processing empty files by PI.
Hope this helps,
Greg -
How to set adapter specific message attributes on Pi 7.1 inside a Java map.
Hello,
how can I set adapter specific message attributes in a Java mapping on PI 7.1.? The TransformationInput grants access to the DynamicConfiguration but the TransformationOutput doesn't. I have found threads refering to the old way of implementing Java mappings (e.g. Get dynamic filename in a Java Mapping (NOT UDF)). But there doesn't seem to be one refering to the actual PI.
Kind regards,
HeikoUsing DynamicConfiguration from the TransformationInput works.
-
How to get the java code of the message mapping
how to get the java code of the message mapping,
I mean to ask how to get the background java code of the message mapping(graphical mapping).
And where to view it?Hi Satya,
The JAVA code for graphical msg mapping is in below folder:
\usr\sap\<SID>\<DVEBMGS10>\j2ee\cluster\server0\temp\classpath_resolver
Here all the mapping jars are there in this folder.
Just decompile these jars and you can see the code.
Thanks,
Rajeev Gupta
Message was edited by:
RAJEEV GUPTA -
How to avoid Linkage Error in JAVA Mapping
Dear Experts,
I am trying to test the JAVA mapping compiled in NWDS but receiving the error
"LinkageError at JavaMapping.load(): Could not load class".
java.lang.NoClassDefFoundError: JSONXMLProject/bin/com/sap/json/ConvJson2Xml (wrong name: com/sap/json/ConvJson2Xml)
at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:735)
at java.lang.ClassLoader.defineClass(ClassLoader.java:716) at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
at com.sap.aii.ib.server.mapping.execution.MappingLoader.findClass(MappingLoader.java:195)
Following are the details:
SAP PO 7.4
SP Stack Number 05
JDK Version jdk16
NWDS
SAP Enhancement Package 1 for SAP NetWeaver Developer Studio 7.3 SP10 PAT0000
1.Created the Project , Package and then class (Included the logic)
2. Included 1 JSON Jar file into my project and the Added to build path.
3.Exported the project as Archive File and saved in desktop
4.Imported into SAP PO system as Imported Archive
5.Could not observe the JSON jar file which i used as referenced JAR in NWDS
6.Tested in OM after referencing the JAVA class and found the above error.
I have JDK 5, 6 and 7 present in my local desktop and I am trying to export the compiled code using both JAVA SE 1.6 and 1.5 in NWDS seperatly after going several discussions.
Can any one hep me with the screenshots and tell me how to include all the reference jar files in exported project..
Regards..Dear Anand,
I did exactly as you shared. As the JSON jar has number of classes, then in OM all the Classes had to be assigned. Then the linkage error went.
But in execution , it shows a new error that all the classes of the JSON jar has to be implemented with interface StremTransformation or AbstractTransformation.
I assume in the Operation Mapping I will use only 1 class as JAVA Class. Anyway I am attaching the document with navigation.
Do we have any other alternative??
Please rename the extension of the document by remove .txt
Regards -
Hi Experts,
please help me ,
How TO Use Java Mapping In XI?
Thanks
MaheshHi,
Just refer the following links for java mapping:-
1./people/thorsten.nordholmsbirk/blog/2006/08/10/using-jaxp-to-both-parse-and-emit-xml-in-xi-java-mapping-programs
2./people/alessandro.guarneri/blog/2007/03/25/xi-java-mapping-helper-dom
Regards,
Ashwin M
Reward if helpful -
How to call Java Map in XSLT map
Hello,
Can anyone tell me how to call Java Map in XSLT map.
Thanks and Regards
HemantHello, Vijay,
Can you help in understanding how can we pass whole payload in the parameter in XSLT map.....
for eg
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:javamap="java:DATEandTIME.Date_Time">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:param name="inputparam" />
<xsl:template match="/">
<MT_TARGET>
<date>
<xsl:if test="function-available('javamap:getDateValue')">
<xsl:value-of select="javamap:getDateValue($inputparam)"/> </xsl:if>
</date>
<time>
<xsl:if test="function-available('javamap:getTimeValue')">
<xsl:value-of select="javamap:getTimeValue($inputparam)"/> <xsl:value-of select="$test"/>
</xsl:if>
</time>
<project>
<xsl:value-of select= "//project"/>
</project>
</MT_TARGET>
</xsl:template>
</xsl:stylesheet>
here we are passing static value in parameter.....
Java code is:
private static AbstractTrace trace = null;
public static String getDateValue(Map inputparam)
trace = (AbstractTrace)inputparam.get(
StreamTransformationConstants.MAPPING_TRACE );
Date now1 = new Date();
SimpleDateFormat formatter = new SimpleDateFormat ("yyyyMMd");
String dateString = formatter.format(now1);
return dateString;
public static String getTimeValue(Map inputparam)
trace = (AbstractTrace)inputparam.get(
StreamTransformationConstants.MAPPING_TRACE );
Date now1 = new Date();
SimpleDateFormat formatter = new SimpleDateFormat ("hhmmss");
String dateString1 = formatter.format(now1);
return dateString1;
I want to pass whole payload so how can i pass it. -
Tips on how to write efficient java code for java mapping
hi
I do not have much knowledge in Java
Can anybody tell me some tips on how to write efficient and optimised java code to be used in java mapping
Thanks,
Loveenahi D'za,
JAVA in xi
A very important place where you will use JAVA in XI is while doing your Mapping. There will be cases when JAVA MAPPING is the best solution to go for. There are 2 types of Parsers available for JAVA Mapping. DOM Parser and SAX parser. Just got through the following links to understand more on Java Mapping and the APIs available.http://java.sun.com/j2se/1.4.2/docs/api/javax/xml/parsers/package-summary.html http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/Document.html http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/package-frame.html /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
JAVA mapping -
/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/ravikumar.allampallam/blog/2005/06/24/convert-any-flat-file-to-any-idoc-java-mapping /people/amol.joshi2/blog/2006/03/10/think-objects-when-creating-java-mappings /people/sameer.shadab/blog/2005/09/29/testing-abap-mapping
sample code for java mapping
Re: Example code DOM PARSER API -
http://java.sun.com/j2se/1.4.2/docs/api/org/w3c/dom/package-frame.html DOM --- /people/thorsten.nordholmsbirk/blog/2006/08/10/using-jaxp-to-both-parse-and-emit-xml-in-xi-java-mapping-programs tutorial sax and dom
For a tutorial on the methods of SAX and DOM http://java.sun.com/webservices/docs/1.1/tutorial/doc/
SAX AND dom PARSER ( BY thorsten) -
example /people/thorsten.nordholmsbirk/blog/2006/08/10/using-jaxp-to-both-parse-and-emit-xml-in-xi-java-mapping-programs java mapping example ( testing and debugging) /people/stefan.grube/blog/2006/10/23/testing-and-debugging-java-mapping-in-developer-studio
regards
biplab
Use a Good Subject Line, One Question Per Posting - Award Points -
How can I get the output of graphical mapping as an input to java mapping?
Hi Experts,
I am using graphical mapping in my scenario to get an xml at the end, now after this i want to use java mapping and then do encryption on this input. I am using both the mappings in the same interface
Here the thing is, the input to the java mapping should be the output of the first graphical mapping.
How can I link the java mapping and graphical mapping so that Ill get the output of the graphical mapping as the input to the java mapping?
Some pointers to similar kind of implementations is highly appreciated.
Thanks in advance,
Thomas
Edited by: Thomas Varghese on Jan 22, 2009 11:35 AMhi,
the input to the jave mapping will be exaclty the same as if you don't have
any mapping before that
the only different is that the input will be XML of the output of the message mapping
have a look at my blog to see how to combine two mappings:
/people/michal.krawczyk2/blog/2005/11/01/xi-xml-node-into-a-string-with-graphical-mapping
that's all
Regards,
Michal Krawczyk -
How to send response message from Java mapping class? Please help!
Hi Experts,
I have a sync scenario
-Req--> -
>
SOAP XI RFC
<Res-- <-----
The Req message contains:
<Order>
<Orderid>100</Orderid>
<Desc>Extrenal Order</Desc>
<Qty>2500</Qty>
</Order>
Response message is:
<Log>
<LogTxt>Qty value cannot be more than 3 chars</LogTxt>
</Log>
In the XI I have to validate the input request message using a schema. For this I am writing a java mapping program using aii_map_api.jar.
My requirement is that If the input message schema validation fails then I want to send a response message back to sender.
How can I send a response message back to the sender in java mapping program?
Kindly help with sample code example.
Thanks
GopalHi,
First, I think PI 7.1 has this functionality and perhaps it comes in a SP for PI 7.0 and XI 3.0. So first have a look at that before creating custom development.
Second, if you use the java mapping, you will only have access to a request or response message. I would advise using a custom java module in the module processor and insert this message in the sender communication channel. This will allow you to validate request and send a response.
Regards,
Yaghya
Maybe you are looking for
-
Color Crashing on Open when loading media
This is my first Color experience and I must say it has been painful. I tried to do the send to color function and crashed. I did however do the XML export and it worked yesterday. Then I started Grading . Things were kind of a pain but workable. at
-
Restating my issue / question... When I send email from this iMac, there is a string of characters assigned. The characters are all the "alpha numeric" characters on the QWERTY key board. This only occurs when email is sent from this iMac. The issue
-
Help please I use Premiere Elements 8. I recently had to reload windows and all of my programs. Since doing this Premiere will only burn DVD+Rs. If I try to burn DVD-Rs the following message is shown. Device Error - Sense Code (52600) - Invalid Field
-
Hi All, I have created my business partner with the roles of employee and general bp I ahve also checked that all the fields are filled out just like the one from the default solman bp. But when I ceate a suppot message and I want to assign my bp to
-
SMTP Sender Rejections?!?!?!
We have just discovered the most retarted and wildly unexplainable thing ever. I cannot create a forwarder for our company to mask the randomly genereated email address you provide! We have tired several diffrent methods to create a friendly name on