JDBC sender issue no data in PI

Hello,
We have a scenario Database to SAP we are using JDBC adapter at sender side and the Qos is EO.
Now the issue is database sender complained that they have sent the data from database but the data is not updating in SAP system as a result no Idoc created.
In the DB trace the DBA said that the SELECT executed successfully.
But I checked in PI and no failed or scheduled message in the Component Channel monitoring. The message id is greyed out. All I see is that Polling started and Processing finished successfully.
In SXMB_MONI there are no xml messages.
SELECT * FROM sys.tables works fine and I can see xml messages in SXMB_MONI and also see the audit trace log in RWB under CC monitoring.
Why is it not picking up data from other user tables in SQL server database?
I have analyzed the issue end to end .
Where is the  adapter sending the converted xml messages if it has picked up data? If it has not then why cannot i see the trace and why is the message id greyed out in the CC monitoring?
Please help me to resolve this problem .
Thank you,
Teresa

Dear Thomas,
Same issue i am facing in Production,
Please suggest me,
my scenario is also like JDBC -->XI--> SAP( Proxy).
The database server sending data to xi, here signals are coming xi perfectly but suppose 100 messages db people sending only 1 or 2 messages lost and it is not shown in xi.
when i checked with SXMB_MONI, RWB(Messages Monitoring, component monitoring) and logs no error message.
DB side it is showing XI_Read time status also changed 'N' to 'S'.
Query:
Select Query:SELECT * FROM MCON_INTF_OPS WHERE CSTATUS = 'N' FOR UPDATE
Update Query:UPDATE MCON_INTF_OPS set CSTATUS  = 'S',CXI_READ = sysdate WHERE CSTATUS = 'N'
why few signals are lost please suggest me

