RFC Lookup Fails

I have an integration scenario that features an RFC lookup.  This integration scenario works great in our development environment, but fails at runtime in our QA environment.  The mapping program executes correctly in the Integration Builder debugging tools - but not at runtime.
The parameter mappings are correct in both the DEV & QA environments.
I've refreshed the cache in both SXI_CACHE and performed a CPA Cache Refresh
SXMB_MONI reports the following error
  <SAP:Category>Application</SAP:Category>
  <SAP:Code area="MAPPING">RUNTIME_EXCEPTION</SAP:Code>
  <SAP:P1>Thrown: java.lang.NullPointerException: at com.s</SAP:P1>
  <SAP:P2>ap.guid.GUID.parseHexGUID(GUID.java:1015) at com.</SAP:P2>
  <SAP:P3>sap.guid.GUIDGenerator.parseHexGUID(GUIDGenerator.</SAP:P3>
  <SAP:P4>java:111) at com.sap.aii.utilxi.misc.api.GUIDFac~</SAP:P4>
  <SAP:AdditionalText />
  <SAP:Stack>Runtime exception occurred during mapping</SAP:Stack>
  <SAP:Retry>M</SAP:Retry>
I've done searches here on SDN and found similar scenarios that broke down into either cache problems or as overlooked parameter mapping.  Neither of those seems to be my problem.
Is there anything I've overlooked?
<< Moderator message - Please do not promise points >>
Edited by: Rob Burbank on Jan 13, 2011 4:20 PM

Could you verify if the configuration in the Directory (interface determination etc) is complete?
Yes, the deployment configuration is correct and the interface determination step correctly uses parameter mapping to pass a reference to the communication channel.
Check your rfc communication channel works
Yes, I can prove that the RFC communication channel works.  I can start the Enterprise Services Builder and test my mapping program.  In the parameters tab of the test page, I select the RFC communication channel.  All of those test work correctly.  My RFC executes and I'm getting the correct results.
That's the frustrating part - it tests correctly in the QA Ent Serv builder, but fails when deployed.
can you check in channel monitoring whether the channel used for RFC lookup is green and it has processed the Message which was sent at runtime.
In runtime workbench, I can see that the RFC comm channel is green.  If I drill down into the comm channel, I can see the processing details for the message I just tested in Ent Serv Builder. 
If I restart a failed message from SXMB_MONI - and then refresh the communication channel details, I do NOT see activity on the communication channel.  So that leads me to believe that failure occurs prior to making the RFC call - and isn' related to some sort of bad response from the communication channel.
Edited by: Terry Riedel on Jan 14, 2011 12:02 PM

