Alert not firing for SQL Statement Script

Hi All,
I have defined an alter which will trigger when a requisition is stuck with the requestor.
At the time i need to send an email to the requestor and update the status of the requisition to 'INCOMPLETE'.
i have defined two action sets one for email and another for update. The email part is working fine but the sql script which updates the status is not firing.
It is a standard script residing in PO directory sql.
It has two parameters
1) Requisition number 2) org_id
these two are the output of the mail alert query.
i have defined the application as 'Puchasing'
arguments as &SQL_REQ_NUMBER &SQL_ORG_ID
and gave the file name 'poresreq.sql' in the file location.
but the status is not updating.
how can i know the reason for not firing.
Regards,
Jana

Hi Jana;
What is your EBS and OS? Did you run query manualy? Did you get any error message?
Regard
Helios

Similar Messages

  • Instead of trigger is NOT firing for merge statements in Oracle 10gR2

    The trigger fires fine for a update statement, but not when I use a merge statement
    with an update clause. Instead I get the normal error for the view ( which is a union all view, and therefore not updatable.)
    The error is :-
    ORA-01733: virtual column not allowed here
    oracle release is 10.2.0.2 for AIX 64L
    Is this a known bug ?
    I've used a multi-table insert statement to work around the problem for inserts, but
    for updates, I'd really like to be able to use a merge statement instead of an update.
    Mark.

    This is my cut-down version :-
    In this case case I'm getting an :-
    ORA-01446: cannot select ROWID from, or sample, a view with DISTINCT, GROUP BY, etc.
    rather then the ora-01733 error I get in the real code ( which is an update from an involved
    XML expression - cast to a table form)
    create table a ( a int primary key , b char(30) ) ;
    create table b ( a int primary key , b char(30) ) ;
    create view vw_a as
    select *
    from a
    union all
    select *
    from b ;
    ALTER VIEW vw_a ADD (
    PRIMARY KEY
    (a) DISABLE);
    DROP TRIGGER TRG_IO_U_ALL_AB;
    CREATE OR REPLACE trigger TRG_IO_U_ALL_AB
    instead of update ON vw_a
    for each row
    begin
    update a targ
    set b = :new.b
    where targ.a = :new.a
    if SQL%ROWCOUNT = 0
    then
         update b targ
         set b      = :new.b
         where targ.a = :new.a
    end if ;
    end ;
    insert into a values (1,'one');
    insert into a values (2,'two');
    insert into a values (3,'three');
    insert into b values (4,'quatre');
    insert into b values (5,'cinq');
    insert into b values (6,'six');
    commit;
    create table c as select a + 3 as a, b from a ;
    commit;
    merge into vw_a targ
    using (select * from c ) src
    on ( targ.a = src.a )
    when matched
    then update
    set targ.b = src. b
    select * from vw_a ;
    rollback ;
    update vw_a b
    set b = ( select c.b from c where b.a = c.a )
    where exists ( select c.b from c where b.a = c.a ) ;
    select * from vw_a ;
    rollback ;

  • INSERT Script stored as "SQL Statement Script" not firing on Oracle Alert

    We are using Alert Manager to run Alerts based on absence information in EBS R12.1.3 HR tables.
    Application: Human Resources
    Period/Event: Periodic
    Frequency: Every Day
    The Alert has 2 actions.
    One is to email a supervisor based on the Alert SQL finding staff who have had x number of absences over a set period of time.
    That is working fine.
    The other action is defined as an "SQL Statement Script".
    The SQL script inserts the variables defined in the SQL from the main Alert definition SQL, into a custom table.
    When the Alert fires, we are getting the email generated, but the INSERT statement isn't firing.
    However, when we look at the result of the Alert when it has run, and look at the steps which were fired, we can see the email step and the SQL step. When we look at the SQL in the SQL step which was generated, we can copy and paste it direct into TOAD and it works fine.
    We have tried a simple SQL INSERT statement which even just does:
    INSERT INTO xx_tmp (VALUE1_DATE, VALUE2) VALUES (SYSDATE, 'this');
    But even that does not work.
    We wonder if the issue is that we cannot do a direct INSERT from an alert type of "SQL Statement Script"?
    We have found another Alert which does a direct UPDATE on a table, but the SQL Statement Script definition has "Purchasing" as the Application, because it's updating a PO table.
    In our case, we're trying to insert into a custom table held in our in-house XX schema.
    Could the problem be that we don't have the "Application" set? If that's the case, we don't have a corresponding application anyway.
    Or can we not do a direct INSERT like this - do we need to use a package instead, and call that?
    Any advice much appreciated.
    Thanks

    Hi Brian,
    Alert issue - Custom SQL fix
    1. Define actions via "Actions" button on Alert Definition
    2. Create an action for e.g. "Send Message to Supervisor"
       Action type: message
       Action - sends email to people
    3. Create another action called e.g. "Insert Record"
       Action type: SQL Statement Script
       Fill in SQL in the "Text" section, no need to add a begin or end bit, just a simple INSERT INTO X etc ending with a semi colon
    4. Back on the main alert definition window, go to "Action Sets" button
       Here, need one SEQ for the Message / Email (e.g. Seq 1), and then click on "Action Set Details" and click on "Members" tab and select the "Send Message to Supervisor" Action
       Then close the "Action Set Details" window, and return to the "Action Sets" window
       click into 2nd line, add e.g. Seq 2, and call it e.g. "Insert Record", click on "Action Set Details" > Members tab and select the "Insert Record" The problem was that in the first instance, we had a single Action Set, and under "Members" had selected the "Send Message to Supervisor" and "Insert Record" at the same time.
    Short answer: each Action needs to be defined as a separate line in the Action Sets definition.
    I can send screenshots if you need them, and don't mind putting your email address on this forum.
    You can always edit the thread after I've emailed you, to remove your email address.

  • Date formats for SQL statements used by recordset object

    Hi,
    Date formatting appears to be quite problematic for Business One.  I did a forum search for date issues and I don't think I saw any of them with an "answered" status.  I have an issue with formatting a date for the creation of an SQL statement that the DI sends to SQL Server 2005.  I need to format a date so that the localization parameters don't matter for either the client machine or SQL Server's machine.  We don't have a problem as long as our machines are localized as USA.
    I have PL 22 and I have a form - ours - where I use the Today() function to fill a date field.  So this is a date that is not entered by the user.  The result of this function is consistent with the localization parameters on my machine.  We have two other date fields on the form where the user must type in the date. 
    As a test, I changed my machine to the UK parameters.  I then set up the language parameters of Business One for English(United Kingdom).  I changed the date format specifications in Business One so that its format is dd/mm/yy.  I then brought up the form and the field that is formatted by the above function arrived in the form's field as dd/mm/yy.  I then typed in the two other dates in the same format and added the record to the database.  The form's table is user-defined. 
    I dismissed the form then brought it back up loaded with the new record.  The date that was entered by the function appeared in USA format (mm/dd/yy).  The dates that were typed in appeared in the Business One format (dd/mm/yy).  This of course is not consistent.
    When I looked at what got into the database, the formats were the opposite.  Weird!  To make matters really confusing, I run an SQL statement within SQL Server Mgt Studio, and use the WHERE clause to filter on the date that was based on the function.  It didn’t matter what format I used for the WHERE clause, the record came up.  Does anyone have any idea about how I can ensure that I always use the correct date format for SQL statements passed by Business One to SQL Server regardless of where in the world the application is being run?
    Thanks,
    Mike

    Ian,
    Here's what I'm concerned about:  I’m using the date in a “WHERE” clause.
    Assume the date is Aug 3, 2007.
    "SELECT * FROM Table WHERE StartDate > ‘8/3/2007’"
    OR
    "SELECT * FROM Table WHERE StartDate > ‘3/8/2007’"
    If the client machine is set up as USA, the today function will provide the date as formatted in the first query.  If the database server is setup as let’s say the UK, I believe that SQL Server query parser will interpret the date as Mar 8, 2007.
    If the client machine is set up as UK, the today function will provide the date as formatted in the second query.  If the database server is setup as let’s say USA, I believe that SQL Server query parser will also interpret the date as Mar 8, 2007.
    In both cases it would be wrong.
    I know I could use the DATEPART function to get the three parts and this will make the code indifferent to the localization specs of the client machine.  I need to then be able to concatenate those date parts for the “WHERE” clause so that the localization specifications of the database server don’t matter.
    Thanks,
    Mike

  • Buffer size for SQL statement using JDBC calls

    I need to find out the buffer size for SQL statements in jave/JDBC because I need to insert or update a field that could be up to 4KB in size.

    I'm not sure that I follow the question; I'm not sure which buffer size you're referring to.
    If you have a field that can store up to 4k worth of data, you would create a VARCHAR2(4000) column in the Oracle database (assuming it is character data) or a BLOB column (if the data is binary). Either of those two fields can be populated from JDBC.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Parameter not accessible in SQL statement

    Hello
    I am assigning value to 2 parameters on the form (PARAMETER node)
    :parameter.p1:=5;
    :parameter.p2:='AAA';
    p1 is of number type and p2 is of char type.
    now i want to query as follows
    select count(*) from AA_table where id=:parameter.p1 and name=:parameter.p2;
    this statement return count=0, which is wrong. actual count is 1.
    why param values are not taken in SQL statement, as i display values of parameters using message(), it shows the values properly.....
    plzzzzzz..... help.......

    parameter datatype by default is char. So I doubt though you assign 5 to p1 it considers as a character.
    Try below
    select count(*) from AA_table where id=to_number(:parameter.p1) and name=:parameter.p2;
    or change the data type to number for p1
    Rajesh Alex

  • Error-local collection types not allowed in SQL statements

    TYPE WEEK_NUM_T  IS VARRAY(10) OF VARCHAR2(10);
    vc_weeknum WEEK_NUM_T;
    SELECT DISTINCT to_char(y.week_number_in_year) BULK COLLECT INTO vc_weeknum
        FROM DD_TMP x, TIME y
        WHERE x.DATE_TM = y.ORACLE_DATE;
    INSERT INTO TMP_HOLD
        (SELECT *
             FROM TMP
             WHERE DATE_TM IN (SELECT * FROM TABLE(vc_weeknum));It seems like the TABLE() function don't work. What is the workaround?

    You haven't provided enough of your code to tell, but you are probably trying to use a pl/sql type instead of a sql type. Please see the reproduction of error, then correction below.
    -- reprouction of error:
    scott@ORA92> CREATE TABLE tmp_hold AS SELECT * FROM dept WHERE 1 = 2
      2  /
    Table created.
    scott@ORA92> DECLARE
      2    TYPE WEEK_NUM_T     IS VARRAY(10) OF VARCHAR2(10);
      3    vc_weeknum WEEK_NUM_T;
      4  BEGIN
      5    SELECT DISTINCT deptno
      6    BULK   COLLECT INTO vc_weeknum
      7    FROM   emp;
      8 
      9    INSERT INTO TMP_HOLD
    10    SELECT *
    11    FROM   dept
    12    WHERE  deptno IN
    13             (SELECT * FROM TABLE(vc_weeknum));
    14  END;
    15  /
             (SELECT * FROM TABLE(vc_weeknum));
    ERROR at line 13:
    ORA-06550: line 13, column 31:
    PLS-00642: local collection types not allowed in SQL statements
    ORA-06550: line 13, column 25:
    PL/SQL: ORA-22905: cannot access rows from a non-nested table item
    ORA-06550: line 9, column 3:
    PL/SQL: SQL Statement ignored
    -- correction:
    scott@ORA92> CREATE OR REPLACE TYPE WEEK_NUM_T AS TABLE OF VARCHAR2(10);
      2  /
    Type created.
    scott@ORA92> DECLARE
      2    vc_weeknum WEEK_NUM_T;
      3  BEGIN
      4    SELECT DISTINCT deptno
      5    BULK   COLLECT INTO vc_weeknum
      6    FROM   emp;
      7 
      8    INSERT INTO TMP_HOLD
      9    SELECT *
    10    FROM   dept
    11    WHERE  deptno IN
    12             (SELECT * FROM TABLE (CAST (vc_weeknum AS week_num_t)));
    13  END;
    14  /
    PL/SQL procedure successfully completed.
    scott@ORA92> SELECT * FROM tmp_hold
      2  /
        DEPTNO DNAME          LOC
            10 ACCOUNTING     NEW YORK
            20 RESEARCH       DALLAS
            30 SALES          CHICAGO
    scott@ORA92>

  • Hierarchy INT does not exist for Financial Statement item 0glaccext

    Hi,
          I am facing a problem while executing the Standard Business content "Cash Flow statement" query. I am getting the message "Hierarchy INT does not exist for Financial Statement item 0glaccext".
    I am not able to find this Hierarchy in the "avaialble Hierarchies from OLTP". I think this is a standard SAP Hierarchy.
    Any thoughts on how to resolve this issue

    John,
    You can define FSVs for a specific chart of accounts, for a group chart of accounts, or without any specific assignment.
    In your case, double-check whether you are running the report for the same CoA assignment that you have defined your FSV for in the first place.
    As somebody's mentioned earlier, these reports are made using Report Painter (GRR1 / 2 / 3, etc.). Seems FSV = INT has been fixed in these reports for your system. You'll have to edit these reports (using GRR2) and the correct FSV.
    Regards
    Gulshan

  • Performance - SQL Statements- Script needed

    Hi All
    I am working on Performance Tuning on Oracle 10g/ Solaris environment.
    I am looking for a shell script that gives top 10 Time Consuming SQL Statements...... My client does not want me to use statspack or OEM for somereasons which i dont know. I am wondering if any of you might help me out ....
    thanks in advance
    riah

    .>> My client does not want me to use statspack
    Your client does not want you to use the scripts provided by Oracle that do exactly what you want but will allow you to run sripts that come from some unknown (to the client, at least) source????

  • Procedure not checking each sql statement.

    Hi All,
    I have created 2 tables names are A1 and B1. A1 table has some fields. Fields are no,sal,comm.,load_date. In A1 table NO (column) is the primary key.
    Second table is B1. this table has id,phone_no and load_date. In this table constraint
    ID column is the Not null.
    After that I have created 2 procedures one for A1 and one for B1. with in those procedures I used SQL insert statements.
    In procedures I used some valid sql statements and some invalid statements ( invalid statements means that I have specified constraint that’s why I specified duplicated and null values). While executing the procedures procedure shows error because of invalid statement and in that procedures I did not specify any Exceptions.
    If I specify Exceptions in procedures executing successfully some records are not loading procedure is comeing out. How do we mention server needs to be check and every insert sql startement.
    EX:
    If I give 6 records from 1 to 3 valid statements. I mentioned 4 th record copy of previos record( duplicated). 5 th record and 6 th valid records.
    Procedure executing successfully. Procedure loaded 1 to 4 records after that not loaded 5,6 and 7 records. How do we specify for record inserts 7. actually 7 th record is valid statement we should be insert this record. Please tell me how do we handle sql statements each and every one successfully or not.
    create or replace procedure a_proc as
    --declare
    begin
    insert into a1 values (100,2000,300,sysdate);
    insert into a1 values(200,1000,400,sysdate);
    insert into a1 values(300,3000,500,sysdate);
    insert into a1 values(400,6000,600,sysdate);
    insert into a1 values(400,900,700,sysdate);
    insert into a1 values(400,10000,1200,sysdate);
    insert into a1 values(900,11000,1300,sysdate);
    commit;
    EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('ERROR - '||sqlerrm);
    end a_proc;
    In B1 table colums are ID,PHONE_NO and Load_date. ID is not null column.
    For B1 population I have created one procedure
    create or replace procedure b_proc as
    --declare
    begin
    insert into b1 values(1,123456,sysdate); -- 1 record
    insert into b1 (phone_no,load_date) values (7896538,sysdate); --2 record
    insert into b1 (phone_no) values(6763723458); ----3 record
    insert into b1 (phone_no) values(453465778); --4 record
    insert into b1 values(400,72894894,sysdate); --5 record
    insert into b1 values(500,72894894,sysdate); --6 record
    commit;
    EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('ERROR - '||sqlerrm);
    end b_proc;
    if I execute above procedure procedure executing successfully but procedure inserting only first record not inserting 5th and 6th record. How do we exception for 5th and 6th records also.
    Thanks and Regards,
    Venkat

    {color:#808080}{color:#333300}Hi,
    Please find answer to your question below:{color}
    Venkat: Procedure executing successfully. Procedure loaded 1 to 4 records after that not loaded 5,6 and 7 records. How do we specify for record inserts 7. actually 7 th record is valid statement we should be insert this record. Please tell me how do we handle sql statements each and every one successfully or not.
    {color}
    {color:#0000ff}Guna: The procedure hits an exception after 4th record, and does not process anymore as it exits out of the procedure, I believe the data is not committed as well. You need handle exceptions if the processing has to continue. Same is the belwo case as well
    {color}{color:#333300}Regards,
    Guna{color}

  • Oracle + Unix question , Error validation for SQL statements in co process

    Hi,
    If I use co process in a shell script , what is the best way to do the error validation of the execution of any sql statements . I was trying to change the following code to make use of co process concept. When I tried echo $? after the execution of a "wrong statements"
    it is still giving Zero output ( meaning success)
    <<<<<<<<<<<<<<<<<<<<<<<<<<<
    cat ${CFG_DIR}/srs_indx.lst | egrep -v '^#' | egrep -v '^[    ]*$' | while read x
    do
    echo " Processing values :: pre $pre tbl $tbl indx $indx tblspc $tblspc cols $cols param $param" >> ${LOGS_DIR}/srs_indx.log
    sqlplus ${BIZSTG} << EOT >> ${LOGS_DIR}/srs_indx.log
    set verify on timing on term on echo on feedback on serveroutput on
    WHENEVER SQLERROR CONTINUE
    drop index $indx;
    WHENEVER SQLERROR EXIT FAILURE
    alter session set query_rewrite_enabled = true;
    create $pre index $indx on $tbl ($cols)
    tablespace $tblspc
    $param;
    exit
    EOT
    RC=$?
    if ( test $RC -ne 0 )
    then
         ERR_MSG="ERROR in creating index $indx for table $tbl from srs_indx.ksh of $ENVIR : $APP by `whoami`@`hostname` on `date` "
         echo $ERR_MSG >> ${LOGS_DIR}/srs_indx.log
         process_warning ${LOGS_DIR}/srs_indx.log
         exitstat=1
    else
         echo "$indx created at `date`" >> ${LOGS_DIR}/srs_indx.log
    fi
    done
    >>>>>>>>>>>>>>>>>>>>
    Any help will be appreciated .
    with thanks and regards
    Ranjeesh K R

    Hi,
    Thanks for the response, I guess people misunderstood my question .
    My question was about "error handling in case of CO PROCESS". For those who don't know about this, in case CO PROCESS you just need to login once to Oracle. In my above code It is logging in & out for each entry in the list. CO process statements may look Similar to SQL statements in pro*C. In PRO*C we use EXEC, but here print -p statements..
    a sample is given for those who are new to co process.
    sqlplus -s /nolog |& # Open a pipe to SQL*Plus
    print -p -- 'connect user/password@instance'
    print -p -- 'set feed off pause off pages 0 head off veri off line 500'
    print -p -- 'set term off time off'
    print -p -- "set sqlprompt ''"
    print -p -- "select sysdate from dual;"
    read -p SYSDATE
    print -p -- "select user from dual;"
    read -p USER
    print -p -- "select global_name from global_name;"
    read -p GLOBAL_NAME
    print -p -- exit
    echo SYSDATE: $SYSDATE
    echo USER: $USER
    echo GLOBAL_NAME: $GLOBAL_NAME
    But I got stuck during error handling of these SQL statements, especially the $? / $* returns 0 even after an erroneus execution.
    Regards

  • NOT A VALID SQL STATEMENT EUL-3587

    I 've put the following SQL statement in a custom folder but the admin edition does not accept it. Could anyone tell me why??
    I kee getting the message from the subject.
    I am using version; 4.1.48.06.00 on Windows XP
    Greetz
    Eelco
    SELECT DECODE ((TRUNC(SYSDATE- gis_notas.nota_verzend_dat)),
    LEAST((TRUNC(SYSDATE- gis_notas.nota_verzend_dat)), 39), '0 t/m 39',
    LEAST((TRUNC(SYSDATE- gis_notas.nota_verzend_dat)), 60), '40 t/m 60',
    LEAST((TRUNC(SYSDATE- gis_notas.nota_verzend_dat)), 90), '61 t/m 90',
    LEAST((TRUNC(SYSDATE- gis_notas.nota_verzend_dat)), 120), '91 t/m 120','> 120'),
    gis_notas.odg_volgnum,
    gis_notas.DEBITEURNUM,
    gis_notas.NOTA_NUM,
    gis_debiteuren_og.INC_STATUS,
    gis_notas.BEDRAG,
    gis_notas.OPENSTAAND_BDG,
    SUM (gis_notas.openstaand_bdg)
    FROM gis_debiteuren_og gis_debiteuren_og,
    gis_notas gis_notas
    WHERE ((gis_debiteuren_og.odg_volgnum = gis_notas.odg_volgnum
    AND gis_debiteuren_og.debiteurnum = gis_notas.debiteurnum
    AND gis_debiteuren_og.externe_bron = gis_notas.externe_bron
    AND gis_debiteuren_og.srt_externe_code = gis_notas.srt_externe_code))
    AND (gis_debiteuren_og.inc_status in ('INV'))
    AND (gis_notas.openstaand_bdg <> 0)
    AND (gis_debiteuren_og.odg_volgnum IN (1))
    AND LEAST((TRUNC(SYSDATE- gis_notas.nota_verzend_dat)), 60) is not null
    GROUP BY DECODE ((TRUNC(SYSDATE- gis_notas.nota_verzend_dat)),
    LEAST((TRUNC(SYSDATE- gis_notas.nota_verzend_dat)), 39), '0 t/m 39',
    LEAST((TRUNC(SYSDATE- gis_notas.nota_verzend_dat)), 60), '40 t/m 60',
    LEAST((TRUNC(SYSDATE- gis_notas.nota_verzend_dat)), 90), '61 t/m 90',
    LEAST((TRUNC(SYSDATE- gis_notas.nota_verzend_dat)), 120), '91 t/m 120','> 120'),
    gis_notas.odg_volgnum,
    gis_notas.DEBITEURNUM,
    gis_notas.NOTA_NUM,
    gis_notas.BEDRAG,
    gis_notas.OPENSTAAND_BDG,
    gis_debiteuren_og.INC_STATUS

    Hi,
    Try using an alias for you all your calculated columns, e.g.
    SUM (gis_notas.openstaand_bdg) SUM_OPENSTAAND_BDG
    Hope that helps,
    Rod West

  • Crystal Report Alerts not firing when no records are fetched from the DB

    Hello,
    The crystal report alert i have created in the report in the event of no records being fetched from the query is not firing.  The condition used is isnull ( count(DB Field ) ).
    Is there a limitation with alerts that they would be fired only when some records are fetched in the report.
    Appreciate any pointers
    -Jayakrishnan

    hi Jayakrishnan,
    as alerts require records to be returned here's what you will need to do:
    1) delete your current alert
    2) create a new formula with syntax like
                  isnull(DistinctCount ()) or DistinctCount () = 0
    3) create a new Subreport (which you will put in a report header)
    4) the subreport can be based off of any table
    5) have the subreport record selection always return only 1 record...for performance reasons
    6) change the subreport link to be based on the new formula
    7) the link will be a one way link in that you will not use the "Select data in subreport based on field" option
    8) now in the subreport, create the Alert based on the parameter created by the subreport link
    i have tested this and it works great.
    jamie

  • Need to take monthly report for SQL statements...Is there any possiblity?

    Hi,
    We have a requirement to find out the list of expensive sql statements in our ECC 6.0 system.
    I am aware that we can see expensive sql statements which are being executed online in the TCode ST04 or DB02old.
    But I want the list of statements on a monthly wise.
    Is there any possibility to find out the list of expensive sql statements for the previous 3 to 4 months?If so, how do we do that?
    Any report or Tcode with navigations.
    Please help.
    Regards,
    Sudheer.

    Hi,
    > We have a requirement to find out the list of expensive sql statements in our ECC 6.0 system.
    nice.
    > I am aware that we can see expensive sql statements which are being executed online in the TCode ST04 or DB02old.
    expensive SQL in DB02, really?
    > But I want the list of statements on a monthly wise.
    > Is there any possibility to find out the list of expensive sql statements for the previous 3 to 4 months?
    > If so, how do we do that?
    Up to now there is no transaction available with such information. The databases partially offer solutions.
    These are switched on by default of have to be setup before they could be used. So it depends on the
    database and the database version which are you using.
    On ORACLE 10g for example we have the AWR (Automatic Workload Repository) which should be switched on by default (depends again on the license). On ORACLE 9i statspack is available but has to be activated first.
    On DB6 (latest database and SAP release) we have the so called performance warehouse.
    On other databases there might be solutions too.
    Besides that you can always built your own solution and grab the top 10 SQL statements from the SQL cache and
    persist them in regular intervals. I have seen such solutions as well.
    Kind regards,
    Hermann

  • Enum class not supported for switch() statement in 12.4 beta?

    Hi fellow 12.4 beta testers,
    It would appear "enum class" isn't supported for switch() statements in the 12.4 beta. This compiles fine under clang and g++. Will this be fixed for the final release? This currently causes compile errors for us, since __cplusplus >= 201103L evaluates to true, so our code uses "enum class" instead of plain "enum". It looks like the C++11 standard says it should be supported:
       Switching on enum class in C++ 0x - Stack Overflow
    Many thanks,
    Jonathan.
    $ cat test.cpp
    #include <iostream>
    enum class Ternary { KnownFalse = 0, KnownTrue = 1, Unknown = 2 };
    int main( void )
       Ternary foo;
       switch ( foo ) {
          case Ternary::KnownTrue:
          case Ternary::KnownFalse:
          case Ternary::Unknown:
             std::cout << "Success\n";
    $ clang++ -std=c++11 test.cpp
    $ g++ -std=c++11 test.cpp
    $ /opt/SolarisStudio12.4-beta_mar14-solaris-x86/bin/CC -std=c++11 test.cpp
    "test.cpp", line 8: Error: Cannot use Ternary to initialize integral type.
    "test.cpp", line 8: Error: Switch selection expression must be of an integral type.
    "test.cpp", line 9: Error: An integer constant expression is required for a case label.
    "test.cpp", line 10: Error: An integer constant expression is required for a case label.
    "test.cpp", line 11: Error: An integer constant expression is required for a case label.
    5 Error(s) detected.

    Thanks for reporting this problem! I have filed bug 18499900.
    BTW, according to the C++11 standard, the code is actually not valid. Section 6.4.2, switch statement, says an implicit conversion to an integral type is required, which is not the case for for a scoped enum (one using the "class enum" syntax). This limitation was raised in the C++ Committee as an issue to be fixed, and the C++14 standard makes the code valid.
    As a workaround, or to make the code conform to C++11, you can add casts to int for the enum variable and the enumerators.
    Message was edited by: Steve_Clamage

Maybe you are looking for