Similar Messages

  • JDBC sender adapter polling data more than once within one polling interval

    Hi,
    Our sender communciation channel is polling data twice in one polling interval, hence triggering the corresponding BPM twice.
    The polling interval for the channel is set to 30 mins.
    We dont have an update query and use <test> instead. Currently there is no provision to use an update query in the source system.
    Intermitently the polling happens within an interval of few milliseconds, because of which we are in doubt whether the use of Update query will solve our problem
    Additionaly in the BPM, we have one channel which deletes the data from source system after the processing is complete by the BPM, but the second BPM is getting triggered before the deletion step is being executed in the first BPM.
    Please Advise how we can stop the channel from polling data twice.
    Thanks,
    Merrilly.

    Hi Merrilly,
    Please ty to set an advanced mode option in the table(for sender
    channel configurations) as follows:
    Key name is "clusterSyncMode" and its values are either "scheduler" or
    "none".(both are without quotes and case-sensitive)
    Default value is "scheduler", this means it prevents 2
    messages being generated regardless of 2 server nodes. This is true,
    even if you do not add anything in advanced options table.
    Also are more information about this parameter of file adapter, what
    is the same for jdbc:
    #801926 - XI 3.0 File Adapter: Additional Parameters
    Regards
    SK

  • How does JDBC sender adapter reads data from DB

    Hi ALL,
               I have scenario where the JDBC adapter has to read the data once every month. now how would JDBC adapter know that it has to select data which has been updated after last months select only and not the old data?
    XIer

    Hey
    in the sender JDBC adapter you give the select statement as well as update statement.
    what you do is that once you select the data from data base you use an update query to set a flag to false,so that you dont select that data again next time.
    have a look at this blog
    /people/yining.mao/blog/2006/09/13/tips-and-tutorial-for-sender-jdbc-adapter
    in this he has used both select and update query on the sender side
    Thanx
    Aamir suhail
    Message was edited by:
            Aamir Suhail

  • JDBC Sender Issue

    I have a select statement that I am trying to run, and the statement will run on a DB2 terminal or thing perfectly, but when i try to run it in XI I get this error:
    The JDBC driver returned the following error message: 'com.ibm.db2.jcc.b.SqlException: DB2 SQL error: SQLCODE: -204, SQLSTATE: 42704, SQLERRMC: ACXACCX.R2_TRANSACTIONS'. For details, contact your database server vendor.
    I was wondering if it's because we're running a select statement inside a select statement and XI won't do that.
    Any help is appreciated.

    Hey Paul,
    As suggested by some fellow bloggers Check with ur <b>XI ADMIN</b> wether the <b>JDBC DRIVER</b>, <b>CONNECTION</b> parameters that have been used in your case have been provided by the vendor and installed on XI server.
    <b>JDBC DRIVER:</b> Itz a java class that must be loaded by the jdbc adapter to be able to access the driver. ** Make sure this driver supports transactions**
    <b>Connection:</b> Address with which a database connection is established to the database using the jdbc driver.
    In case everything suggested as above that using is right then use sql trace or for testing purpose try to run juz a sample query *simple one* without any joins. Checks if throws any sql error.
    HOPE IT WORKS. IF YOU GET THE SAME ERROR PLEASE POST IT AGAIN.
    cheers,
    *Raj*
    *REWARD POINTS IF USEFULL*

  • JDBC sender adapter can not get any message

    HI~
    I have a problem with my JDBC Sender which reads data from a SQL Server. Previously it was working fine but It is not Picking the records from the JDBC table.
    I have checked in RWB communication Channel monitoring there no any error or success messages but channel is showing healthy status only(Green).
    User's authorization and SQL statement is all right. I checked the SQL in the DB and there are some messages that should be processed.
    I also inactive and active the Comunication Channel.
    I also checked the LOCKING ADAPTER in Visual Administration is nothing.
    BUT the same configuration in DEV system are work perfectly.
    I don't want to restart XI,because is PRD system.

    Hi,
    1 ) What is exact audit log message ?
    2) Try fetching the count in SQL statement  if there are any valid records it will give the count.
        May for testing you can use <TEST> in update statement.
    3) Have you used taskTimeout parameter ?
    4) Are multiple channels polling on same table ?
    regards
    Ganga

  • JDBC SENDER PROBLEM

    HI,
    I M DOING JDBC - XI -FILE SCENARIO
    JDBC SENDER POLLS THE DATA BASE BUT ITS NOT POLLING THE DATA IN THE DATABASE.IN COMM CHANNEL MONITORING ITS SHOWING PROCESSING FINISHED SUCCESFULLY BUT THERE ARE NO MESSAGES
    SHOWN IN SXMB_MONI.
    PLZ HELP

    Hi Vikas,
    Just check the selet query is doing ok and this blog
    /people/yining.mao/blog/2006/09/13/tips-and-tutorial-for-sender-jdbc-adapter
    Sachin

  • JDBC sender in real time

    Hi,
    in past I've read some blogs about JDBC sender that selects data in very short intervals like seconds and msecs. I can't not find it any more. Do you know where to find it, or do you have any suggestions how to realize something like that and what are potential pitfalls.
    thanks
    mario

    Hi Slopar,
    It all depends upon the polling interval and the data you have in production database. You can change your polling interval according to your needs. Please check this sap help:
    Poll Interval (secs): Number of seconds that the adapter must wait if no files are found for processing.
    Poll Interval (msecs): Additional waiting time in milliseconds.
    If Poll Interval (secs) is set to null, processing times will be short and close to real time.
    If Poll Interval (secs) and Poll Interval (msecs) are set to null, the adapter is only called once.
    http://help.sap.com/saphelp_nw04/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/content.htm
    Regards,
    ---Satish

  • JDBC sender channel running but not picking up the data from sp

    Hi,
    One of the jdbc sender channels in production is running at its schedule time but it is not picking up the data from the sql side, we have checked with the sp side and they are saying that sp is running fine. No changes have been done in its configuration. Last message coming in RWB  is Retry interval started but that is of 1 day and its already been 3 days. I tried by starting and stopping the channel but of no use. The channel was re activated but that also didn't help.
    Please help, what can be the reason for the same.
    thanks.

    Hi,
    The JDBCadapter ( The respective channel) is definitely locked in PI . Ideally for each polling interval a lock is being created and once the processing is over , the lock should be released/deleted automatically to allow further polling interval. If the lock is not released by the system automatically,further polling will not happen as expected. ( This may affect all sender JDBC adapters as well. I would recommend to do a check in all sender JDBC communication channels)
    You can see/delete the locks in Visual admin.
    Go to Server>Services->Locking adapter and click refresh
    The entries for JDBC adapter ( with name $XIDBAD.JDBC2XI) should be deleted by selecting those particilar entries and click delete selected locks.
    If you have more than one node, then same should be done in all server nodes.
    The temprory solution would be creating/copy the existing channel in ID with same properties and assign it into particular sender agreement.
    But, the lock may be created again which potentailly stops all your database interfaces. Hence i would suggest to use Disconnect From Database After processing of Each messages in Advanced tab in the sender JDBC adapter.
    Hope this solves your issue.
    PS: The same bahaviour would expected for all file adapter as well

  • Sender JDBC Adapter issue.

    Hi folks,
    I would like to know how can I configure a sender JDBC channel without specify a poll interval? I know that I can specify this poll interval with a period of time that I want; it could be in seconds and even in mseconds. But, this can cause a lot of access to the Data Base SQL Server and consequently can cause network slowness.
    I would like to know if there is any data base event that can trigger my jdbc sender adapter or any other workaround that can prevent many accesses to one Data Base.
    Any ideas are appreciated.
    Thanks in advance,
    Ricardo.

    Hi,
    with XI SP19 you can schedule your jdbc adapter easily:
    (in standard)
    /people/shabarish.vijayakumar/blog/2006/11/26/adapter-scheduling--hail-sp-19-
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • In JDBC Sender Adapter , the server is Microsoft SQL .I need to pass current date as the input column while Executing stored procedure, which will get me 10 Output Columns. Kindly suggest me the SQL Query String

    In JDBC Sender Adapter , the server is Microsoft SQL .I need to pass current date as the input column while Executing stored procedure, which will get me 10 Output Columns. Kindly suggest me the SQL Query String , for executing the Stored Procedure with Current date as the input .

    Hi Srinath,
    The below blog might be useful
    http://scn.sap.com/community/pi-and-soa-middleware/blog/2013/03/06/executing-stored-procedure-from-sender-adapter-in-sap-pi-71
    PI/XI: Sender JDBC adapter for Oracle stored procedures in 5 days
    regards,
    Harish

  • JDBC send data to oracle, oracle only accept column name in Upper case

    Hi experts,
    I am doing a scenario File --> XI --> JDBC,  JDBC send data to a Oracle 10g database, I have configured JDBC receiver to use XML-SQL format. in oracle database ,  table "EMPLOYEE" has a column "NAME", but when I send data to oracle using JDBC receiver, the column is "name", then XI complains
    " 'EMPLOYEE' (structure 'insert'): java.sql.SQLException: FATAL ERROR: Column 'name' does not exist in table 'EMPLOYEE'.
    can anyone help me to let oracle accpet column "name". I can't change colum in JDBC receiver from "name" to "NAME".
    Thanks a lot.

    <i>can anyone help me to let oracle accpet column "name"</i>
    Making Oracle case insensitive is not possible (in my opinion). By default all object names are stored in UPPER case in the rdbms dictionary.
    When XI searches for column name in Oracle, this search is case sensitive. So u have to configure accordingly.
    Regards,
    Prateek

  • Data from 2 tables for jdbc sender adapter

    how to pickup data from 2 tables at a time when using a jdbc sender adapter?

    select <fields> from table1 where <condition>
    union
    select <fields> fromt table2 where <condition>
    also u can combine this with joins as pointed

  • Sender - JDBC - Connection issue

    Hi All,
    I see a very strange issue on the JDBC Sender Comm Channel. On the Comm Channel Monitoring, I see it in GREEN. But it is not actually polling the DB table.
    Restarted the channel and that did not work.
    For now I have created a copy of the comm channel and the copy is working fine for couple days and again the same problem.
    I created another copy and second copy is working fine till now.
    Not sure what happened.
    I think there are some open connections to the DB still hanging in there. I am wondering if there is any way of deleting or closing the open connections.
    Thanks in advance.

    Hi Naveen,
    In your jdbc sender communication cahnnel go to advanced Mode tab --> there is a check box for Disconnect from Database After Processing Each Message. Select this option and give a try. This will make database connection released and reestablished before every poll interval.
    Please see this help:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/content.htm
    Regards,
    ---Satish

  • Challenging issue with JDBC sender adapter

    Hello Guys
    I have this requirement
    From Oracle Database I have to read to tables  one for the header and one for the detailes and map the result to one RFC.
    I have only  worked with one table at the time with the JDBC sender adapter but never with 2  tables
    My challenges are
    1 - How I can read the 2 tables at the same select statement , I suppose I have to use a join with 2 identical fields , so far so good ,but how I can handle multiple records
    suppose the result is 10 new different records which each of the recored has to be mapped to the RFC , then we will have 10 RFC calls.
    how can I do the mapping in this case.
    2 - How can I update the 2 tables at the samme time and flag them as processed , as far as I know we can not use 2 update statement in the same JDBC sender
    any help will do
    Thanks in advance.

    Hi
    Thanks for the replayes
    The RFC is used to create and Invoice Idoc , It has to be one record (Header and Item ) to one RFC.
    a JDBC to IDoc can also be used , but we have to update another table in SAP that is why the RFC,
    My doubt is how the Data type for the sender JDBC should look like , as mentioned I have 2 tables to fetch data from
    <Invoice>
    <Header> 1 -- 1
    <f1>
    <f2>
    <f3>
    </Header>
    <Item> 1--n
    <f1>
    <f2>
    <f3>
    </Item>
    </Invoice>
    The sender JDBC returns
    <Invoice>
    <row>
    <f1>
    <f2>
    <f3>
    </row>
    </Invoice>
    How can I replicate the data type to meet the JDBC sender structure.
    and regarding the mapping do I have to change the occurrunce to 0 -- unbounded
    regarding the update Ragu is right in his suggestion
    Table1 can be used as primary table, Table2 can be used as Secondary table.. u will have key field to link both table.
    So Just Updating only Primary Table(Table1) will helps on this.
    Thanks.

  • JDBC sender adapter provides incomplete data

    Hi,
    I have a JDBC sender adapter which reads data from a MySQL table, and passes it to a proxy which writes the data then in a SAP table.
    - Query SQL statement = SELECT Field1, Field2, Field3, Field4 FROM jdbctest WHERE Processed = 'N'
    - Update SQL statement = UPDATE jdbctest SET Processed='Y' WHERE Processed='N'
    I did a stress test with a program that writes data simultaneously to the MySQL table (up to 10000 records), and the JDBC sender adapter which checks the table every 15 seconds.
    At the end, my SAP table contained only 9965 records.
    This means that probably there have been records added between the Query and the Update statement (So they haven't been read, but their status is changed).
    Does anyone have a solution for this?
    Best regards,
    Nicolas De Corte

    Hello Dharamveer,
    I don't really understand your answer.
    My point is that the JDBC adapter only processed 9965 records out of 10000, but it updated all 10000.
    So now in my MySQL table there are 10000 records with status Processed, but only 9965 have been really processed. And I think this is because records have been added between the execution of query and the update statement.

Maybe you are looking for