Synchronous Receiver JDBC adapter--response message empty

My scenario is ABAP Proxt to JDBC synchronous case where I am calling a stored procedure "GetEmployer" to get the relevent data. There is no input data to the stored procedure, just need to call the stored procedure to return the records.
In the SXMB_MONI I am getting the response message as empty with no records.
In the communication channel monitoring it is showing successfully processed.
Request Message :
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_IRIS_SELECT_JDBC_REQ xmlns:ns0="XXXX">         <STATEMENT>
<GetEmployer ACTION="EXECUTE"></GetEmployerList>        </STATEMENT>                      </ns0:MT_IRIS_SELECT_JDBC_REQ>
Response Message:
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_IRIS_SEL_PRXY_RES xmlns:ns0="XXXX"> <STATEMENT_response></STATEMENT_response> </ns0:MT_IRIS_SEL_PRXY_RES>

Hi All,
          If I am trying to test the configuration in the ID I am getting the following error.
Runtime error      Unable to read the payload from the     message object 
<Trace level="1" type="B">CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV</Trace>
<Trace level="2" type="T">......attachment XI_Context not found </Trace>
<Trace level="3" type="T">Mapping is already determined in the interface determination </Trace>
<Trace level="3" type="T">Object ID of Interface Mapping 35933EB051F13E60906107DF6862E093 </Trace>
<Trace level="3" type="T">Version ID of Interface Mapping 640C5B80B54311DCABA9F7BB0A126A22 </Trace>
<Trace level="1" type="T">Interface Mapping http://XXX/employer_list</Trace>
<Trace level="3" type="T">Mapping Steps 1 JAVA com/sap/xi/tf/_MM_EMPLOYERLST_ </Trace>
I am getting the success flag in SXMB_MONI but getting no records in the JDBC response message. It is not throwing any error and the interface is running successfully.
Could you please suggest some solution for this.
Thx in advance
Ravijeet Das