Similar Messages

  • RFC Lookup's in message mapping fail with RuntimeException for no reason

    Hi guys,
    We have developed interfaces that execute a lot of RFC's from Message Mapping, by making use of RFC Lookup API.
    In ID, in the corresponding RFC Receiver Communication Channel we have set the number of maximum connections to 100.
    However, when a big number of Idocs with lots of items is sent to XI some messages fail in XI because mapping fails with a runtime exception that is not correct, since there is a return value found from the execution of the RFC function. And when I am testing the mapping in Test mode of XI IR, the mapping is executed successfully.
    Do you think that by increasing the maximum number of connections in Communication Channel, it will take effect?
    Evaggelos

    Hi Evaggelos,
    DECREASE, may be til 10.
    Regards,
    Udo

  • 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,
    Atul

    Hi 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

  • Exception in RFC Lookup

    Hi Experts,
    I have a query in Graphical RFC Lookup function.
    I am working on Pi 7.1 and scenario is File to Idoc.
    In the file, material number is coming, and I have to find out the corresponding Customer number from ECC table using RFC Lookup.
    I know how to use RFC lookup.
    But here issue is, if Customer Number is not maintained in the ECC table for the incoming material number, then exception should be thrown and processing should be stopped at that moment.
    Please tell me how to throw this exception and hence fail the mapping.
    -Supriya.

    Hi ,
    I guess you want to fail the message transformation at Message mapping level with Red Error in Monitoring , If LOOKUP return Nothing ...
    What You can Do Is , Instead of RFC LOOKUP Function , Use UDF Based RFC LOOKUP , and Inside UDF you can easily raise exception.
    Or
    In Grapphical Message mapping pass the result from RFCLOOKUP To a 1..1 Target , if during transfermation if 1..1 node will not get any value , so mapping will get failed automatoicaly ..
    hope the idea Helps
    regards
    PS

  • Exception during processing the payload in RFC Lookup through XSLT

    Hi All,
    We are working on a scenario which does a RFC lookup through the XSLT mapping.
    While testing the XSL in he Interface mapping an Exception is generated:
    19:06:32 Start of test
    Call XSLT processor with stylsheet UKMGetKeyMapLatest.xsl.
    START APPLICATION TRACE ***
    reqNode<?xml version="1.0" encoding="UTF-8"?><rfc:UKM_GET_KEY_MAPPINGS xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><UKM_GET_KEY_MAPPING_Request>
    <b><b><b>LookupException com.sap.aii.mapping.lookup.LookupException: Exception during processing the payload.Problem when calling an adapter by using communication channel RFC_RCV_UKMS_TO_ISV_CSV_CSV (Party: , Service: RM_DEV_PI_ISV_001, Object ID: c09e707cfb253c8997dc2451cb83e3cd) XI AF API call failed. Module exception: 'error while processing the request to rfc-client: com.sap.aii.af.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$Exception</b></b></b>: (130) JCO_ERROR_XML_PARSER: Unexpecting end of buffer after <UKM_GET_KEY_MAPPING_Request>'. Cause Exception: 'error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$Exception: (130) JCO_ERROR_XML_PARSER: Unexpecting end of buffer after <UKM_GET_KEY_MAPPING_Request>'. com.sap.aii.mapping.lookup.LookupException: Problem when calling an adapter by using communication channel RFC_RCV_UKMS_TO_ISV_CSV_CSV (Party: , Service: RM_DEV_PI_ISV_001, Object ID: c09e707cfb253c8997dc2451cb83e3cd) XI AF API call failed. Module exception: 'error while processing the request to rfc-client: com.sap.aii.af.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$Exception: (130) JCO_ERROR_XML_PARSER: Unexpecting end of buffer after <UKM_GET_KEY_MAPPING_Request>'. Cause Exception: 'error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$Exception: (130) JCO_ERROR_XML_PARSER: Unexpecting end of buffer after <UKM_GET_KEY_MAPPING_Request>'. at com.sap.aii.ibrun.server.lookup.AdapterProxyLocal.process(AdapterProxyLocal.java:96) at com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.call(SystemAccessorInternal.java:47) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:141) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:74) at com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:169) at com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:178) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:296) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:211) at com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:496) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:634) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: com.sap.aii.af.service.api.AFException: XI AF API call failed. Module exception: 'error while processing the request to rfc-client: com.sap.aii.af.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$Exception: (130) JCO_ERROR_XML_PARSER: Unexpecting end of buffer after <UKM_GET_KEY_MAPPING_Request>'. Cause Exception: 'error while processing message to remote system:com.sap.aii.af.rfc.core.client.RfcClientException: could not convert request from XML to RFC:com.sap.mw.jco.JCO$Exception: (130) JCO_ERROR_XML_PARSER: Unexpecting end of buffer after <UKM_GET_KEY_MAPPING_Request>'. at com.sap.aii.af.service.api.AdapterAccess.sendMsg(AdapterAccess.java:214) at com.sap.aii.af.service.api.AdapterAccess.call(AdapterAccess.java:99) at com.sap.aii.ibrun.server.lookup.AdapterProxyLocal.process(AdapterProxyLocal.java:87) at com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.call(SystemAccessorInternal.java:47) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:141) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:74) at com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:169) at com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:178) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:296) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:211) at com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:496) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:634) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    END APPLICATION TRACE ***
    TransfromerException during XSLT processing:
    javax.xml.transform.TransformerException: com.sap.engine.lib.xml.util.NestedException: Illegal number of arguments or types of arguments in a call of function 'lookup:getNodeContent'. at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:251) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingTransformer.transform(RepMappingTransformer.java:150) at com.sap.aii.ibrep.server.mapping.ibrun.RepXSLTMapping.execute(RepXSLTMapping.java:81) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingHandler.run(RepMappingHandler.java:80) at com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:107) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInterfaceMapping(ServerMapService.java:127) at com.sap.aii.ibrep.server.mapping.ServerMapService.transform(ServerMapService.java:104) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.transform(MapServiceBean.java:40) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.transform(MapServiceRemoteObjectImpl0_0.java:167) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:104) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Caused by: com.sap.engine.lib.xml.util.NestedException: Illegal number of arguments or types of arguments in a call of function 'lookup:getNodeContent'. at com.sap.engine.lib.xsl.xpath.ETFunction.evaluate(ETFunction.java:106) at com.sap.engine.lib.xsl.xpath.XPathProcessor.innerProcess(XPathProcessor.java:56) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:43) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:51) at com.sap.engine.lib.xsl.xslt.XSLValueOf.process(XSLValueOf.java:76) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLTemplate.process(XSLTemplate.java:272) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:463) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:431) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:394) at com.sap.engine.lib.jaxp.TransformerImpl.transformWithStylesheet(TransformerImpl.java:398) at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:240) ... 18 more -
    com.sap.engine.lib.xml.util.NestedException: Illegal number of arguments or types of arguments in a call of function 'lookup:getNodeContent'. at com.sap.engine.lib.xsl.xpath.ETFunction.evaluate(ETFunction.java:106) at com.sap.engine.lib.xsl.xpath.XPathProcessor.innerProcess(XPathProcessor.java:56) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:43) at com.sap.engine.lib.xsl.xpath.XPathProcessor.process(XPathProcessor.java:51) at com.sap.engine.lib.xsl.xslt.XSLValueOf.process(XSLValueOf.java:76) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLElement.process(XSLElement.java:248) at com.sap.engine.lib.xsl.xslt.XSLNode.processFromFirst(XSLNode.java:296) at com.sap.engine.lib.xsl.xslt.XSLTemplate.process(XSLTemplate.java:272) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:463) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:431) at com.sap.engine.lib.xsl.xslt.XSLStylesheet.process(XSLStylesheet.java:394) at com.sap.engine.lib.jaxp.TransformerImpl.transformWithStylesheet(TransformerImpl.java:398) at com.sap.engine.lib.jaxp.TransformerImpl.transform(TransformerImpl.java:240) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingTransformer.transform(RepMappingTransformer.java:150) at com.sap.aii.ibrep.server.mapping.ibrun.RepXSLTMapping.execute(RepXSLTMapping.java:81) at com.sap.aii.ibrep.server.mapping.ibrun.RepMappingHandler.run(RepMappingHandler.java:80) at com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:107) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInterfaceMapping(ServerMapService.java:127) at com.sap.aii.ibrep.server.mapping.ServerMapService.transform(ServerMapService.java:104) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.transform(MapServiceBean.java:40) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0.transform(MapServiceRemoteObjectImpl0_0.java:167) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0_0p4_Skel.dispatch(MapServiceRemoteObjectImpl0_0p4_Skel.java:104) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    19:06:42 End of test <b></b>
    Can any one please help in sorting this out?
    Thanks in advance.
    Sri..

    check with this:
    <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/05a3d62e-0a01-0010-14bc-adc8efd4ee14">https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/05a3d62e-0a01-0010-14bc-adc8efd4ee14</a>

  • Can not perform RFC  lookup

    Hi All,
    We are getting below error in doing testing in PI mapping.We are calling a RFC function module in PI.
    Cannot perform RFC lookup com.sap.aii.mapping.api.StreamTransformationException: Cannot perform RFC lookup at com.sap.aii.mappingtool.flib7.RfcLookup.cacheMore(RfcLookup.java:105) at com.sap.aii.mappingtool.tf7.rt.AMultiResIterator$MultiOutIterator.gotoNextContext(AMultiResIterator.java:95) at com.sap.aii.mappingtool.tf7.AMappingProgram.processNode(AMappingProgram.java:299) at com.sap.aii.mappingtool.tf7.AMappingProgram.processNode(AMappingProgram.java:395) at com.sap.aii.mappingtool.tf7.AMappingProgram.processNode(AMappingProgram.java:395) at com.sap.aii.mappingtool.tf7.AMappingProgram.start(AMappingProgram.java:482) at com.sap.aii.mappingtool.tf7.Transformer.start(Transformer.java:133) at com.sap.aii.mappingtool.tf7.AMappingProgram.transform(AMappingProgram.java:612) at com.sap.aii.ibrep.server.mapping.exec.ExecuteXiMappingCommand.transformInternal(ExecuteXiMappingCommand.java:197) at com.sap.aii.ibrep.server.mapping.exec.ExecuteXiMappingCommand.execute(ExecuteXiMappingCommand.java:94) at com.sap.aii.ib.server.mapping.exec.CommandManager.execute(CommandManager.java:43) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:40) at com.sap.aii.ibrep.server.mapping.MapServiceBean.execute(MapServiceBean.java:40) at sun.reflect.GeneratedMethodAccessor743.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:43) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:71) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:189) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:16) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177) at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133) at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164) at $Proxy1621.execute(Unknown Source) at sun.reflect.GeneratedMethodAccessor742.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.sap.engine.services.rmi_p4.P4DynamicSkeleton.dispatch(P4DynamicSkeleton.java:234) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:351) at com.sap.engine.services.rmi_p4.server.ServerDispatchImpl.run(ServerDispatchImpl.java:70) at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:62) at com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:37) at com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:872) at com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:53) at com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:58) at com.sap.engine.core.thread.execution.Executable.run(Executable.java:108) at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:304) Caused by: com.sap.aii.mapping.lookup.LookupException: Exception during processing the payload. Error when calling an adapter by using the communication channel BigWRFCReceiver (Party: , Service: KD3_300, Object ID: 4dcd47e22ff0367ea3779fe0e9dc7fd2) XI AF API call failed. Module exception: 'error while processing the request to rfc-client: com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: RfcAdapter: receiver channel has static errors: can not instantiate RfcPool caused by: com.sap.aii.adapter.rfc.RfcAdapterException: error initializing RfcClientPool:com.sap.aii.adapter.rfc.core.repository.RfcRepositoryException: can not connect to destination system due to: com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to SAP gateway failed Connect_PM TYPE=A ASHOST=KD3.AP.CSPLC.ORG SYSNR=22 GWHOST=KD3.AP.CSPLC.ORG GWSERV=sapgw22 PCS=1  LOCATION CPIC (TCP/IP) on local host with Unicode ERROR partner '10.227.148.123:sapgw22' not reached TIME Fri Aug 6 02:11:46 201 RELEASE 710 COMPONENT NI (network interface) VERSION 39 RC -10 MODULE nixxi.cpp LINE 2778 DETAIL NiPConnect: 10.227.148.123:3322 SYSTEM CALL connect ERRNO 239 ERRNO TEXT Connection refused COUNTER 27 '. Cause Exception: 'com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: RfcAdapter: receiver channel has static errors: can not instantiate RfcPool caused by: com.sap.aii.adapter.rfc.RfcAdapterException: error initializing RfcClientPool:com.sap.aii.adapter.rfc.core.repository.RfcRepositoryException: can not connect to destination system due to: com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to SAP gateway failed Connect_PM TYPE=A ASHOST=KD3.AP.CSPLC.ORG SYSNR=22 GWHOST=KD3.AP.CSPLC.ORG GWSERV=sapgw22 PCS=1  LOCATION CPIC (TCP/IP) on local host with Unicode ERROR partner '10.227.148.123:sapgw22' not reached TIME Fri Aug 6 02:11:46 201 RELEASE 710 COMPONENT NI (network interface) VERSION 39 RC -10 MODULE nixxi.cpp LINE 2778 DETAIL NiPConnect: 10.227.148.123:3322 SYSTEM CALL connect ERRNO 239 ERRNO TEXT Connection refused COUNTER 27 '. com.sap.aii.mapping.lookup.LookupException: Error when calling an adapter by using the communication channel BigWRFCReceiver (Party: , Service: KD3_300, Object ID: 4dcd47e22ff0367ea3779fe0e9dc7fd2) XI AF API call failed. Module exception: 'error while processing the request to rfc-client: com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: RfcAdapter: receiver channel has static errors: can not instantiate RfcPool caused by: com.sap.aii.adapter.rfc.RfcAdapterException: error initializing RfcClientPool:com.sap.aii.adapter.rfc.core.repository.RfcRepositoryException: can not connect to destination system due to: com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to SAP gateway failed Connect_PM TYPE=A ASHOST=KD3.AP.CSPLC.ORG SYSNR=22 GWHOST=KD3.AP.CSPLC.ORG GWSERV=sapgw22 PCS=1  LOCATION CPIC (TCP/IP) on local host with Unicode ERROR partner '10.227.148.123:sapgw22' not reached TIME Fri Aug 6 02:11:46 201 RELEASE 710 COMPONENT NI (network interface) VERSION 39 RC -10 MODULE nixxi.cpp LINE 2778 DETAIL NiPConnect: 10.227.148.123:3322 SYSTEM CALL connect ERRNO 239 ERRNO TEXT Connection refused COUNTER 27 '. Cause Exception: 'com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: RfcAdapter: receiver channel has static errors: can not instantiate RfcPool caused by: com.sap.aii.adapter.rfc.RfcAdapterException: error initializing RfcClientPool:com.sap.aii.adapter.rfc.core.repository.RfcRepositoryException: can not connect to destination system due to: com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to SAP gateway failed Connect_PM TYPE=A ASHOST=KD3.AP.CSPLC.ORG SYSNR=22 GWHOST=KD3.AP.CSPLC.ORG GWSERV=sapgw22 PCS=1  LOCATION CPIC (TCP/IP) on local host with Unicode ERROR partner '10.227.148.123:sapgw22' not reached TIME Fri Aug 6 02:11:46 201 RELEASE 710 COMPONENT NI (network interface) VERSION 39 RC -10 MODULE nixxi.cpp LINE 2778 DETAIL NiPConnect: 10.227.148.123:3322 SYSTEM CALL connect ERRNO 239 ERRNO TEXT Connection refused COUNTER 27 '. at com.sap.aii.ibrun.server.lookup.AdapterProxyLocal.process(AdapterProxyLocal.java:92) at com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.call(SystemAccessorInternal.java:55) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:140) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:73) at com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:167) at com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:212) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:337) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:238) at com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:532) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:670) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:66) at com.sap.engine.services.servlets_jsp.server.Invokable.invoke(Invokable.java:32) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:431) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:289) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:376) at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:85) at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71) at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:160) at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71) at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:67) at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9) at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71) at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60) at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9) at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71) at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27) at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12) at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71) at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29) at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12) at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:71) at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:295) at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.run(Processor.java:222) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:152) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:247) Caused by: com.sap.aii.af.service.api.AFException: XI AF API call failed. Module exception: 'error while processing the request to rfc-client: com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: RfcAdapter: receiver channel has static errors: can not instantiate RfcPool caused by: com.sap.aii.adapter.rfc.RfcAdapterException: error initializing RfcClientPool:com.sap.aii.adapter.rfc.core.repository.RfcRepositoryException: can not connect to destination system due to: com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to SAP gateway failed Connect_PM TYPE=A ASHOST=KD3.AP.CSPLC.ORG SYSNR=22 GWHOST=KD3.AP.CSPLC.ORG GWSERV=sapgw22 PCS=1  LOCATION CPIC (TCP/IP) on local host with Unicode ERROR partner '10.227.148.123:sapgw22' not reached TIME Fri Aug 6 02:11:46 201 RELEASE 710 COMPONENT NI (network interface) VERSION 39 RC -10 MODULE nixxi.cpp LINE 2778 DETAIL NiPConnect: 10.227.148.123:3322 SYSTEM CALL connect ERRNO 239 ERRNO TEXT Connection refused COUNTER 27 '. Cause Exception: 'com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: RfcAdapter: receiver channel has static errors: can not instantiate RfcPool caused by: com.sap.aii.adapter.rfc.RfcAdapterException: error initializing RfcClientPool:com.sap.aii.adapter.rfc.core.repository.RfcRepositoryException: can not connect to destination system due to: com.sap.mw.jco.JCO$Exception: (102) RFC_ERROR_COMMUNICATION: Connect to SAP gateway failed Connect_PM TYPE=A ASHOST=KD3.AP.CSPLC.ORG SYSNR=22 GWHOST=KD3.AP.CSPLC.ORG GWSERV=sapgw22 PCS=1  LOCATION CPIC (TCP/IP) on local host with Unicode ERROR partner '10.227.148.123:sapgw22' not reached TIME Fri Aug 6 02:11:46 201 RELEASE 710 COMPONENT NI (network interface) VERSION 39 RC -10 MODULE nixxi.cpp LINE 2778 DETAIL NiPConnect: 10.227.148.123:3322 SYSTEM CALL connect ERRNO 239 ERRNO TEXT Connection refused COUNTER 27 '. at com.sap.aii.af.service.api.AdapterAccess.sendMsg(AdapterAccess.java:214) at com.sap.aii.af.service.api.AdapterAccess.call
    Please sugets how to resolve this issue.
    Thanks
    Mohit

    Hi Mohit,
    Do full CACHE refresh.
    http://<host>:5<sys#>00/CPACache/refresh?mode=full
    This may solve the issue.
    Thanks,
    Vijay.

  • Handling PI 7.1 RFC Lookup Exception in Graphical Mapping

    Dear Experts,
              I would like to know the better way of handling PI 7.1 - RFC Lookup Exception in Graphical Mapping without using  BPM. Say I perform a RFC Lookup from PI 7.1 Graphical Mapping and it fails due to RFC server down. In this case I suppose the RFC exception would be returned as response to the mapping? But, am really not sure how this response (RFC Exception) could be effectively used. Please clarify.
    Thanks,
    Hussain.
    Edited by: HussainShaik on Oct 26, 2009 8:24 AM

    Hi Hussain,
    I am not sure if I understood you query completely.
    IF the RFC look up raised some exception then how this is going to impact your interface will depend your mapping (which you did in ESR)
    (the following is adopted from help.sap,com)
    If you handled exceptions  by selecting Use Exceptions checkbox in the function properties of the standard function, the mapping editor adds an additional parameter in red (the bottommost return parameter) to the standard function in the data-flow editor. If you do not assign a target field to this return parameter, ignore the RFC exceptions (the message mapping is not terminated at runtime). Otherwise the mapping runtime transfers the exception as an XML structure and it can then be evaluated in a user-defined function, for example. If there is no exception, the mapping runtime transfers an empty context.
    If you have not selected the Use Exceptions checkbox, the mapping runtime terminates the message mapping if an exception occurs during the RFC lookup.
    Is this you are looking here?
    Also check this thread and help.sap site
    Re: SAP-PI - RFC call to SAP backend system
    http://help.sap.com/saphelp_nwpi71/helpdata/en/33/1ec6ced273493a993a80c2301c03da/content.htm
    Regards
    Suraj

  • Error in START_SHDI_FIRST... RFC logon fails

    Hello All,
    I cannot get past a step in the enhancement package 4  installation.  The step is called:  START_SHDI_FIRST. The error says to troubleshoot by looking at 2 logs,  STARTSFI.LOG  and DEVTRACE.log.   extracted below.
    The problem can be described this way. The step begins as the installer tries to start the shadow system.   The first attempt stopped and I could see that the shadow was not started.  I used the information in note 525677 to manually start the shadow and could verify that it was starting. 
    The screen says to retry until I can logon to the shadow.   I am able to logon as user SAP* with password pass in client 000.   I am not able to logon as myself and receive the message: Logon not possible (error in license check). 
    As SAP* I use the transaction SLICENSE, and could see that the maintenance certificate had expired. I loaded that certificate without an error.
    I also see that the hardware key information is missing.  SAP* is not allowed to update that information.
    I believe that no other user will be able to logon as long as the license is an issue.   The installer is trying to do a remote logon to verify that the system is up (my interpretation) .
    I also see this information in the shadow system dev_W1 log.
    M  *** ERROR => ThMsGetHardwareId: ThOpcodeToMsg failed (1) [thxxmsg.c    3095]                                                                
    M  ***LOG Q16=> ThGetMsHwId, DpMBufHwIdGet (HWID_PENDING) [thxxmbuf.c   511]                                                                   
    M  *** ERROR => SlicLikeyGetHardwareKey: no hwid from MSG server: -1 [sliclikey.c  1301]                                                       
    M  *** ERROR => likey_get_validity_dates: Error getting the hardware key. You might find some information in file "dev_ms" on the message server
    M                                                                               
    M Thu Jul 29 15:18:28 2010                                                                               
    M  *** ERROR => ThCheckReqInfo: message send/receive failed [thxxhead.c   17580]                                                               
    M                                                                               
    M  Modeinfo for User T8/M1                                                                               
    So, am I correct in seeing that the missing hardware key is the problem in the shadow system?   Any ideas would be appreciated,  otherwise I will clear the systems out and start over.  Thanks.
    Pat.
    Below is the DEVTRACE   (extract)
    Directory:  /usr/sap/TEH/EHPI/abap/log
    Name:       DEVTRACE.LOG
    trc file: "dev_disp.new", trc level: 1, release: "701"
    sysno      15
    sid        TEH
    systemid   324 (IBM iSeries with OS400)
    relno      7010
    patchlevel 0
    patchno    69
    intno      20020600
    make:      single threaded, ASCII, 64 bit, optimized
    pid        103802
    Thu Jul 29 14:54:58 2010
    kernel runs with dp version 243(ext=110) (@(#) DPLIB-INT-VERSION-243)
    length of sys_adm_ext is 364 bytes
    SWITCH TRC-HIDE on ***
    ***LOG Q00=> DpSapEnvInit, DPStart (15 103802) [dpxxdisp.c   1287]
         shared lib "dw_xml.so" version 69 successfully loaded
         shared lib "dw_xtc.so" version 69 successfully loaded
         shared lib "dw_stl.so" version 69 successfully loaded
         shared lib "dw_gui.so" version 69 successfully loaded
         shared lib "dw_mdm.so" version 69 successfully loaded
    rdisp/softcancel_sequence :  -> 0,5,-1
    use internal message server connection to port 3615
    MtxInit: 30000 0 0
    Thu Jul 29 14:54:59 2010
    MBUF state OFF
    DpCommInitTable: init table for 500 entries
    rdisp/queue_size_check_value :  -> off
    ThTaskStatus: rdisp/reset_online_during_debug 0
    EmInit: MmSetImplementation( 2 ).
    MM global diagnostic options set: 0
    <ES> client 0 initializing ....
    <ES> InitFreeList
    <ES> block size is 4096 kByte.
    Using implementation std
    <ES> Info: use normal pages (no huge table support available)
    EsStdUnamFileMapInit: ES base = 0x7000000b0000000
    EsStdInit: Extended Memory 4096 MB allocated
    <ES> 1023 blocks reserved for free list.
    ES initialized.
    mm.dump: set maximum dump mem to 96 MB
    Thu Jul 29 14:55:00 2010
    WARNING => System running without ICM - check rdisp/start_icman [dpxxdisp.c   13279]
    DpSetProcessPriority: Run priority for work process startup adjusted to 20
    DpSetProcessPriority: Run priority for work process startup adjusted to 20
    Thu Jul 29 14:55:01 2010
    rdisp/http_min_wait_dia_wp : 1 -> 1
    ***LOG Q0I=> NiPConnect: connect (79: Connection refused) [nixxi.cpp 2519]
    ERROR => NiPConnect: SiConnect failed for hdl 2 / sock 9
        (SI_ECONN_REFUSE/79; I4; ST; 10.127.0.100:3615) [nixxi.cpp    2519]
    ERROR => MsIAttachEx: NiBufConnect to omni/3615 failed (rc=NIECONN_REFUSED) [msxxi.c      652]
    ***LOG Q0L=> DpLoopInit, nomscon () [dpxxdisp.c   1816]
    Thu Jul 29 14:55:19 2010
    CCMS: AlInitGlobals : alert/use_sema_lock = TRUE.
    Thu Jul 29 14:55:53 2010
    ***LOG Q0I=> NiPConnect: connect (79: Connection refused) [nixxi.cpp 2519]
    ERROR => NiPConnect: SiConnect failed for hdl 3 / sock 10
        (SI_ECONN_REFUSE/79; I4; ST; 10.127.0.100:3615) [nixxi.cpp    2519]
    ERROR => MsIAttachEx: NiBufConnect to omni/3615 failed (rc=NIECONN_REFUSED) [msxxi.c      652]
    Thu Jul 29 14:56:34 2010
    ERROR => MsISnd2: not_attached [msxxi.c      1321]
    ***LOG Q0N=> DpRqNoWpHandle, MsSndName () [dpxxdisp.c   5007]
    trc file: "dev_ms", trc level: 1, release: "701"
    [Thr 01] Thu Jul 29 14:54:56 2010
    [Thr 01] MsSOsPrivInit: Run priority adjusted to 12
    [Thr 01] MsSSetTrcLog: trc logging active, max size = 20971520 bytes
    systemid   324 (IBM iSeries with OS400)
    relno      7010
    patchlevel 0
    patchno    63
    intno      20020600
    make:      multithreaded, ASCII, 64 bit, optimized
    pid        103801
    [Thr 01] ***LOG Q01=> MsSInit, MSStart (Msg Server 1 103801) [msxxserv_mt. 1853]
    [Thr 01] Thu Jul 29 14:54:57 2010
    [Thr 01] SigISetDefaultAction : default handling for signal 20
    [Thr 01] ***LOG Q0I=> NiIBindSocket: bind (67: Address already in use) [nixxi.cpp 3239]
    [Thr 01] *** ERROR => NiIBindSocket: SiBind failed for hdl 1 / sock 7
        (SI_EPORT_INUSE/67; I4; ST; 0.0.0.0:3615) [nixxi.cpp    3239]
    [Thr 01] *** ERROR => MsSCommInit: NiBufListen(3615) (rc=NIESERV_USED) [msxxserv_mt. 10222]
    [Thr 01] *** ERROR => MsSInit: MsSCommInit (internal) [msxxserv_mt. 1903]
    [Thr 01] *** ERROR => main: MsSInit [msxxserv_mt. 5983]
    [Thr 01] ***LOG Q02=> MsSHalt, MSStop (Msg Server 103801) [msxxserv_mt. 6030]
    trc file: "dev_rd", trc level: 1, release: "701"
    Thu Jul 29 14:55:00 2010
    Shared memory semaphore administration area size = 10608
    Thu Jul 29 14:55:06 2010
    ***LOG S00=> GwInitReader, gateway started ( 103807) [gwxxrd.c     1758]
    systemid   324 (IBM iSeries with OS400)
    relno      7010
    patchlevel 0
    patchno    68
    intno      20020600
    make:      single threaded, ASCII, 64 bit, optimized
    pid        103807
    gateway runs with dp version 243(ext=110) (@(#) DPLIB-INT-VERSION-243)
    gateway (version=701.2009.09.28)
    gw/local_addr : 0.0.0.0
    CCMS: AlInitGlobals : alert/use_sema_lock = TRUE.
    CCMS: Initalizing shared memory of size 40000000 for monitoring segment.
    Thu Jul 29 14:55:09 2010
    CCMS: Checking Downtime Configuration of Monitoring Segment.
    Bind service sapgw15 (socket) to port 3315
    GwPrintMyHostAddr: my host addresses are :
      1 : [10.127.0.100] omni (HOSTNAME)
      2 : [127.0.0.1] LOOPBACK (LOCALHOST)
    Full qualified hostname = omni.plastekgroup.com
    DpSysAdmExtCreate: ABAP is active
    DpSysAdmExtCreate: VMC (JAVA VM in WP) is not active
    MtxInit: -2 0 0
    Thu Jul 29 14:55:47 2010
    GwDpInit: attached to gw_adm at 700000080599e90
    Thu Jul 29 14:55:48 2010
    DpSetProcessPriority: Run priority for gwrd adjusted to 12
    AN EXTRACT OF STARTSFI_LOG
    Directory:  /usr/sap/TEH/EHPI/abap/log
    Name:       STARTSFI.LOG
    1 ETQ201 Entering upgrade-phase "START_SHDI_FIRST" ("20100729145436")
    2 ETQ367 Connect variables are set for standard instance access
    4 ETQ399 System-nr = '14', GwService = 'sapgw14'
    4 ETQ399 Environment variables:
    4 ETQ399   dbs_db4_schema=<null>
    4 ETQ399   auth_shadow_upgrade=<null>
    4 ETQ399 Set environment for standard connect:
    4 ETQ399 ENV: dbs_db4_schema=SAPR3
    4 ETQ399 ENV: auth_shadow_upgrade=0
    4 ETQ399 Set RFC variables for standard connect:
    4 ETQ399 System-nr = '14', GwService = 'sapgw14'
    4 ETQ399 Set tool parameters for standard connect:
    4 ETQ399   default TPPARAM: DEFAULT.TPP
    1 ETQ206 Executing pre-phase DB specific actions.
    1 ETQ206 Executing pre-phase DB specific actions.
    1 ETQ200 Executing actual phase 'MAIN_SHADOW/START_SHDI_FIRST'.
    1 ETQ399 Phase arguments:
    2 ETQ399 Arg[0] = 'DEVTRACE.LOG'
    4 ETQ399 Set environment for shadow connect:
    4 ETQ399 ENV: dbs_db4_schema=SAPR3
    4 ETQ399 ENV: auth_shadow_upgrade=1
    4 ETQ399 Set RFC variables for shadow connect:
    4 ETQ399 System-nr = '15', GwService = 'sapgw15'
    4 ETQ399 Set tool parameters for shadow connect:
    4 ETQ380 computing toolpath for request "TP_SHADOW_CONNECT"
    4 ETQ381 request "TP_SHADOW_CONNECT" means "tp needs to connect to shadow system"
    4 ETQ382 translates to group "R3UP_TOOL_GROUP_NEW"
    4 ETQ383 translates to path "exe"
    4 ETQ383 translates to path "exe"
    4 ETQ399   default TPPARAM: SHADOW.TPP
    4 ETQ380 computing toolpath for request "TP_ALWAYS_NEW"
    4 ETQ381 request "TP_ALWAYS_NEW" means "always tp from DIR_PUT/exe, for phase KX_SWITCH"
    4 ETQ382 translates to group "R3UP_TOOL_GROUP_NEW"
    4 ETQ383 translates to path "exe"
    4 ETQ383 translates to path "exe"
    2 ETQ399 Starting shadow instance
    4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
    4 ETQ232 RFC Login succeeded
    4 ETQ233 Calling function module "UPG_IS_SHADOW_SYSTEM" by RFC
    4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
    4 ETQ232 RFC Login succeeded
    2EETQ235 Call of function module "UPG_IS_SHADOW_SYSTEM" by RFC failed (error-status "-3")
    4 ETQ239 Logging off from SAP system
    2 ETQ399 Stopping shadow instance
    4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
    2 ETQ231 RFC Login failed
    4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
    2 ETQ231 RFC Login failed
    2 ETQ353 Starting system
    3 ETQ399 Executing command: 'startsap  SID(TEH) INSTANCE(15) PROFILE('/usr/sap/TEH/EHPI/abap/TEH/SYS/profile/START_DVEBMGS15_omni')'.
    2 ETQ370 starting test RFC
    4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
    4 ETQ232 RFC Login succeeded
    4 ETQ233 Calling function module "UPG_IS_SHADOW_SYSTEM" by RFC
    4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
    4 ETQ232 RFC Login succeeded
    2EETQ235 Call of function module "UPG_IS_SHADOW_SYSTEM" by RFC failed (error-status "-3")
    4 ETQ239 Logging off from SAP system
    2WETQ372 test RFC failed, rc="-1"
    2 ETQ370 starting test RFC
    4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
    4 ETQ232 RFC Login succeeded
    4 ETQ233 Calling function module "UPG_IS_SHADOW_SYSTEM" by RFC
    4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
    4 ETQ232 RFC Login succeeded
    2EETQ235 Call of function module "UPG_IS_SHADOW_SYSTEM" by RFC failed (error-status "-3")
    4 ETQ239 Logging off from SAP system
    2WETQ372 test RFC failed, rc="-1"
    2 ETQ370 starting test RFC
    4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
    4 ETQ232 RFC Login succeeded
    4 ETQ233 Calling function module "UPG_IS_SHADOW_SYSTEM" by RFC
    4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
    4 ETQ232 RFC Login succeeded
    2EETQ235 Call of function module "UPG_IS_SHADOW_SYSTEM" by RFC failed (error-status "-3")
    4 ETQ239 Logging off from SAP system
    2WETQ372 test RFC failed, rc="-1"
    2 ETQ370 starting test RFC
    4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
    4 ETQ232 RFC Login succeeded
    4 ETQ233 Calling function module "UPG_IS_SHADOW_SYSTEM" by RFC
    4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
    4 ETQ232 RFC Login succeeded
    2EETQ235 Call of function module "UPG_IS_SHADOW_SYSTEM" by RFC failed (error-status "-3")
    4 ETQ239 Logging off from SAP system
    2WETQ372 test RFC failed, rc="-1"
    2 ETQ370 starting test RFC
    4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
    4 ETQ232 RFC Login succeeded
    4 ETQ233 Calling function module "UPG_IS_SHADOW_SYSTEM" by RFC
    4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
    4 ETQ232 RFC Login succeeded
    2EETQ235 Call of function module "UPG_IS_SHADOW_SYSTEM" by RFC failed (error-status "-3")
    4 ETQ239 Logging off from SAP system
    2WETQ372 test RFC failed, rc="-1"
    2 ETQ370 starting test RFC
    4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
    4 ETQ232 RFC Login succeeded
    4 ETQ233 Calling function module "UPG_IS_SHADOW_SYSTEM" by RFC
    4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
    4 ETQ232 RFC Login succeeded
    2EETQ235 Call of function module "UPG_IS_SHADOW_SYSTEM" by RFC failed (error-status "-3")
    4 ETQ239 Logging off from SAP system
    2WETQ372 test RFC failed, rc="-1"
    2 ETQ370 starting test RFC
    4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
    4 ETQ232 RFC Login succeeded
    4 ETQ233 Calling function module "UPG_IS_SHADOW_SYSTEM" by RFC
    4 ETQ359 RFC Login to: System="TEH", Nr="15", GwHost="omni", GwService="sapgw15"
    4 ETQ232 RFC Login succeeded
    2EETQ235 Call of function module "UPG_IS_SHADOW_SYSTEM" by RFC failed (error-status "-3")
    4 ETQ239 Logging off from SAP system
    2WETQ372 test RFC failed, rc="-1"
    2EETQ399 Starting shadow instance failed
    2EETQ399 Test RFC failed finally

    Hi,
    You are getting this error because your hardware key in the license installed in slicense is wrong. Since upgrade tries to login with ddic user and if there is problem with license then only SAP* user is allowed.
    Please perform below steps to resolve the problem. Check at OS level what is the hardware key, if the hardware key that is present in slicense is different then generate a permanent license of that hardware key and apply it in shadow instance. After that check whether you are able to login with user other than SAP*, if yes, then repeat the phase.
    Please perform above steps and let us know the result.
    Thanks
    Sunny

  • RFC lookup error

    Hi all,
    I am doing an RFC lookup to increment counter. I am facing a problem.
    I followed the code written by Michael. https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/a03e7b02-eea4-2910-089f-8214c6d1b439
    My udf is as shown below: -
    String content = "";
    MappingTrace importanttrace;
    importanttrace = container.getTrace();
    java.util.Map param = container.getTransformationParameters();
    String MSGID = (String) param.get (StreamTransformationConstants.MESSAGE_ID);
    // filling the string with our RFC-XML (with values)
    String m="<?xml version="1.0" encoding="UTF-8"?><ns0:_-GLB_-ZGT_RFBIBL00_COUNTER xmlns:ns0="urn:sap-com:document:sap:rfc:functions"><IM_V_FILENAME>CA10.NCH.FCIPAY04</IM_V_FILENAME><IM_V_MSGID>"MSGID"</IM_V_MSGID><IM_V_WRNO>DEVWR0001725</IM_V_WRNO></ns0:_-GLB_-ZGT_RFBIBL00_COUNTER>";
    importanttrace.addWarning("Input value is  "+m);
    RfcAccessor accessor = null;
    ByteArrayOutputStream out = null;
    try
    // 1. Determine a channel (Business system, Communication channel)
    Channel channel = LookupService.getChannel(receiverBS,"CC_RFC_RCV_AMS_R3F_DEVWR001725");
    // 2. Get a RFC accessor for a channel.
    accessor = LookupService.getRfcAccessor(channel);
    // 3. Create a xml input stream representing the function module request message.
    InputStream inputStream = new ByteArrayInputStream(m.getBytes());
    // 4. Create xml payload
    XmlPayload payload = LookupService.getXmlPayload(inputStream);
    // 5. Execute lookup.
    Payload result = accessor.call(payload);
    InputStream in = result.getContent();
    out = new ByteArrayOutputStream(1024);
    byte[] buffer = new byte[1024];
    for (int read = in.read(buffer); read > 0; read = in.read(buffer)) {
    out.write(buffer, 0, read);
    content = out.toString();
    catch(LookupException e)
    importanttrace.addWarning("Error while lookup " + e.getMessage() );
    catch(IOException e)
    importanttrace.addWarning("Error " + e.getMessage() );
    finally
    if (out!=null) {
    try {
    out.close();
    } catch (IOException e) {
    importanttrace.addWarning("Error while closing stream " + e.getMessage() );
    // 7. close the accessor in order to free resources.
    if (accessor!=null) {
    try {
    accessor.close();
    } catch (LookupException e) {
    importanttrace.addWarning("Error while closing accessor " + e.getMessage() );
    //returning the result u2013 RFC-XML.response
    if ((content.substring(143,150)).equals("NOENTRY"))
    ExceptionThrower.generate("INVALID INPUT DEVWR NUMBER OR ID" );
    return "Nothing";
    else
    return (content.substring(143,155));
    The problem i am facing is that, i am not able to pass the IM_V_MSGID parameter to the function module.
    The other 2 parameters i can pass. that is IM_V_FILENAME and IM_V_WRNO.
    i am able to extract the message ID using
    java.util.Map param = container.getTransformationParameters();
    String MSGID = (String) param.get (StreamTransformationConstants.MESSAGE_ID);
    and displayed it in SXI_MONITOR trace also using importanttrace.addWarning("Input value is  "+m);
    i got the correct MSGID in the trace.But the problem is that this value is not getting passed to the FM. Cos the table is supposed to increment the counter whenever the MSGID value changes.
    I tried hardcoding the MSGID value to 'abc' or '123' like values but the same thing happended. The counter will not increment. The FM is working perfectly when i run it and change the MSGID values manually.
    Thanks
    Pratichi

    Hi,
    We have done this by creating an FM in XI ABAP stack:
    FUNCTION Z_ZBXI_GET_PRE_MSG_ID.
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(I_CURRMSGID) TYPE  CHAR40
    *"  EXPORTING
    *"     VALUE(E_PREMSGID) TYPE  CHAR40
    DATA: lv_currmsgid type SXMSPMAST-MSGGUID,
          lv_parentmsgid LIKE SXMSPMAST-PARENTMSG,
          lv_premsgid LIKE SXMSPMAST-MSGGUID.
    lv_currmsgid = i_currmsgid.
    select single PARENTMSG from SXMSPMAST into lv_parentmsgid where MSGGUID = lv_currmsgid.
    e_premsgid = lv_parentmsgid.
    ENDFUNCTION.
    You need to call this FM through RFC lookup UDF in your mapping.
    Let me know if it works for you.
    Regards,
    Shweta

  • DVM lookup failing in soa 11g (11.1.1.3)

    Hi
    I have a strange problem. my dvm lookup fails in 11g if it does not has exact 1:1 mapping in the DVM. The same code is working in 10g fine.
    In 10g:
    -for '' (null) as source-value the dvm lookup function returns the default value
    orcl:lookup-dvm('LANGUAGECODE','EBIZ','','RETAIL','DEFAULT')_
    -for multiple values for COMMON column returns the correct value 'GB'
    orcl:lookup-dvm('ADDRESSCOUNTRYID','COMMON','United Kingdom','RETAIL','DEFAULT')_
    In 11g(PS2):
    -for '' value the dvm lookup function
    dvm:lookupValue("oramds:/apps/AIAMetaData/dvm/LANGUAGECODE.dvm","EBIZ","","RETAIL","")_
    Error:
    Error invoking 'lookupValue':'oracle.tip.dvm.exception.DVMException: *The source column "EBIZ" has already multiple occurences of source value "" in dvm "oramds:/apps/AIAMetaData/dvm/LANGUAGE_CODE.dvm".* Please ensure the source value is unique for a given source column.'.
    -for COMMON multiple values
    _dvm:lookupValue("oramds:/apps/AIAMetaData/dvm/'ADDRESS_COUNTRYID'.dvm","'COMMON'","","RETAIL","")_
    Error:
    Error invoking 'lookupValue':'oracle.tip.dvm.exception.DVMException: *The source column "COMMON" has already multiple occurences of source value "United Kingdom" in dvm "oramds:/apps/AIAMetaData/dvm/ADDRESS_COUNTRYID.dvm".* Please ensure the source value is unique for a given source column.'
    Anyone faced this issue?Am i Hitting a bug on ps2?
    Will Qualifiers help in any way?
    -debashis
    Edited by: debashis on 08-Apr-2011 02:53

    Thans for repsonse.
    I understand the duplicate rows dont work in 11g and simply removing it would not make our use case work.
    okay here is my requirement :
    My DVM:
    column A____value
    ============
    1_____________A
    2_____________B
    3_____________C
    1_____________D
    I want to get both the values A,D when provided 1 as search value. But I understand that this is not possible as duplicate rows are not permitted in dvm.
    However I could achieve it using a very slight simple workaround. as below
    Modified the dvm as below
    column A____value
    ============
    1_____________A,D
    2_____________B
    3_____________C
    Now I get A,D and in my code I do the parsing and seperating A and D by using some string functions to individually get A and D.
    Just one compromise to make is -- users entering values in dvm should enter in a specific way ie, A,D,....so on...so that i can use logic accordingly in my code to break them again.
    Hope this helps to any others looking for similar solution.
    Thanks,
    Sridhar.

  • Error while using LiveCycle java APIs with Http servlets:"Remote EJBObject lookup failed for ejb/Inv

    Hi all,
    When i try to run more than one servelt of the Quick Start samples that using Livecycle Java APIs and i get an error of "Remote EJBObject lookup failed for ejb/Invocation provider" from any servelt i run.
    I try some Quick samples which is not servelts (java class) and it works fine, which makes me sure that my connection properties is true.
    Environment:
    The LiveCycle is based on "Websphere v6.1", and i use "Eclipse Platform
    Version: 3.4.1".
    i install "tomcat 5.5.17" to test the servelts in developing time through Eclipse.(only for test in developing time not for deploy on )
    The Jars i added in the classpath:
    adobe-forms-client.jar
    adobe-livecycle-client.jar
    adobe-usermanager-client.jar
    adobe-utilities.jar
    ejb.jar
    j2ee.jar
    ecutlis.jar
    com.ibm.ws.admin.client_6.1.0.jar
    com.ibm.ws.webservices.thinclient_6.1.0.jar
    server.jar
    utlis.jar
    wsexception.jar
    My code is :
    Properties ConnectionProps = new Properties();
    ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_EJB_ENDPOINT, "iiop://localhost:2809");
    ConnectionProps.setProperty ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_ EJB_PROTOCOL);
    ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE,ServiceClientFa ctoryProperties.DSC_WEBSPHERE_SERVER_TYPE);
    ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "Administrator");
    ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "password");
    ConnectionProps.setProperty("java.naming.factory.initial", "com.ibm.ws.naming.util.WsnInitCtxFactory");
    //Create a ServiceClientFactory object
    ServiceClientFactory myFactory = ServiceClientFactory.createInstance(ConnectionProps);
    //Create a FormsServiceClient object
    FormsServiceClient formsClient = new FormsServiceClient(myFactory);
    //Get Form data to pass to the processFormSubmission method
    Document formData = new Document(req.getInputStream());
    //Set run-time options
    RenderOptionsSpec processSpec = new RenderOptionsSpec();
    processSpec.setLocale("en_US");
    //Invoke the processFormSubmission method
    FormsResult formOut = formsClient.processFormSubmission(formData,"CONTENT_TYPE=application/pdf&CONTENT_TYPE=app lication/vnd.adobe.xdp+xml&CONTENT_TYPE=text/xml", "",processSpec);
    List fileAttachments = formOut.getAttachments();
    Iterator iter = fileAttachments.iterator();
    int i = 0 ;
    while (iter.hasNext()) {
    Document file = (Document)iter.next();
    file.copyToFile(new File("C:\\Adobe\\tempFile"+i+".jp i++;
    short processState = formOut.getAction();
    ...... (To the end of the sample)
    My Error was:
    com.adobe.livecycle.formsservice.exception.ProcessFormSubmissionException: ALC-DSC-031-000: com.adobe.idp.dsc.net.DSCNamingException: Remote EJBObject lookup failed for ejb/Invocation provider
    at com.adobe.livecycle.formsservice.client.FormsServiceClient.processFormSubmission(FormsSer viceClient.java:416)
    at HandleData.doPost(HandleData.java:62)
    at HandleData.doGet(HandleData.java:31)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    a

    I assume here that your application is deployed on a different physical machine of where LCES is deployed and running.
    Do the following test:
    - Say that LCES is deployed on machine1 and your application is deployed on machine2. Ping machine1 from machine2 and note the ip address.
    - Ping machine1 from machine1 and note the ip address.
    The two pings should match.
    - Ping machine2 from machine1 and note the ip address.
    - Ping machine2 from machine2 and note the ip address.
    The two pings should match.
    Usually this kind of error would happen if your servers have internal and external ip addresses.

  • Cache lookup failed

    Dear Experts,
    I am stuck on the error :*' ERROR [HY000] ERROR: fmgr_info: function 0: cache lookup failed'* while calling a stored procedure(SP).
    The function in the SP run successfully but while calling the same SP from call function then it is executing this type of error.
    Please suggest
    Best Regards,
    Manish

    hi guys,
    sorry where to post this issue.But i am trying this in netezza.
    dear p0428,
    my calling function is
    call AEI_OPS_MD_STEP_CHECK_PROC(1,1,1,1)
    and the called function is :
    CREATE OR REPLACE PROCEDURE AEI_OPS_MD_STEP_CHECK_PROC(INTEGER, INTEGER, INTEGER, INTEGER)
    RETURNS integer
    LANGUAGE NZPLSQL AS
    BEGIN_PROC
    DECLARE
    pAPP_ID ALIAS FOR $1;
    pSUB_ID ALIAS FOR $2;
    pJOB_ID ALIAS FOR $3;
    pSTEP_ID ALIAS FOR $4;
    STATUS_CHECK INTEGER;
    BEGIN
    SELECT CASE DSL.PROC_STATUS
    WHEN 0 THEN 0
    WHEN 1 THEN 1
    WHEN 2 THEN 1
    ELSE 3 END
    INTO STATUS_CHECK
    FROM DEVELOPER.AEI_APPLICATION DA
    JOIN DEVELOPER.AEI_SUBJECT_AREA DSA
    ON DA.APPLICATION_ID = DSA.APPLICATION_ID
    AND DA.APPLICATION_ID = pAPP_ID
    AND DSA.SUBJECT_AREA_ID = pSUB_ID
    JOIN DEVELOPER.AEI_JOB DJ
    ON DSA.APPLICATION_ID = DJ.APPLICATION_ID
    AND DSA.SUBJECT_AREA_ID = DJ.SUBJECT_AREA_ID
    AND DJ.JOB_ID = pJOB_ID
    JOIN DEVELOPER.AEI_STEP DS
    ON DJ.APPLICATION_ID = DS.APPLICATION_ID
    AND DJ.SUBJECT_AREA_ID = DS.SUBJECT_AREA_ID
    AND DJ.JOB_ID = DS.JOB_ID
    AND DS.STEP_ID = pSTEP_ID
    LEFT OUTER JOIN DEVELOPER.AEI_STEP_LOG DSL
    ON DS.APPLICATION_ID = DSL.APPLICATION_ID
    AND DS.SUBJECT_AREA_ID = DSL.SUBJECT_AREA_ID
    AND DS.JOB_ID = DSL.JOB_ID
    AND DS.STEP_ID = DSL.STEP_ID
    AND DA.CURRENT_LOG_ID = DSL.LOG_ID
    Return 1;
    END;
    END_PROC;
    where DA,DSA,DJ,DSL are the tables
    Help is hugely appreciable
    manish

  • Problem in RFC Lookup

    Hi,
    I am performing RFC lookup using Communication Channel.
    I have used a function called "Z_MATERIAL_DETAILS".
    Input to this function is "MATERIALID" and Output of the function is "MATNR".
    I am using the following code in my UDF for performing lookup::
    //write your code here
    final String CHANNEL_NAME = "CC_RFC_LookUp",
                   VALNOTFOUND = "VALUE_NOT_FOUND",
                   SAPRFCNS = "urn:sap-com:document:sap:rfc:functions",
                   TAG_FM = "Z_MATERIAL_DETAILS",
    //               TAG_QTB = "QUERY_TABLE",
                   TAG_QFL = "UOMCODE"; //UOMCODE
              DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
              DocumentBuilder builder = null;
              factory.setNamespaceAware(false);
              factory.setValidating(false);
              try {
                   builder = factory.newDocumentBuilder();
              } catch (Exception e) {
              //     trace.addWarning("Error creating DocumentBuilder - " + e.getMessage());
                   result.addValue(e.toString());
              Document docReq = null;
              try {
                   // Building up RFC Request Document
                   docReq = builder.newDocument();
                   Node root = docReq.appendChild(docReq.createElementNS(SAPRFCNS, TAG_FM));
                   root.appendChild(docReq.createElement(TAG_QFL)).appendChild(docReq.createTextNode(resultFieldName[0]));
              } catch (Exception e) {
              //     trace.addWarning("Error while building RFC Request  - " + e);
                   result.addValue(e.toString());
         //     trace.addInfo("RFC Request XML: " + docReq.toString());
              // Lookup
              Payload result1 = null;
              try {
                   Channel channel = LookupService.getChannel("EC1CLNT800", "CC_RFC_LookUp");
                   RfcAccessor accessor = LookupService.getRfcAccessor(channel);
                   InputStream is = new ByteArrayInputStream(docReq.toString().getBytes());
                   XmlPayload payload = LookupService.getXmlPayload(is);
                   result1 = accessor.call(payload);
              } catch (LookupException e) {
              //     trace.addWarning("Error during lookup - " + e);
                   result.addValue(e.toString());
              // Parsing RFC Response Document
              Document docRsp = null;
              try {
                   docRsp = builder.parse(result1.getContent());
              } catch (Exception e) {
              //     trace.addWarning("Error when parsing RFC Response - " + e.getMessage());
                   result.addValue(e.toString());
              //trace.addInfo("RFC Response XML: " + docRsp.toString());
              String res = "";
              try {
                   res = docRsp.getElementsByTagName("UOMTEXT").item(0).getFirstChild().getNodeValue();
              } catch (Exception e) {
              //     trace.addWarning("Result value not found in DOM - " + e.getMessage());
                   result.addValue(e.toString()+VALNOTFOUND);
              result.addValue(res);
    Code in Z_MATERIAL_DETAILS ::
    ""Local Interface:
    *"  IMPORTING
    *"     VALUE(UOMCODE) LIKE  MARA-MFRPN OPTIONAL
    *"  EXPORTING
    *"     VALUE(UOMTEXT) LIKE  MARA-MATNR
    *"  EXCEPTIONS
    *"      val_not_found
    <b>select single matnr from mara into uomtext where mfrpn = uomcode.</b>
    if sy-subrc <> 0.
    raise val_not_found.
    endif.
    ENDFUNCTION.
    <b>When i send three material ids the function module will access the R/3 system thrice which will give rise to PERFORMANCE ISSUE.
    So,is there any way to send all the materialids at one time to Function module and similarly receive all the MATNR from Function at once,so that we need to access R/3 system only once.</b>

    HI,
    Check this link for passing table parameter in JCO call.
    http://www.sapdevelopment.co.uk/java/jco/jco_callfunc.htm
    Following is the code for retrieving table parameter in JCO call to function BAPI_PO_CREATE.
    JCO.Table return_tab = function.getTablesParameterList().getTable("RETURN");
    if (return_tab.getNumRows()) > 0 {
    // Output the error messages
      return_tab.firstRow();
      do {
        System.out.println(return_tab.getString("MESSAGE");
      while (return_tab.nextRow());
    } else {
      String PO_NUM = function.getExportParametersList().getString("PURCHASEORDER");
      System.out.println("Purchase order " + PO_NUM + " created");
    Thanks and Regards,
    Sandeep Maurya.

  • RFC Lookup in XSLT Mapping

    Hi,
    I am trying to do RFC Lookup in XSLT.
    I got this excellent mapping tool here at sdn:
    RFC Lookup by Thorsten Nordholm Søbirk
    But I am having problems when I uses this in a multi-record mapping. (many-to one) with lookup for every element.
    Has anyone done IDOC with XSLT and RFC lookup (PI 7.11) ?  Can you share the XSLT or experience?
    Thx for sharing

    Hi @ Fariah Ali
    here is the mapping:
    Inbound: IDOC HRMD_A07  (from ALE replication)
    We only want to have Infotypes IT0001, IT0002, IT0050
    Outbound:
    <?xml version="1.0" encoding="utf-8"?>
    <mt_I004_Time_Stammdaten>
        <Datensatz>
              <PersNr>PERSNR</PersNr>
              <Name>ENAME</Name>
              <Eintrittsdatum>BEGDA</Eintrittsdatum>
              Austrittsdatum>ENDDA</Austrittsdatum>
             <BeschArt/>
             <Gueltigkeitsdatum/>
       </Datensatz>
    </mt_I004_Time_Stammdaten>
    thx holger

  • XSLT Mapping : RFC Lookup using java helper class

    Hi All,
    I am doing RFC Lookup in xslt mapping using java helper class. I have found blog for the same (http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/05a3d62e-0a01-0010-14bc-adc8efd4ee14) However this blog is very advanced.
    Can anybody help me with step by step approach for the same?
    My basic questions are not answered in the blog as:
    1) where to add the jar file of the java class used in xslt mapping.
    I have added zip file of XSLT mapping in imported archived and using that in mapping.
    Thanks in advace.
    Regards,
    Rohan

    Hi,
    Can u please have look at this in detail , u can easily point out yourself the problem...
    http://help.sap.com/saphelp_nw04/helpdata/en/55/7ef3003fc411d6b1f700508b5d5211/content.htm
    Please observe the line,
    xmlns:javamap="java:com.company.group.MappingClass
    in XSLT mapping..
    The packagename of class and class name and XSLT namespace should be matching...
    Babu
    Edited by: hlbabu123 on Sep 29, 2010 6:04 PM

Maybe you are looking for