Error While RFC Lookups

Hi
I am performing RFC Lookups in my java code and when ever I am testing this java mapping code from Operation Mapping Test Tab, I am getting following error.
Error while lookup Connection to system RUNTIME using application RUNTIME lost. Detailed information: Error accessing "http://pmichsappid16.app.pmi:8016/run/system/int?container=web" with user "PIREP_PID". Response code is 500, response message is "Internal Server Error"
Error while closing accessor Technical error when calling an adapter remotely. The HMI method with the ID close was called with an incorrect session status. The system accessor object is missing.
Could you please tell why I am getting this error.
Note:1) When I am testing it end to end my code is working fine with out any errors.This happens only when I am testing it from operational mapping test tab.Previously I am able to execute my code from operational mapping test tab also.
2) I am also closing accessor object in proper manner.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!PI 7.1 Strange behaviour!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Hi Prasanna,
                      I was facing the same error while testing JDBC lookup in the operational mapping. The problem was that while testing in the operation mapping or message mapping tab you need to provide the RFC channel created manually in the parameter. While end to end testing this is binded in the integration directory object,
I provided the JDBC channel created for lookup manually in the operation mapping and i got the result.
Hope this will help.
Thanks
Ajay Garg

Similar Messages

  • 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

  • Error while updating lookup table through PSI

    Hi,
    I am trying to update a lookuptable through PSI using following code : 
    $lookupTableGuid = $svcPSProxy.ReadLookupTables($EPMTYString, 0 , 1033).LookupTables | where {$_.LT_NAME -eq $Lookuptablename}
    $lookuptable = $svcPSProxy.ReadLookupTablesbyUids($lookupTableGuid.LT_UID, 1 , 1033)
    $lookuptablerowValues = $svcPSProxy.ReadLookupTablesbyUids($lookupTableGuid.LT_UID, 0 , 1033).LookupTableTrees
    #get lookup table count
    $lookuptableValues = $svcPSProxy.ReadLookupTablesbyUids($lookupTableGuid.LT_UID, 0 , 1033).LookupTableTrees
    $count = $lookuptableValues.Count +1
    #Insert the rows of table in Lookup Table
    foreach ($rows in $table)
    $value_Code = $rows.Item("Project_code")
    $value_Name = $rows.Item("project_desc")
    $GUID = [System.Guid]::NewGuid()
    $LookupRow = $lookuptable.LookupTableTrees.NewLookupTableTreesRow()
    $LookupRow.LT_STRUCT_UID = $GUID
    $LookupRow.LT_UID = $lookupTableGuid.LT_UID
    $LookupRow.LT_VALUE_TEXT = $value_Code
    $LookupRow.LT_VALUE_DESC = $value_Name
    $LookupRow.LT_VALUE_SORT_INDEX = ($count ++)
    $lookuptable.LookupTableTrees.AddLookupTableTreesRow($LookupRow)
    $error.clear()
    #Exceptions Handling :
    Try
    $svcPSProxy.UpdateLookupTables($lookuptable , 0 , 1 , 1033)
    Catch
    write-host "Error updating the Lookup table, see the error below:" -ForeGroundColor Red -BackGroundColor White
    write-host "$error" -ForeGroundColor Red
    Initially, I tried to run with value of $value_code as "AACL", the code worked.
    But when I tried to insert value of code as "AACL - ALKYL AMINES CHEMICALS LIMITED"
    I got following error:
    Exception calling "UpdateLookupTables" with "4" argument(s): "Response is not well-formed XML."
    I could not understand why this error is appearing as I just added ' - ' to my code value. I checked for validity of ' -  'in the targeted column. No issue with that.
    Please help.
    Thanks and regards,
    Jayesh

    Hi All,
    The entries are maintained from DB level.
    Thanks for the help.
    DVRK

  • '$P_CRM' is undefined Error while opening Lookup field in Bulk edit form in CRM 2013

    Hi All,
    I am getting this strange error in MS CRM 2013
    When I do bulk edit for any entity , I select 2-3 records and click on Edit , the Bulk edit form opens
    then whenever I clicks on any field which is lookup type It does not open , after debugging with F12 developer tool
    I am getting this error.    "'$P_CRM' is undefined"
    I have MS CRM 2013 on premise , Service Pack 1 Update Rollup 1 installed and using IE 11.
    Any Idea
    Regards,
    Vilas
    Vilas Magar http://microsoftcrmworld.blogspot.com/

    Few questions that might help us to identify issue:
    1. Have you enabled Social Insight  ? If yes can you try bulk edit on entity which don't have social insight enabled and confirm if it repro there?
    For more information on how to enable Social Insight :
    http://technet.microsoft.com/en-us/library/dn659847.aspx
    2. When you close bulk edit form are you getting script error dialog? If yes can you share that error log reports?

  • Security error while removing LookUp value

    Hi Experts,
    I want to display my own values in User type Dropdown box on create user screen. It is mapped to lookup definition: Lookup.Users.Role. I added my custom values from the design console in this lookup but when i tried to remove the existing values from this lookup, I am recieving this error:
    Error Keyword: DOBJ.INVALID_DELETE
    Description: The security level for this data item indicates that it cannot be deleted.
    Remedy:
    Action: E
    Severity: M
    Help URL:
    Detail:
    Any ideas, please help!!

    Deleting from database is the most extreme method...
    You should have a better understanding of:-
    The security level for this data item indicates that it cannot be deleted.
    Indiscriminately removing such critical fields can be detrimental and can have severe repercussions...
    For every entry in lookups there is one field called LKV_DATA_LEVEL :
    This DATA_LEVEL thing has either 0 or 1...
    If it is 1, it means you can't remove it from Design Console and if YOU are removing it do it at your own risk...
    In fact, when I tried to add and then remove an entry in Lookup.Users.Role, I didn't face this Exception...
    By the way, work around is to make value of this field 0 by using SQL Developer... Then you can delete it from Design Console easily...

  • Error while running the RFC on ECC 6.0 server

    Hello Champs,
          The problem I am facing while sending the data for validation and invalidation from RFC on ECC server to Pi server to be send to a webservice. This scenario was working perfectly fine when the RFC was run on R/3 4.7 server. On upgradation of R/3 server to ECC 6.0 server we found the folowing error while we run the RFC on ECC server.
    alternativeServiceIdentifier:party/service from channel configuration are not equal to party/service from lookup of alt ..
    I have also re-imported the RFC's from ECC server to PI server and activated it again to overcome this problem, but still I am getting this error. Also I have done the CPA cache refresh too. But the problem still persist.
    Some times when we keep on clicking on this error continously then we are able to get the desired results ie either valid or invalid. Is there something which needs to be done when we migrate the RFC from R/3 server to ECC server?  Pls let me know how to solve this problem... Any help on this on priority basis is highly appreciated.
    Thanking You in Advance.
    Regards
    S Joshi

    Dear Rajesh,
         I did the activity as suggested by you but still I am getting the same error while sending the order ID number from ECC 6.0 server. But when check the error in the Moni transaction I am getting the error as follow:
    com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Not enough message parts were received for the operation.
    This indicates that there is a problem on the receiver side.. Pls guide me......
    Thanks
    With Best Regards
    S Joshi

  • 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

  • RFC Lookup error :No RFC authorization for function module

    Hi All,
    I have created RFC in the PI system and enabled it as remote. I am working on PI7.1
    I have imported RFC into Repository.But when i am trying to execute RFC lookup function in the graphical mapping I am getting No RFC authorization for function module error.
    Unhandled RFC exception: <rfc:Z_MAIL_LOOKUP.Exception xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><Name>RFC_ERROR_SYSTEM_FAILURE</Name><Text>No RFC authorization for function module Z_MAIL_LOOKUP.</Text><Message><ID>RFC_ERROR_SYSTEM_FAILURE</ID><Number>341</Number></Message><Attributes><V1>RFC_NO_AUTHORITY</V1></Attributes></rfc:Z_MAIL_LOOKUP.Exception> com.sap.aii.mapping.api.StreamTransformationException: Unhandled RFC exception: <rfc:Z_MAIL_LOOKUP.Exception xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><Name>RFC_ERROR_SYSTEM_FAILURE</Name><Text>No RFC authorization for function module Z_MAIL_LOOKUP.</Text><Message><ID>RFC_ERROR_SYSTEM_FAILURE</ID><Number>341</Number></Message><Attributes><V1>RFC_NO_AUTHORITY</V1></Attributes></rfc:Z_MAIL_LOOKUP.Exception> at com.sap.aii.mappingtool.flib7.RfcLookup.cacheMore(RfcLookup.java:95) at com.sap.aii.mappingtool.tf7.rt.AMultiResIterator$MultiOutIterator.gotoNextContext(AMultiResIterator.java:95) at com.sap.aii.mappingtool.tf7.AMappingProgram.processNode(AMappingProgram.java:315) at com.sap.aii.mappingtool.tf7.AMappingProgram.processNode(AMappingProgram.java:406) at com.sap.aii.mappingtool.tf7.AMappingProgram.start(AMappingProgram.java:496) at com.sap.aii.mappingtool.tf7.Transformer.start(Transformer.java:133) at com.sap.aii.mappingtool.tf7.AMappingProgram.transform(AMappingProgram.java:626) 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.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 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 $Proxy1005_10002.execute(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 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) Runtime exception when processing target-field mapping /ns0:MT_FileDummy/File; root message: Unhandled RFC exception: <rfc:Z_MAIL_LOOKUP.Exception xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><Name>RFC_ERROR_SYSTEM_FAILURE</Name><Text>No RFC authorization for function module Z_MAIL_LOOKUP.</Text><Message><ID>RFC_ERROR_SYSTEM_FAILURE</ID><Number>341</Number></Message><Attributes><V1>RFC_NO_AUTHORITY</V1></Attributes></rfc:Z_MAIL_LOOKUP.Exception>
    13:42:37 End of test
    Edited by: Rams on Apr 17, 2009 1:43 PM

    Hi! Rams,
    I think the issue is related to Authentification Issue..Even though u did correctly please check once the below
    1) Check any Typo Erros are there while configuring or giving names in Lookups.
    2) please check Authorizations like ID and PWD and Sufficient Roles
    3) Also please check did u given paramters correctly while doing RFC look up I mean paramers , Binding parameters and RFC channel name and adapter type or Simple type it must be an  adapter
    4) In ID part while configuring Interface determinaition you need to give your RFC look Up name there also..Hence check whether u given or not if yes correctly or not
    5) Also remember one thing if your scenario is correct mostly you can know the result in mapping itself it seems while testing Message mapping and Interface mappings give your RFC look up paramters in the parameters tab present in TEST tab and later in Document tab give Input...and execute it works if it doesn;t works and if there is an issue with RFC you can get there only..ok
    Also go through the below document::
    [https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/20befc9a-aa72-2b10-ae9b-b0988791d457]
    I hope this will give u brief idea...
    Also check with basis while taking SAP_ALL authorization so that first u ill came to know whether issue is related to authentification or RFC module itself remote enabled and also do SXI_CACHE also ocne to refresh ESR and ID objects..
    Regards::
    Amar Srinivas Eli

  • Java syntax error : RFC Lookup

    My UDF Source code has an syntax error: missing return statement }
    but i can´t find the error.
    any ideas ?
    //write your code here
    String content = "";
    MappingTrace importanttrace;
    importanttrace = container.getTrace();
    // filling the string with our RFC-XML (with values)
    String m ="<?xml version="1.0" encoding="UTF-8"?><ns0:Z_GET_PRODH xmlns:ns0="urn:sap-com:document:sap:rfc:functions"><IN_MATNR>2100018693</IN_MATNR></ns0:Z_GET_PRODH>";
    RfcAccessor accessor = null;
    ByteArrayOutputStream out = null;
    try
         // 1. Determine a channel (Business system, Communication channel)
         Channel channel = LookupService.getChannel("xxxxxxxxxx","yyyyyyyy");
         // 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() );
    Message was edited by:
            Gordon Breuer

    I have a solution without DOM parser. The XML code is seen as a sting and the code looks for a specific tag. In my case it is OUTPUT, you can adjust the code to your tag.
    String content = "";
    MappingTrace importanttrace;
    importanttrace = container.getTrace();
    // filling the string with our RFC-XML (with values)
    String m = "<rfc:ZZSG_TEST_XSLT_LOOKUP xmlns:rfc="urn:sap-com:document:sap:rfc:functions">"
                                + "<INPUT>" + request + "</INPUT></rfc:ZZSG_TEST_XSLT_LOOKUP>";
    RfcAccessor accessor = null;
    ByteArrayOutputStream out = null;
    try
    // 1. Determine a channel (Business system, Communication channel)
    Channel channel = LookupService.getChannel("Airline_Group_Two","RFC");
    // 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 – RFC-XML.response
      int start = content.indexOf("<OUTPUT>") + 8;
      int end = content.indexOf("</OUTPUT>");
      if (end > start && start > 8)
        content = content.substring(start,end);
    return content;

  • RFC lookup error when table in change mode

    Hi,
    I´m using an RFC lookup from XI to translate external to internal partner nr. Input to the FM in R/3 is the external partner nr och the FM should return the internal partner nr to XI. The problem is that when a user edits the table that my FM reads from a get an error.
    - Isn´t it possible to read a r/3 table while it is in change mode? Is my only way around this to create a z version of this table?
    Claes

    Hi Claes
    have  a look on these  links ,
    For your RFC lookup,
    /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    /people/sravya.talanki2/blog/2005/12/21/use-this-crazy-piece-for-any-rfc-mapping-lookups
    RFC lookups pdf https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi-code-samples/xi%20mapping%20lookups%20rfc%20api.pdf
    /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    Michal's Blog on RFC Mapping Lookup:/people/michal.krawczyk2/blog/2005/09/15/xi-rfc-mapping-lookups-from-bc-to-xi
    RFC Lookup.
    RFC lookup return no values
    http://help.sap.com/saphelp_nw2004s/helpdata/en/17/d609b48ea5f748b47c0f32be265935/frameset.htm
    Also check this useful link which also talk about Value Lookup:
    Value lookup
    http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
    /people/prasad.illapani/blog/2006/10/25/how-to-check-jdbc-sql-query-syntax-and-verify-the-query-results-inside-a-user-defined-function-of-the-lookup-api
    Lookups - /people/morten.wittrock/blog/2006/03/30/wrapping-your-mapping-lookup-api-code-in-easy-to-use-java-classes
    Lookups - /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    Thanks !!

  • Error while deleting values of characteristic /1FB/COMPANY/Company (RFC des

    Dear all,
    I am trying to synchronize Company master data between local BCS system and SAP BW with UGMD_BATCH_SYNC program. In the synchronization mode, Full Synschronization (Write and Delete) was selected.
    However, I receive the following error message when executing the program:
    Error while deleting values of characteristic /1FB/COMPANY/Company (RFC destination )
    Message no. UGMD077
    Diagnosis
    When writing or deleting values of characteristic /1FB/COMPANY/Company errors occurred in the system with RFC destination . As the changes have already been defined in the local storage location this results in the master data being asynchronous between the local and remote storage location.
    System Response
    Processing is continued.
    Procedure
    Carry out a manual synchronization of the master data later using report UGMD_BATCH_SYNC. You can find additional information there under Application Help.
    FYI, RFC Destination for my data basis is left blank.
    What may causes this error and how to resolve it?
    Thank you.

    Hi MontyBurns,
    May I know what settings that I need to check in UGMDSYNC program? As far as I can tell, there is only one parameter that we need to specify in the program i.e. Field Name. As I am trying to synchronize from BCS to BW, I have chosen the followings settings:
    Source = LOCAL
    Target = ALLBW
    All,
    Interesting thing that I notice after executing the UGMDSYNC program is the following message:
    Synchronize/Display Variances Between Systems
         The compound dependencies for the attributes or texts are not defined
         uniformly in the systems investigated.
         Example:
         Texts are defined as language-specific in the local systems and as
         language-independent in remote systems (for example BW systems). The
         same can apply for other compounds such as version or time dependencies.
    System Response
         The display of differences between the systems will be affected. A
         manual synchronization will not be completely successful.
    Procedure
         1.  Ensure that the dependencies for the attributes and texts are the
             same in all systems.
         2.  Start the synchronization process again.
    Procedure for System Administration
    I can check the attributes and texts in BW via RSD1 by specifying InfoObject = 0COMPANY and checking the Master data/texts and Attribute tabs. But how do I check similar settings in BCS Workbench? I can't determine whether the Company text is language-dependent or not simply by displaying specific Company from Process View > Master Data > Consolidation Units > Company.
    Thanks.

  • File to RFC - error while processing message to remote system:com.sap.aii.

    Hi
    i m working on File to RFC scenario. the records are getting displayed in sender CC and receiver CC. But in receiver CC i m also getting the following error:
    Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.adapter.rfc.core.client.RfcClientException: JCO.Exception while calling ZRFC in remote system (RfcClient[CC_RIS_STC_PIMASTER_RECEIVER]):com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE:      Screen output without connection to user.    
    Error in processing caused by: com.sap.aii.adapter.rfc.afcommunication.RfcAFWException: error while processing message to remote system:com.sap.aii.adapter.rfc.core.client.RfcClientException: JCO.Exception while calling ZRFC in remote system (RfcClient[CC_RIS_STC_PIMASTER_RECEIVER]):com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE:      Screen output without connection to user.   
    It was working fine few hours earlier but showing this error now. i was giving a SUBMIT program , but stopped that now.
    But still facing the same problem. and in SXMB_MONI its showing recorded for Outbound processing.
    could anyone help.

    Hi
    I am Facing  Following Error When I am trying to call SAP Screen through JCO.jar
    com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: Screen output without connection to user
    Please Guide Whethere it is possible to call SAP screen Through JCO.jar  ot NOT
    Please HELP if it is possible to Call SAP screen through JCO.jar with step and Code
    Thanks
    Vivek

  • Error while importing RFC schema

    Hello Friends,
    I am getting the following error while importing the RFC schema in Integration repository from SAP which is on ECC version.
    The error I am getting is:
    Unable to establish connection to R/3 system 10.238.52.79 (system=03, client=250) Troubleshooting tips:
    Is the target system online?
    Check the connection data (note that server names and groups are case-sensitive)
    Tips for administrators (see the configuration guide for more details):
    Does the user have the required authorizations in the target system?
    Is the target system configured correctly in "etc/services"?
    I checked the target system configuraion as well as user authorization. All the connection parameters are also correct.
    Does anybody have idea about the solution to this problem?
    Regards,
    Nitin.

    I had this problem before. I had to make an entry with SAPGW03 in my services file on the XI server. the entry should look like
    sapgw03     3303
    That resolved my problem. If you are working with a XI server on Windowns the file is located in <WINDOWS_DIR>\system32\driver\etc\ directory.
    Thanks,
    Kalyan Musunuri
    OBT Global Inc.
    Message was edited by: Kalyan Tej Musunuri

  • Error while loading service JCo RFC Provider

    When I click on the "JCo RFC Provider" node under services in Visual administrator, I get an error:
    "Error while loading service JCo RFC Provider"
    Does anyone know what has gone wrong here, and how I go about fixing it?
    Thanks in advance
    Regards
    Richard
    PS. We're using EP6sp14

    You have to use the correct Visual Admin version:
    if your netweaver is 6.40 use VA 6.40 ... and for 7.00 the same, VA 7.00
    (you get them from OS where netweaver is installed)
    other possiblity: use Administrator login and check if it works, then correct your permissions (mostyl 'Administrators' group is missing)
    Regards,
    Chris

  • Error while calling RFC adapter(FILE-XI-RFC scenario)

    Hi,
    I am trying for FILE-XI-RFC scenario. I am getting the following error. I have checked in message monitoring. The error is coming while calling the RFC adapter. Can any body tell what problem is this?
    Regards,
    Dhana
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="INTERNAL">AE_DETAILS_GET_ERROR</SAP:Code>
      <SAP:P1>af.f23.sofd00001530a</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>2: Unable to find URL for Adapter Engine af.u7a.us4296</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Error while reading access data (URL, user, password) for the Adapter Engine af.f23.sofd00001530a</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>

    Hi,
    I did SLD check.
    The status says 'Summary: Connection to SLD works correctly'.
    But it fails while checking the access to XI profile.
    Here is the status
    Summary: Connection to SLD works correctly
    Now checking access to the XI Profile
    Properties of RFC destination LCRSAPRFC
      RFC host:
    %%RFCSERVER%%
      program id:      LCRSAPRFC_DZ1
      gateway host:
      gateway service:
    Testing the RFC connection to the SLD java client...
    RFC ping returned exception with message:
    / CPIC-CALL: 'ThSAPOCMINIT' : cmRc=2 thRc=679#Transaction program not registere

Maybe you are looking for