How to Insert all Records together using JDBC Receiver Adapter.

Hi,
Suppose, I have to send 5 records and from R/3
(using client Proxy) using XI and insert/update all these records in a database.
In case I want to update all the 5 records else mark it as fail and return the response synchronously to R/3, what should be my approach?
Can we do it using native sql querries, if yes could you plese tell me how to do so.
I have never used native sql queries.
Thanks in advance.
Regards
Pushkar

hi,
>>>>Can we do it using native sql querries, if yes could you plese tell me how to do so.
why don't use use standard jdbc adapter and standard jdbc document formats?
the sync jdbc call will return the number of affected /deleted rows
Regards,
michal

Similar Messages

  • Inserting into two tables using JDBC Receiver Adapter

    I've defined following type for Receiver JDBC to save data in two different tables
    Name          Category     Type          Occurrence
    ReceiverDB_DT     Complex Type          
    STATEMENT     Element                    1..unbounded
    TABLE_NAME     Element                    1
    ACTION          Attribute     xsd:string     required
    TABLE          Element          xsd:string     1
    ACCESS          Element          Table1_DT     1
    STATEMENT2     Element                    1..unbounded
    TABLE_NAME     Element                    1
    ACTION          Attribute     xsd:string     required
    TABLE          Element          xsd:string     1
    ACCESS          Element          Table2_DT     1
    When I send data of two tables, it is showing data for both the two tables in MONI of PI System, but ultimately it shows only one table's data in message monitoring payload.
    what could be the problem?
    Thanks,
    -Haresh

    It solved!!!
    by just changing Occurrence only as rightly pointed by Ankesh
    Name          Category     Type          Occurrence
    ReceiverDB_DT     Complex Type          
    STATEMENT     Element                    1..unbounded
    TABLE_NAME     Element                    1
    ACTION          Attribute     xsd:string     required
    TABLE          Element          xsd:string     1
    ACCESS          Element          Table1_DT     1
    STATEMENT2     Element                    1..unbounded
    TABLE_NAME     Element                    1
    ACTION          Attribute     xsd:string     required
    TABLE          Element          xsd:string     1
    ACCESS          Element          Table2_DT     1
    Name          Category     Type          Occurrence
    ReceiverDB_DT     Complex Type          
    STATEMENT     Element                    1
    TABLE_NAME     Element                    1
    ACTION          Attribute     xsd:string     required
    TABLE          Element          xsd:string     1
    ACCESS          Element          Table1_DT     1..unbounded
    STATEMENT2     Element                    1
    TABLE_NAME     Element                    1
    ACTION          Attribute     xsd:string     required
    TABLE          Element          xsd:string     1
    ACCESS          Element          Table2_DT     1..unbounded
    Thanks a lot ankesh

  • How many messsages can we insert using JDBC receiver adapter in to DB

    Hi Friends,
    We are having 30 JDBC receiver interfaces in my current implementation project; load of JDBC receiver interfaces was 50 k messages per day and Performing only INSERT operation on data base.
    We have created individual communication channel for every JDBC receiver interface and max concurrency value set in CC was 5.
    Now we are testing all interfaces in quality with all possible cases, but we found that JDBC receiver adapter unable to process 50 k messages per day, we are on PI 7.1 EHP1 SP7.
    Please share your experiences with JDBC adapter receiver like per day how many messages we can transfer.
    Thanks a Ton,
    Raj

    Raja Sekhar Reddy T wrote:
    we are processing 50 k individual messages.
    >
    > I have increased max threads for JDBC receiver to 20 but no luck same rate only . My questions here is how many messages we can trasfer using JDBC receiver adapter?
    >
    > Regards,
    > Raj
    Hi raj,
    I have seen some interfaces that deal with upload of 5000 rows at a rime.. I don't there will be a restriction in the no of messages that can be transferred using the JDBC adapter as such  unless until the requirement is so para-normal and in your case it is not
    Kind regards
    XA

  • Error while updating database using jdbc receiver adapter

    Hi All,
    I am trying to update a single record using jdbc receiver adapter.
    This is my the message that is getting created..
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:Data xmlns:ns0="urn:Test">
    - <STATEMENT>
    - <TABLENAME ACTION="UPDATE_INSERT">
      <TABLE>ORDERS</TABLE>
    - <ACCESS>
      <OrderID>99999</OrderID>
      <CustomerID>VICTE</CustomerID>
      <EmployeeID>3</EmployeeID>
      <ShipAddress>VICTE</ShipAddress>
      </ACCESS>
    - <KEY>
      <OrderID compareOperation="EQ">99999</OrderID>
      <ShipAddress compareOperation="EQ">VICTE</ShipAddress>
      </KEY>
      </TABLENAME>
      </STATEMENT>
      </ns0:Data>
    But in Adapter Monitoring i am getting the following error..
    <i>Error while parsing or executing XML-SQL document: Error processing request in sax parser: Error when executing statement for table/stored proc. 'ORDERS' (structure 'STATEMENT'): java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near 'VICTE'.</i>
    Regards,
    Rahul

    Rahul,
    > In this case i believe the interface has to be synch.
    > So what will the response message type be like..
    Not necessary. UPDATE can be asynch as well.
    Can you turn the trace on like pointed by Michal and then you can see the Query in the Audit Log of the adapter montioring. Try to execute the same query from your DB Client like TOAD and see what is the Syntax error you are getiing.!
    The problem looks like some field has some dataype / column name mismatch.
    Regards
    Bhavesh

  • How to modify oracle stored procedure for JDBC Receiver Adapter?

    Hi all.
    This is Urgent.
    Scenario is
      SELECT a TABLE with procedure and update column with it,
      then send data to SAP System with RFC Adapter.
    When I executed a sync bpm, scenario was finished internal error.
    Pls, let me know how to correct procedure using JDBC Receiver Adapter?
    Regrds all.
    Procedure Code -
    SET SERVEROUTPUT ON
    CREATE OR REPLACE PROCEDURE zwtn2
    IS
       v_seller_company      wtnivhd.seller_company%TYPE;
       v_invoice_no      wtnivhd.invoice_no%TYPE;
       v_report_date     wtnivhd.report_date%TYPE;
       v_customs_date     wtnivhd.customs_date%TYPE;
       v_ap_post_date     wtnivhd.ap_post_date%TYPE;
       v_gr_date          wtnivhd.gr_date%TYPE;
    CURSOR l_cursor IS
       SELECT seller_company,
              invoice_no,
              report_date,
              customs_date,
              ap_post_date,
              gr_date
         FROM wtnivhd
        WHERE wtn_send_flag = 'N'
          AND rownum < 31
    FOR UPDATE;
    BEGIN
       OPEN l_cursor;
       LOOP
         FETCH l_cursor
          INTO v_seller_company,
               v_invoice_no,
               v_report_date,
               v_customs_date,
               v_ap_post_date,
               v_gr_date;
         EXIT WHEN l_cursor%NOTFOUND;
         UPDATE wtnivhd
            SET wtn_send_flag = 'Y' 
           WHERE CURRENT OF l_cursor;
       END LOOP;
    CLOSE l_cursor;
    END zwtn2;

    Hi Alex,
    plz have a look to Runtime Workbench / Adapter Monitoring to find an error message.
    Regards,
    Udo

  • Executing Select query using JDBC Receiver Adapter

    I created couple types in Oracle and also new function instead of procedure
    Can I execute the above query using JDBC Receiver Adapter.
    select *
    from  the ( select cast( apr.get_distribut('', '', '', 'hdfcgd', 'CAN') as dsrTable )
             from dual );
    If possible how my message structure should look like...

    Hi vikram,
       If you use JDBC as Receiver Adapter you can only post the data to the data base I do no think so we can select the records from the data base.
       If you use JDBC as Sender hope,we can the select query in the sender communication channel.
        Hope I am clear.
      Thanks and Regardds,
      Chandu.

  • Error while using Jdbc receiver adapter

    Hi,
    Iam using a receiver jdbc adapter to update a table in my database.Here iam using 'UPDATE' as my action in the mapping.It is giving the foowing error....
    Error while parsing or executing XML-SQL document: Error processing request in sax parser: No 'action' attribute found in XML document (attribute "action" missing or wrong XML structure)
    Can Please anybody tell me what may be the problem with my scenario...
    Thanks & Regards,
    Radhika.

    Hi ,
         action type should be attribute .  Please go through the following structure for update .
    <b>
       <?xml version="1.0" encoding="UTF-8"?>
    <ns1:MT_RESPONSE xmlns:ns1="http://com/Test">
       <STATEMENT_NAME>
          <TABLENAME action="UPDATE">
             <TABLE>Utility</TABLE>
             <access>
                <Updated_On/>
             </access>
             <key>
                <TrnHisID/>
             </key>
          </TABLENAME>
       </STATEMENT_NAME>
    </ns1:MT_RESPONSE></b>
              query for above we may say as
    <b>UPDATE  Utility set  Updated_On='' where  TrnHisID =''</b>
              Hope it helps
    Regards.,
    V.Rangarajan

  • Junk character being sent by Jdbc Receiver adapter

    Hi all,
    I am using jdbc receiver adapter it s working fine .However for costumer name it is sending some junk character in last like " SMAN-Abdulrahman Osman¿ " the thing is that all other field is getting populated properly. when I am viewing the data in sxmb_monni .I am finding the data is prpoer but when it is getting posted to staging table then junk character is coming .I am coused whether it is mistake of JDBC adapter or something wrong in the staging table.
    Regards,
    Saurabh

    Hi Vijay
    But for JDBC adapter where I will use the encoding...It is IDoc to Jdbc scenario.So I haave already used the encoding option in RFC destination.Now where to define the encoding in jdbc adapter I am not sure.
    One more thing I had used the encoding in RFC to read arabic charachter now its reading arabic charchter currectly but when the name is coming in english then it is getting appended by ¿. for example SMAN Saleh Ahmed Mustafa¿
    surprisengly in other column if value is coming in english also it is coming properly. could it be a problem in staging table itself. i am pitting one row below.
    Nural.L.L.C¿                        Yerevan-Armenia                     99999                           Yerevan Community

  • Storedprocedure trigger using JDBC sender adapter.

    Hi All,
    How can i execute the storedprocedure using JDBC sender adapter. I need to trigger the storedprocedure once in every hour. so i would like to use the JDBC sender adapter. My question is what is the SQL i need use in the SQLstatement parameter..?? I don't want to send parameters and not expecting any return values. It should just trigger the procedure.
    Thanks in adv.
    Regards,

    Hi Murali,
    it is possible to execute a stored porcedure using a sender JDBC adapter.
    Just Specify an SQL EXECUTE statement to execute a stored procedure, which contains exactly one SELECT statement.
    This will have to be done for your SELECT statement in JDBC adapter. ALso, make the UPDATE as either TEST, if you dont want any updations or give an UPDATE statement for the UPDATE query.
    Set the polling interval of your JDBC adapter to 1 hour and it will work like u want.
    http://help.sap.com/saphelp_nw04/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/content.htm
    Regards,
    Bhavesh

  • JDBC Receiver adapter-java.sql.SQLException: ORA-00904: "BATCH_ID": invalid

    Hi
    I am trying insert rows in Oracle database using JDBC receiver adapter setup in PI 7.1. However this receiver adapter is throwing following exception.
    Delivering the message to the application using connection JDBC_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'PRADEEP_OTC_ORDERS' (structure 'statement'): java.sql.SQLException: ORA-00904: "BATCH_ID": invalid identifier .
    <?xml version="1.0" encoding="UTF-8" ?>
    <ns0:mt_sql_writer xmlns:ns0="http://rdbms_poc">
    <statement>
         <dbtablename action="INSERT">
                <table>PRADEEP_OTC_ORDERS</table>
              <access>
                     <order_id>19126</order_id>
                     <version>1</version>
                     <batch_id>132</batch_id>
                </access>
           </dbtablename>
    </statement>
    </ns0:mt_sql_writer>
    PRADEEP_OTC_ORDERS table has just 3 columns as specified the access segment. However I stil get this ORA-00904 error message.
    Any idea on what could be wrong.?
    Thanks
    -Pradeep

    Hi All,
    Thanks a lot for responding...
    I verified the table structure, table just contains those 3 coulms all varchar type.
    I modified the column name as well, But was still getting ORA-00904. Then I went directly to the the database and executed below insert statement,
    insert into PRADEEP_OTC_ORDERS (mps_order_id, mps_version,mps_batch_id) Values(1,2,3)
    I got exact SQL Error: ORA-00904: "MPS_BATCH_ID": invalid identifier.
    So ISAP JDBC adapter is not enclosing the string values in quotes.
    SAP documentation says it puts quotes for values and treats everything as string(text).
    Anybody has any idea, why JDBC receiver adapter not enclosing the values in quotes?
    Thanks
    -Pradeep

  • Alerts for JDBC Receiver Adapter

    Hi ,
    I am using JDBC receiver adapter. I have configured the alert category and Alert rules. Alerts are getting for Mapping etc.
    When ever error occured in the SQL server whether its firewall issue or some other issue. The alerts are not created. Instead I can see the error message in RWB Message monitoring and communicaton channel monitoring.
    Please let me know How can raise alerts if the error occured at the JDBC receiver side.
    Thanks in advance,
    Kevin

    Hi Kevin,
    Probabaly the alert rule did not capture the error in the adapter engine.
    The filter for sender and receiver interface details in the alert rule can cause this issue depending on when and how the error occured. Can you create an alert rule with * for all entries, for adapter engine and check?
    Also do NOT check the option "suppress multiple alerts from this rule" because it will prevent subsequent alerts from this rule, if there is already one and not yet confirmed.
    Further please check the alerts in SALRT table in se16 if its created properly or via transaction ALRTDISP.
    Please use the report SXMSALERT_LOGREADER for troubleshooting and checking the alert logs.
    Hope this helps.
    Regards,
    Francis

  • JDBC Receiver Adapter Error

    Hi All,
    I am executing SP by using JDBC Receiver Adapter.
    My strcture is follows
    <STATEMENT2>
    <SP_CREATE_T_BATCH action="EXECUTE">
    <spName type="VARCHAR">SP_CREATE_T_BATCH</spName>
    <IN_Control_Recipe hasQuot="No" type="Integer">100000000001723850</IN_Control_Recipe>
    </SP_CREATE_T_BATCH>
    </STATEMENT2>
    The below error I am getting
    Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'SP_CREATE_T_BATCH' (structure 'STATEMENT2'): java.lang.NumberFormatException: For input string: "100000000001723850"
    Any help on this

    Hi Ram,
    Since you mentioned that your SP has one input parameter and one output parameter, the structure of the XML message at the JDBC receiver side should be:
    <STATEMENT2>
    <SP_CREATE_T_BATCH action="EXECUTE">
    <IN_Control_Recipe isInput="true" hasQuot="No" type="BIGINT">100000000001723850</IN_Control_Recipe>
    <Output_Parameter isOutput="true" type="SQLDataType"></Output_Parameter>
    </SP_CREATE_T_BATCH>
    </STATEMENT2>
    Here, i have assumed the following:
    SP_CREATE_T_BATCH   - The name of the Stored Procedure to be executed
    IN_Control_Recipe - Input parameter of the SP and its SQLDataType is BIGINT as suggested by Stefan.
    Output_Parameter - Output parameter of the SP. You may enter the SQL data type as per the output of your Stored Procedure.
    The following SQL data types are supported:
    INTEGER, BIT, TINYINT, SMALLINT, BIGINT, FLOAT, REAL, DOUBLE, NUMERIC, DECIMAL, CHAR, VARCHAR, STRING, LONGVARCHAR, DATE, TIME, TIMESTAMP, BINARY, VARBINARY, LONGVARBINARY, BLOB (input and output),CLOB (input and output), CURSOR (output; only in conjunction with the Oracle JDBC driver).
    Hope this will surely solve your problem.
    Regards, Gaurav.

  • Store procedure in JDBC Receiver adapter

    Hi,
    I am calling stored procedure using jdbc reeciver adapter . showing below error. In oracle database it is under functions not in the procedure. functions and stored procedure are same? is it should be create under procedure?
    error message:
    Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'GET_ALL_SALESREPINFO' (structure 'statement'): java.sql.SQLException: ORA-06550: line 1, column 7: PLS-00221: 'GET_ALL_SALESREPINFO' is not a procedure or is undefined ORA-06550: line 1, column 7: PL/SQL: Statement ignored
    Sql query:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns1:TerritoriesAndSalesRepsRequest xmlns:ns1="http://allergan.com/TerritoriesAndSalesRepsServiceList/1.0">
    <statement><GET_ALL_SALESREPINFO action="EXECUTE">
    <P_REP_LOGIN isInput="1" type="VARCHAR">sdfsfd</P_REP_LOGIN>
    </GET_ALL_SALESREPINFO>
    </statement></ns1:TerritoriesAndSalesRepsRequest>
    oracle function
    DECLARE
         RETURN_VALUE BEACONDM_ETL.ACCT_TABLE_TYPE;
         P_ZIP_CODE VARCHAR2(2000) := '-';
    BEGIN
         RETURN_VALUE := BEACONDM_ETL.GET_ACCT_INFO(P_ZIP_CODE);
         --DBMS_OUTPUT.PUT('RETURN_VALUE: ');
         --DBMS_OUTPUT.PUT_LINE(RETURN_VALUE);
         DBMS_OUTPUT.PUT('P_ZIP_CODE: ');
         DBMS_OUTPUT.PUT_LINE(P_ZIP_CODE);
    END;
    GO
    DECLARE
         RETURN_VALUE BEACONDM_ETL.SALESREP_TABLE_TYPE;
         P_REP_LOGIN VARCHAR2(2000) := '-';
    BEGIN
         RETURN_VALUE := BEACONDM_ETL.GET_ALL_SALESREPINFO(P_REP_LOGIN);
         --DBMS_OUTPUT.PUT('RETURN_VALUE: ');
         --DBMS_OUTPUT.PUT_LINE(RETURN_VALUE);
         DBMS_OUTPUT.PUT('P_REP_LOGIN: ');
         DBMS_OUTPUT.PUT_LINE(P_REP_LOGIN);
    END;
    GO
    Please send me if you have any blogs for calling stored procedure using jdbc receiver adapter.

    Hi Madhu,
    >>>I am calling stored procedure using jdbc reeciver adapter . showing below error. In oracle database it is under functions not in the procedure. functions and stored procedure are same? is it should be create under procedure?
    Of course there is difference between Oracle functions & Stored procedures:
    Re: Populating DropdownByKey by accessing backend
    As far as i know and have configured and used Stored procedures with the JDBC adapter, it can be used with Oracle stored procedures (leave it to the experts to comment on the Oracle functions part). So if you change it to stored procedure then it should work fine.
    You may then define your Message structure as follows:
    http://help.sap.com/saphelp_nw73/helpdata/en/44/7b72b2fde93673e10000000a114a6b/content.htm
    And you may also like to refer the following blog on stored procedures:
    PI  JDBC Stored Procedure test scenario
    Hope this helps. Regards, Gaurav

  • How to update and insert the records without using Table_comparison and Map_operation?

    How to update and insert the records without using Table_comparison and Map_operation?

    Use either join or MERGE see this Inserting, Updating, and Deleting Data by Using MERGE

  • How to insert null record (some col) in table using loop

    Hi,
    How to insert null record (for some columns) in table using loop.
    sample data of x_tab
    order_id order_name
    231 xxx
    123
    345
    111 vvvv
    Thanks,
    Lakshman
    Edited by: kolipaka on Jul 5, 2012 1:37 PM

    You have a table
       CREATE TABLE tab (
          col1  NUMBER,
          col2  NUMBER,
          col3  NUMBER,
          col4  NUMBER
          col5  NUMBER)Now you insert:
       INSERT INTO tab (col2, col4) VALUES (5, 7);col1, col3 and col5 are NULL by default (there is no DEFAULT clause for these columns so they are NULL).

