Lookup in a Mapping to a ABAP or Java proxy
Hi,
within the documentation of the Mappinglookup API only lookups to RFC,JDBC and SOAP should be supported.
Is it possible to lookup to a proxy ?
Regards,
Gerald
Hi Gerald,
Yes, it is not possible to lookup to a proxy.
"The API for mapping lookups supports access using the RFC, JDBC, and SOAP adapters."
Refer this link:-
http://help.sap.com/saphelp_nw04/helpdata/en/cf/406642ea59c753e10000000a1550b0/frameset.htm
A Proxy requires a whole XI message including the XI message header. The look up API only provides the creation of the payload of the message.
I hope this provides you a solution.
Regards.
Praveen
Similar Messages
-
Individual business system for ABAP and Java Stack
Hi All,
I need to send message from a system to XI via ABAP proxy and Java proxy. The sender's ABAP and Java proxy use the same message interface to communicate with XI. Should I create one business system for the ABAP stack and one for Java stack of the sender system?
Thanks + Best Regards
JeromeAre you sending same message type from ABAP proxy and Java Proxy to XI?
If you have ABAP proxy, why do you need Java Proxy? Actually you cannot create any Java proxies on ABAP bases systems. What kind of system sender is? Java proxies are created for pure Java based applications.
Let me know if I didnt understand your question correctly. If so, please explain in detail why you need both proxies and what is your sender application.
--Archana -
Performance of XSL Mapping in the ABAP Engine
Hi All,
Is the performance of XSL Mapping in the ABAP Engine better than java and graphical mapping. XSLT on the java stack has performance issue handling large documents.I want to know how far XSL Mapping in the ABAP Engine performs when compared to java/graphical mapping in the context of large inputs(>1MB).
Anticipating your valuable inputs.
Regards,
Sudharshan N AHi Sudarshan,
Please go through the below link for a very clear understanding of the performance of the Mapping techniques...
/people/udo.martens/blog/2006/08/23/comparing-performance-of-mapping-programs
Hope this helps
Regards
Kiran.. -
Java Error in RFC Lookup in XSLT Mapping usinf Java helper class
Hi All,
I am doing RFC Lookup in XSLT Mapping using Java Helper class.
The Lookup works fine when called one RFC at a time However my requirement is I want to do 2 Lookups.
Both Lookups works when done individually however when I call both lookups in one mapping I get following error "javax.xml.transform.TransformerException: DOMSource whose Node is null."
Following is the code I have written in XSLT for the lookup:
<xsl:template name="Lookup_1">
<xsl:param name="STDPN"/>
<rfc:RFC_READ_TABLE>
<QUERY_TABLE>KNA1</QUERY_TABLE>
<OPTIONS><item><TEXT>
<xsl:value-of select="$STDPN"/>
</TEXT></item>
</OPTIONS>
<FIELDS>
<item>
<FIELDNAME>KUNNR</FIELDNAME>
</item>
</FIELDS>
</rfc:RFC_READ_TABLE>
</xsl:variable>
<xsl:variable name="response" xmlns:lookup="java:urn.mt.pi" select="lookup:execute($request, 'BS_D, 'cc_RfcLookup', $inputparam)"/>
<xsl:element name="STDPN">
<xsl:value-of select="$response//DATA/item/WA"/>
</xsl:element>
</xsl:template>
<xsl:template name="Lookup_2">
<xsl:param name="BELNR"/>
<xsl:variable name="Query">AGMNT = '<xsl:value-of select="$BELNR"/>'</xsl:variable>
<xsl:variable name="request1">
<rfc:RFC_READ_TABLE>
<QUERY_TABLE>ZTABLE</QUERY_TABLE>
<OPTIONS><item><TEXT>
<xsl:value-of select="$Query"/>
</TEXT></item>
</OPTIONS>
<FIELDS>
<item>
<FIELDNAME>KUNAG</FIELDNAME>
</item>
</FIELDS>
</rfc:RFC_READ_TABLE>
</xsl:variable>
<xsl:variable name="response1" xmlns:lookup="java:urn.mt.pi" select="lookup:execute($request1, 'BS_D','cc_RfcLookup', $inputparam)"/>
<xsl:element name="BELNR">
<xsl:value-of select="$response1//DATA/item/WA"/>
</xsl:element>
</xsl:template>
My Question: Am I doing anything wrong? Or Is it possible to call multiple lookups in one XSLT?
Thanks and Regards,
AtulHi Atul,
I had the same problem like you had.
The main Problem is that with the example code the request variable is created as NodeList object. In XSLT a variable is somekind of a constant and can't be changed. As the request object is empty after the first request the programm fails at the following line:
Source source = new DOMSource(request.item(0));
So I've created a workaround for this problem.
In the call of the template I've put the request as a parameter object at the template call:
<xsl:with-param name="req">
<rfc:PLM_EXPLORE_BILL_OF_MATERIAL xmlns:rfc="urn:sap-com:document:sap:rfc:functions">
<APPLICATION>Z001</APPLICATION>
<FLAG_NEW_EXPLOSION>X</FLAG_NEW_EXPLOSION>
<MATERIALNUMBER><xsl:value-of select="value"/></MATERIALNUMBER>
<PLANT>FSD0</PLANT>
<VALIDFROM><xsl:value-of select="//Recordset/Row[name='DTM-031']/value"/></VALIDFROM>
<BOMITEM_DATA/>
</rfc:PLM_EXPLORE_BILL_OF_MATERIAL>
</xsl:with-param>
With this change the request will be provided as a String object and not as a NodeList object.
Afterwards the RfcLookup.java has to be changed to the following:
package com.franke.mappings;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import com.sap.aii.mapping.lookup.Channel;
import com.sap.aii.mapping.api.StreamTransformationConstants;
import com.sap.aii.mapping.api.AbstractTrace;
import com.sap.aii.mapping.lookup.RfcAccessor;
import com.sap.aii.mapping.lookup.LookupService;
import com.sap.aii.mapping.lookup.XmlPayload;
* @author Thorsten Nordholm Søbirk, AppliCon A/S
* Helper class for using the XI Lookup API with XSLT mappings for calling RFCs.
* The class is generic in that it can be used to call any remote-enabled
* function module in R/3. Generation of the XML request document and parsing of
* the XML response is left to the stylesheet, where this can be done in a very
* natural manner.
* TD:
* Changed the class that request is sent as String, because of IndexOutOfBound-exception
* When sending multiple requests in one XSLT mapping.
public class RfcLookup {
* Execute RFC lookup.
* @param request RFC request - TD: changed to String
* @param service name of service
* @param channelName name of communication channel
* @param inputParam mapping parameters
* @return Node containing RFC response
public static Node execute( String request,
String service,
String channelName,
Map inputParam)
AbstractTrace trace = (AbstractTrace) inputParam.get(StreamTransformationConstants.MAPPING_TRACE);
Node responseNode = null;
try {
// Get channel and accessor
Channel channel = LookupService.getChannel(service, channelName);
RfcAccessor accessor = LookupService.getRfcAccessor(channel);
// Serialise request NodeList - TD: Not needed anymore as request is String
/*TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer();
Source source = new DOMSource(request.item(0));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
StreamResult streamResult = new StreamResult(baos);
transformer.transform(source, streamResult);*/
// TD: Add xml header and remove linefeeds for the request string
request = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"+request.replaceAll("[\r\n]+", "");
// TD: Get byte Array from request String to send afterwards
byte[] requestBytes = request.getBytes();
// TD: Not used anymore as request is String
//byte[] requestBytes = baos.toByteArray();
trace.addDebugMessage("RFC Request: " + new String(requestBytes));
// Create input stream representing the function module request message
InputStream inputStream = new ByteArrayInputStream(requestBytes);
// Create XmlPayload
XmlPayload requestPayload =LookupService.getXmlPayload(inputStream);
// Execute lookup
XmlPayload responsePayload = accessor.call(requestPayload);
InputStream responseStream = responsePayload.getContent();
TeeInputStream tee = new TeeInputStream(responseStream);
// Create DOM tree for response
DocumentBuilder docBuilder =DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = docBuilder.parse(tee);
trace.addDebugMessage("RFC Response: " + tee.getStringContent());
responseNode = document.getFirstChild();
} catch (Throwable t) {
StringWriter sw = new StringWriter();
t.printStackTrace(new PrintWriter(sw));
trace.addWarning(sw.toString());
return responseNode;
* Helper class which collects stream input while reading.
static class TeeInputStream extends InputStream {
private ByteArrayOutputStream baos;
private InputStream wrappedInputStream;
TeeInputStream(InputStream inputStream) {
baos = new ByteArrayOutputStream();
wrappedInputStream = inputStream;
* @return stream content as String
String getStringContent() {
return baos.toString();
/* (non-Javadoc)
* @see java.io.InputStream#read()
public int read() throws IOException {
int r = wrappedInputStream.read();
baos.write(r);
return r;
Then you need to compile and upload this class and it should work.
I hope that this helps you.
Best regards
Till -
Wanted to confirm my understaing for ABAP and JAVA mapping.
Am I correct in my assumption that these mapping techniques can be used only if input and ouput is in XML format ?
So if XI is receiving a flat comma separated text/non-XML file or an IDOC for that matter and output is NOT in XML format, say again flat text file or IDOC, I cannot use above two techniques?
All the docs I have read suggest that 'Execute' method is called when XML file/data is received, paresed using DOM/SAX/JAXB (for Java mapping) or IXML lib (for ABAP mapping) and then create a output XML file.
-Thanks in advanceHi Bob,
Here you have a code sample for deescaping. I have have written this code a couple of time ago. The incoming file can be any text format. It might be XML, but not necessarily.
The main method is not reqired, but good for testing.
Regards
Stefan
* Created on 28.09.2005
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
package sample;
import com.sap.aii.mapping.api.*;
import java.io.*;
import java.util.Map;
public class Deescaping implements StreamTransformation{
public static void main (String[] args) {
try {
InputStream in = new FileInputStream(new File("in.xml"));
OutputStream out = new FileOutputStream(new File("out.xml"));
Deescaping change = new Deescaping();
change.execute(in, out);
} catch (Exception e) {
e.printStackTrace();
public void setParameter (Map map) {
public void execute (InputStream in, OutputStream out)
throws StreamTransformationException {
try {
int c;
while ((c = in.read()) != -1) {
if (c != '&') {
out.write(c);
} else {
// ampersand
String help = "&";
boolean exit = false;
// check the next 5 chars, if there is a ';'
for (int i = 0; i < 5 && !exit; i++) {
c = in.read();
if (c == -1) {
exit = true;
} else {
// another ampersand?
if (c == '&') {
out.write(help.getBytes());
help = "&";
i = 0; // check the next 5 chars
} else {
help = help + (char) c;
if (c == ';') {
exit = true;
if (help.equals("&")) {
help = "&";
if (help.equals("<")) {
help = "<";
if (help.equals(">")) {
help = ">";
if (help.equals(""")) {
help = """;
if (help.equals("'")) {
help = "'";
} // for
out.write(help.getBytes());
} // while
out.flush();
} catch (Exception e) {
throw new StreamTransformationException(e.getMessage(),e); -
Message Mapping of type ABAP Class not being shown
Hi all,
I have been trying to follow the given blog:
/people/ravikumar.allampallam/blog/2005/02/10/different-types-of-mapping-in-xi
Even after doing the changes mentioned in the blog, i do not see the ABAP Class in the list of Message Mapping types.
Do i need to do anyother configuration. Pls guide.
Regards
NeetuHi Neetu,
You will have to enable your ABAP mapping first.
Do the following steps, pay carefull attention to the values you enter,
In
IntegrationBuilder ->IntegrationBuilder.Repository -> com.sap.aii.repository.mapping.additionaltypes
enter the value of
R3_ABAP|Abapclass;R3_XSLT|XSL (ABAP Engine)
If the above doesnt work, try Abap-class instead of Abapclass in the above line.
And then follow the remaining steps, make sure that the above value is correct. Your ABAP mapping should appear in your Integration Repository.'
I suggest you go through these links:
https://websmp101.sap-ag.de/~sapdownload/011000358700003082332004E/HowToABAPMapping.pdf
/people/ravikumar.allampallam/blog/2005/02/10/different-types-of-mapping-in-xi
ABAP Mapping Vs Java Mapping.
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/com.sap.km.cm.docs/library/xi/3.0/how%20to%20use%20abap-mapping%20in%20xi%203.0.pdf
Regards,
Abhy -
Hello,
We are having MI 7.0 at SPS15.Am trying to apply add to our system(we created SDA file from NWA as an addon).SDA addon getting deployed but its not getting sync between ABAP and Java stack even if is run reload sever time from NWA->Administrator->Mobile Infrastructure->Mobile Components.I can see add-on when i check from SDM but it cannot see when i search under Mobile component in NWA.Application logs shows below error.
#703543993#/Applications #sap.com/tcmobileadmin~ea#com.sap.ip.mi.ejb.mcd.MobileContainerBean.Method---: Processfunction#J2EE_GUEST#0##n/a##8e6d577024d511e1a299001635730592#SAPEngine_Ap plication_Thread[impl:3]_10##0#0#Error#1#com.sap.ip.mi.ejb.mcd.MobileContainerBe an#Plain####
#1.#001635730592001800000015000030100004B3E6C1311ED1#1323703575929#/Applications #sap.com/tcmobileadmin~ea#com.sap.ip.mi.ejb.mcd.MobileContainerBean.Method---: Processfunction#J2EE_GUEST#0##n/a##a19424a024d511e18ede001635730592#SAPEngine_Ap plication_Thread[impl:3]_9##0#0#Error#1#com.sap.ip.mi.ejb.mcd.MobileContainerBea n#Plain####
#1.#001635730592000F00000016000030100004B3E6C662CEBE#1323703663073#/Applications #sap.com/tcmobileadmin~ea#com.sap.ip.mi.ejb.mcd.MobileContainerBean.Method---: Processfunction#J2EE_ADMIN#47##n/a##d588777024d511e1c64a001635730592#SAPEngine_A pplication_Thread[impl:3]_18##0#0#Error#1#com.sap.ip.mi.ejb.mcd.MobileContainerB ean#Plain####
#1.#001635730592002000000015000030100004B3E6CDC2D7E4#1323703786809#/Applications #sap.com/tcmobileadmin~ea#com.sap.ip.mi.ejb.mcd.MobileContainerBean.Method---: Processfunction#J2EE_GUEST#0##n/a##1f482a9024d611e18dc1001635730592#SAPEngine_Ap plication_Thread[impl:3]_29##0#0#Error#1#com.sap.ip.mi.ejb.mcd.MobileContainerBe an#Plain####
#1.#00163573059200260000000C000030100004B3E6D02A2DDA#1323703827137#/Applications #sap.com/tcmobileadmin~ea#com.sap.ip.mi.ejb.mcd.MobileContainerBean.Method---: Processfunction#J2EE_GUEST#0##n/a##37527e6024d611e1a43c001635730592#SAPEngine_Ap plication_Thread[impl:3]_39##0#0#Error#1#com.sap.ip.mi.ejb.mcd.MobileContainerBe an#Plain####
#1.#00163573059200350000000B000030100004B3E6D1150767#1323703842528#/Applications #sap.com/tcwddispwda#com.sap.ip.mi.admin.wd.paramset.Details.Method-->wdDoModi fyView()#J2EE_ADMIN#56##uwsvt729.merck.com_VZ1_12609950#J2EE_ADMIN#2e05832024d61 1e1b753001635730592#SAPEngine_Application_Thread[impl:3]_33##0#0#Error#1#com.sap .ip.mi.admin.wd.paramset.Details#Plain###Specify all parameters#
#1.#00163573059200250000007C000030100004B3E6F8460AEE#1323704500063#/Applications #sap.com/tcmobileadmin~ea#com.sap.ip.mi.ejb.mcd.MobileContainerBean.Method---: Processfunction#J2EE_GUEST#0##n/a##c86ab33024d711e185b5001635730592#SAPEngine_Ap plication_Thread[impl:3]_22##0#0#Error#1#com.sap.ip.mi.ejb.mcd.MobileContainerBe an#Plain####
#1.#001635730592002F00000015000030100004B3E728C1AF02#1323705313486#/Applications #sap.com/tcmobileadmin~ea#com.sap.ip.mi.ejb.mcd.MobileContainerBean.Method---: Processfunction#J2EE_GUEST#0##n/a##ad1da59024d911e1a138001635730592#SAPEngine_Ap plication_Thread[impl:3]_37##0#0#Error#1#com.sap.ip.mi.ejb.mcd.MobileContainerBe an#Plain####
#1.#001635730592000F0000000000002A400004B3E754A629F8#1323706045836#/Applications /CMS/PCS#sap.com/tcSLCMS~PCS#com.sap.cms.pcs.serverAPI.CmsOrganizerAdapter#J2E E_GUEST#0##n/a##61feecc024db11e1b4cb001635730592#SAPEngine_Application_Thread[im pl:3]_26##0#0#Info#1#com.sap.cms.pcs.serverAPI.CmsOrganizerAdapter#Plain###CMS o rganizer proxy is waiting for requests#
#1.#001635730592000F0000000100002A400004B3E754A659EE#1323706045848#/Applications /CMS/PCS#sap.com/tcSLCMS~PCS#com.sap.cms.pcs.serverAPI.CmsManagerAdapter#J2EE_ GUEST#0##n/a##61feecc024db11e1b4cb001635730592#SAPEngine_Application_Thread[impl :3]_26##0#0#Info#1#com.sap.cms.pcs.serverAPI.CmsManagerAdapter#Plain###CMS manag er proxy is waiting for requests#
#1.#001635730592000F0000000200002A400004B3E754A6715D#1323706045854#/Applications /CMS/PCS#sap.com/tcSLCMS~PCS#com.sap.cms.pcs.transport.proxy.CmsLogViewer#J2EE GUEST#0##n/a##61feecc024db11e1b4cb001635730592#SAPEngineApplication_Thread[imp l:3]_26##0#0#Info#1#com.sap.cms.pcs.transport.proxy.CmsLogViewer#Plain###CMS Log Viewer is waiting for requests#
#1.#001635730592000F0000000300002A400004B3E754A67B77#1323706045857#/Applications /CMS#sap.com/tcSLCMS~PCS#com.sap.cms.recovery.RecoveryServlet#J2EE_GUEST#0##n/ a##61feecc024db11e1b4cb001635730592#SAPEngine_Application_Thread[impl:3]_26##0#0 #Info#1#com.sap.cms.recovery.RecoveryServlet#Plain###CMS recovery servlet is wai ting for requests#
#1.#001635730592000F0000000400002A400004B3E754A67CE5#1323706045857#/Applications /CMS#sap.com/tcSLCMS~PCS#com.sap.cms.recovery.RecoveryServlet#J2EE_GUEST#0##n/ a##61feecc024db11e1b4cb001635730592#SAPEngine_Application_Thread[impl:3]_26##0#0 #Info#1#com.sap.cms.recovery.RecoveryServlet#Plain###start recovery#
#1.#001635730592000F0000000500002A400004B3E754AA7F91#1323706046120#/Applications /CMS#sap.com/tcSLCMS~PCS#com.sap.cms.recovery.pcs.QueueItemRecovery#J2EE_GUEST #0#SAP J2EE Engine JTA Transaction : [0ffffffc069ffffff9e0008]#n/a##61feecc024db 11e1b4cb001635730592#SAPEngine_Application_Thread[impl:3]_26##0#0#Info#1#com.sap .cms.recovery.pcs.QueueItemRecovery#Plain###CMS recovery found 0 QueueItem(s) wi th state Import running in 0 queue(s). Start check if they are really running or need recovery.#
#1.#001635730592000F0000000600002A400004B3E754AA8344#1323706046121#/Applications /CMS#sap.com/tcSLCMS~PCS#com.sap.cms.recovery.pcs.QueueItemRecovery#J2EE_GUEST #0#SAP J2EE Engine JTA Transaction : [0ffffffc069ffffff9e0008]#n/a##61feecc024db 11e1b4cb001635730592#SAPEngine_Application_Thread[impl:3]_26##0#0#Info#1#com.sap .cms.recovery.pcs.QueueItemRecovery#Plain###Finished check and recovery for all CMS QueueItems of state Import running. Checked Items: 0; Recovered Items: 0; Re covery Failed Items: 0; Real running Items: 0#
#1.#001635730592000F0000000700002A400004B3E754AAACBA#1323706046132#/Applications /CMS#sap.com/tcSLCMS~PCS#com.sap.cms.recovery.pcs.QueueItemRecovery#J2EE_GUEST #0#SAP J2EE Engine JTA Transaction : [0ffffffc069ffffff9e0008]#n/a##61feecc024db 11e1b4cb001635730592#SAPEngine_Application_Thread[impl:3]_26##0#0#Info#1#com.sap .cms.recovery.pcs.QueueItemRecovery#Plain###CMS recovery found 0 QueueItem(s) wi th state Assembly running in 0 queue(s). Start check if they are really running or need recovery.#
#1.#001635730592000F0000000800002A400004B3E754AAAEE5#1323706046132#/Applications /CMS#sap.com/tcSLCMS~PCS#com.sap.cms.recovery.pcs.QueueItemRecovery#J2EE_GUEST #0#SAP J2EE Engine JTA Transaction : [0ffffffc069ffffff9e0008]#n/a##61feecc024db 11e1b4cb001635730592#SAPEngine_Application_Thread[impl:3]_26##0#0#Info#1#com.sap .cms.recovery.pcs.QueueItemRecovery#Plain###Finished check and recovery for all CMS QueueItems of state Assembly running. Checked Items: 0; Recovered Items: 0; Recovery Failed Items: 0; Real running Items: 0#
#1.#001635730592000F0000000900002A400004B3E754AAB68F#1323706046134#/Applications /CMS#sap.com/tcSLCMS~PCS#com.sap.cms.recovery.RecoveryServlet#J2EE_GUEST#0##n/ a##61feecc024db11e1b4cb001635730592#SAPEngine_Application_Thread[impl:3]_26##0#0 #Info#1#com.sap.cms.recovery.RecoveryServlet#Plain###finished recovery#
#1.#00163573059200140000000300002A400004B3E7AA40154F#1323707482010#/Applications #sap.com/tcmobileadmin~ea#com.sap.ip.mi.ejb.mcd.MobileContainerBean.Method---: Processfunction#J2EE_GUEST#0##n/a##b9c439d024de11e1a4ee001635730592#SAPEngine_Ap plication_Thread[impl:3]_10##0#0#Error#1#com.sap.ip.mi.ejb.mcd.MobileContainerBe an#Plain####
ThanksHi,
Tha ABAP stack consists of the Integration Server which in turn contains your Integration Engine and Business Process Engine.
The J2EE stack contains the Adapter Engine and your IR and ID run on the J2EE engine.
Ever wondered how and where the XI pipeline gets executed? It happens in the ABAP stack.
All messsages picked by the Adapter Framework running on the J2EE engine are passed to the Integration Engine, which does the routing. The mapping program again gets executed on the Java stack and the rest of the pipeline servies are executed again on the ABAP stack and so on.
Take a look at the XI overview doc to understand this better,
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/a3d3c390-0201-0010-c490-bd85917138c8
Regards,
Bhavesh -
Abap objects,java,xslt
could u provide with links of abap,java and xslt mapping and also corresponding basic links using which i can master the basics of abap objects ,java and xslt up to the extent what is required for mapping
thanksChexk these docs,
<b>ABAP</b>
https://websmp101.sap-ag.de/~sapdownload/011000358700003082332004E/HowToABAPMapping.pdf
The how to guide on ABAP mapping should help.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e3ead790-0201-0010-64bb-9e4d67a466b4
<b>JAVA</b>
/people/prasad.ulagappan2/blog/2005/06/08/sax-parser
/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
Regards,
Jai Shankar -
Whats the use of an ABAP and Java Stacks in XI? What exactly they are doing for XI?
Thanks.Hi,
Tha ABAP stack consists of the Integration Server which in turn contains your Integration Engine and Business Process Engine.
The J2EE stack contains the Adapter Engine and your IR and ID run on the J2EE engine.
Ever wondered how and where the XI pipeline gets executed? It happens in the ABAP stack.
All messsages picked by the Adapter Framework running on the J2EE engine are passed to the Integration Engine, which does the routing. The mapping program again gets executed on the Java stack and the rest of the pipeline servies are executed again on the ABAP stack and so on.
Take a look at the XI overview doc to understand this better,
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/a3d3c390-0201-0010-c490-bd85917138c8
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 -
hi all
how to integrate ABAP with JAVA?? Can anybody send me any link on that or any documents???Hi
Welcome to SDN forum
After the ECC6.0 Version Most of the JAVA things are integrated in Netweaver components like BSP,WAS, XI and Enterprise Portals etc
So if you are good in JAVA these things are very useful and through this you can easily integrate JAva with SAP
see the links
See the Links
JDBC Receiver: exact SQL statement
/message/527697#527697 [original link is broken]
And after you are done with the documentation probably you can go through this scenario,
JDBC Receiver: exact SQL statement
Also check the following threads which might help you a little more,
Learning XI
XI 3.0 Training
Also for more info related to XI go through these links:
XI -Starter
http://help.sap.com/saphelp_nw04/helpdata/en/e1/8e51341a06084de10000009b38f83b/frameset.htm
SAP XI - Where to Find Information
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/sap%20xi%20-%20where%20to%20find%20information.pdf
All the information you need in XI :
http://help.sap.com/saphelp_nw04/helpdata/en/0f/80243b4a66ae0ce10000000a11402f/frameset.htm
To understand the architecture of XI, Please go through this link:
http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm
You can also go through the url for Elearning :
https://www.sdn.sap.com/sdn/elearning.sdn // https://www.sdn.sap.com/irj/sdn/sdnpilot/elearning
Following is the link for 'how to guides', A step by step guide to create scenarios:
https://websmp201.sap-ag.de/nw-howtoguides
XI is all about configuration of Adapters, to learn more please go through this link:
http://help.sap.com/saphelp_nw04/helpdata/en/0d/5ab43b274a960de10000000a114084/frameset.htm
One of the most powerful feature of XI, Business Process Management:
http://help.sap.com/saphelp_nw04/helpdata/en/3c/831620a4f1044dba38b370f77835cc/frameset.htm
Following are the links to weblogs which will help to develop the basic scenarios.
/people/prateek.shah/blog/2005/06/08/introduction-to-idoc-xi-file-scenario-and-complete-walk-through-for-starters - IDoc to File
/people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy - ABAP Proxy to File
/people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30 - File to JDBC
/people/prateek.shah/blog/2005/06/14/file-to-r3-via-abap-proxy - File to ABAP Proxy
/people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1 - File to File Part 1
/people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2 - File to File Part 2
/people/ravikumar.allampallam/blog/2005/06/24/convert-any-flat-file-to-any-idoc-java-mapping - Any flat file to any Idoc
/people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit - File to RFC
https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1685 [original link is broken] [original link is broken] [original link is broken] - File to Mail
/people/jayakrishnan.nair/blog/2005/06/20/dynamic-file-name-using-xi-30-sp12-part--i - Dynamic File Name Part 1
/people/jayakrishnan.nair/blog/2005/06/28/dynamic-file-namexslt-mapping-with-java-enhancement-using-xi-30-sp12-part-ii - Dynamic File Name Part 2
/people/michal.krawczyk2/blog/2005/03/07/mail-adapter-xi--how-to-implement-dynamic-mail-address - Dynamic Mail Address
/people/siva.maranani/blog/2005/05/25/understanding-message-flow-in-xi - Message Flow in XI
/people/krishna.moorthyp/blog/2005/06/09/walkthrough-with-bpm - Walk through BPM
/people/siva.maranani/blog/2005/05/22/schedule-your-bpm - Schedule BPM
/people/sriram.vasudevan3/blog/2005/01/11/demonstrating-use-of-synchronous-asynchronous-bridge-to-integrate-synchronous-and-asynchronous-systems-using-ccbpm-in-sap-xi - Use of Synch - Asynch bridge in ccBPM
https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken] - Use of Synch - Asynch bridge in ccBPM
/people/michal.krawczyk2/blog/2005/08/22/xi-maintain-rfc-destinations-centrally - Maintain RFC destination centrally
/people/sravya.talanki2/blog/2005/08/18/triggering-e-mails-to-shared-folders-of-sap-is-u - Triggering Email from folder
/people/sravya.talanki2/blog/2005/08/17/outbound-idocs--work-around-using-party - Handling different partners for IDoc
/people/siva.maranani/blog/2005/08/27/modeling-integration-scenario146s-in-xi - Modeling Integration Scenario in XI
/people/michal.krawczyk2/blog/2005/08/25/xi-sending-a-message-without-the-use-of-an-adapter-not-possible - Testing of integration process
/people/michal.krawczyk2/blog/2005/05/25/xi-how-to-add-authorizations-to-repository-objects - Authorization in XI
http://help.sap.com/saphelp_nw04/helpdata/en/58/d22940cbf2195de10000000a1550b0/content.htm - Authorization in XI
/people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step - Alert Configuration
/people/michal.krawczyk2/blog/2005/09/09/xi-alerts--troubleshooting-guide - Trouble shoot alert config
/people/sameer.shadab/blog/2005/09/21/executing-unix-shell-script-using-operating-system-command-in-xi - Call UNIX Shell Script
/people/sravya.talanki2/blog/2005/11/02/overview-of-transition-from-dev-to-qa-in-xi - Transport in XI
/people/r.eijpe/blog/2005/11/04/using-abap-xslt-extensions-for-xi-mapping - Using ABAP XSLT Extensions for XI Mapping
/people/prasad.ulagappan2/blog/2005/06/07/mail-adapter-scenarios-150-sap-exchange-infrastructure - Mail Adaptor options
/people/pooja.pandey/blog/2005/07/27/idocs-multiple-types-collection-in-bpm - Collection of IDoc to Single File
/people/sap.user72/blog/2005/11/17/xi-controlling-access-to-sensitive-interfaces - Controlling access to Sensitive Interfaces
/people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14 - The same filename from a sender to a receiver file adapter - SP14
/people/prasad.illapani/blog/2005/11/14/payload-based-message-search-in-xi30-using-trex-engine - Payload Based Message Search in XI30 using Trex Engine
/people/sap.user72/blog/2005/11/24/xi-configuring-ccms-monitoring-for-xi-part-i - XI : Configuring CCMS Monitoring for XI- Part I
/people/michal.krawczyk2/blog/2005/11/23/xi-html-e-mails-from-the-receiver-mail-adapter - XI: HTML e-mails from the receiver mail adapter
/people/sap.user72/blog/2005/11/22/xi-faqs-provided-by-sap-updated - XI : FAQ's Provided by SAP
1) How-to Guides for SAP NetWeaver 2004 for SAP XI:
Exchange Infrastructure How-to Guides for SAP NetWeaver 2004 [original link is broken]
Regards
Anji -
Is its manditory to know abap or java to work as XI consultant
hai im kishore ... im working as R/3 basis admin ... i dont have any idea of abap or java but i want to learn XI ... is its manditory to know any programming lang to work on XI
Krishna,
Yes, u must know any programming language to work on XI. The reason i'm sayin this is bcoz it will help u to anlayze the process and design them without any flaw. Also , the ncessary of Java language is more added advantage. I won't say its mandatory, If you knew it then only u can learn XI more confidently. Bcoz Java is used in Mapping/Adapter module.So if you want to be strong in Mapping then Java is needed, not fully atleast the basic java is enough.
Its my point of view.
Best regards,
raj. -
Short dump Error during VM container communication between ABAP and JAVA.
Hello All,
Can anybody please help with resolving the following issue:
Short dump is displayed, when I try to insert CRM product (type: material) in the document (opportunity). This CRM product was created in CRM directly.
When I try to insert ECC migrated material, everything works fine.
Here is the details of dump:
Short text
Error during VM container communication between ABAP and JAVA
Information on where terminated
Termination occurred in the ABAP program "SAPLPRC_INT" - in "GET_PRICING_PROCEDURE_INFO".
The main program was "SAPMHTTP ". In the source code you have the termination point in line 100 of the (Include) program "LPRC_INTF35".
Thank you!hi Willie,
this is the dump, and i have used the t-code sm52 . the VMC is not active.
|Short Text |
| Error during VM Container communication between ABAP and JAVA. |
|What happened? |
| The current program had to be terminated because of an |
| error when installing the R/3 System. |
| Error in the RFC layer. |
|What can you do? |
| Note which actions and entries caused the error to occur. |
| |
| Consult your SAP administrator. |
| |
| Using transaction ST22 for ABAP dump analysis, you can view, manage, |
| and retain termination messages for longer periods. |
|Error analysis |
| An error has occurred in the RFC layer during communication between |
| JAVA and the ABAP stack. This prevents data from being passed correctly |
| between the two stacks. |
| |
| Message = TH_VMC_SERV_NOT_ACTIVE |
| Return code = -1007 |
| Pointer = "000007DD348F6138" |
|How to correct the error |
| Check whether the VMC is active on your application server. To do this, |
| run transaction SM52. If the VMC is not active, contact your SAP |
| administrator. |
Regards
Charles -
Java Mapping - Not able to compile .Java file
Hi Experts,
I am working with a sample scenario which involves Java Mapping. For this I created MappingClass.java file, After compiling the .Java file .Jar file would be used for Java Mapping by using Imported Archives.
After compiling the MappingClass.java file, I am getting the errors as below.
--> Java errors after compilation
C:\j2sdk1.4.2_13\bin>javac MappingClass.java
MappingClass.java:4: package com.sap.aii.mapping.api does not exist
import com.sap.aii.mapping.api.AbstractTrace;
^
MappingClass.java:5: package com.sap.aii.mapping.api does not exist
import com.sap.aii.mapping.api.StreamTransformationConstants;
--> End of java errors
In the MappingClass.java file, I had given followed imports.
import java.util.*;
import com.sap.aii.mapping.api.AbstractTrace;
import com.sap.aii.mapping.api.StreamTransformationConstants;
Could some one please guide me to resolve this issue.
Thanks in advance.
..SreeHi
I had copied " aii_map_api.jar " file in my Java Class path folder.. i.e " C:\j2sdk1.4.2_08\bin " AND " C:\j2sdk1.4.2_08\lib " folders too.. and even in C:\ i.e Root Drive also.
After trying to Compile my java file (ex : MappingClass.java), still I am getting the errors.
Errors shown as below.
--> Errors
C:\mytest>javac MappingClass.java
MappingClass.java:2: package com.sap.aii.mapping.api does not exist
import com.sap.aii.mapping.api.AbstractTrace;
^
MappingClass.java:3: package com.sap.aii.mapping.api does not exist
import com.sap.aii.mapping.api.StreamTransformationConstants;
^
MappingClass.java:6: cannot resolve symbol
symbol : class AbstractTrace
location: class MappingClass
private static AbstractTrace trace = null;
^
MappingClass.java:12: cannot resolve symbol
symbol : class AbstractTrace
location: class MappingClass
trace = (AbstractTrace)inputparam.get(
^
MappingClass.java:13: cannot resolve symbol
symbol : variable StreamTransformationConstants
location: class MappingClass
StreamTransformationConstants.MAPPING_TRACE );
^
5 errors
--> End of Errors
Could some one please guide me to resolve this issue.
Thanks in advance.
..Sree -
Mapping editor not working with Java 5 classes
I have a small protoype web service which I wrote using Tomcat/Axis/Spring/Hibernate and using EJB3 annotations for the mappings. I want to port the persistence layer to Toplink.
I installed Toplink 9.0.4.1 and added the toplink libraries to my project and implemented the DAO and the spring bean defs.
I opened the mapping editor and created a project. When I try to add classes to it for mapping I get an error that it can't find the classes (even though I selected them from the chooser). I figured it might be that they were compiled with Java 5, so I switched the JRE_HOME in setenv.cmd to my Java 5 JRE. Now I can import the classes and see the attributes but when I click on any of them in the Navigator panel, the editor panel remains blank. If I now try to save, I get:
java.lang.NullPointerException
at oracle.toplink.workbench.ui.tools.CheckListModel.getRowCount(CheckListModel.java:119)
at javax.swing.JTable.checkLeadAnchor(JTable.java:2949)
at javax.swing.JTable.tableChanged(JTable.java:2993)
at javax.swing.JTable.setModel(JTable.java:2827)
at oracle.toplink.workbench.ui.tools.CheckList.initialize(CheckList.java:47)
at oracle.toplink.workbench.ui.tools.CheckList.<init>(CheckList.java:26)
It seems that the mapping workbench doesnt work with Java 5. What should I do?Ah, I see. I saw another post here stating that must use 10.1.3.
Maybe you are looking for
-
Hi, User requirement here is , they want to use 1099 for certain vendors like contractors, some employees without the withholding tax code. Could anyone suggest me how to do this in vendor master records. Thanks
-
Dear Friends, In FBZP config bank determination step we have a folder called "expenses/charges" wherein we create a charge indicator and give the amount limit and the charge amount. Now while running BDC I can see the bank charges amount but its not
-
Macbook shutoff is a bad battery issue - free replacements offered
MacBook and MacBook Pro Battery Update 1.2 Apple has recently discovered that some batteries used in its MacBook and MacBook Pro notebooks may have battery performance issues. Apple is offering a software update that is designed to address these issu
-
My hard drive died, so I need a new serial number to reinstall Lightroom.
Hello, My hard drive died, so I need a new serial number to reinstall Lightroom. How do I go about having another serial number emailed to me? Thanks!
-
How I can change my security questions
How I can reset my security questions