JDBC Receiver Adapter to connect to oracle

Hi all,
We are configuring communication channel for receiver JDBC Adapter to connect to oracle dataabase. The status is red in the Adapter monitor and it says that
"Receiver Adapter v1027 for Party '', Service 'MQ':
Configured at 23:31:45 2006-12-12
Processing Error: Accessing database connection 'jdbc:odbc://172.20.36.170:1521;DatabaseName=RTPOC failed: java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
Addtional information: JDBC driver 'oracle.jdbc.driver.OracleDriver' loaded successfully, additional driver information:
Available JDBC drivers:
    oracle.jdbc.driver.OracleDriver, 1.0 JDBC compliant
    sun.jdbc.odbc.JdbcOdbcDriver, 2.1 JDBC compliant
I guess there is some error in the connection url....could someone give us the exact syntax of Connection url.
Regards

Hi all,
someone please clarify me. I have a datasource called "OracleDSN" in system 172.20.36.239 which has oracle client(RTPOC) in it.
So i gave my connection url as
jdbc:odbc:OracleDSN:@172.20.36.239:1521:RTPOC.
it still says that datasource name is too long..
Please help us out.
Regards

Similar Messages

  • 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

  • JDBC receiver adapter: Insert of CLOB into Oracle DB

    Hi,
    I've got a short question:
    Is it possible to insert CLOB fields (larger than 4kB) into an Orcale database using the JDBC receiver adapter without using a stored procedure?
    We are on XI 3.0 SP20.
    I had someting in mind that this is only possible with a stored procedure but I am not sure on this.
    Thanks and Regards,
    Helmut

    HI,
    Is it possible to insert CLOB fields (larger than 4kB) into an Orcale database using the JDBC receiver adapter without using a stored procedure?
       yes, you can do it but it is not a best practise, but using Stored Procedure is .
    Regards,
    karna...

  • JDBC Receiver Adapter -- Synch Select. ERROR

    Hello,
    We have implemented the scenario described by Bhavesh Kantilal in blog 3928:
    JDBC Receiver Adapter -- Synchronous Select – Step by Step 
    /people/bhavesh.kantilal/blog/2006/07/03/jdbc-receiver-adapter--synchronous-select-150-step-by-step
    but modified to our requirements.
    An Idoc is coming in, mapped to a sync receiver jdbc as described to collect data from a jdbc table.
    Result when connecting the oracle database with the jdbc receiver adapter:
    Error processing request in sax parser: Error when executing statement for table/stored proc. 'T_ST_MAINDRIVER' (structure 'STATEMENT'): java.sql.SQLException: ORA-00942: table or view does not exist
    Oh, like to complete the information by the payload from the jdbc rec. connect:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:MT_JDBC_LOOPUP_ID xmlns:ns0="http://www.xxx.org/excel">
    - <STATEMENT>
    - <TABLENAME ACTION="SELECT">
      <TABLE>T_ST_MAINDRIVER</TABLE>
      <ACCESS />
    - <KEY>
      <MAINDRIVER compareOperation="=">Optomechanical</MAINDRIVER>
      </KEY>
      </TABLENAME>
      </STATEMENT>
      </ns0:MT_JDBC_LOOPUP_ID>
    The table exists on the database. So, what is our mistake? Do you have any ideas?
    Best regards
    Dirk
    Message was edited by:
            Dirk Meinhard
    Message was edited by:
            Dirk Meinhard

    Hi Anil,
    I am back on my JDBC problem and I am one step further!
    Thank you for this hint. Looks like this is the solution.
    So I like to add my next question !
    My new error is resulting from my query command.
    I have set "=" to find a specific entry as compare operation.
    Error when executing statement for table/stored proc. 'IRIS.T_ST_MAINDRIVER' (structure 'STATEMENT'): java.sql.SQLException: FATAL ERROR document format in structure 'TABLENAME': unexpected value '=' for attribute 'compare' found
    Looks like this is not ok .
    This is my xml of this query:
    <ns0:MT_JDBC_LOOPUP_ID xmlns:ns0="http://www.xxx.org/excel">
       <STATEMENT>
          <TABLENAME ACTION="SELECT">
             <TABLE>IRIS.T_ST_MAINDRIVER</TABLE>
             <ACCESS/>
             <KEY>
                <MAINDRIVER compareOperation="=">Optomechanical</MAINDRIVER>
             </KEY>
          </TABLENAME>
       </STATEMENT>
    </ns0:MT_JDBC_LOOPUP_ID>
    Can you, or anybody else, give the helping idea?
    regards
    Dirk

  • 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

  • Issue with processing time of JDBC receiver adapter

    Hi all,
    We are using PI 7.1 EHP1.
    We have an issue with JDBC receiver adapter taking too much time to process messages.
    We are using XML SQL format message protocol with INSERT_UPDATE as the document format.
    Each message can contain multiple records, i.e. 1 single message can result in many updates/inserts.
    Currently, time taken to process in 6-12 secs which is quite high considering the messages are not very large in size.
    We sent the statements to Oracle DBA to see if anything about the queries being used is causing issues. Awaiting inputs.
    In the mean time, wanted to check if there is anything that can be done from PI side that will help us improving the processing time.
    Thanks in Advance,
    Sailaja.

    Hi,
           i think the main cause is  query taking long time to execute in DataBase.
          -> increase the read time and response time in the JDBC receiver adapter.
      In the advanced mode table section of sender channel and receiver channel configurations, we can set driver properties for each DB connection. Any such property would have to contain prefix 'driver:'(with out quotes).
    For Oracle Database JDBC thin driver 10.2.0.3 version, the property oracle.jdbc.ReadTimeout helps to set read timeout while reading from the socket. Also for setting login time out in Oracle, we use oracle.net.CONNECT_TIMEOUT. To set these two properties use as follows: driver:oracle.jdbc.ReadTimeout 1000 driver:oracle.net.CONNECT_TIMEOUT 1000 The TimeOut Driver properties like ReadTimeout and CONNECT_TIMEOUT are in milliseconds.
    Refer note 1078420 for more details
    please go through this blog i hope it will help you.
        http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/c059d583-a551-2c10-e095-eb5d95e03747
    regards,
      ganesh
    Edited by: ganesh.nijampudi on Oct 25, 2011 12:00 PM

  • JDBC Receiver Adapter Error with SAPClassNotFoundException

    HI Friends,
    I have configured the JDBC Receiver Adapter with parameters as
    Driver: oracle.jdbc.driver.OracleDriver
    Connection: jdbc:oracle:thin:@10.15.96.29:1525:RMOSDB
    XI 700, Oracle DB 10.2
    I have installed JDBC driver for Oracle as guide “How Install and Configure External Drivers for the JDBC & JMS Adapters.pdf”. I can see file ojdbc14.jar at D:\usr\sap\<SID>\DVEBMGSNN\j2ee\cluster\server0\bin\ext\com.sap.aii.af.jmsproviderlib.
    But I’m still getting an error SAPClassNotFoundException as following:
    #XI AF com.sap.aii.adapter.jdbc.XI2JDBC@1497c21##0#0#Error#1#com.sap.aii.adapter.jdbc.XI2JDBC#Plain###Accessing database connection 'jdbc:oracle:thin:@10.15.96.29:1525:RMOSDB' failed: com.sap.aii.adapter.jdbc.sql.DriverManagerException: Cannot establish connection to URL 'jdbc:oracle:thin:@10.15.96.29:1525:RMOSDB': SAPClassNotFoundException: oracle.jdbc.driver.Oracledriver#
    #XI AF com.sap.aii.adapter.jdbc.XI2JDBC@1497c21##0#0#Error#1#com.sap.aii.adapter.jdbc.XI2JDBC#Plain###JDBC_ERR_207#
    #Error#1#com.sap.aii.adapter.jdbc.XI2JDBC#Plain###Accessing database connection 'jdbc:oracle:thin:@10.15.96.29:1525:RMOSDB' failed: com.sap.aii.adapter.jdbc.sql.DriverManagerException: Cannot establish connection to URL 'jdbc:oracle:thin:@10.15.96.29:1525:RMOSDB': SAPClassNotFoundException: oracle.jdbc.driver.Oracledriver#
    I tried to install JDBC driver again but it was not solve this problem.
    Please suggest!
    Regards,
    Cuong

    HI Cuong,
    It seems something wrong with the installation of JDBC driver or in the config parameters for Adapter.
    Not sure if driver is case sensitive.
    But from the log it shows "oracle.jdbc.driver.Oracledriver".
    Try putting "oracle.jdbc.driver.OracleDriver".
    regards,
    Pinkle

  • Jdbc receiver adapter

    Hi all,
    I want to insert data into two tables and want to get data from one of those tables(using SELECT in the attribute 'action') after they are inserted with the data.
    So how should be my receiver jdbc datatype structure.
    Can anybody please tell me?
    Thanks & Regards
    Radhika.

    Check this  blog for Synhronous select of data froma Database,
    /people/bhavesh.kantilal/blog/2006/07/03/jdbc-receiver-adapter--synchronous-select-150-step-by-step
    /people/jegathees.waran/blog/2007/03/02/oracle-table-functions-and-jdbc-sender-adapter
    Please see the below URL for logic.
    http://www.flickr.com/photos/8764045@N06/549186611/
    http://www.flickr.com/photos/8764045@N06/549186651/
    hope it will help u ..

  • 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.

  • JDBC Receiver Adapter - Call Stored Procedure

    Hi,
    I am using a JDBC receiver adapter to call a stored procedure in oracle.
    My target structure looks like:-
    <STATEMENT>
    <storedProcedureName action="EXECUTE">
    <table>realStoredProcedureName</table>
    <serialDate hasQuot="NO" isInputType="true" type="date">TO_DATE('07-15-2008 08:00:11','MM-DD-YYYY HH24:MI:SS')</serialDate>
    <serialNo isInputType="true" type="NUMERIC">123456</serialNo>
    </storedProcedureName>
    </STATEMENT>
    The storedprocedure takes two input values and has one output value.
    The first parameter of the stored procedure is serialDate and the second input parameter is serialNo.
    I am getting an exception:-
    <SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'storedProcedureName' (structure 'STATEMENT'): java.lang.NumberFormatException: For input string: "TO_DATE('07"</SAP:AdditionalText>
    Any ideas how to fix this issue.
    Thanks.
    Krishnan

    Hi Krishnan,
    <STATEMENT>
    <storedProcedureName action="EXECUTE">
    <table>realStoredProcedureName</table>
    <serialDate hasQuot="NO" isInputType="true" type="date">TO_DATE('07-15-2008 08:00:11','MM-DD-YYYY HH24:MI:SS')</serialDate>
    <serialNo isInputType="true" type="NUMERIC">123456</serialNo>
    </storedProcedureName>
    </STATEMENT>
    The storedprocedure takes two input values and has one output value.
    The first parameter of the stored procedure is serialDate and the second input parameter is serialNo.
    I am getting an exception:-
    <SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'storedProcedureName' (structure 'STATEMENT'): java.lang.NumberFormatException: For input string: "TO_DATE('07"</SAP:AdditionalText>
    In the XML structure you cannot use TO_DATE function . Please pass the DATE in the correct format which the Stored procedure can accept .  Get the out put what you expected from TO_DATE function and use that value in the structure.
    Regards,
    Kishore

  • JDBC receiver adapter for AS400-query time out due to Escape Symbol

    Hello,
    I am uisng JDBC receiver adapter for AS 400, When I execute query, the query needs to have arguments in the open and close single ticks ('    12345' )
    My XML pay load looks like this, which is RFC sender. Look at dcudcstmr in <i><b>(' 838912')</b></i>.  When receiver gets this message the ' (single quotes are disappeared.
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns1:MT_Cma_Customer_Select_Request xmlns:ns1="http://freemanco.com/xi/Get_Customer">
    - <Statement>
    - <LawsonCustomer action="SQL_QUERY">
      <access>select f1.DACMCMPNY from sap.sapcustvew f1, sap.sapcustvew f2 where f2.dcudcstmr in <i><b>(' 838912')</b></i> and (f1.dcudcstmr=f2.dcudcstmr or f2.komaster=f1.dcudcstmr)</access>
      </LawsonCustomer>
      </Statement>
      </ns1:MT_Cma_Customer_Select_Request>
    On the Receiver JDBC adapter I have tried with different combinations of Escape Symbol for Aposrophe as follows
    <b>   \
       '</b>
    As you know this is related to epcape character, I get following error all the time. Looks like the query is not able to execute in the specified time. My question is how do I get single quote as part of query.
    <b>select f1.DACMCMPNY from sap.sapcustvew f1, sap.sapcustvew f2 where f2.dcudcstmr in ( 100001) and (f1.dcudcstmr=f2.dcudcstmr or f2.komaster=f1.dcudcstmr) 2007-09-20 15:56:42 Error Unable to execute statement for table or stored procedure. 'LawsonCustomer' (Structure 'Statement') due to java.sql.SQLException:
    [SQL0666] Estimated query processing time 13766 exceeds limit 8000. 2007-09-20 15:56:42 Error MP: exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'LawsonCustomer' (structure 'Statement'): java.sql.SQLException:
    [SQL0666] Estimated query processing time 13766 exceeds limit 8000. 2007-09-20 15:56:42 Error Exception caught by adapter framework: Error processing request in sax parser: Error when executing statement for table/stored proc. 'LawsonCustomer' (structure 'Statement'): java.sql.SQLException:
    [SQL0666] Estimated query processing time 13766 exceeds limit 8000. 2007-09-20 15:56:42 Error Delivery of the message to the application using connection JDBC_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'LawsonCustomer' (structure 'Statement'): java.sql.SQLException:
    [SQL0666] Estimated query processing time 13766 exceeds limit 8000.. Setting message to status failed. 2007-09-20 15:56:42 Error The message status set to FAIL. 2007-09-20 15:56:42 Error Returning synchronous error message to calling application: com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'LawsonCustomer' (structure 'Statement'): java.sql.SQLException:
    [SQL0666] Estimated query processing time 13766 exceeds limit 8000</b>
    Any feedback or helpfull tips appreciated.
    Thank you,
    Balaji

    Raj,
    Thank you for the reponse. I am using UDF on sender to generate sql statement as you see in sender XML message. After the message reaching receiver, gets executed but no response from AS400 becasue of missing single quotes in the sql query executed.
    Sender XML sends
    <access>select f1.DACMCMPNY from sap.sapcustvew f1, sap.sapcustvew f2 where f2.dcudcstmr in <u><b>(' 838912')</b></u> and (f1.dcudcstmr=f2.dcudcstmr or f2.komaster=f1.dcudcstmr)</access>
    Receiver executes as
    select f1.DACMCMPNY from sap.sapcustvew f1, sap.sapcustvew f2 where f2.dcudcstmr in ( <b><u>838912</u></b>) and (f1.dcudcstmr=f2.dcudcstmr or f2.komaster=f1.dcudcstmr)
    As you see the single quotes are missing. Like I said in previous posting I tried with following Escape Symbol for Aposrophe.
    Let me know if you need more information.
    Thank you,
    Balaji

  • A wierd error of JDBC Receiver adapter

    Dear Expert,
    I got stuck by the JDBC receiver adapter with PI 7.11, the log is
    'JDBC Message processing failed, due to Error processing request in sax parser: Error when executing statement for table/stored proc. 'null' (structure 'SYSTEM'): java.lang.IndexOutOfBoundsException: Index: 1, Size: 1'
    explanation :   
    (1)SYSTEM  is the first element in my XML sent to PI and I guarantee it has value, and there is no mapping with this field in the target table.
    (2)I tested mapping and comminucation channel -> successfully
    (3)db is oracle and the key field is mapped with value
    Looking forward to your insight. Thanks very very much
    Ray

    Dear Expert :
    Thanks for your reply, but I still could not figure out what had happened, it is so desperate.......
         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. 'null' (structure 'BOOK'): java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
    The Oracle DB table has many fields and I mapped the key and other fields which could not be null.
    I tried to create a very simple example to test like this , but still it pops up the error like before,
    you can see the error message just  replaces the  text 'SYSTEM' to 'BOOK'.
    'null' (structure 'SYSTEM'): (yesterday)  ->   'null' (structure 'BOOK'):  (today).   What could I do????
    Thanks so much for your help
      <?xml version="1.0" encoding="UTF-8" ?>
      <MT_RM_TEST>
      <BOOK>17-1627-15</BOOK>
      <NAME>Ray</NAME>
      </MT_RM_TEST>
    -> the XML above is my simple test XML sent (book and name are mapped to the key field and other fields which could not be nulll)

  • 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

  • JDBC receiver adapter - SQLException: [SQL0104]

    Hello,
    I am using JDBC Receiver adapater and connecting to AS400. The statement is generated using UDF. When receiver get the statment it looks like as follows.
    select f1.DACMCMPNY from sap.sapcustvew f1, sap.sapcustvew f2 where f2.dcudcstmr in (' 100090') and (f1.dcudcstmr=f2.dcudcstmr or f2.komaster=f1.dcudcstmr)
    I get following error. When I ran above sql in a separate java class that runs fine. Also I ran above sql in the AS400 and it works file. I am not sure what is the issue when running on XI. Please let me know.
    Unable to execute statement for table or stored procedure. 'LawsonCustomer' (Structure 'Statement') due to java.sql.SQLException: [SQL0104] Token 100090 was not valid. Valid tokens: ,.
    MP: exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'LawsonCustomer' (structure 'Statement'): java.sql.SQLException: [SQL0104] Token 100090 was not valid. Valid tokens: ,.
    Exception caught by adapter framework: Error processing request in sax parser: Error when executing statement for table/stored proc. 'LawsonCustomer' (structure 'Statement'): java.sql.SQLException: [SQL0104] Token 100090 was not valid. Valid tokens: ,.
    Delivery of the message to the application using connection JDBC_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'LawsonCustomer' (structure 'Statement'): java.sql.SQLException: [SQL0104] Token 100090 was not valid. Valid tokens: ,.. Setting message to status failed.
    Returning synchronous error message to calling application: com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'LawsonCustomer' (structure 'Statement'): java.sql.SQLException: [SQL0104] Token 100090 was not valid. Valid tokens: ,..
    Thank you,
    Balaji

    Raj,
    Yes I gave postrophe '' as mentioned in the other thread.
    LawsonCustomer is one of the the element in XML structure. The xml message structure looks like as follows.
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:http://freemanco.com/xi/Get_Customer" targetNamespace="urn:http://freemanco.com/xi/Get_Customer">
         <xsd:complexType name="Cma_Customer_Select_Request">
              <xsd:annotation>
                   <xsd:appinfo source="http://sap.com/xi/TextID">
                   98a58fa0687d11dcca07000c296184a2
                   </xsd:appinfo>
              </xsd:annotation>
              <xsd:sequence>
                   <xsd:element name="Statement">
                        <xsd:annotation>
                             <xsd:appinfo source="http://sap.com/xi/TextID">
                             d669121049e911dcaa6d0015c543a10b
                             </xsd:appinfo>
                        </xsd:annotation>
                        <xsd:complexType>
                             <xsd:sequence>
                                  <xsd:element name="LawsonCustomer">
                                       <xsd:annotation>
                                            <xsd:appinfo source="http://sap.com/xi/TextID">
                                            d669121149e911dc997c0015c543a10b
                                            </xsd:appinfo>
                                       </xsd:annotation>
                                       <xsd:complexType>
                                            <xsd:sequence>
                                                 <xsd:element name="access" type="xsd:string">
                                                      <xsd:annotation>
                                                           <xsd:appinfo source="http://sap.com/xi/TextID">
                                                           d669121349e911dc87c50015c543a10b
                                                           </xsd:appinfo>
                                                      </xsd:annotation>
                                                 </xsd:element>
                                            </xsd:sequence>
                                            <xsd:attribute name="action" type="xsd:string" use="required">
                                                 <xsd:annotation>
                                                      <xsd:appinfo source="http://sap.com/xi/TextID">
                                                      d669121249e911dcbbe40015c543a10b
                                                      </xsd:appinfo>
                                                 </xsd:annotation>
                                            </xsd:attribute>
                                       </xsd:complexType>
                                  </xsd:element>
                             </xsd:sequence>
                        </xsd:complexType>
                   </xsd:element>
              </xsd:sequence>
         </xsd:complexType>
    </xsd:schema>
    Thank you,
    Balaji

  • Delay in JDBC Receive Adapter

    Hi Everyone.
    I have an asynchronous scenario, RFC -> PI -> JDBC (Oracle DB)... This does an UPDATE in each message... When try to process 400 message the time of execution in the DB takes 2 minutes. For the client, this time is too long, but I've done everything and the time does not improve.
    This is the message:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns1:SQLString xmlns:ns1="urn:envioinventario:sap:seus">
    <Statement>
    <Inventario action="SQL_DML">
    <access>UPDATE Inventario SET CAN = 65.0, CAN_CD = 876.9 WHERE C_EMP = &apos;JA&apos; AND BOD = &apos;72&apos; AND COD = &apos;T9876&apos;</access>
    </Inventario>
    </Statement>
    </ns1:SQLString>
    And this is the configuration of the cc:
    Please, I need help, I don't know what else to do.
    Thank you so much.
    CRISTINA M. H.

    Hi Cristina,
    the below blogs might be helpful to increase hte performance of scenario
    XI/PI File and JDBC Receiver Adapter performance and availability improvements
    JDBC Receiver scenarios best practices - How to handle High volume load-Stored procedure design-Part5
    Decoding Max Concurrency ,poolWaitTime ,Driver properties in JDBC receiver Adapter Configuration
    regards,
    Harish

Maybe you are looking for