Reg : JMS-RFC-JMS

Hi Friends,
My Scenario is JMS-RFC--JMS.(I have to get request XML from Sender JMS adpter to R/3 and then Response from R/3 has to sent back to receiver JMS adapter) i.e Both sender and receiver JMS has different queue names
I have created scenario exactly like FileRFC-FIle.So in my sender JMS adapter in Module tab i have used these two module  AF_Modules/RequestResponseBean and AF_Modules/ResponseOnewayBean .
Please let me know whether the approach is rite or we can have some other apporirate design..
Thanks,
Dinesh

Hi Dinesh
you are on right track..
this one you can always refer for any message related JMS..
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/8060448a-e56e-2910-f588-9af459e7ce21
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/8060448a-e56e-2910-f588-9af459e7ce21?quicklink=index&overridelayout=true
Thanks,
Bhupesh

Similar Messages

  • Reg:JMS Queue related topic...

    Hai all,
    Can any one send me the link for JMS queuename,queue manager name,important parameters for JMS channel configurations etc..
    I know you will reply that search in SDN before you post it.But I searched all the previous forums but I am not able to get the proper docs related to it.
    If you dont mine can you please once again sent me link that will cover all th etopics that i need
    Thanks,

    Did you check these links?
    http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=(J2EE3417200)ID1629352550DB00149050467001567547End?blog=/pub/wlg/5756
    http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=(J2EE3417200)ID1629352550DB00149050467001567547End?blog=/pub/wlg/5590
    http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/604e2b64-e689-2910-64b3-ffd650f83756;jsessionid=(J2EE3417200)ID1629352550DB00149050467001567547End
    http://help.sap.com/saphelp_nwpi71/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/frameset.htm
    Regards,
    Ravi

  • Reg : JMS Clustering

              Hai,
              I am facing one problem in JMS Clustering. can any one throws a light on that?
              it will be very helpful to
              me.
              i configured WebLogic Cluster with node1 and node 1 as Managed Servers.
              i created jmsserver1 and jmsserver2.
              i created queue1 and queue2 in jmsserver1 and jmsserver2 respectively.
              i created one distributed destination by adding queue1 and queue2 as members.
              i targetted jmsserver1 to node1 and jmsserver2 to node2.
              i wrote one program that send the messages to distributed destination using it's
              jndi name.
              i have send some messages to distributed queue.
              after i shutdown the any one of the managed server ex: node1. after that while
              i am trying to send the message to
              distributed destination, it is throwing the exception that no such a jndi name.
              i have checked with JNDI tree.
              jndi name of distributed destination is not there?
              is there any configuration missing or some thing else?
              can any one help me to solve this problem?
              regards
              cg
              

    Sounds like you've set things up correctly. Post your config.xml
              and I'll take a quick look. Please also include the JNDI
              name of the distributed dest your client is looking up.
              cg wrote:
              > Hai,
              > I am facing one problem in JMS Clustering. can any one throws a light on that?
              > it will be very helpful to
              > me.
              >
              > i configured WebLogic Cluster with node1 and node 1 as Managed Servers.
              > i created jmsserver1 and jmsserver2.
              > i created queue1 and queue2 in jmsserver1 and jmsserver2 respectively.
              > i created one distributed destination by adding queue1 and queue2 as members.
              >
              >
              > i targetted jmsserver1 to node1 and jmsserver2 to node2.
              >
              > i wrote one program that send the messages to distributed destination using it's
              > jndi name.
              >
              > i have send some messages to distributed queue.
              > after i shutdown the any one of the managed server ex: node1. after that while
              > i am trying to send the message to
              > distributed destination, it is throwing the exception that no such a jndi name.
              > i have checked with JNDI tree.
              >
              > jndi name of distributed destination is not there?
              >
              > is there any configuration missing or some thing else?
              >
              >
              > can any one help me to solve this problem?
              >
              >
              > regards
              > cg
              >
              >
              

  • Reg: JMS Exception sending to queue null

    Hi,
    When i try to receive the data from the external system in the form of xml through JMS i am getting an exception like "JMS Exception Sending to queue null". Can somebody help me with this in resolving the issue.
    Thanks & Regards,
    P.Prasanna.

    Hi Tom,
    Thank you very much for your help. This is the error i am getting now.
    com.ford.vista.exception.VistaSystemException: exception caught in proxy
         at com.ford.vista.business.common.VistaProxy.makeWrapperException(VistaProxy.java:197)
         at com.ford.vista.business.common.VistaProxy.invoke(VistaProxy.java:125)
         at $Proxy2.processOrderPublishing(Unknown Source)
         at com.ford.vista.business.order.delegate.OrderTransactionBusinessDelegate.changeStatusEvent(OrderTransactionBusinessDelegate.java:340)
         at com.ford.vista.integration.exinterface.service.MdbOagisInterfaceService.callService(MdbOagisInterfaceService.java:97)
         at com.ford.vista.integration.exinterface.service.MdbInterfaceService.processMessage(MdbInterfaceService.java:178)
         at com.ford.vista.integration.exinterface.service.MdbInterfaceService.processMessage(MdbInterfaceService.java:97)
         at com.ford.vista.webservice.VistaTransactionWebService.processRequest(VistaTransactionWebService.java:61)
         at com.ford.vista.webservice.VistaBaseWebService.doPost(VistaBaseWebService.java:107)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
         at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
         at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
         at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
         at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
         at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
         at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
         at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:61)
         at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:1064)
         at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:598)
         at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:206)
         at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:80)
         at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:214)
         at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
         at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:116)
         at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186)
         at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
         at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
         at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:623)
         at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:457)
         at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:672)
    --- nested ---
    com.ford.vista.exception.VistaSystemException: JMS Exception sending to queue null
         at com.ford.vista.integration.communicator.JmsMessagingCommunicator.send(JmsMessagingCommunicator.java:149)
         at com.ford.vista.integration.communicator.JmsMessagingCommunicator.sendAndReceive(JmsMessagingCommunicator.java:82)
         at com.ford.vista.integration.exinterface.service.ExternalInterfaceServiceBase.sendAndReceive(ExternalInterfaceServiceBase.java:80)
         at com.ford.vista.integration.exinterface.service.ExternalInterfaceServiceBase.sendAndReceive(ExternalInterfaceServiceBase.java:49)
         at com.ford.vista.integration.exinterface.service.CustomerInterfaceService.requestCustomerDetails(CustomerInterfaceService.java:124)
         at com.ford.vista.integration.exinterface.service.InterfaceService.requestCustomerDetails(InterfaceService.java:355)
         at com.ford.vista.business.customer.service.CustomerService.requestCustomerDetails(CustomerService.java:145)
         at com.ford.vista.business.contract.helper.ContractBusinessFactory.convertContractCustomerListWithCustomer(ContractBusinessFactory.java:516)
         at com.ford.vista.business.contract.helper.ContractBusinessFactory.createContractDTOWithCustomer(ContractBusinessFactory.java:332)
         at com.ford.vista.business.contract.service.ContractService.getContractDetails(ContractService.java:154)
         at com.ford.vista.business.order.helper.OrderBusinessFactory.addContractData(OrderBusinessFactory.java:1087)
         at com.ford.vista.business.order.helper.OrderBusinessFactory.createOrderDetailsDto(OrderBusinessFactory.java:542)
         at com.ford.vista.business.order.service.OrderService.getOrderByNumber(OrderService.java:888)
         at com.ford.vista.business.order.helper.OrderPublishFactory.createOrderPublishRequestDTO(OrderPublishFactory.java:93)
         at com.ford.vista.business.order.service.OrderPublishService.createPublishEntry(OrderPublishService.java:222)
         at com.ford.vista.business.order.service.OrderPublishService.processOrderPublishing(OrderPublishService.java:157)
         at java.lang.reflect.Method.invoke(Native Method)
         at com.ford.vista.business.common.VistaProxy.invoke(VistaProxy.java:107)
         at $Proxy2.processOrderPublishing(Unknown Source)
         at com.ford.vista.business.order.delegate.OrderTransactionBusinessDelegate.changeStatusEvent(OrderTransactionBusinessDelegate.java:340)
         at com.ford.vista.integration.exinterface.service.MdbOagisInterfaceService.callService(MdbOagisInterfaceService.java:97)
         at com.ford.vista.integration.exinterface.service.MdbInterfaceService.processMessage(MdbInterfaceService.java:178)
         at com.ford.vista.integration.exinterface.service.MdbInterfaceService.processMessage(MdbInterfaceService.java:97)
         at com.ford.vista.webservice.VistaTransactionWebService.processRequest(VistaTransactionWebService.java:61)
         at com.ford.vista.webservice.VistaBaseWebService.doPost(VistaBaseWebService.java:107)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
         at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
         at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
         at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
         at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
         at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
         at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
         at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:61)
         at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:1064)
         at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:598)
         at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:206)
         at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:80)
         at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:214)
         at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
         at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:116)
         at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186)
         at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
         at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
         at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:623)
         at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:457)
         at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:672)
    --- nested ---
    javax.jms.JMSException: MQJMS2005: failed to create MQQueueManager for ''
         at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:434)
         at com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:998)
         at com.ibm.mq.jms.MQConnection.createQMNonXA(MQConnection.java:707)
         at com.ibm.mq.jms.MQQueueConnection.(MQQueueConnection.java:206)
         at com.ibm.mq.jms.MQQueueConnection.(MQQueueConnection.java:76)
         at com.ibm.mq.jms.MQQueueConnectionFactory.createQueueConnection(MQQueueConnectionFactory.java:143)
         at com.ford.vista.integration.communicator.JmsMessagingCommunicator.createQueueSession(JmsMessagingCommunicator.java:488)
         at com.ford.vista.integration.communicator.JmsMessagingCommunicator.send(JmsMessagingCommunicator.java:134)
         at com.ford.vista.integration.communicator.JmsMessagingCommunicator.sendAndReceive(JmsMessagingCommunicator.java:82)
         at com.ford.vista.integration.exinterface.service.ExternalInterfaceServiceBase.sendAndReceive(ExternalInterfaceServiceBase.java:80)
         at com.ford.vista.integration.exinterface.service.ExternalInterfaceServiceBase.sendAndReceive(ExternalInterfaceServiceBase.java:49)
         at com.ford.vista.integration.exinterface.service.CustomerInterfaceService.requestCustomerDetails(CustomerInterfaceService.java:124)
         at com.ford.vista.integration.exinterface.service.InterfaceService.requestCustomerDetails(InterfaceService.java:355)
         at com.ford.vista.business.customer.service.CustomerService.requestCustomerDetails(CustomerService.java:145)
         at com.ford.vista.business.contract.helper.ContractBusinessFactory.convertContractCustomerListWithCustomer(ContractBusinessFactory.java:516)
         at com.ford.vista.business.contract.helper.ContractBusinessFactory.createContractDTOWithCustomer(ContractBusinessFactory.java:332)
         at com.ford.vista.business.contract.service.ContractService.getContractDetails(ContractService.java:154)
         at com.ford.vista.business.order.hel
    Regards,
    P.Prasanna.

  • Reg:JMS Adapter

    Hi All,
    need your help to consume the message as string !!
    here are the explanation ..
    I have created Adapter to consume the message from the MMX.while creating adapter the jdev is asking me to define the message format which need to be consumed.i can see two format(s) here.
    1) XSD element need to define while configuring the message.
    2) Opaque which system will generate.
    In my requirement i need to read the message as string object,but i failed to confgure in the adapter.when i am using opaque after reading the message i need to do manually convert base-64 to string.where as with xsd(by specfying string element) i could fail to consume the message.
    is there any other way where i can specify adapter to read the message as string need to process it ???
    thnks for your help.,
    murali

    Hi,
    You can get data from multiple tables by specifying your SELECT query using JOIN on the tables in the sender JDBC comm channel.........In the JDBC msg structure, if you use action as EXECUTE, then you can specify your stored procedure by your JDBC comm channel.......
    Regarding what is stored procedure - Stored procedure is just a type of function or a sub-routine having database statements to be executed on the database..........you can specify input parameters also to execute your stored procedure based on the values of your input parameters.
    Regards,
    Rajeev Gupta

  • Reg: Calling RFC in webdynpro

    Hi,
    I am supporting some webdynpro application. In the application we are connecting to R3 systems using RFC. But in my application the developer had created different models for each Bapi instead of dumping them into one model. I just wanted to know the logic behind that. Is it just logical seperation or there is any performance considerations.
    Thanks in advance.

    Hi,
    I Just can say, in some of the documents that I have founded in SDN about Web dynpro best practices,
    the recommendatios is "Put  as many RFCs in a single Adaptive RFC model as possible".
    Take a look in the followinf presentation page 41
    http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/604ddc2f-ec9c-2b10-1682-be37e1c62dee&overridelayout=true
    Regards,
    Eduardo Campos.

  • Reg. RFC look up

    Hi All,
    I am working on RFC look up. My Scenario is IDoc to IDoc. The IDoc has a segment say E1 where the occurence is 0---5 and two fields inside that i.e. QUALF and IDTNR.  The requiremnt is like when QUALF  is equal to 002 then fetch the value of material number from SAP and map to IDTNR. Also this material number is picked only when QUALF is equal to 003 and the field IDTNR has some value i.e. article number in SAP. So I need to get value of the material number equal to this article number.
    I am using RFC look up for this mapping condition in order to fetch value from SAP.
    Can anyone help me on this to configure the RFC look up in PI?
    Thanks and Regards,
    Neethu

    Hi All,
    For my requirement I have used this UDF,
    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:ZSD_EAN_MATERIAL_GET xmlns:ns0=\"urn:sap-com:document:sap:rfc:functions\"><P_EAN11></P_EAN11></ns0:ZSD_EAN_MATERIAL_GET>" ;
    RfcAccessor accessor = null;
    ByteArrayOutputStream out = null;
    try
    // 1. Determine a channel (Business system, Communication channel)
    Channel channel = LookupService.getChannel("RD9","CC_RFC_RECEIVER_LOOKUP_I040");
    // 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
    return content;
    While executing this UDF I am getting the output as:
    <?xml version="1.0" encoding="UTF-8"?><rfc:ZSD_EAN_MATERIAL_GET.Response xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><Materialnumber></Materialnumber></rfc:ZSD_EAN_MATERIAL_GET.Response></IDTNR>
      <KTEXT />
    instead of value
    Can anyone suggest me on this?
    Thanks and Regards,
    Neethu

  • Reg:Soap,RFC,MDM

    Hi All,
       The existing interface is,
    The webservice(Soap) is being triggered and it is being sent to RFC(Synchronous) flow.
    Now the requirement is changed to, the response message alone  needs  to be sent to Soap as well to MDM paralley
    Could anyone suggest me how to proceed the above stated scenario.
    Thanks in Advance
    Regards,
    Lavanya

    Hi ,
    The webservice(SOAP) is being triggered from the sender and it is being passed to the ECC(RFC).
    The response from the ECC should be send to SOAP as well as to MDM,where I have one condition,
    A field by name Status from Ecc will have the value as E or S,when it is E it should be passed to SOAP and if it is S it should pass to both SOAP and MDM.
    Kindly help me out in defining the step by step procedure for the above BPM scenario
    Thanks in Advance
    Regards,
    Lavanya
    Edited by: Lavanya Balanandham on Aug 8, 2011 12:13 PM

  • Reg:BAPI RFC

    How to create BAPI-RFC?wht is the purpose of bapi rfc?
    plz send me urgently.........

    Hi,
    Programming a BAPI consists of some tasks like: •Defining BAPI Data structures ( using SE11 )
    •Creating BAPI Function Modules (For each method)
    •Defining BAPI Methods in the BOR
    •Documentation of the BAPI
    •Generate ALE interface for asynchronous BAPIs
    •Generate and release
    NOTE:
    Here we will not be covering the two points – Documentation of BAPI and Generating ALE Interface for asynchronous BAPIs.
    NOTE: You can use the BAPI explorer (T-code BAPI) to get a step-by-step instruction / checklist in how to create a BAPI. In the BAPI explorer select the Project tab.
    EXAMPLE – HOW TO CREATE A BAPI
    In the example we will create a BAPI that reads some information about the line items for a Sales Invoice from table VBRP based on the Invoice No. that is supplied to the import parameter of the BAPI Function Module.
    BAPI Name ZGetInvoiceItems
    Function group ZBAPIVIN
    Function module: ZBAPI_GET_BILL_ITEMS
    FM Import parameters : IV_BILLNO TYPE ZBAPI_BILL_ITEMS-VBELN
    FM Tables :IT_VBRP LIKE ZBAPI_BILL_ITEMS
    FM Export parameters : RETURN LIKE BAPIRETURN
    Defining BAPI Structures
    This is the basic step followed while creating BAPIs. All the relevant structures that are required for BAPI have to be created using T-Code SE11. The structures can be created for Import/Tables parameters. Use Data type -> Structure
    In our case we do not have multiple inputs but just one input i.e. Sales Invoice No. and so we have not made use of any structure for the purpose. But if required, structure can be used for import parameter also.
    The following are the components of structure ZBAPI_BILL_ITEMS:
    Field Name Description
    VBELN Invoice Number
    POSNR Invoice Item Number
    MATNR Material Number
    FKIMG Quantity
    VRKME Sales Units (Quantity)
    NETWR Amount
    Point of Caution
    It is required to define a structure for every parameter in the BAPI and use of same structures which are used in existing applications cannot be done because BAPI structures are frozen when BAPIs are released and then there are restrictions on changing them.
    Screenshot of Structure – ZBAPI_BILL_ITEMS
    Creating BAPI Function Modules (For each method)
    We must create new function group for each BAPI. If the BAPIs are related then the same can be grouped under the same FUNCTION GROUP to enable the sharing of global data amongst the related BAPIs
    Screenshot of Attributes Tab in the FM ZBAPI_BILL_ITEMS
    Screenshot of Import Parameters Tab in the FM ZBAPI_BILL_ITEMS
    Screenshot of Export Parameters Tab in the FM ZBAPI_BILL_ITEMS
    NOTE:
    Since Remote Enabled module processing type is selected and the Import/Export parameters can only be BY VALUE for an RFC enabled function module, select the checkbox for Pass Value for each IMPORT/EXPORT parameter.
    Screenshot of Tables Tab in the FM ZBAPI_BILL_ITEMS
    Code in the Function Module ZBAPI_BILL_ITEMS &
    related Includes in the Function Group
    INCLUDE LZBAPISTATUSUXX
    THIS FILE IS GENERATED BY THE FUNCTION LIBRARY. *
    NEVER CHANGE IT MANUALLY, PLEASE! *
    INCLUDE LZBAPIVINU01.
    "ZBAPI_GET_BILL_ITEMS
    INCLUDE LZBAPIVINTOP “ Global data
    FUNCTION-POOL ZBAPIVIN. "MESSAGE-ID
    TABLES: VBRK, VBRP.
    DATA: T_VBRP LIKE ZBAPI_BILL_ITEMS OCCURS 0.
    STRUCTURE FOR RETURN MESSAGES BY BAPI FUNCTION MODULE
    DATA:
    BEGIN OF MESSAGE,
    MSGTY LIKE SY-MSGTY,
    MSGID LIKE SY-MSGID,
    MSGNO LIKE SY-MSGNO,
    MSGV1 LIKE SY-MSGV1,
    MSGV2 LIKE SY-MSGV2,
    MSGV3 LIKE SY-MSGV3,
    MSGV4 LIKE SY-MSGV4,
    END OF MESSAGE.
    INCLUDE LZBAPIVINU01 - Subroutines
    ***INCLUDE LZBAPIVINU01.
    FUNCTION ZBAPI_GET_BILL_ITEMS.
    ""Local interface:
    *" IMPORTING
    *" VALUE(IV_BILLNO) TYPE VBELN
    *" EXPORTING
    *" VALUE(RETURN) TYPE BAPIRETURN
    *" TABLES
    *" IT_VBRP STRUCTURE ZBAPI_BILL_ITEMS
    Check if the Invoice exists
    select single *
    from vbrk
    where vbeln eq iv_billno.
    if sy-subrc ne 0.
    If not return the error message
    clear message.
    message-msgty = 'E'.
    message-msgid = 'Z3'.
    message-msgno = '001'.
    message-msgv1 = iv_billno.
    perform return_bapi_message using message
    changing return.
    exit.
    endif.
    If the Invoice exists, get all the required item lines information
    in the table it_vbrp
    refresh it_vbrp.
    clear vbrp.
    select vbeln posnr matnr fkimg vrkme netwr
    into table it_vbrp
    from vbrp
    where vbeln eq iv_billno.
    ENDFUNCTION.
    FORM RETURN_BAPI_MESSAGE *
    --> VALUE(IV_MESSAGE) *
    --> XV_RETURN *
    form return_bapi_message using value(iv_message) like message
    changing xv_return like bapireturn.
    check not message is initial.
    call function 'BALW_BAPIRETURN_GET'
    exporting
    type = iv_message-msgty
    cl = iv_message-msgid
    number = iv_message-msgno
    par1 = iv_message-msgv1
    par2 = iv_message-msgv2
    par3 = iv_message-msgv3
    par4 = iv_message-msgv4
    importing
    bapireturn = xv_return
    exceptions
    others = 1.
    endform.
    Regards,
    Vineela.

  • Reg. RFC call of FM.

    HI All,
    I am calling a RFC FM in some other system. But while debugging I am not able to enter the function module.
    It directly comes to sybrc check. But some values are not getting update in the other system.
    But if I run the FM individually in system with values it is updating all the values.
    When I checked in SM59, pressed on REMOTE CONNECTION tab.. nothing is happing.
    Can any one tell what might be the problem?
    thanks,
    Nitin

    Hi,
    yes I was checking the same thing. Can you pls clarify that In Logon & security tab.
    what should be filled USER field...? in LOGON BLOCK.
    Thanks,
    Nitin

  • Reg. RFC Call

    Hi All,
             I have doubt ,could some one clarify this . I need to know which RFC is being used while calling a BAPI FM , that is a System A (Non SAP System) is calling a BAPI with one RFC Name (RFCXX) , i need to check and control some functionality depending upon the RFCXX - something like if RFCXX some functionalities should work\disabled.
             Is there any option for that.
    Regards,
    Sen

    Hi Senthil,
    Not clear about what you are looking for  exactly.
    BAPIs will work with RFC technique only.
    But there should be an valid RFC Connection from the system from which you are accessing the RFC FM or BAPIs.You can check the RFC Connections in SM59 transaction.
    Cheers,
    Abdul Hakim
    Mark all useful answers..

  • Reg: JDBC -- RFC Sync call

    Hi All,
    I have created a scenario between JDBC and SAP, which is a synchronous communication. In SXMB_MONI and in communication channel monitoring it is successful. JDBC synchronous communication channel is able to fetch the data, However it is not able to push the data to AS400 DB2 database. Can anybody suggest regarding the same. (I want to avoid BPM)
    Regards,
    Venu V

    Thats the way SAP has implemented JDBC adapter.
    May be the reason could be that opening a JDBC connection and waiting for a response would increase the performance overhead highly. To avoid this JDBC connection are made async so that once the message is sent, the database connection is closed and table could be used for other transactions maintaining the integrity of data.
    Regards,
    Prateek

  • Reg: Calling RFC FM in JavaScript

    Hello Gurus,
    I am trying to call FM from Masthead,
    The FM is used to delete an entry in the table. And I need to execute the FM when Closing the browser or click on Logoff.
    And Input to the FM is logged in User.
    Please help me in resolving this.
    Thanks & Regards,
    Pramod

    Hi Pramod,
    I thnink of few ways to achieve this
    Option 1:
    - create a class which does the FM operation(Abstarct class with JCO connector).
    -deploy this as a par file.
    -take note of the url created when you run this par file from the portalapp.xml.
    -goto logoff form,
    <form name="logoffForm"
    here under action="...., include the url from the above par file starting frome'/irj/....'.
    -now when the user clicks the logoff, he would eb redirected to your abstract calss which does the table operation with FM.
    Option2:
    - the logoffRedirectURL is being called when the user clicks the logOff button. Let us manipulate this URL, instead of this URL change the URL through Visual Admin.
    -create a WdJava or WdABAP appln. which does this Table operation with FM. create an iView and put QuickURL(say- deleteEntry).
    -under redirect URL, call this iView by mentiong as '/irj/portal/deleteEntry).
    -here you have to ensure that this iView is assigned to the users with a role or so.
    note: if you are taking the user away from when he clicks logoff, I believe you may have to handle the logOff yourself.
    May be you could invlidate the HTTP session. In the abstract class mentioned in option1, by using
    'request.getHTTPRequest(..).
    you can do this.
    Thanks,
    Jakes.

  • CBMA issue in PI 7.31 - Connection type is RFC rather than JMS.

    Hi,
    I am facing issue with CBMA in production PI 7.31 which is working perfectly in quality system. I configured alert rules and scheduled AlertConsumerJob also. Configured alerting.isactive to true and alerting.target to '1'.
    I observed that Message Alert configuration from PIMON is routed to alert framework rather than to the page where rules that are created in ID are displayed. From nwa->soa->monitor->Message Alert Configuration, able to see the rules created in ID. Does correcting this helps me?
    Not sure if this is correct or not, but i even tried pinging the url http://host:port/AdapterFramework/alerting/ping.jsp, which shows Connection type as RFC in production. In quality it was JMS. Is this the issue? Please guide me.
    Thanks,
    Prasanna.

    Hi,
    Did you run the CTC wizard for this ?
    Configuring Component-Based Message Alerting - Configuring Process Integration After Installation - SAP Library
    Also, refer - Create new Alert consumer and its next steps in PI7.31 dual stack
    Regards,

  • JMS Sender Adapter EOIO with different messages in Queue to RFC

    Dear Colleague,
    In one of my scenarios i am using JMS Sender Adapter and Websphere MQ series.
    In my MQ Series Queue i get different Messages with Different Structures.
    for e.g in my MQ Series Queue Q1 i have M1, M2, M3 coming in Order.
    Now i need to doa  Mapping of M1 to a Standard BAPI  B1 call through RFC at the reciever side.
    Now i need to doa  Mapping of M2 to a Standard BAPI B2 call through RFC at the reciever side.
    Now i need to doa  Mapping of M3 to a Standard BAPI B3 call through RFC at the reciever side.
    We are aware that on Receiver side we can have multiple Recievr Determinations.so i can send it to 3 different BAPIs.
    Question:
    But how do i split the Messges which are coming out of MQ series Q from JMS to 3 different Mapping Structures as we knwo that we do not 'Multiple Sender Interface Determinations' from Determined based on the Message which is coming in.
    Hope i have been clear in making myself understand about the problem given above.
    I have alos given below the same in a bit Graphical Form.
    MQ Series --> M3, M2, M1(Messages) --> JMS Adapte(EOIO) --> M1(Message) -> RFC -> B1(Bapi)
                                                             --> JMS Adapte(EOIO) --> M2(Message) -> RFC -> B2(Bapi)
                                                             --> JMS Adapte(EOIO) --> M3(Message) -> RFC -> B3(Bapi)
    Is it possible to achieve the above result. Answers fo the solution are most welcome. These can be also from the new Netweaver Release Versions. If we have the solution to these in New version we will implment the New Netweaver Releases.
    Thanks & Warm Regards
    Venugopal

    Dear Kai,
    if i have 3 MQ series Queues then how are we going to maintain the flow of the Messages in the same order in which has come into MQ series queues.
    this mesans to say that all the Message come in Parallel out from JMS or MQ side and will be mapped onto Reciever side.
    But in my case i wil need to have M1 first M2 second and M3 third.
    This means to say that M1 recived and acknowledged then M2 should come and acknowledged and then M3 should be acknowledged.
    How this will be possible with your solution of making 3 MQ series Queues.
    Please do let me know.
    Thanks
    Venugopal

Maybe you are looking for