Using of SALERT_CREATE in PI mapping (RFC LOOKUPs)

I have a stupid question on using SALERT_CREATE rfc in SAP PI mapping, I am using RFC lookups in the mapping, how can I use this SALERT_CREATE RFC, Do I need to Import from PI server? do I need Communication Channel for this? How can I use to send Alerts to PI alert inbox from PI Mapping using SALERT_CREATE

Thanks for reply Praveen, this is file to PI to File scenario, I am calling 3 RFC Lookups from Mapping, after every RFC Lookup call there are some validation checks to send alerts with out breaking the Mapping/business flow, so how can I use SALERT_CREATE rfc from mapping to send alerts

Similar Messages

  • SALERT_CREATE RFC in PI Mapping (RFC LookUps) to triggering Alerts:

    Hi
    I got a questions on using SALERT_CREATE RFC in PI Mapping (RFC LookUps) to triggering Alerts:
    1) Should I import RFC (SAP PI server) into SAP PI ESB?
    2) Should I maintain the details of SAP PI in the RFC receiver channel ?
    3) Can I use this RFC for RFC Lookups  like any other RFC (ECC)?
    I really appreciate for your help on this
    Thanks
    Vasu

    >>Should I import RFC (SAP PI server) into SAP PI ESB?
    No, this is not required, in your UDF, you just need to build the same structure as the RFC expects so to make it easier, you can import the RFC and see how its structure looks like but the real RFC is not used in RFC Lookup.
    >>Should I maintain the details of SAP PI in the RFC receiver channel ?
    In general,you need to maintain the details of the SAP system where the RFC is stored, it could be PI/ECC or any other system.
    Since you specify Alert information in this RFC lookup, the details will be of PI system.
    >>Can I use this RFC for RFC Lookups like any other RFC (ECC)?
    This RFC is used only to build the structure in UDF, it is not used in anything else.
    Note: Since you have mentioned writing UDF, i am assuming you are using PI 7.0. If you are on PI 7.1, you don't need to write UDF for it. There is  already a standard function for RFC Lookup.
    Thanks
    Aamir

  • 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

  • Message mapping RFC lookup

    Hi.
    I'm trying to do a RFC inside a message mapping with java code. I have to send a field (id) and return the vendor code (lifnr).
    I'm searching michal Krawczyk's weblog to see how can i do that but the link is broken.
    Does anybody has that document that can send me to [email protected]?
    Regards.
    Inigo.

    hi Inigo,
    please look at the following blogs,
    /people/sravya.talanki2/blog/2005/12/21/use-this-crazy-piece-for-any-rfc-mapping-lookups
    /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
    /people/michal.krawczyk2/blog/2005/09/15/xi-rfc-mapping-lookups-from-bc-to-xi
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/801376c6-0501-0010-af8c-cb69aa29941c
    /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/801376c6-0501-0010-af8c-cb69aa29941c
    /people/sravya.talanki2/blog/2005/12/21/use-this-crazy-piece-for-any-rfc-mapping-lookups
    /people/sravya.talanki2/blog/2005/12/21/use-this-crazy-piece-for-any-rfc-mapping-lookups
    Regards
    Sreeram.G.Reddy
    Message was edited by:
            Sreeram Reddy

  • Cannot resovle the Symbol error in UDF - Java mapping - RFC Lookup ?

    Hi Friends ,
    We are working on Java mapping  -  UDF for RFC Lookup . It is giving the Cannot resolve Symbol for all imported archive java class files even if we give again all imported files in import section of UDF we are still getting the same cannot resolve error  .
    We are using SP 12 of XI 3.0 . What could be the reason ?
    Thanks.,
    V.Rangarajan

    Hi,
    Can you try to open imported archive in IR and check if the path(folder structure like com.abc.xyz.etc) for classes is same as in import statement in UDF.Since we had experienced the same problem.
    Thanks.
    Regards,
    Shweta

  • Java RFC lookup from XSLT mapping

    I tried to implement a generic Java RFC Lookup class to be called as a Java extension from my XSLT mapping. I found the How-To-Guide "Easy RFC lookup from XSLT mappings using a Java helper class" ([Easy RFC lookup pdf site|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/05a3d62e-0a01-0010-14bc-adc8efd4ee14?quicklink=index&overridelayout=true]) and tailored the source code to my XSLT program.  I am getting the error "Variable '$inputparam' has not been bound to a value".  Can anyone tell me what I am missing?  I am not familiar with java at all, and only moderately familiar with XSLT.

    > I am getting the error "Variable '$inputparam' has not been bound to a value". Can anyone tell me what I am missing?
    At runtime the variable does not get value.  You need to assign value to the variable inputparam. Just curious why dont use the RFC lookup graphical  which is very easy and no need to handle java programming. You need to configure just reciever RFC communication channel.

  • Message-Mapping: Use same RFC lookup for different target fields

    Hello,
    I need to apply an RFC Lookup which delivers a boolean flag back (true or false). This RFC lookup should be used for different target fields.
    Is there a way to execute the RFC lookup just once and then store the result in an internediate variable that I can use for all futher checks for different target fields?
    If this is not possible and I have to apply the RFC lookup for all necessary target fields is it then executed for each target field ? This is exactly what I want to avoid in order not to slow down performance.
    The input parameter (=source field value) would be the same.
    Thank you for your advice!

    Exactly.
    Here is a UDF example I have that you could adapt to your needs.
    Set
    public String setCounter(String a,String b,Container container){
    /* Store values in global datacontainer
    a: mapping value and return valueparameter
    b: name for stored value parameter
    GlobalContainer myGlobalContainer;
    myGlobalContainer = container.getGlobalContainer();
    myGlobalContainer.setParameter(b.toUpperCase(), a);
    return a;
    Get
    public String getCounter(String a,Container container){
       //write your code here
    GlobalContainer gc = container.getGlobalContainer();
    if (gc.getParameter(a) != null) {
      return String.valueOf(gc.getParameter(a));
    } else {
    return "1";

  • RFC Lookup using Java Mapping program - Examples

    Dear Experts,
    I am working on a scenario which is using 1:N mapping. For deciding the target message I have to use RFC Lookup to call the backend ERP system and there are 2 ERP systems involved in this integration. As I am using Java Mapping and never did a RFC Lookup in Java. I kindly request you to give me some examples which I could use for my RFC calls in my Java Mapping. Simple example will do.
    Client is adamant to use Java mapping, I could achieve this easily using XSLT or Graphical Mapping.
    Advance Thanks,
    Pradeep

    Hello,
    why don't you use Extended Receiver Determination Defining Extended (Dynamic) Receiver Determination - Integration Directory - SAP Library?
    What you can do is create a Message Mapping between your source message and Receivers message type. In this message mapping you can use your RFC to generate the target message.
    For example, lets say we have the function ZFM_GET_INTERFACE_INFO used to generate the List of Receivers given a source message. You could create a Message Mapping as below:
    In this case, the RFCLookup box look as below:
    The receiver determination configuration would look as follows:
    Afterwards, you will need two specific message mappings for the two ERP systems.
    Summarizing, you'll need:
    1.- A Message Mapping: Source Message to Receivers Message Type (This one uses the RFC Lookup)
    2.- A Message Mapping: Source Message to Target Message for ERP 1
    3.- A Message Mapping: Source Message to Target Message for ERP 2
    In Integration Directory you'll have 1 Receiver Determination(Source system, Target System determined Dynamically) and 2 Interface Determinations (Source System to ERP1, Source System to ERP2), etc.
    I hope you find it useful.
    Regards!

  • RFC Lookup using Java Mapping issues

    Dear Experts,
    I am trying to use RFC Lookup in my Java program but for some reason I am getting a null point exception on the result variable when the program is executing the following code(rfcin = result.getContent();). Could anyone give me some advise on this issue please? screen print of the code attached with this email.
    Advance Thanks,
    Pradeep

    Thanks Steve,
    Please find the dump after the proposed change.
                    java.lang.RuntimeException:
                    com.sap.aii.mapping.lookup.LookupException: Plain
                    exception:Error when calling an adapter by using the
                    communication channel ccRFCReceiverNPI (Party: , Service:
                    BS_ECD, Object ID: 00b61d6e4363334d8bd052dfb9c2c09a) The
                    channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a could
                    not be found in the Integration Server Java Cache. Check if
                    the channel exists in the Integration Builder Directory and
                    execute a refresh of the Java Cache.
    com.sap.aii.mapping.lookup.LookupException:
                    Error when calling an adapter by using the communication
                    channel ccRFCReceiverNPI (Party: , Service: BS_ECD, Object ID:
                    00b61d6e4363334d8bd052dfb9c2c09a) The channel with object ID
                    00b61d6e4363334d8bd052dfb9c2c09a could not be found in the
                    Integration Server Java Cache. Check if the channel exists in
                    the Integration Builder Directory and execute a refresh of the
                    Java Cache.
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:130)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.<init>(SystemAccessorInternal.java:46)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.getConnection(SystemAccessorHmiServer.java:265)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:69)
    at
                    com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:139)
    at
                    com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:224)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:370)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:271)
    at
                    com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:570)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:711)
    at
                    javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    at
                    javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at
                    com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:202)
    at
                    com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:103)
    at
                    com.sap.engine.services.servlets_jsp.server.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:126)
    at
                    com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at
                    com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:432)
    at
                    com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)
    at
                    com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)
    at
                    com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)
    at
                    com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:276)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)
    at
                    com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    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:78)
    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:78)
    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:78)
    at
                    com.sap.engine.services.httpserver.filters.SessionSizeFilter.process(SessionSizeFilter.java:26)
    at
                    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)
    at
                    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)
    at
                    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:475)
    at
                    com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:269)
    at
                    com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)
    at
                    com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
    at
                    com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
    at
                    com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
    Caused
                    by:
                    com.sap.aii.ibrun.server.cache.channel.ChannelReader$CachedChannelNotFoundException:
                    The channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a
                    could not be found in the Integration Server Java Cache. Check
                    if the channel exists in the Integration Builder Directory and
                    execute a refresh of the Java Cache.
    at
                    com.sap.aii.ibrun.server.cache.channel.ChannelPersistor.read(ChannelPersistor.java:56)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:109)
                    53 more
    at
                    ConsignmentTrackingMapping.execute(ConsignmentTrackingMapping.java:272)
    at
                    ConsignmentTrackingMapping.transform(ConsignmentTrackingMapping.java:46)
    at
                    com.sap.aii.ib.server.mapping.execution.JavaMapping.executeStep(JavaMapping.java:92)
    at
                    com.sap.aii.ib.server.mapping.execution.Mapping.execute(Mapping.java:60)
    at
                    com.sap.aii.ib.server.mapping.execution.MappingHandler.map(MappingHandler.java:87)
    at
                    com.sap.aii.ib.server.mapping.execution.MappingHandler.map(MappingHandler.java:54)
    at
                    com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:139)
    at
                    com.sap.aii.ibrep.server.mapping.exec.ExecuteIfMapCommand.execute(ExecuteIfMapCommand.java:33)
    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.GeneratedMethodAccessor640.invoke(Unknown Source)
    at
                    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at
                    java.lang.reflect.Method.invoke(Method.java:597)
    at
                    com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:47)
    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:47)
    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:37)
    at
                    com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:21)
    at
                    com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    at
                    com.sap.engine.services.ejb3.runtime.impl.Interceptors_MethodRetry.invoke(Interceptors_MethodRetry.java:46)
    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:25)
    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:17)
    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:138)
    at
                    com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
    at
                    $Proxy1181.execute(Unknown Source)
    at
                    sun.reflect.GeneratedMethodAccessor639.invoke(Unknown Source)
    at
                    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at
                    java.lang.reflect.Method.invoke(Method.java:597)
    at
                    com.sap.engine.services.rmi_p4.P4DynamicSkeleton.dispatch(P4DynamicSkeleton.java:240)
    at
                    com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:459)
    at
                    com.sap.engine.services.rmi_p4.server.ServerDispatchImpl.run(ServerDispatchImpl.java:69)
    at
                    com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:72)
    at
                    com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:43)
    at
                    com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:983)
    at
                    com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:59)
    at
                    com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:55)
    at
                    com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
    at
                    com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
    at
                    com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
    Caused
                    by: com.sap.aii.mapping.lookup.LookupException: Plain
                    exception:Error when calling an adapter by using the
                    communication channel ccRFCReceiverNPI (Party: , Service:
                    BS_ECD, Object ID: 00b61d6e4363334d8bd052dfb9c2c09a) The
                    channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a could
                    not be found in the Integration Server Java Cache. Check if
                    the channel exists in the Integration Builder Directory and
                    execute a refresh of the Java Cache.
    com.sap.aii.mapping.lookup.LookupException:
                    Error when calling an adapter by using the communication
                    channel ccRFCReceiverNPI (Party: , Service: BS_ECD, Object ID:
                    00b61d6e4363334d8bd052dfb9c2c09a) The channel with object ID
                    00b61d6e4363334d8bd052dfb9c2c09a could not be found in the
                    Integration Server Java Cache. Check if the channel exists in
                    the Integration Builder Directory and execute a refresh of the
                    Java Cache.
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:130)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.<init>(SystemAccessorInternal.java:46)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.getConnection(SystemAccessorHmiServer.java:265)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:69)
    at
                    com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:139)
    at
                    com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:224)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:370)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:271)
    at
                    com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:570)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:711)
    at
                    javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    at
                    javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at
                    com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:202)
    at
                    com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:103)
    at
                    com.sap.engine.services.servlets_jsp.server.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:126)
    at
                    com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at
                    com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:432)
    at
                    com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)
    at
                    com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)
    at
                    com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)
    at
                    com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:276)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)
    at
                    com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    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:78)
    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:78)
    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:78)
    at
                    com.sap.engine.services.httpserver.filters.SessionSizeFilter.process(SessionSizeFilter.java:26)
    at
                    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)
    at
                    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)
    at
                    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:475)
    at
                    com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:269)
    at
                    com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)
    at
                    com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
    at
                    com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
    at
                    com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
    Caused
                    by:
                    com.sap.aii.ibrun.server.cache.channel.ChannelReader$CachedChannelNotFoundException:
                    The channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a
                    could not be found in the Integration Server Java Cache. Check
                    if the channel exists in the Integration Builder Directory and
                    execute a refresh of the Java Cache.
    at
                    com.sap.aii.ibrun.server.cache.channel.ChannelPersistor.read(ChannelPersistor.java:56)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:109)
                    53 more
    at
                    com.sap.aii.ibrep.server.lookup.LookupServiceProvider$RemoteClientDelegator.<init>(LookupServiceProvider.java:102)
    at
                    com.sap.aii.ibrep.server.lookup.LookupServiceProvider$RemoteClientDelegator.<init>(LookupServiceProvider.java:88)
    at
                    com.sap.aii.ibrep.server.lookup.LookupServiceProvider$RemoteClient.getSystemAccessor(LookupServiceProvider.java:75)
    at
                    com.sap.aii.mapping.lookup.LookupService.getSystemAccessor(LookupService.java:138)
    at
                    ConsignmentTrackingMapping.execute(ConsignmentTrackingMapping.java:254)
                    48 more
    Caused by:
                    com.sap.aii.utilxi.hmi.api.HmiMethodFault: Plain
                    exception:Error when calling an adapter by using the
                    communication channel ccRFCReceiverNPI (Party: , Service:
                    BS_ECD, Object ID: 00b61d6e4363334d8bd052dfb9c2c09a) The
                    channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a could
                    not be found in the Integration Server Java Cache. Check if
                    the channel exists in the Integration Builder Directory and
                    execute a refresh of the Java Cache.
    com.sap.aii.mapping.lookup.LookupException:
                    Error when calling an adapter by using the communication
                    channel ccRFCReceiverNPI (Party: , Service: BS_ECD, Object ID:
                    00b61d6e4363334d8bd052dfb9c2c09a) The channel with object ID
                    00b61d6e4363334d8bd052dfb9c2c09a could not be found in the
                    Integration Server Java Cache. Check if the channel exists in
                    the Integration Builder Directory and execute a refresh of the
                    Java Cache.
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:130)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.<init>(SystemAccessorInternal.java:46)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.getConnection(SystemAccessorHmiServer.java:265)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:69)
    at
                    com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:139)
    at
                    com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:224)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:370)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:271)
    at
                    com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:570)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:711)
    at
                    javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    at
                    javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at
                    com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:202)
    at
                    com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:103)
    at
                    com.sap.engine.services.servlets_jsp.server.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:126)
    at
                    com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at
                    com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:432)
    at
                    com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)
    at
                    com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)
    at
                    com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)
    at
                    com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:276)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)
    at
                    com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    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:78)
    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:78)
    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:78)
    at
                    com.sap.engine.services.httpserver.filters.SessionSizeFilter.process(SessionSizeFilter.java:26)
    at
                    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)
    at
                    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)
    at
                    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:475)
    at
                    com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:269)
    at
                    com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)
    at
                    com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
    at
                    com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
    at
                    com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
    Caused
                    by:
                    com.sap.aii.ibrun.server.cache.channel.ChannelReader$CachedChannelNotFoundException:
                    The channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a
                    could not be found in the Integration Server Java Cache. Check
                    if the channel exists in the Integration Builder Directory and
                    execute a refresh of the Java Cache.
    at
                    com.sap.aii.ibrun.server.cache.channel.ChannelPersistor.read(ChannelPersistor.java:56)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:109)
                    53 more
    at
                    com.sap.aii.utilxi.hmi.api.HmiMethodFault.parseGdi(HmiMethodFault.java:156)
    at
                    com.sap.aii.utilxi.hmi.core.msg.HmiResponse.setState(HmiResponse.java:190)
    at
                    com.sap.aii.utilxi.hmi.core.msg.HmiResponse.parseGdi(HmiResponse.java:141)
    at
                    com.sap.aii.utilxi.hmi.api.HmiHttpJDKClient.sendRequestAndReceiveResponse(HmiHttpJDKClient.java:257)
    at
                    com.sap.aii.utilxi.hmi.api.HmiClientAdapter.invokeMethod(HmiClientAdapter.java:92)
    at
                    com.sap.aii.ibrep.server.lookup.SystemAccessorHmiClient.<init>(SystemAccessorHmiClient.java:52)
    at
                    com.sap.aii.ibrep.server.lookup.SystemAccessorHmiClient.getInstance(SystemAccessorHmiClient.java:73)
    at
                    com.sap.aii.ibrep.server.lookup.LookupServiceProvider$RemoteClientDelegator.<init>(LookupServiceProvider.java:98)
                    52 more
    Root Cause:
    com.sap.aii.mapping.lookup.LookupException:
                    Plain exception:Error when calling an adapter by using the
                    communication channel ccRFCReceiverNPI (Party: , Service:
                    BS_ECD, Object ID: 00b61d6e4363334d8bd052dfb9c2c09a) The
                    channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a could
                    not be found in the Integration Server Java Cache. Check if
                    the channel exists in the Integration Builder Directory and
                    execute a refresh of the Java Cache.
    com.sap.aii.mapping.lookup.LookupException:
                    Error when calling an adapter by using the communication
                    channel ccRFCReceiverNPI (Party: , Service: BS_ECD, Object ID:
                    00b61d6e4363334d8bd052dfb9c2c09a) The channel with object ID
                    00b61d6e4363334d8bd052dfb9c2c09a could not be found in the
                    Integration Server Java Cache. Check if the channel exists in
                    the Integration Builder Directory and execute a refresh of the
                    Java Cache.
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:130)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.<init>(SystemAccessorInternal.java:46)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.getConnection(SystemAccessorHmiServer.java:265)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:69)
    at
                    com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:139)
    at
                    com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:224)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:370)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:271)
    at
                    com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:570)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:711)
    at
                    javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    at
                    javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at
                    com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:202)
    at
                    com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:103)
    at
                    com.sap.engine.services.servlets_jsp.server.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:126)
    at
                    com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at
                    com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:432)
    at
                    com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)
    at
                    com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)
    at
                    com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)
    at
                    com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:276)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)
    at
                    com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    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:78)
    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:78)
    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:78)
    at
                    com.sap.engine.services.httpserver.filters.SessionSizeFilter.process(SessionSizeFilter.java:26)
    at
                    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)
    at
                    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)
    at
                    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:475)
    at
                    com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:269)
    at
                    com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)
    at
                    com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
    at
                    com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
    at
                    com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
    Caused
                    by:
                    com.sap.aii.ibrun.server.cache.channel.ChannelReader$CachedChannelNotFoundException:
                    The channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a
                    could not be found in the Integration Server Java Cache. Check
                    if the channel exists in the Integration Builder Directory and
                    execute a refresh of the Java Cache.
    at
                    com.sap.aii.ibrun.server.cache.channel.ChannelPersistor.read(ChannelPersistor.java:56)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:109)
                    53 more
    at
                    com.sap.aii.ibrep.server.lookup.LookupServiceProvider$RemoteClientDelegator.<init>(LookupServiceProvider.java:102)
    at
                    com.sap.aii.ibrep.server.lookup.LookupServiceProvider$RemoteClientDelegator.<init>(LookupServiceProvider.java:88)
    at
                    com.sap.aii.ibrep.server.lookup.LookupServiceProvider$RemoteClient.getSystemAccessor(LookupServiceProvider.java:75)
    at
                    com.sap.aii.mapping.lookup.LookupService.getSystemAccessor(LookupService.java:138)
    at
                    ConsignmentTrackingMapping.execute(ConsignmentTrackingMapping.java:254)
    at
                    ConsignmentTrackingMapping.transform(ConsignmentTrackingMapping.java:46)
    at
                    com.sap.aii.ib.server.mapping.execution.JavaMapping.executeStep(JavaMapping.java:92)
    at
                    com.sap.aii.ib.server.mapping.execution.Mapping.execute(Mapping.java:60)
    at
                    com.sap.aii.ib.server.mapping.execution.MappingHandler.map(MappingHandler.java:87)
    at
                    com.sap.aii.ib.server.mapping.execution.MappingHandler.map(MappingHandler.java:54)
    at
                    com.sap.aii.ibrep.server.mapping.rt.MappingHandlerAdapter.run(MappingHandlerAdapter.java:139)
    at
                    com.sap.aii.ibrep.server.mapping.exec.ExecuteIfMapCommand.execute(ExecuteIfMapCommand.java:33)
    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.GeneratedMethodAccessor640.invoke(Unknown Source)
    at
                    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at
                    java.lang.reflect.Method.invoke(Method.java:597)
    at
                    com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:47)
    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:47)
    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:37)
    at
                    com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:21)
    at
                    com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:177)
    at
                    com.sap.engine.services.ejb3.runtime.impl.Interceptors_MethodRetry.invoke(Interceptors_MethodRetry.java:46)
    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:25)
    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:17)
    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:138)
    at
                    com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164)
    at
                    $Proxy1181.execute(Unknown Source)
    at
                    sun.reflect.GeneratedMethodAccessor639.invoke(Unknown Source)
    at
                    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at
                    java.lang.reflect.Method.invoke(Method.java:597)
    at
                    com.sap.engine.services.rmi_p4.P4DynamicSkeleton.dispatch(P4DynamicSkeleton.java:240)
    at
                    com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:459)
    at
                    com.sap.engine.services.rmi_p4.server.ServerDispatchImpl.run(ServerDispatchImpl.java:69)
    at
                    com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:72)
    at
                    com.sap.engine.services.rmi_p4.P4Message.execute(P4Message.java:43)
    at
                    com.sap.engine.services.cross.fca.FCAConnectorImpl.executeRequest(FCAConnectorImpl.java:983)
    at
                    com.sap.engine.services.rmi_p4.P4Message.process(P4Message.java:59)
    at
                    com.sap.engine.services.cross.fca.MessageReader.run(MessageReader.java:55)
    at
                    com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
    at
                    com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
    at
                    com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
    Caused
                    by: com.sap.aii.utilxi.hmi.api.HmiMethodFault: Plain
                    exception:Error when calling an adapter by using the
                    communication channel ccRFCReceiverNPI (Party: , Service:
                    BS_ECD, Object ID: 00b61d6e4363334d8bd052dfb9c2c09a) The
                    channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a could
                    not be found in the Integration Server Java Cache. Check if
                    the channel exists in the Integration Builder Directory and
                    execute a refresh of the Java Cache.
    com.sap.aii.mapping.lookup.LookupException:
                    Error when calling an adapter by using the communication
                    channel ccRFCReceiverNPI (Party: , Service: BS_ECD, Object ID:
                    00b61d6e4363334d8bd052dfb9c2c09a) The channel with object ID
                    00b61d6e4363334d8bd052dfb9c2c09a could not be found in the
                    Integration Server Java Cache. Check if the channel exists in
                    the Integration Builder Directory and execute a refresh of the
                    Java Cache.
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:130)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.<init>(SystemAccessorInternal.java:46)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.getConnection(SystemAccessorHmiServer.java:265)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:69)
    at
                    com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:139)
    at
                    com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:224)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:370)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:271)
    at
                    com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:570)
    at
                    com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:711)
    at
                    javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
    at
                    javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at
                    com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:202)
    at
                    com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:103)
    at
                    com.sap.engine.services.servlets_jsp.server.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:126)
    at
                    com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:79)
    at
                    com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:432)
    at
                    com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:210)
    at
                    com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:441)
    at
                    com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:430)
    at
                    com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:38)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:81)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:276)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:81)
    at
                    com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    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:78)
    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:78)
    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:78)
    at
                    com.sap.engine.services.httpserver.filters.SessionSizeFilter.process(SessionSizeFilter.java:26)
    at
                    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:57)
    at
                    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:43)
    at
                    com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)
    at
                    com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)
    at
                    com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:475)
    at
                    com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:269)
    at
                    com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:56)
    at
                    com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)
    at
                    com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)
    at
                    com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:328)
    Caused
                    by:
                    com.sap.aii.ibrun.server.cache.channel.ChannelReader$CachedChannelNotFoundException:
                    The channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a
                    could not be found in the Integration Server Java Cache. Check
                    if the channel exists in the Integration Builder Directory and
                    execute a refresh of the Java Cache.
    at
                    com.sap.aii.ibrun.server.cache.channel.ChannelPersistor.read(ChannelPersistor.java:56)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:109)
                    53 more
    at
                    com.sap.aii.utilxi.hmi.api.HmiMethodFault.parseGdi(HmiMethodFault.java:156)
    at
                    com.sap.aii.utilxi.hmi.core.msg.HmiResponse.setState(HmiResponse.java:190)
    at
                    com.sap.aii.utilxi.hmi.core.msg.HmiResponse.parseGdi(HmiResponse.java:141)
    at
                    com.sap.aii.utilxi.hmi.api.HmiHttpJDKClient.sendRequestAndReceiveResponse(HmiHttpJDKClient.java:257)
    at
                    com.sap.aii.utilxi.hmi.api.HmiClientAdapter.invokeMethod(HmiClientAdapter.java:92)
    at
                    com.sap.aii.ibrep.server.lookup.SystemAccessorHmiClient.<init>(SystemAccessorHmiClient.java:52)
    at
                    com.sap.aii.ibrep.server.lookup.SystemAccessorHmiClient.getInstance(SystemAccessorHmiClient.java:73)
    at
                    com.sap.aii.ibrep.server.lookup.LookupServiceProvider$RemoteClientDelegator.<init>(LookupServiceProvider.java:98)
                    52 more
    Root Cause:
    com.sap.aii.utilxi.hmi.api.HmiMethodFault:
                    Plain exception:Error when calling an adapter by using the
                    communication channel ccRFCReceiverNPI (Party: , Service:
                    BS_ECD, Object ID: 00b61d6e4363334d8bd052dfb9c2c09a) The
                    channel with object ID 00b61d6e4363334d8bd052dfb9c2c09a could
                    not be found in the Integration Server Java Cache. Check if
                    the channel exists in the Integration Builder Directory and
                    execute a refresh of the Java Cache.
    com.sap.aii.mapping.lookup.LookupException:
                    Error when calling an adapter by using the communication
                    channel ccRFCReceiverNPI (Party: , Service: BS_ECD, Object ID:
                    00b61d6e4363334d8bd052dfb9c2c09a) The channel with object ID
                    00b61d6e4363334d8bd052dfb9c2c09a could not be found in the
                    Integration Server Java Cache. Check if the channel exists in
                    the Integration Builder Directory and execute a refresh of the
                    Java Cache.
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.getProxy(SystemAccessorInternal.java:130)
    at
                    com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.<init>(SystemAccessorInternal.java:46)

  • Use RFC Lookup in Graphical Mapping for Database Update

    Hello,
    I am wondering whether the RFC Lookup function in graphical mapping provides the same functionality as a general RFC function call.
    In detail I would like to update a database table using a RFC which just takes some input parameters but does not use any output parameters. Would this work too as the name "lookup" implies that it might just be possible to read something?

    HI,
    Refer these links:
    RFC Lookup by michal
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a03e7b02-eea4-2910-089f-8214c6d1b439
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/8e7daa90-0201-0010-9499-cd347ffbbf72
    http://help.sap.com/saphelp_nw04/helpdata/en/cf/406642ea59c753e10000000a1550b0/content.htm
    DB lookup - /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
    Regards,
    Nithiyanandam

  • 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

  • RFC Lookup mapping error in PI 7.1

    Hi Experts,
    I´m getting mapping error when executing interface SOAP -> WS (SAP ECC) . The message mapping call RFC Lookup to SAP ECC.
    When test the message mapping in Integration Builder the interface calls communication channel by RFC Lookup and works fine.
    That interface was imported from QAS environment and was working fine, but in PRD it doesn´t works.
    I checked the Interface Determination and the parameter is filled correctly with communication channel. The same communication channel was used on message mapping test.
    The Interface Determination in SXI_CACHE has no value assigned to parameter in PRD environment, otherwise, the same interface determination in SXI_CACHE in QAS environment there is value (CC ID).
    The problem persists after Cache Refresh in SXI_CACHE and CPA Cache.
    Can anyone help me ?
    Thanks in advance,
    Regis Ferrato
    Bellow the trace of error ocurred:

    Hi Regis,
    Please check my reply in your other thread:
    Re: RFC Lookup error cache in PI 7.1
    Regards,
    ---Satish

  • 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

  • How to use payload from standard RFC MessageType in a RFC Lookup function

    Hello
    We have a DB sender to call an BAPI. The DB receiver gets the BAPI response.
    It is an easy scenario with one mapping.
    But the RFC Mapping Lookup is very awful. You have to rebuild all open and close tags to get the RFC payload. A lot of concat functions are a must. The error search in such a mapping is not easy and seems like EAI developing 1990 (Hand am Arm).
    Ok, it is better as a BPM, but it is not well for first level support person and release changes and trouble shooting.
    How can I use a XML payload from first mapping in my RFC Mapping lookup (second mapping)? There must be a way with two mappings and an easy RFC lookup.
    Currently (one mapping):
    DB sender format -> ( RFC lookup self-made RFC XML structure) DB receiver format
    My dream (two mappings):
    DB sender format -> RFC SAP XI standard Format ->(RFC lookup by using Payload from first mapping) DB receiver format
    I hope someone can help me with an example.
    Daniel

    Hi Daniel,
    If i understood correctly, urs is a 'Asynch' scenario JDBC to JDBC with a RFC lookup in Mapping.
    If its so, then i think wat u r expecting can be done. In Interface Mapping, u can add more than one message mappings.
    So first do a Mapping for DB sender format - RFC input standard format,
    then another one for RFC sender Format - RFC receiver format, (look up code goes in this mapping).
    Then third one from RFC receiver format to DB receiver format.
    The order n which u add in Interface Mapping is also important. This is a suggestion, i havent tried this, but still i think u can give it a try.
    Regards,
    P.Venkat

  • Mapping Exception Issue with RFC LookUp

    Hi,
    My scenario is Idoc To file, in my idoc user who created a purchase order filed is not there but in xml file i want the user who create that PO, for this i am using RFC LooUp. I want the user who created a purchase order.
    Graphical Mapping looks like below.
    Belnr-->User Defined Function--
    >UserName
    Please find the code bloew:
    String DBTABLE = "EKKO";
    String lookUpField = "ERNAM";
    String WHERE_CLAUSE = " EBELN "" = "" ' "a" ' " ;
    JCO.Repository mRepository;
    JCO.Client mConnection = JCO.createClient(
                   "500",
                    "RFCUSER",
                   "abc1234",
                   "EN",
                   "cxylo06",
                   "05");
    // connect to SAP
    mConnection.connect();
    // create repository
    mRepository = new JCO.Repository( "GenericRFCMappingLookup", mConnection );
    // create function template to select data from any table
    JCO.Function function = null;
    IFunctionTemplate ft = mRepository.getFunctionTemplate("RFC_READ_TABLE");
    function = ft.getFunction();
    // Obtain parameter list for function
    JCO.ParameterList input = function.getImportParameterList();
    // Pass function parameters
    // set import parameters table name and RFC
    input.setValue( DBTABLE, "QUERY_TABLE");
    input.setValue( "," , "DELIMITER");
    //Fill the where clause of the table
    JCO.ParameterList tabInput = function.getTableParameterList();
    JCO.Table inputTable = tabInput.getTable("OPTIONS");
    inputTable.appendRow();
    inputTable.setValue(WHERE_CLAUSE,"TEXT");
    mConnection.execute( function );
    //Find the position of the field that has to be lookedUp
    JCO.Table lookupFieldPos = function.getTableParameterList().getTable("FIELDS");
    int pos = -1;
    for (int i = 0; i < lookupFieldPos.getNumRows(); i++)
              lookupFieldPos.setRow(i);
              if (lookupFieldPos.getString("FIELDNAME").equals(lookUpField))
              pos = i;
    //Get the exact lookupvalue from the position obtained above
    JCO.Table valueSet = function.getTableParameterList().getTable("DATA");
    valueSet.setRow(0);
    String resultSet = valueSet.getString("WA");
    result.addValue(resultSet);
    mConnection.disconnect();
    I am not aware of java coding so kindly make necessary  modifications.
    Kindly suggest what changes i need to do to execute perfectly.
    Your help will be greatly apprecited.
    Regards,
    Venkat

    Hi Venkat,
         If you use the JCO connection to get the value from RFC, it would be a problem in futherly like when you move this interface DEV to Q, then you need to change the connection parameters to establish the JCO connection.Same in Production environment too.It is not advisable to do JCO lookup. Go for RFC lookup as the link given by Farooq.
    Create Reciever RFC communication channel and take the XML signature of u r RFC by importing that RFC under imported objects.Create an UDF, for this see the sample code which is exisitng in document to pass the Export parameter to RFC.
    In this way u r RFC channel establish the connection to R3 and your RFC will execute and return the value.U just need to change the Reciever RFC channel parameters respective of environment.
    Cheers
    Veera

Maybe you are looking for

  • Mount NTFS...

    How can i mount ntfs partitions in arch like i had in ubuntu? Automatic mount only for usb and cd... And list all ntfs on places without mount... and when i click on one, it automount...

  • BI 7 - Authorization objects

    Hi, I am trying to save the authorization object which I have created, But I am getting error message "Characteristic 0TCAACTVT not authorization relevant". Please help me on this error

  • Multi-language in one report

    Hi, I would just like to confirm that it is still not possible to show three languages in one report. We have description fields (segments of an account combination) that should have English values for the English language, Hebrew for the Hebrew lang

  • SCD's type 2 conflict with Oracle Dimension Object

    Hi everybody. I have a little problem understanding Oracle Dimension Objects and how to use it with SCD type 2. Oracle's documentation says: There must be a 1:n relationship between a parent and children. A parent can have one or more children, but a

  • WPUBON&WPUUMS

    Hi experts, I am new in working with SAP, so first of all sorry for my lack of knowledge. I am trying to send IDocs sales from POS DM to ECC system. I have two options, known customer sales(WPUBON) and non- known customer(WPUUMS), due to the informat