Java Mapping library
Hello all,
we recently upgraded from XI 3.0 to PI 7.1. Now i want to implement a new Java Mapping, but i can't find the the library which contains the class "com.sap.aii.mapping.api.StreamTransformation".
On our PI the directory under "(INSTANCE_DIR)/j2ee/cluster/bin/ext/com.sap.aii.mapping.lib.facade" is empty.
Where can i find the correspondig library?
Thanks and best regards,
Benjamin
https://wiki.sdn.sap.com/wiki/display/XI/WheretogetthelibrariesforXI+development
Similar Messages
-
Give me description for ABAP and XSLT and JAVA Mapping
i want detailed description for XSLT AND ABAP,JAVA Mapping and where they require coding and some examples for this items and differences for these mappings and message mapping and some examples which shows difference between these items
Hi,
Java mapping:
/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-i
/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-ii
ABAP Mapping:
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5c46ab90-0201-0010-42bd-9d0302591383
XSLT mapping
/people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping
ABAP XSLT mapping
/people/r.eijpe/blog/2005/11/04/using-abap-xslt-extensions-for-xi-mapping
Regards
Vijaya -
Hi All,
After faceing so much of problem, i found that it would be better if i can go for an XSLT/java mapping:
1. It is adding an extra <b>ns0</b> to header line & end line which i dont want to be generated in the output xml file.
2. Namespace problem that basically sticking to 60 but i want 72 characters in my target xml file.
3. No carriage return at the end of each line which is not geting generated through graphical mapping.
Now i have an XSD provided by the client. So how can i use that and which mapping should best suits to solve all these problem.
Should i go for a java mapping or an XSLT/JAVA mapping.
I dont have any idea on both of them, So can you people send me the details for it.
Many Thanks & Best Regards,
JGD.Hi,
Based on the requirement and size we can choose the mapping.
If java is suitable to our requirement then we go for java.
If XSLT is suitable to our requirement then we go for XSLT.
Performance wise(high --> low) :
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.
If you choose XSLT then you can select Altova Map Force tool then no need to write the XSLT code here, it will automatically generates the code.
N:1 XSLT Mapping
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/30ac53f2-21d7-2a10-afa2-ce1a0577ca18
XSLT mapping https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/006aa890-0201-0010-1eb1-afc5cbae3f15 -
Xerces for XSD 1.1 Validation not working in Java Mapping
Hi Experts,
We are trying to use XSD 1.1 (assertion feature) validation for the XML payload in a Java mapping program. But I am getting the following exception:
java.lang.IllegalArgumentException: http://www.w3.org/XML/XMLSchema/v1.1 at javax.xml.validation.SchemaFactory.newInstance(SchemaFactory.java:186)
This is happing for the statement:
SchemaFactory factory = SchemaFactory.newInstance("http://www.w3.org/XML/XMLSchema/v1.1");
The reason (apparently) is because it is not able to instantiate the class org.apache.xerces.jaxp.validation.XMLSchema11Factory , which is the Xerces implementation of the SchemaFactory class.
I have tried following things so far -
1. If I try to validate an xml against an xsd 1.1 schema in a standalone program, it works perfectly fine.
2. If I try to deploy this whole functionality on to the server through an EAR (like an adapter module), there again it works.
3. Also tried this before instantiating the SchemaFactory -
System.setProperty("javax.xml.validation.SchemaFactory:http://www.w3.org/XML/XMLSchema/v1.1","org.apache.xerces.jaxp.validation.XMLSchema11Factory");
4. I tried by creating the Imported Archive objects for all the Xerces jars that we require for validation, within the same SWCV, namespace. But still I get the same exception as above (IllegalArgumentException)
5. The link [http://help.sap.com/saphelp_nw70/helpdata/en/b6/8097f5a5edea4f8dfc87ac87082b22/content.htm ] mentions that we need to place all the necessary jars at location <SAP_J2EE_Engine_install_dir>/cluster/server/bin/ext /. But even after placing the jars there, I get the same exception.
I am not sure how we need to handle this. Has anybody faced a similar situation? Any suggestions?
Regards,
SudheerHi Stefan,
Thanks for the reply.
We are on PI 7.1 SP 06. The standard XML tools from jdk supports only XSD 1.0, as far as I know. And XSD 1.0 does not have the Assert feature (also known as, co-occurrence constraint). More details are provided here - [http://www.ibm.com/developerworks/library/x-xml11pt2/]
To use XSD 1.1, we need a different implementation like Xerces-J. I am not sure how we can use it without external jars. I would like to mention again that I could achieve this by using an adapter module (EAR containing the jars), but I need to do this in Java Mapping (imported archive).
Do you know how we can achieve this in any other way? Any other suggestions welcome.
Thanks & Regards,
Sudheer -
Java Mapping PI 7.0 to 7.1
Hi,
The below mentioned code is for sending email with attachment using Java Mapping which was implemented in PI 7.0
I know the API for PI 7.1 has changed, I changed the below code using extends AbstractTransformation using Transform instead of implements streamTransformation and few other changes but I get lot of issues.
Could anyone point out what and all need to be changed in PI 7.1 for the below mentioned code. It would be greatly if anyone could let me know the changes
package dynamicconfmail;
import com.sap.aii.mapping.api.*;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import javax.mail.*;
import javax.activation.*;
import javax.mail.internet.*;
import javax.mail.util.ByteArrayDataSource;
public class DynamicConfMail implements StreamTransformation {
private Map param;
//// Start of Main Class
// public static void main(String[] args) throws Exception
// try
// FileInputStream fin = new FileInputStream("c:/test/sam.txt");
// FileOutputStream fout = new FileOutputStream("H:/test/sam2_O.txt");
// DynamicConfMail mapping = new DynamicConfMail();
// mapping.execute(fin, fout);
// catch (Exception e)
// // e.printStackTrace();
// //End of Main Class
public DynamicConfMail() {
public void setParameter(Map map) {
param = map;
if (param == null) {
param = new HashMap();
public void execute(InputStream inputstream, OutputStream outputstream)
int IO_BUFFER_SIZE = 4 * 1024;
String llkj = "1111";
String llkj_f = "llkj.txt";
String llkj_dir = "/usr/sap/llkj/in";
String xyzv = "9999";
String xyzv_f = "xyzv.txt";
String xyzv_dir = "/usr/sap/xyzv/in";
String default_dir = "/usr/sap/Error";
String Flag = "";
String FileName = "";
try
// The following is for the FileName in the File Adapter
DynamicConfiguration conf = (DynamicConfiguration) param.get("DynamicConfiguration");
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File", "FileName");
DynamicConfigurationKey key1 = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File", "Directory");
InputStream ins = inputstream;
// Start Copy the InputStream to OutputStream
byte[] b = new byte[IO_BUFFER_SIZE];
int read;
StringBuffer out = new StringBuffer();
try {
while ((read = inputstream.read(b)) != -1)
out.append(new String(b, 0, read));
String InputString = out.toString();
String substr = InputString.substring(2, 18);
System.out.println(substr);
if (substr.equals(llkj))
System.out.println("The given string is equals");
conf.put(key, llkj_f);
conf.put(key1, llkj_dir );
FileName = llkj_f;
else if (substr.equals(xyzv))
System.out.println("The given string is equals");
conf.put(key, xyzv_f);
conf.put(key1, xyzv_dir);
FileName = xyzv_f;
else
conf.put(key1, default_dir);
Flag = "F";
System.out.println("The given string is not equals");
FileName = substr;
// Writes to outputstream
outputstream.write(b, 0, read);
if (Flag.equals(""))
//* Code to Send Email*/
String att = outputstream.toString();
email obj1 = new email();
obj1.send("mailhost", "emailID", "Success", "Success", "emailID",InputString, FileName);
//End of Email Code/
else if (Flag.equals("F"))
//* Code to Send Email*/
String att = outputstream.toString();
email obj1 = new email();
obj1.send("mailhost", "emailID", "Failed", "Failed", "emailID",InputString, FileName);
//End of Email Code/
catch (IOException ex)
ex.printStackTrace();
// End of Copy the InputStream to OutputStream
catch (Throwable throwable)
throwable.printStackTrace();
public class email {
public void postMail(String mailhst, String recivers, String subject, String message, String from, String attachment, String FileName) throws MessagingException
boolean debug = false;
byte[] AttByteArray = attachment.getBytes();
Properties props = new Properties();
props.put("mail.smtp.host", mailhst);
Session session = Session.getDefaultInstance(props, null);
session.setDebug(debug);
Message msg = new MimeMessage(session);
InternetAddress addressFrom = new InternetAddress(from);
msg.setFrom(addressFrom);
String recipients[] = recivers.split(",");
InternetAddress[] addressTo = new InternetAddress[recipients.length];
for (int i = 0; i < recipients.length; i++)
addressTo<i> = new InternetAddress(recipients<i>);
msg.setRecipients(Message.RecipientType.TO, addressTo);
msg.addHeader("MyHeaderName", "myHeaderValue");
msg.setSubject(subject);
// Create the message part
BodyPart messageBodyPart = new MimeBodyPart();
// Fill the message
messageBodyPart.setText("TEST");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);
// Part two is attachment
messageBodyPart = new MimeBodyPart();
DataSource source = new ByteArrayDataSource("Test","text/plain", AttByteArray );
messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(FileName);
multipart.addBodyPart(messageBodyPart);
// Put parts in message
msg.setContent(multipart);
Transport.send(msg);
public void send(String mailhst, String recivers, String subject, String message, String from, String attachment, String FileName)
try {
this.postMail(mailhst, recivers, subject, message, from, attachment, FileName );
catch (MessagingException mex) {
System.out.println("send failed, exception: " + mex);
class ByteArrayDataSource implements DataSource {
byte[] bytes;
String contentType;
String name;
ByteArrayDataSource( String name, String contentType, byte[] bytes ) {
this.name = name;
this.bytes = bytes;
this.contentType = contentType;
public String getContentType() {
return contentType;
public InputStream getInputStream() {
return new ByteArrayInputStream(bytes);
public String getName() {
return name;
public OutputStream getOutputStream() throws IOException {
throw new FileNotFoundException();
Edited by: PI-seeker on Feb 3, 2011 10:58 PMThansk a lot for your link.
I did implemented the same way as it mentioned, but I am getting the following error message
SAP:Error SOAP:mustUnderstand="" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SAP:Category>Application</SAP:Category>
<SAP:Code area="MAPPING">LINKAGE_ERROR</SAP:Code>
<SAP:P1>dynamicconfmail/DynamicConfMail</SAP:P1>
<SAP:P2>java.lang.UnsupportedClassVersionError: dynamiccon</SAP:P2>
<SAP:P3>fmail/DynamicConfMail : Unsupported major.minor ve</SAP:P3>
<SAP:P4>rsion 50.0</SAP:P4>
<SAP:AdditionalText />
<SAP:Stack>Linkage error while loading class dynamicconfmail/DynamicConfMail; java.lang.UnsupportedClassVersionError: dynamicconfmail/DynamicConfMail : Unsupported major.minor version 50.0</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
I am sure that I need to do include some library files, but I couln't figure it out. Couls you pls help to resolve this. The following library jar files were included
activation.jar
aii_map_api.jar
com.sap.xpi.ib.mapping.lib.jar
jce.jar
mail.jar
JRE System Library.............is anything else missed out??
By the way I included all these in Netweaver Developer studio , in JavaBuildPath ->Libraries.
Added those jar files as external jar's for development and then compiled it and exported as DynamicConfMailJar and imported in PI .
could anyone help? -
Can any one give me the simple file 2 file scenario with abap and java mapping?
Hi Venugopal,
<u><b>
ABAP Mapping
</b></u>I suggest you also go through these links to know more on ABAP Mapping:
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
ABAP Mapping Vs Java Mapping.
Re: Message Mapping of type ABAP Class not being shown
Re: Performance of mappings (JAVA, XSLT, ABAP)
Refer to following SDN Demo which explains the need and how to do the ABAP mapping.
https://www.sdn.sap.com/irj/sdn/docs?rid=/webcontent/uuid/110ff05d-0501-0010-a19d-958247c9f798#jdi [original link is broken]
This document will help you to create ABAP Mapping.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e3ead790-0201-0010-64bb-9e4d67a466b4
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
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5c46ab90-0201-0010-42bd-9d0302591383
<u><b>
JAVA Mapping</b></u>
These are two article links on Java mapping i hope this will help u:
http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/content.htm
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/java%20proxies%20and%20sap%20xi%20-%20the%20inside%20story%2c%20part%201.pdf
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/java%20proxies%20and%20sap%20xi%20-%20the%20inside%20story%2c%20part%20ii.pdf
Also go through these Blogs,
/people/ravikumar.allampallam/blog/2005/06/24/convert-any-flat-file-to-any-idoc-java-mapping
/people/michal.krawczyk2/blog/2005/02/25/simple-java-code-in-graphical-mapping--xi
Regards,
Abhy -
XML Validation with XSD in java mapping
Hi experts,
I have created an interface to send differents messages between bussines system, the bussiness system receiver is put in the message, to get this value I have a configuration file indicating the path of this field for each message type. In a java mapping I transform the message sent in this structure:
<document>
<message>HERE THE MESSAGE AS STRING</message>
<parameters>
<sender>HERE SENDER BUSSINESS SYSTEM</sender>
<receiver>HERE RECEIVER BUSSINESS SYSTEM</receiver>
</parameters>
</document>
the messaging interface works fine, but now I have to validate the XML vs XSD. I need doing in a java mapping because the messaging interface send the message and a email to sender in error case.
To do this validation I have implemented two java mappings that works fine in my local, the first way is with class Validator of java 5, but my system PI 7.1 return an error with this class. The second way is with SAX parse:
String schema = "XXXXXxsd";
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
docBuilderFactory.setNamespaceAware(true);
docBuilderFactory.setValidating(true);
docBuilderFactory.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaLanguage","http://www.w3.org/2001/XMLSchema");
InputStream is = this.getClass().getClassLoader().getResourceAsStream(schema);
docBuilderFactory.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaSource",is);
in my local works fine but in PI always return OK never fail.
For this moment the schema is hardcoded to do proofs, in the future will be loaded from my configuration file.
Any idea?
Thanks in advance
Josehi Jose,
PI 7.1 has a built in feature available called XML vaidations ..
your source xml can be validated against a XSD placed at a specific location on the PI server..
validation can be performed at adapter/integration engine
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/d06dff94-9913-2b10-6f82-9717d9f83df1?quicklink=index&overridelayout=true -
hello SDNers,
I am using JAVA mapping for converting FlatFlie IDoc to IDoc and i am using metadata for this.While downloading metadata from SAP system, the first segment in the data record is having level 2.
1) What is the use of Level in metadata?
2) What is the Level for first segment in data record of metadata. Is it Level 1 or Level 2?
3) I am facing an error while appending the node. Is it because of Level differs?
Plese help me out and thanks in advanceHi,
>>>I am using JAVA mapping for converting FlatFlie IDoc to IDoc and i am using metadata for thi
why do you develop is from scratch is the code is already there - just copy and paste...
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/46759682-0401-0010-1791-bd1972bc0b8a
>>>1) What is the use of Level in metadata?
this shows how the nested segments in IDOC are to be understood
>>>3) I am facing an error while appending the node. Is it because of Level differs?
no, it becase your code is incorrect - the level velidation will be done at the receiver
Regards,
Michal Krawczyk -
Hi Friends,
I am getting LINKAGE ERROR when executing JAVA mapping as its not able to reference AbstractTransform class provided by SAP PI API.
This problem occurs in particular environment for this particular mapping. For other environments this is working fine.
I assume it has something to do with Java Library reference which is mis-configured during transport. Can anyone let me know how and where the library path is configured for Imported Achieves in SAP PI 7.1.
We are using java 1.5 for building and creating java achieves.
Many thanks,
SKHi Sumant,
This error occurs when the jdk version of XI server and the library version you used to develop the mapping are incompatible. Make sure you use the same version as of the server
have a look in SAP Note 755302
Regds,
Pinangshuk. -
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.. -
How to choose between XSLT & JAVA Mapping.
HI
Usually Java mapping is preferred when the target structure is relatively complex and the transformation cannot be accomplished by simple graphical mapping.
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.
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-91c40ee56c0b
Java Mapping (Part I)
https://Difference in using java,xslt,message mapping
Java Mapping (Part I)
Java Mapping (Part II)
Check these for JAVA Mapping
Java Mapping (Part I)
Java Mapping (Part II)
Java Mapping (Part III)
Testing and debugging
Testing and Debugging Java Mapping in Developer Studio
Implermenting JAVA Mapping in PI
Implementing a Java Mapping in SAP PI
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10dd67dd-a42b-2a10-2785-91c40ee56c0b
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/400ee77e-f9d6-2a10-2b8c-99281a4dcf6b
XSLT 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
XSLT Mapping
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/006aa890-0201-0010-1eb1-afc5cbae3f15
xpath functions in xslt mapping
https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=xslt+mapping&adv=false&sortby=cm_rnd_rankvalue#
XSLT MAPPING:
Generic XSLT Mapping for SAP XI,Part I
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/01a57f0b-0501-0010-3ca9-d2ea3bb983c1
Generic XSLT Mapping for SAP XI,Part II
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9692eb84-0601-0010-5ca0-923b4fb8674a
XSLT: Recursive Templates
XSLT: Recursive Templates
Easy RFC lookup from XSLT mappings using a Java helper class
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/05a3d62e-0a01-0010-14bc-adc8efd4ee14
Step u2013 By u2013 Step Simple Approach for XSLT Mapping
Step By Step Simple Approach for XSLT Mapping
Advantages of using XSLT mapping
XSLT program itself defines its own target structure.
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.
XSLT can be used in combination with graphical mapping.
Multi-mapping is also possible using xslt.
XSLT can be used with ABAP and JAVA Extensions.
Disadvantages of using XSLT mapping
Resultant XML payload can not be viewed in SXMB_MONI if not in XML format (for service packs < SP14).
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.
XSLT mapping requires more memory than mapping classes generated in Java.
It all depends upon the required Scenario and the requirement , which mapping has to be used.
cheers -
RFC Lookup using Java Mapping program - Examples
Dear Experts,
I am working on a scenario which is using 1:N mapping. For deciding the target message I have to use RFC Lookup to call the backend ERP system and there are 2 ERP systems involved in this integration. As I am using Java Mapping and never did a RFC Lookup in Java. I kindly request you to give me some examples which I could use for my RFC calls in my Java Mapping. Simple example will do.
Client is adamant to use Java mapping, I could achieve this easily using XSLT or Graphical Mapping.
Advance Thanks,
PradeepHello,
why don't you use Extended Receiver Determination Defining Extended (Dynamic) Receiver Determination - Integration Directory - SAP Library?
What you can do is create a Message Mapping between your source message and Receivers message type. In this message mapping you can use your RFC to generate the target message.
For example, lets say we have the function ZFM_GET_INTERFACE_INFO used to generate the List of Receivers given a source message. You could create a Message Mapping as below:
In this case, the RFCLookup box look as below:
The receiver determination configuration would look as follows:
Afterwards, you will need two specific message mappings for the two ERP systems.
Summarizing, you'll need:
1.- A Message Mapping: Source Message to Receivers Message Type (This one uses the RFC Lookup)
2.- A Message Mapping: Source Message to Target Message for ERP 1
3.- A Message Mapping: Source Message to Target Message for ERP 2
In Integration Directory you'll have 1 Receiver Determination(Source system, Target System determined Dynamically) and 2 Interface Determinations (Source System to ERP1, Source System to ERP2), etc.
I hope you find it useful.
Regards! -
Call ABAP FM from XI Java mapping
Can you please provide me some documentation on how to make a call to ABAP function module from Java mapping.
Basically this would be a RFC lookup from Java mapping.
Any recomendations on which one is a standard approach among ABAP Mapping vs JAVA mapping within XI.
Your responses are appreciated.
TNVHi TNV,
<i>I am more looking into using RFC call from java mapping.</i>
The article by Michal can be used to make the RFC lookup not only from an User Defined Function but also from a java mapping.
You can write any piece of java code inside the EXECUTE() method of your Java Mapping including the RFC Lookup API code in michal's article.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi-code-samples/xi%20mapping%20lookups%20rfc%20api.pdf
Regards.
Bhavesh -
About Java mapping and java proxy
Hi
Iam new to Xi and basically iam an ABAPER.When iam dooing mappinps or proxies i cant able to understand the java pari cant (javamapping and java proxies) .I need some notes on java mapping and java proxy which is easy to do.And why do we use this java mapping or java proxy particularly when we r having abap mappipng and abap proxy.
thanks in advanceHi,
refer
Java Mapping
SAP Network Blog: Java Mapping (Part I)
/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-i
Java Mapping in XI
https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=java+mapping&adv=false&sortby=cm_rnd_rankvalue#
Runtime Environment (Java Mappings) (SAP Library - Partner Connectivity Kit)
http://help.sap.com/saphelp_nw04/helpdata/en/bd/c91241c738f423e10000000a155106/frameset.htm
Java Mapping (SAP Library - Partner Connectivity Kit)
http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/frameset.htm
SAP Network Blog: Testing and Debugging Java Mapping
/people/stefan.grube/blog/2006/10/23/testing-and-debugging-java-mapping-in-developer-studio
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", 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
SAP Network Blog: XI Java Mapping Helper (DOM)
/people/alessandro.guarneri/blog/2007/03/25/xi-java-mapping-helper-dom
Java Proxy
Java Proxy Objects (SAP Library - SAP Exchange Infrastructure)
http://help.sap.com/saphelp_nw04/helpdata/en/c5/7d5e3c754e476ee10000000a11405a/frameset.htm
Accessing Active Directory through Java Proxy on SAP Exchange Infrastructure 3.0
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/10716e9f-23d7-2a10-8c8c-d2665615f8fc
Thanks
Swarup -
Hello,
Can any one explain Java mapping when I am sending PO to reciever system? And what are the necessary requirements? And what are the transction codes we will use for this?
Plz...........
Thank youHi,
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
Difference in using java,xslt,message 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
http://help.sap.com/saphelp_nw04/helpdata/en/e2/e13fcd80fe47768df001a558ed10b6/content.htm
http://help.sap.com/saphelp_nw04s/helpdata/en/43/09b16006526e72e10000000a422035/frameset.htm
/people/venkataramanan.parameswaran/blog/2006/12/12/java-mapping-to-handle-flat-files-in-sap-xi
Thanks
Swarup
Maybe you are looking for
-
Since I can not log in bug report page, not even getting an error message, I'll write all my issues with ios8 here... I have an iphone 4S and I did the last update. Now I am in trouble. 1. When I move the "sound on/off" button, I get it buzzing 10 ti
-
Hold code on supplier invoices (Payables)
Dear all, can anyone tell me how to creta a new hold code on a supplier invoice in Oracle Payables. Thanks in advance, Emmanuel Edited by: user642479 on 22 mai 2009 07:11 I have my answer ! I was connected in French and the menu item is not well tran
-
How to add the required characterists and key figures to drill down report?
hi, i am creating a drill down report using t.code FKI4. however i noticed that some of the characteristics and key figures required by me is not listed in the report catalog. how can i add the required characteristis and key figures to the report ca
-
After on installation cannot download and install on iMac after installing successfully on Mac Book Pro
-
Using Sun Traffic manager in SC
Dear Gurus Is there any specfic requirement using Sun traffic Manager in Sun cluster i am using Sun cluster 3.1 on Solaris 9 Regard