JDBC Sender - Select Query without Update Query

In this case, how many times data will be polled within some minutes, if my polling interval is 1 day.
How many messages in sxmb_moni?
Thanks,
Greg

>>In this case, how many times data will be polled within some minutes, if my polling interval is 1 day.
The communication channel executes once as soon as you activate your sender communication channel.  Now a single msg is sent to XI(with many as many rows as the select query fetches from the db).
After that, it waits for the polling interval(in your case 24 hrs) and then executes again.
This cycle continues. If you resart the communication channel, the cycle is disrupted and a new cycle starts.
Hope I dont add to your confusion
Regards,
Jai Shankar

Similar Messages

  • How to rewrite this query without sub query please help me

    Hello All Good Evening,
    Could you please help me with this query, how can i write this query without sub query, or how can write this query another ways
    please help me
    select planno, status1, count(*) Counts from
    select a.ValetNO PlanNo  ,
    case 
         when JoinCode in ('00', '01', '02') then 'Actcess'
         when JoinCode in ('20', '21', '22', '23','38', '39') then
         'Secured' else 'Other' end Status1 ---, COUNT (*)
       from  dbo.ppt a(NOLOCK)  left join dbo.acts b on a.P_ID = b.P_ID and a.ValetNO  = b.ValetNO
    --group by a.ValetNO
      a group by planno, status1
    order by 2
    Thank you in Advance
    Milan

    Whats your objective here? Sorry, am not able to understand the reason for this change. 
    Try the below:(Not tested)
    ;With cte
    As
    select a.ValetNO PlanNo ,
    case
    when JoinCode in ('00', '01', '02') then 'Actcess'
    when JoinCode in ('20', '21', '22', '23','38', '39') then
    'Secured' else 'Other' end Status1 ---, COUNT (*)
    from dbo.ppt a(NOLOCK) left join dbo.acts b on a.P_ID = b.P_ID and a.ValetNO = b.ValetNO
    select planno, status1, count(*) Counts from cte
    a group by planno, status1
    order by 2
    Even below:
    select a.ValetNO PlanNo ,
    case
    when JoinCode in ('00', '01', '02') then 'Actcess'
    when JoinCode in ('20', '21', '22', '23','38', '39') then
    'Secured' else 'Other' end Status1 , COUNT (1)
    from dbo.ppt a(NOLOCK) left join dbo.acts b on a.P_ID = b.P_ID and a.ValetNO = b.ValetNO
    Group by a.ValetNO ,
    case
    when JoinCode in ('00', '01', '02') then 'Actcess'
    when JoinCode in ('20', '21', '22', '23','38', '39') then
    'Secured' else 'Other' end

  • Sender jdbc adapter....update query?

    Dear Team,
    we are selecting date from master database and client dont want to add any other field for update query.
    using select option, how to avoid selecting duplication records.
    can i use current date and time for selecting the records for every select statement?
    if yes then how to do it and what we need to update in update query??
    Regards,
    Chinna

    Hi Chinna,
    Check like this below.
    The following SQL statement selects the product name, and price for today from the "Products" table:
    SELECT ProductName, Price, Now() AS PerDate
    FROM Products;
    Similarly,
    UPDATE ProductName, Price, Now() AS PerDate
    FROM Products;
    Regards,
    Loordh.

  • JDBC Sender select/update problem

    Hi all,
    we have a serious problem. We are running the scenario JDBC>XI>RFC. In the JDBC sender adapter we do a select statement (select * from table where flag='0') and an update statement (update * from table set flag ='1' where flag='0'). Now, the problem is that when we do the select statement a third party system may insert data in the database, so the update statement updates MORE rows than the select statement has selected.
    Does anyone knows a solution (or a workaround).
    TIA

    Hi peter,
    can you check the transcation isolation level of your Database?
    one option would be to make the database transaction such that the write transaction gets locked when even the READ is being done. So, when your JDBC is trying to select the data from the database, the WRITE will get locked and so, no entries will get selected and then, UPDATE will get executed.
    Though I havent tried this, wouldnt it be possible?
    Also, go through the help documentation and check the Adavanced Setting and the Transaction Isolation and see if any of the XI options can also solve your problem.
    Regards,
    Bhavesh

  • JDBC Sender Selects Queries

    I know that the JDBC sender adapter can handle joins, but can it handle more sophisticated SELECT queries such as subselects, group by, rownum, etc.  In other words, are there any limitations in the SELECT query?
    Thanks in advance.

    Hi Bevan,
    The only limitation with XI30-JDBC Sender Adapter is with Oracle Stored Procedure/Functions, as Oracle SP Query returns a cursor, and not a resultset.
    Thanks
    Prasad

  • JDBC Sender - ORA-08177 on UPDATE, but Table is updated - no message

    Hi,
    I have a problem with JDBC Adapter:
    I use a JDBC Sender adapter, polling every minute on an Oracle DB.
    I use isolation level "serializable".
    No what happens sometimes is, that the update statement fails because of "ORA-08177: can't serialize access for this transaction", so no message is forwarded to the IS. Curiously, the entries in the table are updated, so the JDBC Driver seems to update the data anyways.
    Has anybody experience with similar problems? This is a really hard issue because no messages are transmitted althought the condition field in the table is updated and everything seems normal. Also the status light of the communication channel will be green again after a while, so it is really hard to trace.
    System:
    XI 3.0 SP20
    ORACLE 8.1.7.4
    I use the following statements with a rownum limit:
    select ... from TABLE where CONDITION = '_to_send' AND rownum <= 20 order by NACHRICHT_ID
    update TABLE set CONDITION = '_sending' where PRIMARY_KEY in (select PRIMARY_KEY from TABLE where CONDITION = '_to_send' and rownum <= 20)
    (just to complete the picture...)
    This message goes to BPM, where it is split into single messages. These messages are processed separately, and after an successfull processing an update statement is sent back to the DB:
    update TABLE set CONDITION = '_processed' where PRIMARY_KEY = <PK of processed message>
    So the condition "_sending" is an interim status for the messages sent to BPM, but not finally processed.
    What happens is, that the receiver of the messages complained about missing messages. I could find some messages in the interim status, but no message has ever been sent.
    I appreciate any help.
    Thank you very much.

    Sainath Chutke wrote:
    As you have used the Isolation level as serialiable whenever the transaction fails the data gets updated because once the transaction reaches the end of the adapter level processing " the update statemnets gets executed " Irrespective of whether the transaction is sucessful or failure."
    Curiously, the select statement does not throw the error, the update statement does. But even though the update statement does not work (ORA-08177), it works (rows in DB are updated). That is what causes headache to me.
    Try to change the Isolation level and get the message id generated using an UDF.´
    Sorry, but I do not completely understand what you suggest here.
    My needs are:
    - select rows that fulfill condition (limit to a max number per poll interval)
    - update the selected rows to not fulfill the condition any more (to not double sent data)
    - the update statement must update exactly the same rows that have been selected before (transaction)
    or in other words:
    I need to make sure the data is sent only once and exactly once.
    If your idea can satisfy these needs, I kindly ask you to explain it more detailed.
    Thank you very much.

  • Reg: JDBC Adapter without Update Query

    hi friends
    i have designed a scenario where JDBC as a sender. i need to configure the adapter without using update query

    Hi,
    I believe the date field will store along with the time filed in the same column. At least oracle does that.
    So in your select query you can write as below(from oracle, as i dont have a ms sql now)
    assume
    your table name = yourtable
    date column      = dtcolumn
    select * from yourtable where dtcolumn = sysdate - interval '1' minute;
    This query assumes that the dtcolumn will be always having the value of the date time stamp when data is inserted.
    To be frank you should not do this. I dont understand why you cannot add a column "processed" and add update that. Any specific business requirement?
    For best performance, typically in my implementation I suggest using a shadow table from which XI deletes the records. The actual table has the column saying if this got inserted to the shadow table.
    Regards
    Unni

  • TX - row lock contention in SELECT query without update clause

    Hi,
    We are having problem in one of our application on production. The ASH report shows 'eq: Tx row lock contention' for only Select statements. There is no FOR UPDATE in the select statements. The exact statement is
    enq: TX - row lock contention : SELECT COUNT (1) FROM Table1 WHERE col1= :1 AND col2= :1 AND col3= :1 AND ROWNUM = 1
    enq: TX - row lock contention : SELECT MODULE_CD , MSG_DESC , SEVERITY FROM GS_ERROR_MSG WHERE MSG_NUM = :1
    I don't know why the select are locking the table rows and resulting in waits..
    Our environment is Oracle 10g and Forms & Reports..
    Please help.
    -- Prashant

    Hi,
    are you sure that there is no dml against the tables?
    You can query v$active_session_history (eg column BLOCKING_SESSION) to see which session locked the row.
    HTH..
    - wiZ

  • Trying to convert SELECT query to Update query with INNER JOINS

    Assalam O Alaikum!
    I've tried to convert this query of mine but failed.
    I wish to use it for update datasource in data GridView. I'm fetching data with it but converting it to update is not helping giving multiple errors.
    I tried to share the pic but they don't let me do so. Its actually a gridView with check boxes. check the item and update it..
    Here is the query. Please help me with that.
    <pre>
    SELECT [rightsId], [saveRights], [updateRights],
    [viewRights], [deleteRights], [printRights],
    [processRights], [verifyRights], [unProcessRights],
    [unVerifyRights], CONVERT(VARCHAR(100),tblGroup.groupId)as groupId, convert(varchar(100),tblmenu.[menuId])as menuid
    FROM [tblRights] inner join tblMenu ON
    tblMenu.menuId=tblRights.menuId INNER JOIN
    tblGroup ON tblGroup.groupId=tblRights.rightsId
    </pre>

    code is fine the above query works fine with the fetching(select) but when I try to write it with update it doesn't. Here is the asp code. I'm doing nothing with c# or vb.
      <asp:GridView ID="GridView1" runat="server" AllowPaging="True"
                DataSourceID="ratGrid" AutoGenerateColumns="False"
                CssClass="GridViewStyle" Width="100%" AllowSorting="True" AutoGenerateEditButton="True" BackColor="#DEBA84" BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px" CellPadding="3" CellSpacing="2">
                <Columns>
                    <asp:BoundField DataField="rightsId" HeaderText="rightsId" ItemStyle-Width="75px" SortExpression="rightsId" Visible="False">
                    <ItemStyle Width="75px" />
                    </asp:BoundField>
                    <asp:CheckBoxField DataField="saveRights" HeaderText="Save" SortExpression="saveRights" />
                    <asp:CheckBoxField DataField="updateRights" HeaderText="Update" SortExpression="updateRights" />
                    <asp:CheckBoxField DataField="viewRights" HeaderText="View" SortExpression="viewRights" />
                    <asp:CheckBoxField DataField="deleteRights" HeaderText="Delete" SortExpression="deleteRights" />
                    <asp:CheckBoxField DataField="printRights" HeaderText="Print" SortExpression="printRights" />
                    <asp:CheckBoxField DataField="processRights" HeaderText="Process" SortExpression="processRights" />
                    <asp:CheckBoxField DataField="verifyRights" HeaderText="Verify" SortExpression="verifyRights" />
                    <asp:CheckBoxField DataField="unProcessRights" HeaderText="UnProcess" SortExpression="unProcessRights" />
                    <asp:CheckBoxField DataField="unVerifyRights" HeaderText="UnVerify" SortExpression="unVerifyRights" />
                    <asp:BoundField DataField="groupId" HeaderText="groupId" ReadOnly="True" SortExpression="groupId" Visible="False" />
                    <asp:BoundField DataField="menuid" HeaderText="menuid" SortExpression="menuid" ReadOnly="True" Visible="False" />
                </Columns>
                <RowStyle CssClass="RowStyle" BackColor="#FFF7E7" ForeColor="#8C4510" />
                <PagerStyle CssClass="PagerStyle" ForeColor="#8C4510" HorizontalAlign="Center" />
                <SelectedRowStyle CssClass="SelectedRowStyle" BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
                <FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
                <HeaderStyle CssClass="HeaderStyle" BackColor="#A55129" Font-Bold="True" ForeColor="White" />
                <AlternatingRowStyle CssClass="AltRowStyle" />
                <SortedAscendingCellStyle BackColor="#FFF1D4" />
                <SortedAscendingHeaderStyle BackColor="#B95C30" />
                <SortedDescendingCellStyle BackColor="#F1E5CE" />
                <SortedDescendingHeaderStyle BackColor="#93451F" />
            </asp:GridView>
            <asp:SqlDataSource ID="ratGrid"
                 runat="server"
                ConnectionString="<%$ ConnectionStrings:Conn_Str %>"
                SelectCommand="SELECT [rightsId], [saveRights], [updateRights],
    [viewRights], [deleteRights], [printRights],
    [processRights], [verifyRights], [unProcessRights],
    [unVerifyRights], CONVERT(VARCHAR(100),tblGroup.groupId)as groupId, convert(varchar(100),tblmenu.[menuId])as menuid
    FROM [tblRights] inner join tblMenu ON
    tblMenu.menuId=tblRights.menuId INNER JOIN
    tblGroup ON tblGroup.groupId=tblRights.rightsId"
               FilterExpression="menuId like '{0}%' and [groupId] like '{1}%'" >
                            <FilterParameters>
                <asp:ControlParameter ControlID="ddlmenu" Name="menu"
                        PropertyName="SelectedValue" Type="String" />
                <asp:ControlParameter ControlID="ddlgroup" Name="Country"
                        PropertyName="SelectedValue" Type="String" />
                </FilterParameters>
            </asp:SqlDataSource>
    Your table needs key(s) and you need to assign the key as DataKeys property for the GridView to make your UpDate and Delete work without coding.

  • Please convert this query to UPDATE query.

       Hi Experts,

    Hello 976208
    You can update the columns only in the table which is assigned to the MERGE INTO keywords. -> In this case only in the WEB_SALE_EMP Table.
    There is a possibility that you can update / Insert complex codes if and only if this is created as a VIEW!
    So, in this case, because you do not have any view on the two tables ( WEB_SALE_EMP and WEB_DELIVERY WD ) you can only update the WEB_SALE_EMP table.
        MERGE INTO WEB_SALE_EMP WE
        USING
            SELECT
                WBE.SHIPNT_ID SHIPNT_ID, WBE.SHIPNT_SRC SHIPNT_SRC, WBE.WB_ID WB_ID, WBE.SHIPNO SHIPNO, WBE.TAG_NO TAG_NO,
                CAST(COALESCE(WD.VALUE,'0') AS NUMBER) WB_VAL,
                SUM(WBE.REV * WBE.AMOUNT) AS Sum_Rev
            FROM WEB_SALE_EMP WBE
            INNER JOIN WEB_DELIVERY WD ON (WBE.WB_ID = WD.PG_ID AND WD.OPERATION = 'DISCOUNT')
            WHERE SHIPMNT_TYPE ='AIR_DISPATCH'
                  AND WB_ID = p_PG_ID
                  AND SHIPNT_ID = 2
                  AND DESCP IS NOT NULL
                  AND SALE_CODE IS NOT NULL
                  AND UNIT IS NOT NULL
            GROUP BY SHIPNT_ID, SHIPNT_SRC, WB_ID, SHIPNO, TAG_NO,
                CAST(COALESCE(WD.VALUE,'0') AS NUMBER)
            HAVING SUM(WBE.REV * WBE.AMOUNT) > CAST(COALESCE(WD.VALUE,'0') AS NUMBER)
        )v
        ON( we.SHIPNT_ID = v.SHIPNT_ID
            AND we.SHIPNT_SRC = v.SHIPNT_SRC
            AND we.WB_ID = v.WB_ID
            AND we.SHIPNO = v.SHIPNO
            AND we.TAG_NO = v.TAG_NO
        WHEN MATCHED THEN
        UPDATE SET we.DELIVERY_TYPE = 'AIR'
        WHERE DESCP IS NOT NULL
            AND SALE_CODE IS NOT NULL
            AND UNIT IS NOT NULL
            AND we.WB_ID = 9
            AND we.SHIPNT_ID = 3;
    Without these columns should your sql works.
    I hope this helps you.
    Regards,
    David
    IMPORTANT: Please use always QUALIFIED Column-names in a complex sql code!  (Example: wb_id = ... is bad! -> Good:  TABLE_ALIAS.wb_id = .... !)

  • Sender jdbc adapter - no update query

    hi ,
    i am using pi 731 single stack.
    the scenario is - PI has to pick data from view of a hana database. i am using jdbc sender for it.
    pi will not have access to update the table,only pi can read the view of database.So,PI can't use UPDATE query.
    If in jdbc sender channel ,I use SELECT query only and no UPDATE query - will it work ? what will happen if there are 100 records in the view and PI failed after fetching 43 records..will it pick from 44th record next time OR it will start from 0 again ?
    rgds

    Hi SAP PI,
    It has no sense to use the sender JDBC without update query because then always will be taken the same records.
    If you cant update the source DB you only have the choice to talk with the DB administrators that they develop for you a stored procedure that it has to do the work to get different records in every PI access.
    If the PI record process fail with impossible source database update update, the only way (afaik) is to do a PI alert and to communicate it to db sender administrators. There are another option like to store the data in a intermediate table, and so on but all possibilities that i can think now are not to enough good.
    Regards.

  • Update query not working in the JDBC sender Communication channel

    Hi,
    We are working on JDBC to File scenario. As per the configuration, XI should pick the data from SQL database every 20 secs and should update the corresponding flag. We are using subquery in the select and update statement as both header and detail tables are involved.
    Now the issue is, select query is working fine but update statement is not working as expected. It is somehow updating some other records rather than doing for the ones selected by the adapter.
    Moreover logSQLstatement is also not working. Hence we are unable to identify the records which are getting updated.
    Please advise.

    Hi Rumi,
    See Question 8. Transaction Handling (Sender) in [SAP Note 831162 - FAQ: XI 3.0 / PI 7.0 / PI 7.1 JDBC Adapter|https://websmp130.sap-ag.de/sap(bD1wdCZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=831162].
    8.  Transaction Handling (Sender)
    Q: If I have the following configured in a JDBC Sender:
    Select Query:
    SELECT column FROM TABLENAME WHERE FLAG = "TRUE"
    Update Query:
    UPDATE TABLENAME SET FLAG = "FALSE" WHERE FLAG = "TRUE"
    How do I know that the JDBC adapter will not update newly added rows (rows that were
    added between the time that the SELECT and UPDATE queries were executed) that were
    not read in the initial SELECT query?
    A: The SELECT and the UPDATE are run in the same DB transaction, i.e. both statements
    have the same view on the database.
    Make sure that both statements use the same WHERE clause. An additional
    requirement for the correct operation of this scenario is the configuration of
    an appropriate transaction isolation level on the database
    (i.e., repeatable_read or serializable). You might also consider using a
    "SELECT FOR UPDATE" statement instead of a plain SELECT statement to
    ensure proper locking on the database. "SELECT FOR UPDATE"
    is not supported in MS SQL database. In this case please make use of an
    appropriate transaction isolation level on the database. For more details
    please contact your DB vendors.
    After, see Transaction Handling Issues in [SAP Note 1039779 - JDBC Adapter issues(Escape character,Transaction handling)|https://websmp130.sap-ag.de/sap(bD1wdCZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=1039779].
    Best Regards.
    Pedro Baroni

  • JDBC Sender - Wrong SELECT statement (Oracle driver)

    Hi,
    3 days ago I was having a problem with my JDBC Sender adapter [JDBC Sender adapter is reading but then there isn't the message in SXMB_MON; .
    Finally I discovered what's wrong but I can't understant why is not working. When I deleted the "WHERE" condition in my SELECT statement all worked OK (except that I need the WHERE statement...).
    Why that statement is not working in my JDBC Sender:
    SELECT * FROM MATERIALES WHERE LEIDO<>'X'
    and that statement works:
    SELECT * FROM MATERIALES
    The field "LEIDO" is my flag that I must set to X when I read with the UPDATE statement, so I need the where condition...

    Thanks Christopher but still not working
    I tried two new statements:
    1 - Escaping:    SELECT * FROM MATERIALES WHERE LEIDO <> 'X'
    2 - Changing the operator symbol: SELECT * FROM MATERIALES WHERE LEIDO != 'X'
    The nº1 gives me an error of invalid character
    The nº2 has the same effect than the other symbol, the adapter reads from the DB but no XML message is generated and no payload to check what's happening... just a message ID without information and without a message generated in SXMB_MONI

  • For Update Query

    Hi All,
    I having block level 8000 records, I Scroll down from First record to last record it is takeing more time.
    I Observed tkproof while scrolling two select statments are running..
    1) pre-query block level
    2) For update query
    For update query -> How is is forming? Any Property or some else?
    I am not able to find the second query..where it is forming..How to restrict the second query.
    Query Array size - 10
    Number of records buffered - 10
    Number of records Displayed - 10
    Query all records - No
    Locking mode - Immediate
    Key mode - Automatic
    Version - Oracle 10g
    Plz ........any

    The for update -query is generaetd by forms when its locking the record. If you didn't change anything in the record "by hand", check if there is some code in the POST-QUERY-trigger which forces the record to be locked. if its the POST-QUERY you can issue the following command to avoid the lock at the end of the POST-QUERY:
    SET_RECORD_PROPERTY(:SYSTEM.TRIGGER_BLOCK, :SYSTEM.TRIGGER_RECORD, STATUS, QUERY_STATUS);

  • Update sentence in JDBC SENDER

    Hi mates,
    I have a doubt about a sentence update in JDBC SENDER adater.
    This update we apply, is from all the Database or from de Select we do??
    Thanks a lot

    Hi,
    The databasename is specified in the connection string. The update statement will have scope of only this database.
    Ideally the update statement should have the same where conditions as the select statement, so that exactly the same records are updated which are selected.
    To be doubly sure of the sync between select and update statements check the DB issolation level parameter in JDBC sender adapter.
    Hope this helps.
    Regards,
    Siddhesh S.Tawate

Maybe you are looking for

  • Some CGM graphics do not appear when FrameMaker files are converted to PDF

    CGM files are exported from ISO (Arbortext Isodraw 7.0 CadProcess) files. Then they are imported into Adobe FrameMaker 7.2, where all elements of the illustration are visible and can be printed. The FrameMaker FM file is converted to a PDF file using

  • PIXMA MX922. Reverse order printing

    I'm running Mac OS 10.10.7 and trying to print a long MS Word 2011 document from my computer-- in reverse order. I've set the overall Word Preferences to reverse order printing. I do not get a Print dialog box that allows me to select reverse order f

  • Calendar synchronization with the iPhone software oracle

    Hello, I am currently on probation and now my mission is to synchronize with Oracle Calendar iphone someone can help me I only galley I found this tutorial on Internet http://blog.zenone.org/2009/02/sync-oracle-calendar-to-google-calendar.html but I'

  • Problem with APEX 4.0 -  "ORA-20001: Error with: GRANT CREATE CLUSTER "

    I have a workspace which I've succesfully created with schema A. However when i try to assign an additional schema to it, schema B, I get the following error message :- "ORA-20001: Error with: GRANT CREATE CLUSTER TO "BI_SOURCES" ORA-01031: insuffici

  • Indesign CS6 Trial Installation Error

    I Tried to install the indesign cs6 trial, but everytime I try it stops and says it failed the Genuine Product Test. I downloaded the program straight from the Adobe website so it should be genuine, what should I do?