Sender JDBC to Receiver RFC scenario

Hi All,
I have to configure an scenario of sender JDBC to receiver RFC wherein SAP PI will be pulling data from third party database (Oracle).
Since I am configuring such scenario of sender JDBC, I want help on every important key aspects/prerequisites of configuring sender JDBC adapter/channel. I want to understand about Database Connection, Processing Parameters, etc. details while configuring sender JDBC channel and their significance/relevance.
Also I need guidelines about the source data structure (message type or external definition) to be used/created in ESR.
How sender JDBC channel and receiver JDBC channel differs from each other?
Please guide me on this.
Thanks & Regards,
Amit Patil

Hi Amit,
First of all you should read the sap.help documentation:
Configuring the Sender JDBC Adapter - Advanced Adapter Engine - SAP Library
Configuring the Receiver JDBC Adapter - Advanced Adapter Engine - SAP Library
Later, you can read Rajs's blog to advance concepts and perfomance JDBC Receiver scenarios best practices part-1
Finally, search the other blogs and documents in the SCN.
How sender JDBC channel and receiver JDBC channel differs from each other?
JDBC sender always does a poll to a DB table (with join some tables) in wich table you will need a field checkbox to mark the registers read, and the the receiver JDBC you can do a typical SQL construction like SELECT, INSERT, DELETE, etc. Both cases need the JDBC DB driver installed (check the SAP notes for this, also you can find some examples in the SCN:http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/8000cffc-6b92-2d10-3493-f2ac1399242f?quicklink=index&…  PI/XI: deploy a JMS/JDBC driver without JSPM? ).
Regards.

