Use Trigger or Query for Deltas

Hi Gurus,
It has come up that my boss wants us to use a trigger on one of the most critical talbes we use for our website. Instead I have suggested to query for deltas and feed them out on time intervals.....which method is the least performance impacting on our db?
Any info/suggestions would be much appreciated.
S

Hi,
ScarpacciOne wrote:
When is it a good idea to use triggers? What scenarios are a good fit to implement a trigger?DML triggers are great for autiomatically supplying or correcting data entry.
For example, supplying an id number from a sequence when a new row is inserted, or filling in last_modify_date and last_modify_user columns.
Sometimes you can autiomatically correct data entry errors. For example, if a string is supposed to be all upper-case, or a DATE column is supposed to be midnight. You can (and should) have CHECK constraints to make sure people don't enter bad data, but sometimes you can safely say "I'm sure he meant 'ACTIVE', even though he said 'active'", or "I'm sure she meant TURNC(SYSDATE), not SYSDATE", and avoid having any error.
DML triggers are the only way to ensure something is done the as soon as some DML is performed. If it can wait, even a few minutes, then some othe mechanism (like a scheduled job, or a materialized view) can probably handle the situation more easily and reliably.

Similar Messages

  • Use AVG in query for dataset

    Im trying to use AVG in query for my dataset in ssrs.
    This is my query
    SELECT name, id, AVG(complience) AS complience
    FROM result
    WHERE (date >=@startdate) AND (date<= @enddate)
    Im later on doing a sprakline with the complience for each date.
    Please help me :)
    Systemdeveloper @ 4film

    For Sparkline in SSRS refer below link ;
    http://www.mssqltips.com/sqlservertip/2757/ssrs-textbox-tips-and-tricks/
    Thanks

  • How to use one af:query for multiple VOs

    Hi all,
    How can we use an af:query component to query on multiple VOs?
    Think of a page with search area and a tabbed pannel with two tables based on different view objects.
    Any ideas?
    Thanks
    Version
    ADF Business Components 11.1.1.56.60
    Java(TM) Platform 1.6.0_18
    Oracle IDE 11.1.1.3.37.56.60
    Edited by: Barbara Gelabert on 28-dic-2010 6:55

    Hi Santosh,
    Not yet implemented, but I was thinking on overriding the query listener and creating a view critera on the second view object as a copy of the first one. That involves capturing operands, operators and values set and then applying the criteria and executing the query.
    Anyway, in case you don't need complex operators in the search area but can add them as where clauses to the query statement, you can use search forms instead of query components as Shay Shmeltzer suggests in [url http://blogs.oracle.com/shay/2010/12/combining_multiple_queries_and.html?goback=.gde_1002457_news_308820955]his post.
    Regards,
    Barbara

  • Using Business Transaction Events for Delta Queue

    I'm trying to implement the white paper on using business events to populate the delta queue.  The question I have is can I do this with the WRPL table?  What business event would this be?
    Thanks in advance,
    Mark

    Hi Amit,
    Thanks for your help.
    I did it, but I need to change data in t_bseg, and when the function ZMFFINFI_INTERFACE_00001030 returns to function OPEN_FI_PERFORM_00001030_E, the data from bseg is replaced for the original data and everything I did is replaced, as if I haven´t done anything.
    Do you know if there some other problem ?
    I looked for a sap note for the function OPEN_FI_PERFORM_00001030_E, but I didn´t find.
    best regards
    Lilian M.M.

  • Problem saving a report when using rpad in query for fixed-width

    Hi There,
    I'm using 9.0.4 and trying to make and save a report that will eventually produce a fixed-width text output (as opposed to delimited).
    I keep getting: REP-1051 Unable to save document to file mypath/filename
    REP-1070 Error while opening or saving a document - Non-specific file error occurred.
    My sql query is a large string that RPADs everything and concatenates into one very long string (about 600 characters). The report runs fine while I'm working on it, but I can't save it. I finally pared the query down to a small fraction of what I need, and it did save, but as soon as I started adding back to the query, it failed again.
    Does anyone know how to work around this? I don't have any flexibility with my version of Reports, as the client will not update their version.
    TIA, J

    Hi Ronan,
    You can use the parameter WRAPPING to adjust the height of the header lines. Please have a look at note 1292696 which explains how to.
    Best regards,
    Janine

  • Query for DELTA UPDATE

    I have a problem when i create or assign a GENERIC DELTA for Transaction Data from Transaction RSO2 and generated the DELTA UPDATE.
    Then, how do i see the data being updated : New Row or column (DELTA UPDATE) and in which transaction.
    Any Pointer are appreciated.
    - Kshitij

    Hi ,
    Have done initialization for the datasource..coz' only after successfull initialization the entry will show up in RSA7
    in case if you happen to see the entry,but under total filed you have zer0 LUW's that means no new data..you can cross check this with RSA3
    Cheers,
    Swapna.G
    Message was edited by:
            swapna gollakota

  • Can we use both 0FI_AP_3 and 0FI_AP_4 for Delta Loads at the same time.....

    Hi Gurus:
    Currently my company uses 0FI_AP_3 for some A/P reporting. It has been heavily customized & uses Delta loading. However, SAP recommends the use of "0FI_AP_4" for A/P data fro delta loads. I was able to Activate 0FI_AP_4 as well & do some Full Loads in Dev/Test boxes. Question is whether I can use both the extractors for "Delta" loads at the same time......? If there are any issue, what is the issue and how ccan I resolve it? Is the use of only one extractor recommended......??
    Please let me know as this impacts a lot of my development....! Thanks....
    Best...... ShruMaa
    PS:  I had posted this in "BI Extractors" forum but there has been no response......  Hope to get some response.......!  Thanks

    Hi,
    I would recommend you to use 0FI_AP_4 rather using both, particularly for many reasons -
    1. DS: 0FI_AP_4  replaces DataSource 0FI_AP_3 and still uses the same extraction structure. For more details refer to the OSS note 410797.
    2. You can run the 0FI_AP_4 independent of any other FI datasources like 0FI_AR_4 and 0FI_GL_4 or even 0FI_GL_14. For more details refer to the OSS note: 551044.
    3. Map the 0FI_AP_4 to DSO: 0FIAP_O03 (or create a Z one as per your requirement).
    4. Load the same to a InfoCube (0FIAP_C03).
    Hope this helps.
    Thanks.
    Nazeer

  • Cannot use Flashback Versions Query in Oracle 10g

    If I want use Flashback Versions Query for one Table in my Database 10.1.0.4 then I receive follow error message:
    500 Internal Server Error
    java.lang.RuntimeException: options is null
         at oracle.sysman.emSDK.jsp.ListBean.applyAttributes(ListBean.java:70)
         at oracle.sysman.emSDK.jsp.ShuttleBean.render(ShuttleBean.java:41)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
         at oracle.cabo.ui.laf.xhtml.XhtmlLafRenderer.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
         at oracle.cabo.ui.laf.xhtml.RowLayoutRenderer.renderChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
         at oracle.cabo.ui.laf.xhtml.XhtmlLafRenderer.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
    .... and so on
    Can any of you help me?

    At what stage did you get this error?. Have you already selected the type of Flash Back Versions Query you want e.g Specifying type of Point in Time (Row Evaluation, Timestamp or SCN) or just when you select from the Action?

  • Generic function module for delta - which FM ?

    Hi all,
    I want to create a custom generic datasource in R3 which uses a function module for delta extraction. This is straight forward for full extract (copy FM RSAX_BIW_GET_DATA_SIMPLE - I already did this and have a full extraction working to BW). However I need to extract delta - and the above function module does not have example code for that (I have seen some forum posts that it 'can' be used - but this looks like a pseudo get around where the delta field name is passed in I_T_SELECT).
    FM RSVD_BW_GET_DELTA_DATA seems to be an example code of a FM which can allow delta (i.e. manually codes how to fill date/time stamp information). However when I code this and try test in RSA3 it seems to try to populate the delta selection field before calling my function module! I need it to call my function and allow the function to specifiy the date criteria.
    Can anyone help with an example of how this should best  be done ?
    Or can it only be done in a pseudo form using 'RSAX_BIW_GET_DATA_SIMPLE' example FM.
    Note: I have setup the RSO2 datasource to allow delta.
    Also - I have spent several hours searching the forum - but please answer with a link if you think it does answer exactly this problem.
    Thanks for any help
    Martin

    Hi again,
    Have had a few requests for the code I used - I created a new custom function copied from 'RSAX_BIW_GET_DATA_SIMPLE'. AEDAT has been set as the delta date for this data source in transaction RSO2.
    Main sample code is -
    1. Code to receive selection criteria and store in internal ranges -
    FUNCTION zbw_sodetail_get_detail.                                   
    ""Global interface:                                               
    *"   IMPORTING                                                  
    *"       VALUE(I_REQUNR) TYPE  SRSC_S_IF_SIMPLE-REQUNR        
    *"       VALUE(I_DSOURCE) TYPE  SRSC_S_IF_SIMPLE-DSOURCE      
    *"       VALUE(I_MAXSIZE) TYPE  SRSC_S_IF_SIMPLE-MAXSIZE      
    *"       VALUE(I_INITFLAG) TYPE  SRSC_S_IF_SIMPLE-INITFLAG    
    *"       VALUE(I_READ_ONLY) TYPE  SRSC_S_IF_SIMPLE-READONLY   
    *"       TABLES                                                     
    *"              I_T_SELECT TYPE  SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL 
    *"              I_T_FIELDS TYPE  SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL 
    *"              E_T_DATA STRUCTURE  ZBW_SODETAIL OPTIONAL           
    *--- Sales order item create date                                      
       LOOP AT i_t_select INTO l_s_select WHERE fieldnm = 'ERDAT'.         
          MOVE-CORRESPONDING l_s_select TO r_erdat.                        
          APPEND r_erdat.                                                  
       ENDLOOP.                                                                               
    *--- Sales order item change date - DELTA only - auto filled before    
       this function is called.                                          
       C (Initialise Delta) - Low = blank, High = today - safety limit   
       D (Delta) - low = , High =   .       *from roosgendlm             
       LOOP AT i_t_select INTO l_s_select WHERE fieldnm = 'AEDAT'.         
          MOVE-CORRESPONDING l_s_select TO r_aedat.                        
          APPEND r_aedat.                                                  
       ENDLOOP.                                                                               
    2. Code to use selection criteria to get initial or delta. Note that for delta the delta date field to be used is automatically populated with the date of the last delta run (from table roosgendlm) -
       SELECT VBAK~KNUMV
              VBAPVBELN VBAPPOSNR VBAPMATNR VBAPARKTX VBAP~SPART
              VBAPWERKS VBAPERDAT VBAPAEDAT VBAPNETWR VBAP~WAERK
              VBAPABGRU VBAPZPROMISE VBAP~CUOBJ
              VBEP~EDATU
          INTO CORRESPONDING FIELDS OF TABLE ZBW_SODETAIL_ITAB
          FROM VBAK JOIN VBAP ON VBAKVBELN = VBAPVBELN
                    JOIN VBEP ON VBAPVBELN = VBEPVBELN
                             AND VBAPPOSNR = VBEPPOSNR
       WHERE VBAP~VBELN IN R_VBELN        "Order number
         AND VBAP~POSNR IN R_POSNR        "Order item number
         AND VBAP~ERDAT IN R_ERDAT        "Order item date created
        AND ( VBAP~ERDAT IN R_AEDAT OR   "Created date in      Delta range
                  VBAP~AEDAT IN R_AEDAT OR   "Order item change    Delta range
                  VBAK~AEDAT IN R_AEDAT ).   "Order header change  Delta range
    Note that if the data source is called in initial or full extract mode the delta change date (aedat) will automatically be blank.
    I have been using this successfully.
    I hope this helps
    Martin.

  • Re: Query for Cost center actual by period.

    Hi Experts,
    Good Morning everybody,
    I want cost center actual values (with cost element) by period. I have created query through T.code-SQVI by joining tables COSP and CSKS.
    I got the report, but i cannot see the foreign currency postings in SQVI report. so there was a difference between SQVI and KSB1 report.
    Why i cannot see Foreign currency postings in SQVI report. please advise me, whether any other table that i can use in the query for cost center actuals by period.
    Thanks in advance & Points will be assign for useful answers,
    KUMAR

    See the answer in FI thread.
    Hi,
    KSB1 is based on COEP table. COSP shows only external postings. You should take COSS as well for internal postings in CO. Check the nature of the join with CSKS: notice COSP has OBJNR field which is not the same as KOSTL in CSKS.
    Anyway, I'd suggest you using not the join between tables, but one of standard logical databases SAP provides. For cost centres, you can use CIK.
    Regards,
    Eli

  • Query for calculating raw material requirements for the remaining quantities in sale order.

    Dear SAP Experts,
    Clients requirement :
                                         Client wish to know the quantities of raw materials needs to run the production order inorder to complete the remaining quantities in sale order.
    Need Clarification:
                                  I"m using the below query for this requirement. I wish to know whether this query suits for my clients requirement or not. If its so, I need to know how to group by T4.[Code] (Raw material Name)   and need to get the sum of    T4.[Quantity]  (BOM quantity)      and  (T1.[OpenQty]*T4.[Quantity]) as TOTALQTY under each raw material group
    SELECT T0.[DocNum], T0.[DocDate], T0.[CardCode],T0.[CardName], T1.[ItemCode], T1.[Dscription], T1.[Quantity] as salesorderQty , T1.[OpenQty], T2.onhand, T4.[Code] as Raw material Name,T4.[Quantity] as BOMQTY,  (T1.[OpenQty]*T4.[Quantity]) as TOTALQTY FROM ORDR T0  INNER JOIN RDR1 T1 ON T0.[DocEntry] = T1.[DocEntry] INNER JOIN OITM T2 ON T1.[ItemCode] = T2.[ItemCode] INNER JOIN OITT T3 ON T2.[ItemCode] = T3.[Code] INNER JOIN ITT1 T4 ON T3.[Code] = T4.[Father] WHERE  T0.[DocStatus] ='o' 

    You're posting in the Portuguese B1 space.
    You might want to post in the English one: SAP Business One Application

  • Using Broadcaster to run a query for sequential Variable Values

    Hi SDN Community
    I came across a powerpoint slide regarding broadcasting which i hope to use in one of our reports.
    We are on SAP BW 35.
    Broadcaster has been used
    Your opinion would be greatly valued in regards to the direction i should proceed for our particular purpose.
    We basically have a report which is a web report.  This contains much html and javascript enhancements.
    But it essentially has queries with a series of variables.
    The customer would like the Queries to be cached for each variable value for performance reasons, on a daily basis.
    eg. Run the same query for Variable value BMABRM, then BMASRM, etc...
    In a loop fashion.
    Do not need to set a process chain to trigger broadcaster, or rather simply to schedule the broadcaster to run daily.
    I would basically then want to run this (cache) query in an iterative fashion, ie. rerun it for all the sites.
    Can you please make a recommendation to which is the best approach, whether a process chain should be set up, and any experience you may have had setting up a query to rerun for different variable values.  We would of course want the query to run successfully before rerunning it for the next variable to avoid locks, etc.
    Thank you in advance.
    Simon

    Hi Rahul,
    i have been trying to use the process chain functionality to do this but unsure how to do it.
    Which objects do you use in the process chain:
    Trigger Event Data Change (for Broadcaster)
    or Execute APD Model
    or Precalculation of Web Templates
    i am unsure how to incorporate the queries into the process chain.
    If you have any steps , it would be much appreciated.
    Thank you.
    Simon

  • How to use the same POWL query for multiple users

    Hello,
    I have defined a POWL query which executes properly. But if I map the same POWL query to 2 portal users and the 2 portal users try to access the same page simultaneously then it gives an error message to one of the users that
    "Query 'ABC' is already open in another session."
    where 'ABC' is the query name.
    Can you please tell me how to use the same POWL query for multiple users ?
    A fast reply would be highly appreciated.
    Thanks and Regards,
    Sandhya

    Batch processing usually involves using actions you have recorded.  In Action you can insert Path that can be used during processing documents.  Path have some size so you may want to only process document that have the same size.  Look in the Actions Palette fly-out menu for insert path.  It inserts|records the current document work path into the action being worked on and when the action is played it inserts the path into the document as the current work path..

  • Query to find out the time used by an user for an application

    Hello All,
    I want to know the query to find out the whole time used by the user for an application. Please view the below data
    Employee:
    SNO EMP_ID EMP_NAME EMP_DATE LOGIN_TIME LOGOUT_TIME
    1 10 Visu 21-Nov-2010 06:30:00 07:30:00
    2 10 Visu 21-Nov-2010 06:40:00 07:20:00
    3 10 Visu 21-Nov-2010 06:50:00 07:50:00
    4 10 Visu 21-Nov-2010 07:30:00 08:30:00
    5 10 Visu 21-Nov-2010 09:30:00 10:30:00
    By checking the above data we can say that the total time Visu used the application is
    8.30 - 6.30 (From 1,2,3,4 records) = 2hrs
    10.30 - 9.30 (Based on 5th rec) = 1hr
    So the total time Visu used the application would be 3 hrs = 180 mins.
    Could you please help me in getting the result from that data using a query?

    odie_63 wrote:
    I think it may be solved with analytics too.
    with t1 as (
                select 1 sno,10 emp_id,'Visu' emp_name,'21-Nov-2010' emp_date,'06:30:00' login_time,'07:30:00' logout_time from dual union all
                select 2,10,'Visu','21-Nov-2010','06:40:00','07:20:00' from dual union all
                select 3,10,'Visu','21-Nov-2010','06:50:00','07:50:00' from dual union all
                select 4,10,'Visu','21-Nov-2010','07:30:00','08:30:00' from dual union all
                select 5,10,'Visu','21-Nov-2010','09:30:00','10:30:00' from dual
         t2 as (
                select  emp_id,
                        emp_name,
                        emp_date,
                        to_date(emp_date || login_time,'DD-MON-YYYYHH24:MI:SS') login_time,
                        to_date(emp_date || logout_time,'DD-MON-YYYYHH24:MI:SS') logout_time
                  from  t1
         t3 as (
                select  t2.*,
                        case
                          when login_time < max(logout_time) over(
                                                                  partition by emp_id,emp_date
                                                                  order by login_time
                                                                  rows between unbounded preceding
                                                                           and 1 preceding
                            then 0
                          else 1
                        end start_of_group
                  from  t2
         t4 as (
                select  t3.*,
                        sum(start_of_group) over(partition by emp_id,emp_date order by login_time) grp
                  from  t3
         t5 as (
                select  emp_id,
                        emp_date,
                        min(login_time) login_time,
                        max(logout_time) logout_time
                  from  t4
                  group by emp_id,
                           emp_date,
                           grp
    select  emp_id,
            numtodsinterval(sum(logout_time - login_time),'day') time_spent
      from  t5
      group by emp_id
      order by emp_id
        EMP_ID TIME_SPENT
            10 +000000000 03:00:00.000000000
    SQL> SY.

  • How i can take a field of report for use it in query?

    i hve a table where bills of customer are ready i simply take it on report by select statement.all bills are ready for print.now problem is that i need history of bills for every customer at it's own bill.when i give self join for history, it also add other customer history .there is any possible way that take customer id(report field) from report and search it's records . plzzzzzzzzzzzzzz

    i hve a table where bills of customer are ready i
    simply take it on report by select statement.all
    bills are ready for print.now problem is that i need
    history of bills for every customer at it's own
    bill.when i give self join for history, it also add
    other customer history .there is any possible way
    that take customer id(report field) from report and
    search it's records . plzzzzzzzzzzzzzzmay be you can use a child query and create a data link between
    the original query and child query on customer id column.
    I mean write a child query for searching records on customer id and then link
    this customer id with your already existing query. I think this will solve your problem

Maybe you are looking for

  • Data network not working unless i restart my 3g

    i have an iphone 3g on chatr(owned by rogers) my data service is active and i also have a voice plan. i had to input certain information in the cellular data network tab in the phone, which i did. every so often the data part of the phone will stop w

  • How to protect a pdf-file in a pdf-portfolio against extraction?

    How to protect a pdf-file in a pdf-portfolio against extraction?

  • Can't locate files

    I run some diagnostics apps lately. They flagged some files that may cause problems. I have tried to locate the files, no luck. Are these file just corrupt file fragments? How can I fine them, to delete?

  • Exception Handling in B2B 11g

    All, When I create and deploy a SOA Composite to receive B2B Exceptions everything works great ,I am seeing the exceptions in SOA. however I also see that exceptions are still being enqueued to IP_QTAB even after deploying the SOA Composite This is c

  • Changing init-param value for servlet filter after deployment

    Is it possible to change the <param-value> of a servlet filter's <init-param> for a deployed app through Weblogic Console? Can't seem to find a place in the console where this is exposed. The <init-param> of course is specified in web.xml as: <filter