Problem in executing SP using reciver JDBC adapter

Hi all,
when i am execting a SP using Reciever JDBC adapter i am getting the below error,
com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'WD_WRAP_PROCESS_APPMT_REQ_PR' (structure 'STATEMENT'): java.lang.IllegalArgumentException
i guess this error is because of DATE field that i am using in the SP. can any one give me the solution how to handle DATE field.
Thank You,
Madhav

HI Madhav,
you check the below weblog for data and time issue with DB.
http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=(J2EE3417500)ID0760453250DB00677869991075830602End?blog=/pub/wlg/2002
hope it will use for issue.
Regards,
Ramesh

Similar Messages

  • Multiple table insert using receiver jdbc adapter

    Hi,
    I am trying to insert data in to two tables in a single structure using receiver jdbc adapter. I am not using any stored procedure to insert data instead directly inserting the data using PI. Please see the structure I am using.
    SOURCE side:
    DT_ABC_SENDER
    --IT_HEADER_TEXT
      -- EBELN
      -- LINENO
      --TDTEXT
    --IT_ITEM_TEXT
      -- EBELN
      -- LINENO
      --TDLINE
    TARGET side:
    DT_ABC_RECEIVER
    --InsertStatement
         --HEADER_TEXT
                -- action                         (insert)
                -- Table                          (Table 1)
                --access
                     -- IDS_ENQ_NO
                     -- IDS_DESC
                     -- IDS_TEXT
       --ITEM_TEXT
                -- action                         (insert)
                -- Table                          (Table 2)
                --access
                     -- IIS_ENQ_NO
                     -- IIS_DESC
                     -- IIS_TEXT
    Using the above structure I am able to successfully insert the data in Table 1 but data is not getting inserted in Table 2.
    In sxmb_moni it is saying message successfully delivered but I but there is data insertion took place in Table 2.
    Please help me urgently.
    Thanks in advance.
    Neeeraj

    Hi Neeraj,
    Add --InsertStatement statement for the second table structure in the same level of first InsertStatement.
    Target structure like this:
    DT_ABC_RECEIVER
    --InsertStatement
         --HEADER_TEXT
                -- action                         (insert)
                -- Table                          (Table 1)
                --access
                     -- IDS_ENQ_NO
                     -- IDS_DESC
                     -- IDS_TEXT
    --InsertStatement
       --ITEM_TEXT
                -- action                         (insert)
                -- Table                          (Table 2)
                --access
                     -- IIS_ENQ_NO
                     -- IIS_DESC
                     -- IIS_TEXT

  • Is it possible to execute a stored procedure using the JDBC adapter?

    Hi all,
    Can anybody confirm whether we can execute a stored procedure created in a database using the processing parameters of a JDBC adapter of a communication channel?
    If yes, then please let me know how (may be with an example)
    Thanks.

    Yes, that is possible. You have to chose EXECUTE in the action field to execute the stored procedure. Here's a little piece on the JDBC receiver:
    JDBC Receiver
    For writing data to an SQL database you also need to define a strict data type. The general format is like this:
        <ns:MT_RECORDSET>
              <STATEMENT>
                   <TABLE_NAME ACTION="">
                        <TABLE/>
                        <ACCESS>
                             <FIELD1/>
                             <FIELD2/>
                             <FIELDn/>
                        </ACCESS>
                        <KEY>
                             <ID compareOperation=""/>
                             <FIELDx compareOperation=""/>
                        </KEY>
                   </TABLE_NAME>
              </STATEMENT>
    </ns:MT_RECORDSET>
    This recordset represents an SQL statement like "update TABLE1 set FIELD1=123, FIELD2=456, FIELDn='xyz' where ID=12345 and FIELDx is NULL"
    MT_RECORDSET is the name of the Message Type used.
      For the value of the attribute ACTION you can choose from the following values:
         UPDATE : updates the given fields in the table with their new values
         INSERT : insert the given fields as a new row in the table
         UPDATE_INSERT : insert rows in the table when update is not possible
         DELETE : deletes given fields from the table
         SELECT : selects given fields from the table. Note that this option returns a response in the JDBC Sender form!
         EXECUTE : execution of a stored SQL procedure
         SQL_QUERY | SQL_DML : option to transfer more complex SQL statements to the database
      The attribute compareOperation can have the following values:
         EQ : equal
         NEQ : not equal
         LT : less than
         LTEQ : less than or equal to
         GT : greater than
         GTEQ : greater than or equal to
         LIKE : used to compare strings

  • Error when using receiver JDBC adapter

    i am using JDBC adapter as receiver(for oracle 10g) now, however i got ORA-00984 error. So i enable logSQLStatement.
    then got the following SQL statement from communication channel monitoring:
    INSERT INTO BASEINFO(APPNO, BUSSINAME, APPPERSON) VALUES (3, Steven, Lee)
    I realize the statement is incorrect, which should be:
    INSERT INTO BASEINFO(APPNO, BUSSINAME, APPPERSON) VALUES ('3', 'Steven', 'Lee')
    So how can i correct the SQL statement? is there any setting i miss out in configuration?
    Thanks

    You may try this. For each field in datatype, add an attribute hasQuot. Map it to "no" in mapping. Then add single quotes to all the values by simply concatinating it on both sides of value.
    Regards,
    Prateek

  • How to use the JDBC adapter

    Hello Every one,
    we have third party sales order process systems in our company, one system is in Borland data base and the other is using SQL Server. presently what we are doing is sending this orders from respective databases to SAP using LSMW (XLs spreadsheets)on nightly basis. so the challenge is we want to USE SAP-XI instead of LSMW, could any one tell me what could be the right idea for this. please give me some  suggestions. thanks in advance.
    kind regards,
    Gayatri.

    Hi Gayatri,
    You can refer the following links to give you a clear idea about your query.
    http://help.sap.com/saphelp_nw04/helpdata/en/22/b4d13b633f7748b4d34f3191529946/frameset.htm
    The links there can be further expanded to get more information
    /people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30
    /people/michal.krawczyk2/blog/2005/03/29/configuring-the-sender-rfc-adapter--step-by-step
    then
    check this document:
    How To Install and Configure External Drivers for JDBC & JMS
    https://websmp206.sap-ag.de/~sapdownload/011000358700003994312004E/HowTo_ConfigExtAdapters.pdf
    Regards,
    Ramesh.

  • Problem in executing report using rwrun.sh with runtime/lexical parameters

    hi..
    My problem is as follows..
    I'm using SuSE8.0, with Oracle DS installed..
    I made a rep file to execute a report from command line using rwrun.sh.
    For the first time I got problems with single quotes and later I solved it by using \ as escape sequence and I can generate the report.
    I have 2 lexical parameters.
    1) atable --> for table names
    2) whereford --> for WHERE condition
    When I make the following command I execute it successfully and get the report .
    /opt/oracle/OraHome1/bin/rwrun.sh /opt/jakarta/webapps/ROOT/std-reports/DiagnoseProtokolle.rep userid=test/test@approxim batch=yes desname=/opt/jakarta/webapps/ROOT/kovi_361_Report.PDF destype=file desformat=PDF atable=\',SD_DIAGNOSESYSTEME\' whereford=\'\ \(\(\ SD_DIAGNOSESYSTEME.bezeichnung\ =\'AIRBAG\'\ \)\)\ AND\ \(\(\ SD_DIAGNOSESYSTEME.bezeichnung\ =\'ABS\'\ \)\)\ AND\' tracefile=/opt/jakarta/webapps/ROOT/trace/trace.log tracemode=TRACE_REPLACE
    ** In one line..
    If I don't use \ for escaping braces it doesn't work and also for spaces and single quotes.
    I use braces as I get sometimes mixed conditions..
    But when I make a condition like for eg: emp.emp_id = dept.emp_emp_id it is not executing..
    i mean primary key is referd to foreign key of another table.
    so in the same way the error prone command looks like this
    /opt/oracle/OraHome1/bin/rwrun.sh /opt/jakarta/webapps/ROOT/std-reports/DiagnoseProtokolle.rep userid=test/test@approxim batch=yes desname=/opt/jakarta/webapps/ROOT/kovi_361_Report.PDF destype=file desformat=PDF atable=\',MESSWERTE,SD_DIAGNOSESYSTEME\' whereford=\'\ \(\(\ MESSWERTE.mess_id\ =\ SD_DIAGNOSESYSTEME.mess_mess_id\ AND\ SD_DIAGNOSESYSTEME.bezeichnung\ =\'AIRBAG\'\ \)\)\ AND\ \(\(\ SD_DIAGNOSESYSTEME.bezeichnung\ =\'ABS\'\ \)\)\ AND\' tracefile=/opt/jakarta/webapps/ROOT/trace/trace.log tracemode=TRACE_REPLACE
    when I had a look at the trace.log file I see that particular condition is transformed in to
    MESSWERTE.mess_id = 'SD_DIAGNOSESYSTEME.mess_mess_id'
    but this is completely awkward.
    Then I made a batch file and tested it on windows and i put the whole condition in double quotes and it worked always fine..
    It seems the problem is with the shell ..or ??
    In my rwrun.sh th elast line looks like this..
    $ORACLE_HOME/bin/rwrun $*
    I also tried to chaneg this to
    $ORACLE_HOME/bin/rwrun "$@" and also $ORACLE_HOME/bin/rwrun "$*"
    but no progress..
    If some one could help me it would be gratefull for me..
    Thanx in advance..
    regards
    Kovi

    Here's the relevant portion from the Bash manual:
    Enclosing characters in double quotes preserves the literal value of all characters within the quotes, with the exception of $, `, and \. The characters $ and ` retain their special meaning within double quotes. The backslash retains its special meaning only when followed by one of the following characters: $, `, ", \, or <newline>. A double quote may be quoted within double quotes by preceding it with a backslash.
    So basically stop escaping the single-quotes with a backslash, and instead enclose the entire argument value in double-quotes. Add the single-quotes only if you want them literally, don't escape the parentheses, etc. Let's know if it works for you.
    -Manish

  • Problem closing sockets when using OCI8 JDBC connections

    Hi,
    We have a java thread that maintains a socket connection with a Telnet client. We are finding that this thread is unable to successfully close this connection with Socket.close(). The reason that close() fails appears to be that the same thread is creating an (OCI8 driver) JDBC connection via another Java object. If we don't create the JDBC connection within this thread the socket closes correctly.
    Has anybody else experienced such problems?
    We believe that this problem might be related to a BugRat report #391.
    Cheers.
    Max
    null

    Sounds like a mis-match between the JDBC Drivers and the installed Oracle Client.
    The JDBC Drivers with JDeveloper 9.0.3 should be the 9.0.1.3 versions (included with the iAS Admin Client and iAS 9.0.2)
    Also note, the JDBC driver used by OC4J is "classes12dms.jar", not "classes12.jar"
    Hope this helps,
    Rob

  • Strange problem in executing procedure using dblink

    I have this strange problem coming in the execution of a procedure accessed using dblink. I will try to explain the scenario. We have one procedure in our schema which is executed using a dblink from another database as we have a integration of systems. This was working fine but after we did a fresh export and import of this schema as we migrated our database to a new better configuration DB server, the execution of this procedure is hanging when it is executed from the dblink from the other database. I hope, I have been able to explain the scenario.
    I hope, my question is clear.
    Please, help in solving the doubt.
    regards

    No starting version number.
    No current version number.
    No indication of whether the link is valid and you can SELECT across it.
    No error message of any kind.
    Nothing from your alert log.
    No indication of whether you have a global names issue.
    Please do the research required to identify the nature of the problem, check the related docs at metalink, and if you still have a problem give us the rest of the story.
    Then perhaps we can help you.

  • Acknowledgement from third party data base using receiver jdbc adapter

    Hi ,
    I've a scenario where I'm sending material master data to third party database  using an automated scheduled  prgram in R/3 , i've used asynchronous abap proxy to receiver JDBC scenario. But now they are asking to design in such a way that there should be an acknowledgement to the sender  if data has not been updated in database.
    pl help me how to design the above .
    pointe will be rewarded
    thanks
    mojib

    Hi mohammad,
       In the design (IR) when u r specifying the messages interface define it has synchronous message there u will get the reponse message tag below the actual message interface. Here you can define the reponse message frm the thrid party if the message got failed.
    Try do this with help of integration senario in which u can define the reponse(which is failed) also..............
    Regards
    Sai
    READ RULES OF ENGAGEMENT
    DON'T ASK FOR POINTS
    Edited by: Prateek Raj Srivastava on Mar 26, 2010 2:17 PM

  • How can i replace column name using reciever JDBC adapter on runtime.

    Hi Experts,
    I have a problem with reciever JDBC synario.
    Target Oracle table has columns named 2 bytes Japanese character like "日本".
    Datatype cannot accept 2bytes character as element name.
    So, I would like to how to replace column name on runtime.
    Please tell me.
    Regards,
    Shinya Kawaoge

    Hi Shinya Kawagoe,
    I understand there is a column with two Japanese characters in target database table. Now you want to UPDATE or INSERT data in that table. You do not want to rename the column name in the database table (if you want to rename column, ask the target database admin ).
    As Japanese characters are not allowed in XML Data Type in ESR. You can [Define a SQL_QUERY Statement|http://help.sap.com/saphelp_nwpi711/helpdata/en/44/7b7855fde93673e10000000a114a6b/frameset.htm]. Check the Addres日本s in below code.
    <root>
      <stmt>
        <Customers action="SQL_DML">
          <access> UPDATE Customers SET CompanyName=u2019$NAME$u2019, Addresu65E5u672Cs=u2019$ADDRESS$' WHERE CustomerID='$KEYFIELD$u2019
          </access>
          <key>
            <NAME>Firma</NAME>
            <ADDRESS>Strasse 3 </ADDRESS>
            <KEYFIELD>FI</KEYFIELD>
          </key>
        </Customers>
      </stmt>
    </root>
    Regards,
    Raghu_Vamsee

  • Reciver JDBC  SAX Error

    Hi All,
    I am using XSLT mapping to Post Invoices to DB2 using Reciver JDBC Adapter  ,
    I am getting following error :
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'EDF810I' (structure 'Statement'): java.sql.SQLException: EDF810I in PIDUSER type *FILE not found.
    and also here is my XSLT for the same.
               and goes on
    Your help on this is well appreciated.
    Thanks,
    Madhu

    Hi
    Have you installed the required drivers for DB2. check your adapter's functioning without the mapping first.
    Regards
    Monika

  • Problem with Progress DB while using to connect using JDBC Adapter

    Hi,
      I am facing Problem with Progress DB while using to connect using JDBC Adapter. I am getting the following error in auditlog file like,
    Error during database connection to the database URL  jdbc:JdbcProgress:T:156.5.31.65:2545:/mfgprodev/devbadb 
    /devsche/i_apoext.db using the  JDBC driver "com.progress.sql.jdbc.JdbcProgressDriver" : com.sap.aii.adapter.jdbc.sql.DriverManagerException: Unable to locate a suitable JDBC driver to establish a connection to URL " jdbc:JdbcProgress:T:156.5.31.65:2545:/mfgprodev/devbadb 
    /devsche/i_apoext.db "
    I tried using the following all URLs,
    1. jdbc:JdbcProgress:T:156.5.31.65:2545:i_apoext.       
    2. jdbc:JdbcProgress:T:156.5.31.65:2545:i_apoext.db     
    3.                                                      
    jdbc:JdbcProgress:T:156.5.31.65:2545:/mfgprodev/devbadb 
    /devsche/i_apoext.                                      
    4.                                                      
    jdbc:JdbcProgress:T:156.5.31.65:2545:/mfgprodev/devbadb 
    /devsche/i_apoext.db.                                  
    Can anyone please help me out in solving this issue.
    May be the cause for this is :
    1) The Wrong URL  format
    2) CLASSPATH is not setted properly..
    Can you look more into this stuff.
    Thanks,
    Soorya.

    Hi,
    To access any database fromm XI, using the JDBC adapter, the corresponding drivers have to be installed on the XI server.
    Just check this note 831162.
    Also, check this PDF to install Drivers in XI,
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/3867a582-0401-0010-6cbf-9644e49f1a10

  • Using JDBC adapter

    How can i use a JDBC adapter for executing a stored procedure?. I have a structure for executing a SQL statement , this structure is usefull for that propose or i need another one? (how could i  use each of these structures).

    I found the answer in http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm

  • Populating SAP Database table using JDBC adapter

    Hi Folks,
        I have a requirement to populate a SAP database table say ZTABLE using XI. The Model is the table has to be populated through a file which will be processed by SAP XI. Basically this is a File to JDBC scenario. The database used is ORACLE. Kindly provide me some idea to go ahead.

    I tried to place the MS access table in the shared folder of the Application server system but still it seems the table is not being populated.
    did you check the log in your receiver channel? (/people/sameer.shadab/blog/2005/10/24/connecting-to-ms-access-using-receiver-jdbc-adapter-without-dsn)
    The requirement is to update the tables directly as those are the custom tables.
    i would still say that do not update SAP tables directly from XI/ PI.....this is not a standard architecture/ solution....

  • Inserting Multiple Rows into Database Table using JDBC Adapter - Efficiency

    I need to insert multiple rows into a database table using the JDBC adapter (receiver).
    I understand the traditional way of repeating the statement multiple times, each having its <access> element. However, I am just wondering whether this might be performance-inefficient, as it might insert records one by one.
    Is there a way to ensure that the records are inserted into the table as a block, rather than record-by-record?

    Hi Bhavesh/Kanwaljit,
    If we have multiple ACCESS tags then what happens is that the connection to the database is made only once. But the data is inserted row by row.
    Why i am saying this?
    If we add the following in JDBC Adapter..logSQLStatement = true. Then incase of multiple inserts we can see that there are multiple
    <i>Insert into tablename(EMP_NAME,EMP_ID) VALUES('J','1000')
    Insert into tablename(EMP_NAME,EMP_ID) VALUES('J','2000')</i>
    Doesnt this mean that rows are inserted one by one?
    Correct me if i am wrong.
    This does not mean that the transaction is not guaranted. Either all the rows will be inserted or rolled back.
    Regards,
    Sumit

Maybe you are looking for