Maybe you are looking for

  • Can not connect outside of Lan to with rtsp PVC2300

    I have the following cameras set up at my office 1 - PVC2300 2 - WVC54GC 3 - AXIS 225FD I have a BEFSR81 Router I have a computer on Windows XP running the surv software to record.  Everything with that is good. I also have 2 desktops. I have been pl

  • Additional Account Assignment not working

    Dear all, I implemented Functional Area as additional account assignment. Then I entered Functional area in asset master record. When I post depreciation using AFAB, I can NOT see functional area. What would be the reason? Best regards, Onur

  • Add a dollar sign in the output of a field.

    How do I add a dollar sign to a dynamic money field? I am not allowed to leave a space between the dollar sign and the money amount. My data contains 200.00 or 1000.00 and I need a dollar sign in front of any amount.

  • Help: analyze microsoft word docs

    I'm trying to write a program to run linguistic analysis on Microsoft Word documents. I understand how to do i/o with plain text files. But for a Word document, how do I deal with those extra formatting? Can any of you Java gurus out there give me so

  • PS CS4 will not open after carbon copying drive to new SSD on MacPro

    PS CS4 will not open after carbon copying drive to new SSD on MacPro. Pop-up windows inform me that the scratch disk is not available. I would appreciate any advice on how to rectify this problem. Thanks marco