Similar Messages

  • Synchronous receiver JDBC adapter

    Hi All,
    I tried a HTTP-JDBC synch scenario, the JDBC adapter is giving an error in RWB. The error is
    Receiver Adapter v1027 for Party '', Service 'NMHG_SQL_SERVER':
    Configured at 18:51:27 2006-09-12
    Last message processing started 18:52:54 2006-09-12, Error: Transform error in xml processor class, rollback:
    ERROR:Processing request: Error when executing statement for table/stored proc. 'null': java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
         at com.sap.aii.adapter.jdbc.xml2sql.service(xml2sql.java:175)
    Any help is appreciated.
    Thanks & Regards,
    Jai Shankar.

    Hi Mario,
    I am using a select statement in the receiver adapter.
    I am using the weblog by Bhavesh for reference.
    This is my JDBC request msg type.
    <?xml version="1.0" encoding="UTF-8"?>
    <ns:MT_JDBC_REQ xmlns:ns="urn:http:jdbc:sync">
      <STATEMENT>
        <REQUEST ACTION="SELECT">
          <TABLE>Employee</TABLE>
          <ACCESS>
            <Emp_Id>empty</Emp_Id>
            <Emp_Name>empty</Emp_Name>
            <From_date>empty</From_date>
            <To_date>empty</To_date>
            <Comments>empty</Comments>
            <Created_On>empty</Created_On>
          </ACCESS>
          <KEY>
            <Emp_Id>001</Emp_Id>
          </KEY>
        </REQUEST>
      </STATEMENT>
    </ns:MT_JDBC_REQ>
    Kindly tell me where am I going wrong..
    Thanks & Regards,
    Jai Shankar.

  • Messages are in hold state due to one message at receiver JDBC adapter

    Hello,
    I am using a receiver JDBC adapter and trying to send an XML file which has an insert query to insert some data into the database i.e., Oracle 9i.
    Here at the receiver side due to one message (  which is in to be delivered state) all other messages are got hold and waiting for long time.
    I am getting the exceptions as this,
    JDBC Adapter processing failed with Error processing request in sax parser: Error when executing statement for table/stored proc. 'FSASMGR.XTBL_KL06_IINQUIRY' (structure 'REC01'): java.sql.SQLException: ORA-12899: value too large for column "FSASMGR"."XTBL_KL06_IINQUIRY"."CASE_TITLE" (actual: 81, maximum: 80)
    Exception caught when executing statement for table/stored proc. 'FSASMGR.XTBL_KL01_ISTAFF_MST' (structure 'REC1'):
    java.sql.SQLException: ORA-00001: unique constraint (FSASMGR.XTBL_KL01_ISTAFF_MST) violated
    Can anyone help me out in solving this issue.
    THanks,
    Soorya

    hi surya,
    jdbc channel tries a request for n number of times(no of rettries),if that request fails it will take up the following requests,its not like it will process a request forever.
    to be delivered will be resulting if reciever is down or network between XI and database server is bad.
    try to ping databse server from XI host system.
    if everything is fine then look at the channel configuration->advanced->no of retries of database transaction on sql server.
    just redue the count to 1 and recheck.
    Regards,
    rama Krishna

  • JDBC Sender Response Message as an XML SQL

    Hi All,
    I have a scenario as follows :
    JDBC Sender <-> XI (synchronous) <-> ABAP Proxy.
    I'm hoping that I can use XML SQL form at the JDBC Sender Response message, so I can update some fields at the database using the response message's data. But actually it's not working. Please advise whether it's applicable or not ? If it's not, is there any other way to do that ?
    Thanks in advance,
    Andy S

    Andy,
    Adding to the discussion here, JDBC sender adapter does not support Synchronous Processing .It supports only Asynch procesing and so, you would need a BPM inorder to update the database again with the ABAP Proxy response.
    You would have a sender jdbc adapter polling over the db and getting the data, --> a receiev step in the BPM receives the data.
    Next a send Synch Step makes the call to the ABAP Proxy and get the response.
    You map this response to a JDBC receiver adapters data format on the basis of the action you need and then use a send step with a receierv JDBC adapter to update the DB.
    Regards,
    Bhavesh

  • How to handle BLOB field in receiver JDBC adapter into ABAP table

    Dear Experts,
    I am working in a synchronous scenario with Sender ABAP Proxy to Oracle Database as receiver via SAP PO 7.4.I will be calling a stored procedure view with fields ID, NAME,Age,*** and BLOB (Image binary).
    1. The response from Oracle Database field BLOB is to be stored in ABAP table.Would I have to write any JAVA program to read the BLOB or the receiver JDBC adapter will handle it and store in a table by using ABAP proxy once it reaches ECC.
    2. If yes, would the JAVA program have to deal with other 4 fields.
    3. Can I use a UDF mapping to this BLOB field.
    Regards
    Rebecca...

    Dear Praveen,
    Thanks for your response...
    Please correct me if I am wrong.
    1. For 1-1 response mapping for BLOB field, I will use just use the below UDF code.
    public static byte[] hexStringToByteArray(String s) { 
                int len = s.length(); 
                byte[] data = new byte[len / 2]; 
                for (int i = 0; i < len; i += 2) { 
                            data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) 
                                                                                         + Character.digit(s.charAt(i+1), 16)); 
                return data; 
    2. ===Using the byte data, create binary attachment in mapping for abap proxy response===
    Could you please share how to create the binary attachment.. I am not clear
    Regards...

  • Sync Receiver JDBC Adapter

    Hi All,
    I was trying to make a synchronous call to a receiver jdbc adapter with the help of
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/3928. [original link is broken] [original link is broken] [original link is broken] [original link is broken]
    I am getting the following error in jdbc adapter.
    <i>com.sap.aii.af.ra.ms.api.DeliveryException: ERROR:Processing request: Error when executing statement for table/stored proc. 'MISDetails': java.sql.SQLException: FATAL ERROR document format: structure 'STATEMENT', key element 'FiscalYear' contains no values</i>
    My Source message is
    <i><?xml version="1.0" encoding="UTF-8"?>
    <ns:MT_FILE_OUT xmlns:ns="urn:ters">
      <REQUEST>
        <FISCALYEAR>2007</FISCALYEAR>
        <YEARMONTH>1</YEARMONTH>
        <OPERATION>EQ</OPERATION>
      </REQUEST>
    </ns:MT_FILE_OUT></i>
    And JDBC request message is ..
    <i><?xml version="1.0" encoding="UTF-8"?>
    <ns:MT_JDBC_REQ xmlns:ns="urn:ters">
    <STATEMENT>
    <TABLENAMEACTION="SELECT">
    <TABLE>MISDetails</TABLE>
    </TABLENAME>
    <ACCESS>
    <FiscalYear> </FiscalYear>
    <YearMonth> </YearMonth><ProductCode> </ProductCode><TargetVolume> </TargetVolume>
    </ACCESS>
    <KEY>
    <FiscalYear compareOperation="EQ">2007</FiscalYear>
    </KEY>
    </STATEMENT>
    </ns:MT_JDBC_REQ></i>
    Regards,
    Sumit

    Sumit, the problem is that </TABLENAME> is closed ealier than necessary.
    This is how the JDBC datatype should be,
    <?xml version="1.0" encoding="UTF-8"?>
    <ns:MT_JDBC_REQ xmlns:ns="urn:ters">
    <STATEMENT>
    <TABLENAME ACTION="SELECT">
    <TABLE>MISDetails</TABLE>
    <ACCESS>
    <FiscalYear> </FiscalYear>
    <YearMonth> </YearMonth>
    <ProductCode> </ProductCode>
    <TargetVolume> </TargetVolume>
    </ACCESS>
    <KEY>
    <FiscalYear compareOperation="EQ">2007</FiscalYear>
    </KEY>
    <b></TABLENAME></b>
    </STATEMENT>
    </ns:MT_JDBC_REQ>
    The TABLE, ACCESS and KEY come under the TABLENAME tag.
    Regards,
    Bhavesh

  • ABAP client proxy With Receiver JDBC Adapter

    Hello Experts,
    I am working on a scenerio ABAP client proxy With Receiver JDBC Adapter.
    The client proxy program will fetch the master data related to equipment in plant maintenance module and  will update the sql database through Receiver JDBC Adapter .
    my requirement is if the equipement is created in sap then the  scheduled job has to trigger the client proxy program and send the message with status 'created'  to sql data base.
    if the equipment is modified in sap then the scheduled job has to trigger the client proxy program and send the message with status 'modify' to sql data base.
    please let me know how can i write the logic/code for this scenerio in client proxy program.
    Tables for equipment master i am using  is EQUI and fields are   ERDAT and AEDAT which is created date and modified date.
    fields for scheduling start date is tbtcp-sdldate.
    Thanks in advance.
    Ram.

    Hello Ram,
       Here you can check if updated date field is not empty then send status as created and if this field is not blank then send status as modified record.
    Monica

  • Table name in Receiver JDBC Adapter

    Hi All,
    I am using receiver JDBC adapter.
    But table name consist of " like BPC."#II" .
    After mapping table name becomes BPC.&quot;#II&quot; .
    I am getting error while pulling data from DB.
    Is the table name creating a problem.
    Please remedy of this if you have come across such scenario.
    Regards
    Piyush

    Hi Piyush,
    All that i could get from the SAP Help regarding JDBC Adapters are these links where i never found anything much regarding the table name.anyways just go through these links and see if you find anything useful.
    http://help.sap.com/bp_bpmv130/Documentation/Planning/XIUnicodeGuide030411.pdf
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/b0/676b3c255b1475e10000000a114084/content.htm">Configuring the Receiver JDBC Adapter</a>
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/cf/406642ea59c753e10000000a1550b0/content.htm">Mapping Lookups</a>
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/22/b4d13b633f7748b4d34f3191529946/content.htm">JDBC Adapter</a>
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/64/ce4e886334ec4ea7c2712e11cc567c/content.htm">Configuring the Receiver JDBC Adapter - part 2</a>
    This is all i got from the help files, anyways you can also go through those links and see if you find anything else useful.
    - Escape Symbol for Apostrophe
    The apostrophe character (‘) is a reserved character in SQL syntax and is therefore replaced by an escape character if it occurs within value strings. This replacement character can be database-specific. Typical replacement characters are \’ or ’’(default value). If a character occurs that is invalid for the database being used, the adapter triggers an error message (an SQL exception) concerning the SQL syntax that is generated by the database.
    - Column Name Delimiter
    Depending on the database being used, column names can be enclosed by a special delimiter character, for example, if the names can contain special characters (such as ”). This character can be specified at this point. The default setting is no delimiter character. If a character occurs that i
    Also check if there are notes in the service market place related to the same.
    Regards,
    abhy
    Message was edited by: Abhy Thomas

  • 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

  • Problem in Receiver JDBC Adapter

    Hello Gurus,
    I am trying SAP -> Oracle Database Scenario.
    Where i am passing Id and Email address into the Oracle.
    In Runtime workbench, Receiver JDBC adapter Channel, i am able to see that message is in Success.
    But if i am going into the Database and looking for that Record, it is not updating that record.
    I am not able to understand what is happening.
    Please help me out in this issue.
    Thanks,
    Akhil

    HI Akhil,
    I know you might have verified alll datat hat will be passing to JDBC...but may I kindly request you to confirm about the table name that was passed in the Mapping once again.
    While inserting or Updating are you using all the Key fields..that will allow you to create the unique entry..as if in case if the record is already exists then there may be problem of Indexing...of adding duplicate entry...and due to partial key fields Update statement will not work properly..
    Also verify the ORACLE  Database log...to get anymore details.
    Thanks
    Swarup

  • Dml in Receiver JDBC ADAPTER

    Dear all,
    By putting action=Insert in the Receiver Structure ,I could able to insert the data.
    When I am Trying Delete or Update in the Same way I could not see the data modified in the table.
    Please Let me know how to achieve the same.
    Thanks,
    Srinivas

    Hi,
    go thru these links:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
    /people/alessandro.berta/blog/2005/10/04/save-time-with-generalized-jdbc-datatypes
    http://help.sap.com/saphelp_nw2004s/helpdata/en/4d/8c103e05df2e4b95cbcc68fed61705/frameset.htm
    Also have alook at this
    Receiver JDBC
    /people/sameer.shadab/blog/2005/10/24/connecting-to-ms-access-using-receiver-jdbc-adapter-without-dsn
    /people/ajay.kumar/blog/2005/03/24/writing-bsp-for-sap-r3-version-46
    /people/sugree.phatanapherom/blog/2005/08/14/configuring-sld-in-sneak-preview-sap-netweaver-04-sneak
    /people/sanyam.kapur/blog/2005/04/30/custom-fields-and-bw-extractors-making-a-mixed-marriage-work-part-ii
    Regards,
    Akshay Jamgaonkar.
    Reward points if find useful.
    Message was edited by:
            Akshay Jamgaonkar

  • High volumes on receiver JDBC adapter

    Hi,
    We have a RFC ->JDBC scenario where the RFC pulls huge amounts of data from R/3 and sends to XI.
    XI needs to upload this data into 5 different Db tables.Each table contains 3000-8000 records with each record containing 10-15 fields.
    When we try to run this scenario, due to high volumes of data  the JBDC adapter hangs and msgs were in 'holding/delivering' status for long time.
    Please advice on possibilities of handling this within XI.

    Hi,
    We changed the design and now we have only 'INSERT' and we don't have concerns with table refresh now.
    I am splitting the records in XI mapping as bunches on 1000 each. But I found one of the tables have more that 1lakh records.
    The data volume that we received in RFC is 150000 records(45MB). It took 7.5 mins to process this msg in Integration Engine.
    But the messages delivery into Db tables (receiver JDBC adapter processing) is very slow.At maximum it can process 250 records in minute.
    Please provide your inputs on this design. Is it Ok to accept 45MB message into XI at one shot? Even though the message got processed(splitted) in IE, they are processing in AE for long time. I believe this will have impact on other interfaces that use JDBC adapter.
    Please provide your suggestions on how to improve the design/performance of this interface.
    Thanks!

  • Structure for Receiver Jdbc adapter for multiple tables

    Hi,
    For Receiver JDBC adapter,Standard structure
    structure as
    Statement
       Tablename(TABLE1)
            Action
            Access
    Can i make a structure like
    Statement
         Tablename(TABLE1)
            Action
            Access
                fields....
         Tablename(TABLE2)
            Action
            Access
                fields......
    As i am using tables and I want to insert or update both of them or one based on some conditions.
    Will Insert be possible in single Statement or I have to create separate statements for each table. Can you please help me on this?
    Thanks in advance
    Best Regards,
    Harleen Kaur Chadha

    Hi Harleen,
            As already said by Dharanveer, all that you need to do is replicate the Statement level, so, istead of using this structure:
    Statement
    Tablename(TABLE1)
       Action
       Access
         fields....
    Tablename(TABLE2)
       Action
       Access
         fields......
            You will construct something like this:
    Statement1
    Tablename(TABLE1)
       Action
       Access
         fields....
    Statement2
    Tablename(TABLE2)
       Action
       Access
         fields......
           And this structure will be created in a single Data Type, that will be used to create a single Message Type, that you will use in your Message Mapping, and, the 2(or more tables that you need to manipulate) will be inserted/updated without problems using this approach.
           Thank you, and best regards,
           Wilson

  • Exactly-Once Handling in Receiver JDBC Adapter

    Hi,
    I have doubt abt Exactly-Once Handling in Receiver JDBC Adapter.
    For Conflict Resolution as Database.
    Why there is need to define table as below ?
    In the database where the write-to tables are located you must create an additional table with two columns for this purpose. To define the table, specify the following:
    Database Table Name
    Enter the name of the table.
    Key Column Name
    Enter the name of the column in which the key is entered.
    Value Column Name
    Enter the name of the column in which the key value is entered.
    Please explain in simple language.

    Hi Abhishake,
    Thanks for your reply.
    I understant that the tables needs to be created in DB.
    But if you read the SAP Docs for conflict resolution. My undestanding is "During Database commit if AS Java is terminated then the message will be in unknown state, for this type of messgaes when the AS Java restarted the behaviour is defined by this parameters. If the message doesn't have primary key, then there is probablity when AS Java will try second time it may get the message in DB so a message can be duplicated. To avoid this condition it is mentioned that you must create additional table with three column".
    Please correct my understanding if I am wrong.
    My additional table needs to create & how it will resolve the problem.
    Thanks in advance.

  • Receiver jdbc adapter:how to implement the insert or update action in a sql

    Hi,gurus:
    I'm using receiver jdbc adapter now.
    You know, we have to gave the action the value 'update' or 'insert',but in our case,the action is variant--update or insert.It decides whether the record exists in the outer database.
    Can stored procedure do this?If I use stored procedure,then must I create a stored procedure in the outer database?
    Or some other ways to solute my issue?
    THanks in advance.

    Hi
    Use Action UPDATE_INSERT .
    This action check if a record exist with same key value then update that record. In case no record with key value found in database then record inserted to database.
    look receiver structure
    http://help.sap.com/saphelp_nw2004s/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm

Maybe you are looking for