Similar Messages

  • Very strange issue regarding Sender JDBC to Recevier RFC?

    I've been testing sender JDBC to Receiver RFC,
    but i realized that target RFC was not performed even though moni is clear and RFC adapter monitoring is clear,
    both monitoring is successful.
    also checked that RFC_Receiver adapter setting is correct.
    i also checked RFC Function at Target side whether it is running or not correctly, it is no problem with test value.
    i've never been seen such issue.
    Dose anyone has such experience?
    Message was edited by: Tony
    Message was edited by: Tony

    yes, nothing there.
    but i forgot to tell you one thing,
    sender has one and target has two each communication channel on service, JDBC to JDBC and RFC.
    JDBC to JDBC is ok, but JDBC to RFC is above issue.
    sxmb_moni has two message according to above two receivers when i execute, and two messages are correct
    adapter monitoring is correct
    Message was edited by: Tony

  • Sender JDBC Adapter and Synchronous Interfaces

    Hello
    I have a Oracle/JDBC -> XI -> ECC/RFC scenario. The communication mode is Synchronous.
    In the Oracle database I have a table with a "STATUS" field.  When JDBC Adapter Sends the rows from this table to the Integration Engine, it updates the "STATUS" from "G" (GENERATED) to "R" (READ).
    The response from the RFC contains for each row sent to RFC a "STATUS_from_RFC" field, that I would like to use to update Oracle STATUS field to "S" (SUCCESS) or "E" (ERROR).
    Can the Sender JDBC Adapter use the response from the Synchronous RFC to update Oracle "STATUS" field itself ?
    Or do I need a Receiver JDBC Adapter? In this case, I have to use asynchronous communication and BPM, ok ?
    thanks
    Julio

    Bhavesh,
    <i>>>>But, the online help states it supports QOS of BE and so it does support Synchronous Processing.</i>
    Even File adapter has QOS of BE
    To my understanding response back is possible only if it is PUSH + Sync
    Adapters PUSH + Sync
    HTTP
    SOAP
    RFC
    XI
    etc...
    For the above response is possible
    Adapter PULL + Sync
    File
    JDBC
    etc..
    In general there can be a response if there is a request. In the case of File and JDBC there is no request message coming to the adapter, its the adapter which is actually requesting.
    This is just an idea and my understanding.. might not be true If possible do try it and let everyone know I will also give it a try when time permits
    Thanks,
    Prakash

  • Sender JDBC Mapping error

    Can some one help me with the following error please?
    I just want to read store column from Oracle database table SA_BO_SALES_TEST and create a Flat File. I have JDBC-XI-FILE scenario. I use the same Data Type for Sender(JDBC) and receiver(FILE) Message Type.
    the data type is
       DT_STSSales_SA_BO_SALES
          resultset
            row
              STORE
    The message type is
    MT_STSSales_SA_BO_SALES         
       resultset
            row
              STORE
    The message mapping is between the same message type(MT_STSSales_SA_BO_SALES) for source interface and destination interface.
    The sender JDBC Adapter has
    Query SQL Statement -
    SELECT STORE FROM SA_BO_SALES_TEST WHERE PROCESS_DATE IS NULL
    Update SQL Statement -
    UPDATE SA_BO_SALES_TEST SET PROCESS_DATE='01-JAN-2006' WHERE PROCESS_DATE IS NULL
    Document Name -
      resultset
    When i execute this scenario, The payload from any pipeline steps is
    <?xml version="1.0" encoding="utf-8" ?>
    - <resultset>
    - <row>
      <STORE>1021</STORE>
      </row>
    - <row>
      <STORE>1021</STORE>
      </row>
    - <row>
      <STORE>1021</STORE>
      </row>
      </resultset>
    and it updates the Oracle table with PROCESS_DATE='01-JAN-2006' . But
    One of the pipe line step "Request Message Mapping" is failed with the error.
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>Application</SAP:Category>
      <SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>
      <SAP:P1>com/sap/xi/tf/_MM_STSSales_IDOC_BAPI_POSTR_CREATE~</SAP:P1>
      <SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>
      <SAP:P3>RuntimeException in Message-Mapping transformatio~</SAP:P3>
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>During the application mapping com/sap/xi/tf/_MM_STSSales_IDOC_BAPI_POSTR_CREATE~ a com.sap.aii.utilxi.misc.api.BaseRuntimeException was thrown: RuntimeException in Message-Mapping transformatio~</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>

    Hi Prasad,
    <i>converted into the following XML wihtout any errors</i>
    <i><?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_STSSales_SA_BO_SALES xmlns:ns0="http://zalecorp.com/sts_posdm_sales_10"><resultset><row><STORE>1021</STORE></row><row><STORE>1021</STORE></row><row><STORE>1021</STORE></row></resultset></ns0:MT_STSSales_SA_BO_SALES></i>
    If you have given the name for your Datatype as "<ns0:MT_STSSales_SA_BO_SALES xmlns:ns0="http://zalecorp.com/sts_posdm_sales_10">", then the RESULTSET tag is not to be used.
    You will have to enter this Value <b>MT_STSSales_SA_BO_SALES</b>  in the SENDER JDBC ADAPTER > DOCUMENT NAME and <b>http://zalecorp.com/sts_posdm_sales_10</b> in SENDER JDBC ADAPTER> DOCUMENT NAMESPACE and then <b>Remove the Result Set tag.</b>
    just take a look at the Document Name part of the JDBC adapter in this link,
    http://help.sap.com/saphelp_nw04/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/content.htm
    Regards,
    Bhavesh

  • Send JDBC - XI - Recv SOAP

    HI,
    I  want to retrieve the data from Database and send this into Webservice ?
    I dont have any Idea How to configure the receiver SOAP adaptor and the creation of WSDL file
    Can anyone help me with the complete example of Sender Jdbc -> XI -> Receiver SOAP  scenario

    Abhsihek,
    Sender JDBC adapter is fine, but why u wanna create WSDL? Since the receiving system is webservice, they have to give the URL. So that u can post the data to the URL (which is WSDL). U can see the URL action in SOAP receiver adapter right,there u've to give.
    Refer the doc to configure Receiver SOAP Adapter:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873a22024f79
    Hope it helps.
    Best regards,
    raj.

  • RFC Sender and RFC Receiver Sync Scenario . Help required.

    Hi,
    I need to make RFC Sender and RFC Receiver Sync Scenario.
    Any docs/links for it.
    Regards

    Hi,
    I have CRM (r/3) and DM (r/3)system.
    Data from differnent tables of CRM system needs to go to
    DM system different tables , data will be saved there and then return response back to CRM system.
    For this I have given one RFC for CRM system
    For this I have given one RFC for DM system
    So I have to make Sync Outbound Interface
    and Sync Inbound Interface.
    So I think so no BPM is required.I am correct?
    Adapter -- RFC Sender and RFC Receiver Adapter.
    Regards
    Edited by: Henry H on Jan 29, 2008 11:20 AM

  • (SOAP sender) --- XI ---- R/3 (RFC receiver) this sync scenario

    Hi Experts,
    Webservice(SOAP sender) < - > XI <--> R/3 (RFC receiver) this sync scenario tested with Infopath successfully.
    I have given partner number,student object id are the two input fields(request) and i am getting student number as response. This scenario is working when i use MS infopath.
    I have generated WSDL file embedded with below URL
    http://xxxx.yyytec.passh.ed:7271/XISOAPAdapter/MessageServlet?channel=:Webservice_Sender_BS:GET_NUMBERS_Sender_CC&version=3.0;amp;Sender.Service=Webservice_Sender_BS;amp;Interface=urn%Apache
    Sender business system: Webservice_Sender_BS
    Sender CC: GET_NUMBERS_Sender_CC
    Msg Interface: STU_GET_NUMBERS_Synch_MI
    now we want to test from third party website, what are the things to be provided to the website developer to test the scenario.
    the way i generated URL, is it correct?
    if i provide above URL and generated WSDL in XI , is it enough for web developer to enter the input fields to RFC(r/3) via XI as webservice request and getting back response from RFC(r/3) to webservice via XI.
    can you please advice if any body worked on this kind of scenario.
    Thanks
    Dhanush.

    For the developer you have to provide WSDL file so that they know the input/output fields and write the code.
    URL is correct.
    Other informatino they required is Username and password of you PI system.
    Gaurav Jain
    Points if answer is helpful

  • JDBC to RFC  Scenario large data

    Hi,
    I have jdbc to rfc scenario. I have no problem with the small size data (about 10 mb ). if resultset is very large ( about 80 -120 mb ) , i received resultset and proceess it  but when PI try to send these data to RFC it stucks status Scheduled in sxmb_moni , and in rwb is  to be delivered and doesn't send to rfc.
    What can i do ?

    Since you are using JDBC as sender, I would think you query from the sender and resultset is mapped to RFC for the target system. PI  gives optimum performance upto 5 mb message size. YOur message size is pretty big.
    Suggestion:
    A) Make a minor change and do the query to result less records.
    Example: Select Fields from tablename where rownum < 500    and
                   in update statement set flag = true for the read records so that next time you will not reread those old records again and every time you query only for 500 or  300 or your desired number records and keep the  mesg size always constant irrespective of data available.
    Hope that helps.

  • Can I configure JDBC Sender to process the RFC response message?

    Dear All,
    We're working on an integration scenario of synchronous messaging from database to RFC. Is there any way to update or insert the record(s) onto the source database according to the BAPI response?
    Any inputs are welcome. Many thanks for your time and support.
    Regards,
    Matthew

    Hi Chun,
    As far as I know you will not be able update the database back based on RFC response in a synchronous way though you have option of selecting BE in sender JDBC adapter.
    This is sentence from SAP training material...
    "In the case of a JDBC sender, the database table is queried via a SELECT statement. The message is by definition asynchronous hence the QoS should be set as EO or EOIO. "   
    The only option i can think of is JDBC Sender(async)->BPM->RFC(synch)->response mapping to JDBC receiver structure->JDBC receiver to update the table.
    Also check these threads...
    JDBC source in a Synchronous BAPI call.
    Re: JDBC Sender Synchronously?
    Anand
    Message was edited by: Anand Torgal

  • Synchronous sender JDBC to RFC

    Hi alll
    in case of sender JDBC Adapter,
    i would like to put a result value of processing of target system at sender side.
    but i have no idea with sender JDBC,
    anyone has idea?  if i am not going to use BPM

    Hi Tony,
    Check these threads, they contain solution to your scenario.
    JDBC source in a Synchronous BAPI call.
    Re: Can I configure JDBC Sender to process the RFC response message?
    Re: JDBC Sender Synchronously?
    Configuring JDBC sender
    http://help.sap.com/saphelp_nw04/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/content.htm
    Configuring JDBC Receiver
    http://help.sap.com/saphelp_nw04/helpdata/en/64/ce4e886334ec4ea7c2712e11cc567c/content.htm
    Regards
    Anand

  • JDBC-XI-RFC Scenario

    Hi all,
    Our XI Server is on linux platform and i put TRANS.mdb database file of MS Access on this machine.so for this scenario, i follow below blog.
    /people/sameer.shadab/blog/2005/10/24/connecting-to-ms-access-using-receiver-jdbc-adapter-without-dsn
    so according to this & requirement in sender JDBC adapter parameters.
    JDBC Driver: <b>sun.jdbc.odbc.JdbcOdbcDriver</b>
    Connection: <b>jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=//edb/TRANS.mdb</b>
    But in Communication Channel monitoring ....ERROR message that is
    <b>Error during database connection to the database URL 'jdbc:odbc:Driver={Microsoft Access Driver (.mdb)};DBQ=//edb/TRANS.mdb' using the JDBC driver 'sun.jdbc.odbc.JdbcOdbcDriver': 'com.sap.aii.adapter.jdbc.sql.DriverManagerException: Cannot establish connection to URL 'jdbc:odbc:Driver={Microsoft Access Driver (.mdb)};DBQ=//edb/TRANS.mdb': SQLException: [unixODBC][Driver Manager]Data source name not found, and no default driver specified'</b>
    so Shall we need unixODBC Driver for XI server of Linux platform?
    I downloaded this unixODBC driver form http://www.unixodbc.org/
    I try to install it but Error is same.
    so tell me, How can i configure & Deploy it on XI Server???
    Please give document & require points for deploy unixODBC Driver on XI server.
    Regards,
    Umesh Laxkar

    Hi,
             Thanks for u'r responces,
    but I am getting <b>RED Status in Sender JDBC Adapter.</b>
    so here, I develop a java program of JDBC Connection for MS Access. This program is <b>working</b> File.
    In this program, I use below statemants.
    <i><b>Class.forName ("sun.jdbc.odbc.JdbcOdbcDriver");
    String url = "jdbc:odbc:employee_data";
    Connection con = DriverManager.getConnection(url," "," ");</b></i>
    One think more, MS Access Database is on different machine<b>(IP Address= 192.168.100.xxx)</b> rather than on XI Server<b>(IP Address= 192.168.100.yyy)</b>.
    so Please tell me, about our sender JDBC Adapter that what parameter i have to pass?<b>
    1. JDBC Driver,
    2. Connection and
    3. Shall i have to install FTP server on 192.168.100.xxx machine?
    ??</b>
    Please guide me......I need u'r Inputs.
    Regards,
    Umesh Laxkar

  • SOAP to RFC Scenario - Error at Sender Communication channel !!

    Hi Experts ,
    I am trying to execute a SOAP to RFC scenario . At SOAP sender channel level I am getting the error in RWB .
    My findings :-
    1. Error at RWB  9/24/09 4:24:10 PM   error occured
                             9/24/09 4:24:06 PM   request received
    2. At SOAP UI client tool :
       <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP:Body>
          <SOAP:Fault>
             <faultcode>SOAP:Server</faultcode>
             <faultstring>Server Error</faultstring>
             <detail>
                <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                   <context>XIAdapter</context>
                   <code>ADAPTER.JAVA_EXCEPTION</code>
                   <text>com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:UPDATE:HTTP status code401 Unauthorized
         at com.sap.aii.adapter.xi.ms.XIEventHandler.onTransmit(XIEventHandler.java:455)
         at com.sap.aii.af.ra.ms.impl.core.queue.consumer.CallConsumer.onMessage(CallConsumer.java:134)
         at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:917)
         at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(AccessController.java:207)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)</text>
                </s:SystemError>
             </detail>
          </SOAP:Fault>
       </SOAP:Body>
    </SOAP:Envelope>
    3.  At SOAP UI level - "requires authentication with the realm 'XISOAPApps'"
    1. I don't see any issue in authorization as i am having SAP_ALL .
    2. URL string seems to be O.K :
        http://ABC:50000//XISOAPAdapter/MessageServlet?channel=:BSer_SOAP:CC_SOAP_Sender&version=3.0&Sender.Service=BSer_SOAP&Interface=urn:ABC.com:%5EMI_CustomerInfo
    Kindly advice !!!
    Regards ,

    1. Check PI id and password is working fine.
    Check if the user you are using has SAP_XI_APPL_SERV_USER role.
    Another way is to pass id and pwd in URL
    Try to pass the User ID and Password in the URL( the URL which is given to the webservice).
    Example: http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel &sap-user=xxxx&sap-password=xxxx
    2.Provide SOAP URL like -
    http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel

  • Broken pipe error in Sync Send JDBC Receiver:   Extremely Serious issue

    Hi forum,
    I have a serious error in a JDBC->XI--> JDBC scenario,
    Step1: I use a sender JDBC channel to select some distinct values from  a table say X, and update the same rows,
    Query SQL Statement: select distinct Branch from dbo.X where status = 0
    Update SQL statement: update dbo.X set Status = 2 where Status = 0
    Step 2: enter BPM
    Step 3: enter a loop
    Step 4:make a synchronous call to the same table X, to fetch some records,
    SQL query: select * from X where status = 0 and Branch = i; Update X set status = 9 where Branch = i
    Step 5: close loop,  this loop iterates for 5 or 6 times depending on i, which is no. of branches selected by the sender JDBC channel
    so all the calls are to the same table, same databsse(SQL Server)
    the problem is when this sync calls happens in the loop, it some times gives following error, which i se in RWB:
    <b>Error Unable to execute statement for table or stored procedure. 'X' (Structure 'STATEMENT_X') due to com.microsoft.sqlserver.jdbc.SQLServerException: An exception occurred during the DBComms.transmit operation. Exception:Broken pipe (errno:32). Context:(2217)</b>
    i have no way to trace the cause of the error, the database is perfect and the error logs in the SQL server shows no trace of any error,
    Note: It works sometimes
    i dont know whom to approach, pls help
    the issue is very very serious as its in production system,

    Hi Sudeep,
    SAP Note 846079 - XI 3.0 JDBC Receiver: # of Retries on SQL Error w/o Effect
    Please check the following SAP note also - 831162
    Some info which i found there and can be relevant in to your scenario.....
    Q: I am using a JDBC Receiver Adapter in conjunction with the  Lotus Domino Driver for JDBC perform an INSERT or UPDATE operation on a database. When sending a message to the receiver, the Adapter Monitoring shows the following error message:
    "java.sql.SQLException: [Lotus][Domino Driver for JDBC]Invalid cursor state"
    Is there a fix for this issue?
    A: To work around this JDBC driver problem, activate the Advanced Mode for the respective JDBC Receiver channel and configure the setting "Number of Retries of Database Transaction on SQL Error" to a value > 0. Additionally, make sure that the setting "Database Auto-Commit Enabled" is also active as the Lotus Domino Driver for JDBC does not support transactions.
    Apply note 846079 before configuring this scenario.
    Q: The TCP/IP connection to my database host is running over an unreliable network connection, i.e. the connection is sometimes interrupted. Consequently, I sporadically receive an SQLException regarding a closed connection in the system trace or audit log or the connection as well as the JDBC Adapter channel are hanging.
    How can I work around this connectivity issue?
    A: Enable the "Advanced Mode" for the respective JDBC Adapter channel and select the option "Disconnect from Database After Processing each Message".
    Note that this might put additional load on your DBMS due to the creation of a new database connection for each message.
    I dont have access to a database right now, so i am not able to check this.
    Also check the JDBC driver compatability as mentioned in the above note.
    Cheer's

  • Removing ABAP dump when JDBC is down in RFC- JDBC- RFC scenario

    Hi All,
    I need help to build one scenario.
    I am working on RFC->XI->JDBC->XI->RFC scenario. It is working fine.
    But problem is that whenever JDBC server is down RFC is giving ABAP dump in SAP. How can i Remove ABAP dump in SAP and give information to RFC that "JDBC is out of order"
    Is it possible to implement without BPM, then How?
    If not possible then what could be the steps of BPM?
    Thanks & Regards

    Rohan,
    1.Recive Step should open the Synch - Asynch Bridge
    2. Block Step --> Send Synchronous inside this step with an Exception Hanler.
    3. Now in the exception ahndler step, do the necessary error handling requirement.
    4. Send Step --> closes Synch Asynch bridge.
    My question is what data do you want to send back to the RFC if the DB is down? This data should be populated inside the exception handling block and then this data should be mapped to the corresponding RFC response and used in the step 4.
    Regards,
    Bhavesh

  • Can anyone plz send HTTP to RFC scenario

    Hi everyone,
              can u guys send me the HTTP to RFC scenario? plz send the detail scenario for HTTP-XI-RFC.
    thank u in advance
           xilearner

    1.Created data types for mapping with HTTP request and response.
    2. Created messsage types and assigned corresponding data types to the message types.
    3. Created one Message Interface (Outbound/Synchronous) for HTTP type and no need to create interface for RFC. You ca use the one which you have imported from R/3.
    4. Create request and response message mapping and one Inteface mapping (with request tab and response tab) properly assigned.
    Defined the following in ID:
    1. Created HTTP business system (no communication channel)
    2. Created communication channel for receiving system (SAP).
    3. Created receiving determination and interface determination, receiver agreement, no sender agreement.
    Check this link on how to configure RFC channel.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c8/e80440a832e369e10000000a155106/content.htm
    Send XML message  from HTTP client and you will see the response in the same.
    Regards,
    Sudheer.

Maybe you are looking for

  • How to validate data in editable ALV report after making changes

    Hi Folks, My requirement is to display data in ALV format with quantity field is editable. Once we get the data in display mode only quantity field is enabled right. I am going to make changes to that quantity field and updating that modifed value to

  • Integrate Sap XI and Microsoft technologies

    hi i waana integrate, Microsoft Navision also called as Microsoft Nynamics Nav,which is an erp used for small scale companies, with XI . Any Ideas.

  • Content in Encore

    I probably should have read a little before starting this.  What is the Adobe procedure for finding content that is supposed to be included, like library in Encore, but is missing.

  • Upgrade Oracle http server for last servlet function

    Hi Currently i use Oracle http server with servlet. It seems that my version with jsdk.jar file don't support EncodeUrl function and web.xml file. How can i upgrade my server ? I have tried to replace jsdk.jar file with servlet22.jar file but without

  • Sorting a node and table

    can any one tell, How to sort a dynamically generated table and dynamically generated node?