COMMIT statement generates error in trigger

My COMMIT statement generates error from my 'when-button-pressed' trigger.
First I issue a very simple Insert statement, then a commit, but I get:
FRM-41009. Function key not allowed. Press Ctrl+F1 for list of valid keys.
Do you think I have a trigger somewhere else that could be affecting this commit ?
Bob

I FIGURED IT OUT, FOLKS.
I was in query mode before issuing the commit. I simply chose a record and it worked.
Thanks anyway,
bob

Similar Messages

  • Error in Trigger (PL/SQL: SQL Statement Ignored)

    Here is the trigger:
    CREATE OR REPLACE TRIGGER DRUGREPLACEMENT
    AFTER INSERT ON PHARMACEUTICALS
    REFERENCING NEW AS newDrugs
    FOR EACH ROW
    WHEN (newDrugs.drugname = newDrugs.genericname)
    BEGIN
    UPDATE prescription
    SET pharmaceuticalid = newDrugs.drugID
    WHERE pharmaceuticalid IN(SELECT pharmaceuticalid FROM prescription, pharmaceuticals WHERE drugid = pharmaceuticalid AND newDrugs.genericname = pharmaceutical.genericname);
    END;
    Error is:
    Error(2,1): PL/SQL: SQL Statement ignored
    Error(3,24): PL/SQL: ORA-00904: "NEWDRUGS"."DRUGID": invalid identifier
    pharmaceuticalid is a number in my prescription table.
    drugid is a number; genericname and drugname are both varchars in my pharmaceuticals table. Any idea why I am getting these errors? (I tried putting quotes around newdrugs.drugid but then it just said "newdrugs.drugid" is invalid. Thanks for your help
    -Brian

    One more thing. Your trigger is selecting from triggering table. So single row inserts will work, but multiple row inserts into PHARMACEUTICALS will fail with famous "table is mutating" error. There is no need to select from PHARMACEUTICALS. Change:
    UPDATE ************
    SET pharmaceuticalid = newDrugs.drugID
    WHERE pharmaceuticalid IN(SELECT pharmaceuticalid FROM ************, pharmaceuticals WHERE drugid = pharmaceuticalid AND newDrugs.genericname = pharmaceutical.genericname);to
    UPDATE ************
      SET pharmaceuticalid = newDrugs.drugID
      WHERE pharmaceuticalid IN (
                                 SELECT pharmaceuticalid
                                   FROM ************
                                   WHERE drugid = :newDrugs.pharmaceuticalid
                                     AND :newDrugs.genericname = pharmaceutical.genericname
                                );SY.

  • While run "Program - Run Financial Statement Generator" occurs errors? why

    while running "Program - Run Financial Statement Generator" occurs errors?
    Program - Publish FSG Report
    output:
    The concurrent request ID of your FSG request is 309112.
    The concurrent request ID of your XML Report Publisher request is 309113.
    hawk_BS_IFRS PC by month (PL) (Financial Statement Generator)
    can output good format xml
    but
    Program - Run Financial Statement Generator
    the phase: Completed and
    the status: Error
    anybody can give me some sugguestion?

    hello, I have known why.
    because my xml publisher's version is 5.6.1. it's not afford it .
    you can refer to metalink.
    and it's not problem in 5.6

  • Cursor Error in trigger - Statement Ignored/identifier must be declared PLS

    I have been asked to implement a trigger and believe I have the code complete but am getting a final error on the compile. I have been running in circles for a day trying to resolve my issue. I have no PL/SQL knowlege so have been pulling from a book and google. I have three Cursors defined and the third compiles fine, the first two give the below error though I can't see a significant difference between the three. I can't help but think it is something stupid I am not seeing but I am at a loss.
    If I comment out the reference to the cursor it will compile with the cursor definition but as soon as I add the Open statement the errors below appear.
    Any help would be greatly appreciated as my head is getting sore.
    Thanks
    Mike
    Error(30,13): PL/SQL: Statement ignored
    Error(30,20): PLS-00201: identifier 'CURSORGETFROMDISTMAKRERS' must be declared
    Error(51,13): PL/SQL: Statement ignored
    Error(51,20): PLS-00201: identifier 'CURSORGETTODISTMAKRERS' must be declared
    -- Table I am writing to
    create table IMSV7.CTRANSWODISTMARK (
    WORKORDERKEY INTEGER,
    DISTMARKFROM NUMBER (9,4),
    DISTMARKFROMATTRIBUTE VARCHAR (10),
    DISTMARKTO NUMBER (9,4),
    DISTMARKTOATTRIBUTE VARCHAR (10)
    -- Excerpt from the HISTORY table I am placing the trigger against
    COMPKEY NUMBER (9,0)
    DISTFROMFT FLOAT
    DISTTOFT FLOAT
    HISTKEY NUMBER (9,0)
    -- Trigger code
    CREATE OR REPLACE TRIGGER MaintainCTRANSWODISTMARK
    AFTER INSERT or UPDATE of DISTFROMFT, DISTTOFT ON IMSV7.HISTORY
    REFERENCING NEW as NewWO
    FOR EACH ROW
    BEGIN
    DECLARE
    -- Declare cursors
    CURSOR CursorGetFromDistMarkers (WOCompKey IN NUMBER, WODistFromFT IN FLOAT) IS
    SELECT ATTRCODE, DISTFROMFT, MARKERFROM from RWATTRDF DF, RWATTR A
    where WOCompkey = A.COMPKEY AND DF.ATTRKEY = A.ATTRKEY and DF.ATTRTYPE = 'DISTMARK'
    and WODistFromFT >= DISTFROMFT and WODistFromFT <= DISTTOFT
    order by A.EFFDATE DESC, DISTFROMFT DESC;
    FromDistanceMarker CursorGetFromDistMarkers%ROWTYPE;
    CURSOR CursorGetToDistMarkers (WOCompKey IN NUMBER, WODistToFT IN FLOAT) IS
    SELECT ATTRCODE, DISTFROMFT, MARKERFROM from RWATTRDF DF, RWATTR A
    where WOCompkey = A.COMPKEY AND DF.ATTRKEY = A.ATTRKEY and DF.ATTRTYPE = 'DISTMARK'
    and WODistToFT >= DISTFROMFT and WODistToFT <= DISTTOFT
    order by A.EFFDATE DESC, DISTFROMFT DESC;
    ToDistanceMarker CursorGetToDistMarkers%ROWTYPE;
    CURSOR CursorGetCTRANSWODistMark (WOHistKey IN NUMBER) IS
    SELECT WORKORDERKEY from CTRANSWODISTMARK
    where WORKORDERKEY = WOHistKey;
    CTRANSWODistMark CursorGetCTRANSWODistMark%ROWTYPE;
    varDistmarkFrom NUMBER;
    varDistmarkFromAttribute VARCHAR2(10);
    varDistmarkTo NUMBER;
    varDistmarkToAttribute VARCHAR2(10);
    BEGIN
    -- Process From measurement
    IF NOT CursorGetFromDistMakrers%ISOPEN
    THEN
    OPEN CursorGetFromDistMarkers(:NewWO.COMPKEY, :NewWO.DISTFROMFT);
    END IF;
    FETCH CursorGetFromDistMarkers INTO FromDistanceMarker;
    IF CursorGetFromDistMarkers%NOTFOUND
    THEN
    -- No distance markers found, use MILES
    varDistmarkFrom := :NewWO.DISTFROMFT / 5280;
    varDistmarkFromAttribute := 'MILES';
    ELSE
    -- Found a distance marker, convert to its units and use those
    -- Distance is the Marker start distance plus the offset from that start of the marker
    varDistmarkFrom := FromDistanceMarker.MARKERFROM + :NewWO.DISTFROMFT - FromDistanceMarker.DISTFROMFT;
    varDistmarkFromAttribute := FromDistanceMarker.ATTRCODE;
    END IF;
    CLOSE CursorGetFromDistMarkers;
    -- Process To measurement
    IF NOT CursorGetToDistMakrers%ISOPEN
    THEN
    OPEN CursorGetToDistMarkers(:NewWO.COMPKEY, :NewWO.DISTTOFT);
    END IF;
    FETCH CursorGetToDistMarkers INTO ToDistanceMarker;
    IF CursorGetToDistMarkers%NOTFOUND
    THEN
    -- No distance markers found, use MILES
    varDistmarkTo := :NewWO.DISTTOFT / 5280;
    varDistmarkToAttribute := 'MILES';
    ELSE
    -- Found a distance marker, convert to its units and use those
    -- Distance is the Marker start distance plus the offset from that start of the marker
    varDistmarkTo := ToDistanceMarker.MARKERFROM + :NewWO.DISTTOFT - ToDistanceMarker.DISTFROMFT;
    varDistmarkToAttribute := ToDistanceMarker.ATTRCODE;
    END IF;
    CLOSE CursorGetToDistMarkers;
    -- Check for existing record to know if we should add or update
    IF NOT CursorGetCTRANSWODistMark%ISOPEN
    THEN
    OPEN CursorGetCTRANSWODistMark(:NewWO.HISTKEY);
    END IF;
    FETCH CursorGetCTRANSWODistMark INTO CTRANSWODistMark;
    IF CursorGetCTRANSWODistMark%NOTFOUND
    THEN
    -- Record does not exist, add one
    Insert into CTRANSWODISTMARK (WORKORDERKEY, DISTMARKFROM, DISTMARKFROMATTRIBUTE, DISTMARKTO, DISTMARKTOATTRIBUTE)
    values (:NewWO.HISTKEY, varDistmarkFrom, varDistmarkFromAttribute, varDistmarkTo, varDistmarkToAttribute);
    ELSE
    -- Existing record, update it
    Update CTRANSWODISTMARK set DISTMARKFROM = varDistmarkFrom, DISTMARKFROMATTRIBUTE = varDistmarkFromAttribute,
    DISTMARKTO = varDistmarkTo, DISTMARKTOATTRIBUTE = varDistmarkToAttribute
    Where WORKORDERKEY = :NewWO.HISTKEY;
    END IF;
    END;
    END;
    run;
    show errors trigger MaintainCTRANSWODISTMARK;

    the cursor is mispelled
      IF NOT CursorGetFromDistMakrers%ISOPENchange it to:
    IF NOT CursorGetFromDistMarkers%ISOPEN

  • HSDIO conditionally fetch hardware compare sample errors (script trigger to flag whether or not to wait for software trigger)

    I am moderately new to Labview and definitely new to the HSDIO platform, so my apologies if this is either impossible or silly!
    I am working on a system that consists of multiple PXI-6548 modules that are synchronized using T-CLK and I am using hardware compare.  The issue I have is that I need to be able to capture ALL the failing sample error locations from the hardware compare fetch VI... By ALL I mean potentially many, many more fails than the 4094 sample error depth present on the modules.
    My strategy has been to break up a large waveform into several subsets that are no larger than 4094 samples (to guarantee that I can't overflow the error FIFO) and then fetch the errors for each block.  After the fetch is complete I send a software reference trigger that is subsequently exported to a scriptTrigger that tells the hardware it is OK to proceed (I do this because my fetch routine is in a while loop and Labview says that the "repeated capbility has not yet been defined" if I try to use a software script trigger in a loop).
    This works fine, but it is also conceivable that I could have 0 errors in 4094 samples.  In such a case what I would like to do is to skip the fetching of the hardware compare errors (since there aren't any) and immediately begin the generation of the next block of the waveform.  That is, skip the time where I have to wait for a software trigger.
    I tried to do this by exporting the sample error event to a PFI and looping that PFI back in to generate a script trigger.  What I thought would happen was that the script trigger would get asserted (and stay asserted) if there was ever a sample error in a block, then I could clear the script trigger in my script.  However, in debug I ended up exporting this script trigger back out again and saw that it was only lasting for a few hundred nanoseconds (in a case where there was only 1 injected sample error)... The sample error event shows up as a 1-sample wide pulse.
    So, my question is this:  is there a way to set a flag to indicate that at least one sample error occurred in a given block  that will persist until I clear it in my script?  What I want to do is below...
    generate wfmA subset (0, 4094)
    if scriptTrigger1
      clear scriptTrigger1
      wait until scriptTrigger0
    end 
    clear scriptTrigger0
    generate wfmA subset (4094, 4094)
    I want scriptTrigger1 to be asserted only if there was a sample error in any block of 4094 and it needs to stay asserted until it is cleared in the script.  scriptTrigger0 is the software trigger that will be sent only if a fetch is performed.  Again, the goal being that if there were no sample errors in a block, the waiting for scriptTrigger0 will not occur.
    I am probably going about it all wrong (obviously since it doesn't work), so any help would be much appreciated!

    Please disregard most of my previous post... after some more debug work today I have been able to achieve the desired effect at slower frequencies.  I did straighten out my script too:
    generate wfmA
    if scriptTrigger1
      clear scriptTrigger0
      wait until scriptTrigger0
    end if
    generate wfmA
    scriptTrigger1 = sample error event flag
    scriptTrigger0 = software trigger (finished fetching error backlog in SW)
    However, I am still having a related issue.
    I am exporting the Sample Error Event to a PFI line, looping that back in on another PFI line, and having the incoming version of the Sample Error Event generate a script trigger.  My stimulus has a single injected sample error for debug. For additional debug I am exporting the script trigger to yet another PFI; I have the sample error event PFI and the script trigger PFI hooked up to a scope.
    If I run the sample clock rate less than ~133MHz everything works... I can see the sample error event pulse high for one clock period and the script trigger stays around until it is consumed by my script's if statement.
    Once I go faster than that I am seeing that the script trigger catches the sample error event occasionally.  The faster I go, the less often it is caught.  If I widen out the error to be 2 samples wide then it will work every time even at 200MHz.
    I have tried PFI0-3 and the PXI lines as the output terminal for the sample error event and they all have the same result (this implies the load from the scope isn't the cause).
    I don't know what else to try?  I can't over sample my waveform because I need to run a true 200MHz. I don't see anything that would give me any other control over the sample error event in terms of its pulsewidth or how to export it directly to a script trigger instead of how I'm doing it.
    Any other ideas?

  • Execution of ddl statement  in post-insert trigger

    hi,
    I'm working on headstart 6.5. I wants to execute a DDL statement in post-insert-trigger.The problem is this trigger is executed in between pre-commit and post-forms-commit.In pre-commit the transaction is opened with a insert statement that is inserting "open" in field status which is having a deffered check constraint QMS_NEED_TO_CLOSE_TRANSACTION.In post-forms-commit it will check whether the transaction is open if yes will check the business rule will delete the data that was inserted into qms_transaction in pre-commit trigger and will close the transaction .
         In between if i execute a DDl statement a commit will be performed on the insert statement written in pre-commit trigger.This will violate the check-constraint and we will get the error qms_need_to_close_transaction violated.
         My business logic wants this statement to be executed at the post-insert trigger on the block.Is this possible??
         Does anyone have face the same problem?Whts the workaround for the same?

    Hello,
    You could use the execute_query after the commit_form called, by exeample in a KEY-COMMIT trigger.
    KEY-COMMIT trigger
      Commit_Form ;
      Go_block( 'master_block' ) ;
      Execute_Query ;Francois

  • [Solved] ADF - Update does not return values generated by a trigger

    Hello,
    I'm using JDev 10.1.3.3.0 and DB 10.2.0.3.0.
    On DB I've created a table, a sequence and a trigger:
    CREATE TABLE TAB1
         ID          NUMBER          PRIMARY KEY,
         EDITED_AT     DATE,
         VALUE          VARCHAR2(64)
    CREATE SEQUENCE S_TAB1
         INCREMENT BY 1
         START WITH 1;
    CREATE TRIGGER T_TAB1_BIE
    BEFORE INSERT OR UPDATE ON TAB1
    FOR EACH ROW
    BEGIN
         IF INSERTING THEN
              SELECT S_TAB1.NEXTVAL INTO :NEW.ID FROM DUAL;
         END IF;
         :NEW.EDITED_AT := SYSDATE;
    END;
    /In JDev I've created an EO - Tab1, a VO - Tab1View and an AppModule.
    In the EO Tab1 I have checked "Refresh After Insert" and "Refresh After Update" for Id and Edited_By attributes. I made the latter two attribures as "Never" updatable.
    Then I test the AppModule with a JDev Tester (I use a connection which connects as an owner of the 3 objects above).
    Then I insert a new row and enter a value into the Value field in the Tester. When I press Commit button everything works great - Id and Edited_By attributes get populated with values generated by the trigger.
    But when I try to update the Value field and press Commit the Edited_By field does not retreives new value that was generated by the trigger.
    Why does this happens?
    Many thanks in advance.
    Yerzhan.

    Frank,
    I tried to set Refresh option on both, Value and Edited_At, fields but unsuccessfully.
    Then I tried to do the following in SQL Plus:
    SQL> insert into tab1(value) values('ddd');
    1 row created.
    SQL> commit;
    Commit complete.
    SQL>
    SQL> select * from tab1;
            ID EDITED_AT           VALUE
             1 27.03.2008 17:01:24 ddd
    SQL>
    SQL> declare dt date; val varchar2(64);
      2  begin update tab1 set value = 'ddd' where id = 1 returning edited_at, value into dt, val;
      3  dbms_output.put_line('txt = ' || dt || ', ' || val);
      4  end;
      5  /
    txt = 27.03.2008 17:01:24, ddd
    PL/SQL procedure successfully completed.
    SQL>
    SQL> select * from tab1;
            ID EDITED_AT           VALUE
             1 27.03.2008 17:02:12 ddd
    SQL>As it can be seen Returning clause of an Update statement does not return a new date, i.e. 27.03.2008 17:02:12, that was updated by the trigger, it returns an old one - 27.03.2008 17:01:24.
    Frank, maybe the issue is in the Oracle DB?

  • FRM-40737: illegal restricted procedure COMMIT in POST-TEXT-ITEM trigger

    Hi All,
    I tried to execute an insert statement in a POST-TEXT-ITEM trigger and use commit to save data in the db but this error appeared:
    FRM-40737: illegal restricted procedure COMMIT in POST-TEXT-ITEM trigger
    How to solve it? OR how to save every text item value entered in the database?

    I don't fully understand, why you need to insert records on post-text-item, but the possible solution is:
    Write a DB procedure which does insert and commits it.
    Call this procedure in post-text-item.
    Problems will occur if your procedure is modifying the table columns, which are used in form. Form will notice that values in DB have changed and you will have "Record has been changed by another user. Please requery to see changes" error. But if records, affected by DB procedures, are not used in form, the wverything will be OK.

  • How to execute commit statement in a procedure optionally?

    We have a procedure which has DML operations and at the end there is a commit statement.
    I want to execute commit statement optionally.
    Like, when procedure runs directly it must execute commit statement, but when this procedure is called from a trigger don't run commit.
    As you know commit operation is not allowed in triggers.
    How can I understant the code is triggered from a trigger or any other (manuel exec or from another procedure).
    I am looking for the reserved word that solve my problem. Like INSERTING, DELETING ....
    Serkan
    Thanks.

    Hi oraserkan,
    You do of course know it's dangerous to have a commit inside a procedure?
    Consider this:
    SQL> create table t (text varchar2(25))
    Table created.
    SQL> create or replace procedure p
    as
    begin
       insert into t(text)
           values ('Insert PROCEDURE');
       commit;
    end p;
    Procedure created.
    SQL> insert into t(text)
        values ('Insert SQL')
    1 row created.
    SQL> exec p
    PL/SQL procedure successfully completed.
    SQL> rollback
    Rollback complete.
    SQL> select * from t
    TEXT                    
    Insert SQL              
    Insert PROCEDURE        
    2 rows selected.You should instead clearly state the procedure has a commit by making it autonomous, and then have two procedures, one that commits, and one that don't
    SQL> drop procedure p
    Procedure dropped.
    SQL> drop table t purge
    Table dropped.
    SQL> create table t (text varchar2(25))
    Table created.
    SQL> create or replace procedure p_transactional
    as
    begin
       insert into t(text)
           values ('Insert PROCEDURE');
    end p_transactional;
    Procedure created.
    SQL> create or replace procedure p_autonomous
    as
       pragma autonomous_transaction;
    begin
       p_transactional;
       commit;
    end p_autonomous;
    Procedure created.
    SQL> insert into t(text)
        values ('Insert SQL')
    1 row created.
    SQL> exec p_autonomous
    PL/SQL procedure successfully completed.
    SQL> rollback
    Rollback complete.
    SQL> select * from t
    TEXT                    
    Insert PROCEDURE        
    1 row selected.
    SQL> drop procedure p_transactional
    Procedure dropped.
    SQL> drop procedure p_autonomous
    Procedure dropped.
    SQL> drop table t purge
    Table dropped.Regards
    Peter

  • SQLException: Closed Connection, SQL state [null]; error code [17002]

    Hello All,
    I am supporting a Java 5 project on Tomcat. We've used Spring and Stored Procedure in the project.
    Recently we deployed our application in a GoLive environment and have started seeing Timeout errors in log files. After around two days we also have to restart Tomcat as users are no more able to login to access the application.
    Same application runs fine without any timeout issues on another environment.
    The only difference between two environments is that the Go-Live env has a firewall between Tomcat and Database and the other environment hosts both Tomcat and Database on same machine (i.e. no firewall).
    For GoLive env the only port open on firewall for JDBC connection is 1521 and is used in the connection string url for obtaining the connections.
    When there is a Timeout error, the N/w admin guy observed that the JDBC connection was not attempted on 1521 port, but on some random port which is not open on firewall, due to which the Database server logs also do not show entry for this connection attempt as it gets blocked by the firewall.
    I am not sure why a randam port should be used to connect when a specific port is mentioned in the connection url? Also what can be making this port switching?
    Application uses Apache DBCP with Spring to obtain connections.
    Has anyone experienced similar errors?
    Any suggestions/help on this issue is greatly appreciated!
    Many Thanks,
    CD
    ===============================
    Error Log Extract:
    Error while extracting database product name - falling back to empty error codes
    org.springframework.jdbc.support.MetaDataAccessException: Error while extracting DatabaseMetaData; nested exception is java.sql.SQLException: Closed Connection
    java.sql.SQLException: Closed Connection
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
    at oracle.jdbc.driver.PhysicalConnection.getMetaData(PhysicalConnection.java:1605)
    at org.apache.commons.dbcp.DelegatingConnection.getMetaData(DelegatingConnection.java:247)
    at org.apache.commons.dbcp.DelegatingConnection.getMetaData(DelegatingConnection.java:247)
    at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.getMetaData(PoolingDataSource.java:231)
    at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:172)
    at org.springframework.jdbc.support.JdbcUtils.extractDatabaseMetaData(JdbcUtils.java:207)
    at org.springframework.jdbc.support.SQLErrorCodesFactory.getErrorCodes(SQLErrorCodesFactory.java:187)
    at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.setDataSource(SQLErrorCodeSQLExceptionTranslator.java:126)
    at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.<init>(SQLErrorCodeSQLExceptionTranslator.java:92)
    at org.springframework.jdbc.support.JdbcAccessor.getExceptionTranslator(JdbcAccessor.java:96)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:294)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:348)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:352)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:356)
    at com.o2.morse.dao.impl.sql.UserDaoImpl.batchLoad(UserDaoImpl.java:371)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
    at $Proxy3.batchLoad(Unknown Source)
    at com.o2.morse.domain.User.doHousekeeping(User.java:667)
    at com.o2.morse.domain.User$$FastClassByCGLIB$$372ff70b.invoke(<generated>)
    at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
    at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:705)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
    at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:643)
    at com.o2.morse.domain.User$$EnhancerByCGLIB$$d5ac966a.doHousekeeping(<generated>)
    at com.o2.morse.scheduler.EndOfDay.run(EndOfDay.java:63)
    at com.o2.morse.scheduler.EndOfDay$$FastClassByCGLIB$$3b2d4927.invoke(<generated>)
    at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
    at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:705)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
    at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:643)
    at com.o2.morse.scheduler.EndOfDay$$EnhancerByCGLIB$$488a9f86.run(<generated>)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:248)
    at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:165)
    at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:90)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
    Could not close JDBC Connection
    java.sql.SQLException: Already closed.
    at org.apache.commons.dbcp.PoolableConnection.close(PoolableConnection.java:77)
    at org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.close(PoolingDataSource.java:180)
    at org.springframework.jdbc.datasource.DataSourceUtils.doReleaseConnection(DataSourceUtils.java:286)
    at org.springframework.jdbc.datasource.DataSourceUtils.releaseConnection(DataSourceUtils.java:247)
    at org.springframework.jdbc.datasource.DataSourceTransactionManager.doCleanupAfterCompletion(DataSourceTransactionManager.java:297)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.cleanupAfterCompletion(AbstractPlatformTransactionManager.java:754)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.processRollback(AbstractPlatformTransactionManager.java:615)
    at org.springframework.transaction.support.AbstractPlatformTransactionManager.rollback(AbstractPlatformTransactionManager.java:560)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.doCloseTransactionAfterThrowing(TransactionAspectSupport.java:284)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:100)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
    at $Proxy3.batchLoad(Unknown Source)
    at com.o2.morse.domain.User.doHousekeeping(User.java:667)
    at com.o2.morse.domain.User$$FastClassByCGLIB$$372ff70b.invoke(<generated>)
    at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
    at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:705)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
    at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:643)
    at com.o2.morse.domain.User$$EnhancerByCGLIB$$d5ac966a.doHousekeeping(<generated>)
    at com.o2.morse.scheduler.EndOfDay.run(EndOfDay.java:63)
    at com.o2.morse.scheduler.EndOfDay$$FastClassByCGLIB$$3b2d4927.invoke(<generated>)
    at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
    at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:705)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
    at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:643)
    at com.o2.morse.scheduler.EndOfDay$$EnhancerByCGLIB$$488a9f86.run(<generated>)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:248)
    at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:165)
    at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:90)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
    Application exception overridden by rollback exception
    org.springframework.jdbc.UncategorizedSQLException: StatementCallback; uncategorized SQLException for SQL [SELECT ID_USER_DETAILS, USERNAME, CREATED_ON, LAST_LOGIN FROM USER_DETAILS  WHERE STATUS = 157 AND SUPERUSER <> 'Y']; SQL state [null]; error code [17002] ; Io exception: Connection timed out; nested exception is java.sql.SQLException: Io exception: Connection timed out
    java.sql.SQLException: Io exception: Connection timed out
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
    at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:820)
    at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1049)
    at oracle.jdbc.driver.T4CStatement.executeMaybeDescribe(T4CStatement.java:845)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1154)
    at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1313)
    at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:205)
    at org.apache.commons.dbcp.DelegatingStatement.executeQuery(DelegatingStatement.java:205)
    at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:333)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:282)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:348)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:352)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:356)
    at com.o2.morse.dao.impl.sql.UserDaoImpl.batchLoad(UserDaoImpl.java:371)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:287)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
    at $Proxy3.batchLoad(Unknown Source)
    at com.o2.morse.domain.User.doHousekeeping(User.java:667)
    at com.o2.morse.domain.User$$FastClassByCGLIB$$372ff70b.invoke(<generated>)
    at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
    at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:705)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
    at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:643)
    at com.o2.morse.domain.User$$EnhancerByCGLIB$$d5ac966a.doHousekeeping(<generated>)
    at com.o2.morse.scheduler.EndOfDay.run(EndOfDay.java:63)
    at com.o2.morse.scheduler.EndOfDay$$FastClassByCGLIB$$3b2d4927.invoke(<generated>)
    at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
    at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:705)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
    at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:643)
    at com.o2.morse.scheduler.EndOfDay$$EnhancerByCGLIB$$488a9f86.run(<generated>)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:248)
    at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:165)
    at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:90)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:525)
    Batch Job Failed: org.springframework.transaction.TransactionSystemException: Could not roll back JDBC transaction; nested exception is java.sql.SQLException: Closed Connection

    I am using latest Jrockit 16)5, ojdbc6_g.jar,spring.jar Weblogic 10.3 and Oracle 10G 10.2.4 .. whatever but always get "Closed Connection"
    java.lang.Throwable: Closed Connection
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
    at oracle.jdbc.driver.PhysicalConnection.createStatement(PhysicalConnection.java:750)
    at oracle.jdbc.OracleConnectionWrapper.createStatement(OracleConnectionWrapper.java:183)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:7053)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
    at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3902)
    at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2773)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)

  • Financial statement generator & Oracle Reports Manager

    We are moving into Oracle Apps R12.1.3 on Solaris. Most end user machines are Windows 7 & going to be Windows 8. Some are Windows XP. Majority have Microsoft 2007 and some have Microsoft 2010.
    Financial Statement Generator (FSG) reports are called from GL Super user as well as Oracle Reports Manager. Attempt being made to open FSG reports directly in Oracle Reports Manager > Excel with drill down.
    Experiencing errors (of VB) , after some patching seeing Blank Excelsheet.  Though same FSG report can be open with Values in Oracle Reports Manager > html and pdf.
    Any body experienced this in recent past.
    Rgds

    Hi Hein,
    Thanks for the reply and I do have access but apart from standard/customized reports, sometimes users create their own reports using FSGs where they pull GL data (No sub-ledgers) by defining rows and columns and many more features.
    For eg: pulling up trial balance report by cost centers
    Is there any equivalent of these Financial Statement Generators in SAP.
    I was thinking about defining the "Variants" in each report and run variants but then thats not limited to GL, I guess
    Thanks in advance....
    Edited by: sap_oracle_BA on Apr 16, 2009 7:46 PM

  • How a select statement generates redo logs

    Can some one explain how a select statement generates redo logs
    Naveen

    Redo with a select statement happens when dirty blocks get written to the database, and are then "cleaned up" when next read of that data block. This could happen when a large DML statement does not commit before the DB Writer needs to write modified blocks to disk. The next time the blocks are read by a select statement they get modified, hence REDO is generated by the select statement.
    Read the following for more and better understandings.
    http://www.dbspecialists.com/specialists/specialist2003-10.htm
    Jaffar

  • Issue a commit statement for every 10000 rows updated

    Hi,
    I have a update statement, updating huge number of records.
    I wanted to issue a commit statement for every 10000 rows updated.
    Can this be done?
    Thanks,
    Dinesh

    user522952 wrote:
    Hi,
    I have a update statement, updating huge number of records.
    I wanted to issue a commit statement for every 10000 rows updated.
    Can this be done?
    Thanks,
    Dinesh Why do you want to issue commit statement frequently? Do you have a possible reason?
    If you think it will improve performance, you are 200% wrong. It will not improve performance it will only degrade performance. It will destroy the integrity of your data. It will screw you up big time.
    Ever heard of [ORA-01555 Snapshot too old|http://asktom.oracle.com/pls/asktom/f?p=100:11:4217554330904383::::P11_QUESTION_ID:275215756923] error? Your approach has a likely chance of getting that too.
    Do it in a single UPDATE. How big the table is does not matter. Do it in a single update, Oracle is fully capable of doing it.

  • Error in Trigger - Pls Help~!

    Dear All
    I've written a Trigger but have encountered some error during compilation.
    Can someone help me out pls?
    This is some sample code that i have:
    declare
    dup_count2 char(4);
    begin
    when (p_order.ORD_STATUS = 5)
    if (dup_count2 <=0) then
    insert into partial_filled_trigger
              (TRADE_DT, REF_NO)
              VALUES (p_order.TRADE_DT, p_order.REF_NO)
                   ELSE
    UPDATE PARTIAL_FILLED_TRIGGER set
    TRADE_DT=p_order.TRADE_DT, REF_NO=p_order.REF_NO
              where REF_NO = p_order.REF_NO;     
                   END IF;
    END LOOP;
    COMMIT;
    END;      
    My error msg:
    "1 Error Text = OLS-00103: Encountered the symbol ..."
    it is referring to line 5 and 6 and 15 (hightlighted in bold)
    Kindly help~! Thank you.

    Please check the formatted code - i think will be easier to understand --
    CREATE OR REPLACE TRIGGER "ITRADESYS"."PARTIAL_FILLED_TRIGGER" AFTER INSERT OR
    UPDATE ON "ITRADESYS"."ORD_MST" FOR EACH ROW
    DECLARE dup_count2 CHAR(4);
    BEGIN
    WHEN(p_order.ord_status = 5) THEN
      IF(dup_count2 <= 0) THEN
        INSERT INTO partial_filled_trigger(trade_dt,  
                                           ref_no,  
                                           ord_no,  
                                           ord_seq_no,  
                                           cust_id,  
                                           acc_id,  
                                           cust_name,  
                                           ord_side,  
                                           xchg_id,  
                                           mkt_id,  
                                           symbol,  
                                           ord_pr,  
                                           stop_pr,  
                                           ord_qty,  
                                           filled_qty,  
                                           outstd_qty,  
                                           ord_type,  
                                           ord_term,  
                                           expiry_dt,  
                                           aon,  
                                           short_sell,  
                                           disposal_sale,  
                                           scrip,  
                                           odd_lot,  
                                           channel_id,  
                                           src_ref_no,  
                                           trader_id,  
                                           trader_tm,  
                                           terminal_id,  
                                           ams_id,  
                                           ams_tm,  
                                           approval_id,  
                                           approval_tm,  
                                           cancel_qty,  
                                           reduce_qty,  
                                           ord_status,  
                                           ACTION,  
                                           excpt_remark,  
                                           reason_code,  
                                           notify_flg,  
                                           notify_tm,  
                                           ord_task,  
                                           queue_tm,  
                                           ord_queued,  
                                           amend_from,  
                                           amend_to,  
                                           next_day,  
                                           group_id,  
                                           business_dt,  
                                           new_pr,  
                                           new_qty,  
                                           REMARK,
                                           BSK_FLG,
                                           BSK_PARENT,
                                           INDEX_CODE,
                                           AVG_FILLED_PR,
                                           OMNIBUSAC,
                                           CONTRA,
                                           SETT_TYPE,
                                           SETT_CCY,
                                           CHANNEL_REF_NO,
                                           DISCLOSED_QTY,
                                           MANUAL_TRADE,
                                           DIRECT_TRADE,
                                           COUNTERPARTY,
                                           ALERTFLG,ACKFLG)
          VALUES (p_order.TRADE_DT,
                  p_order.REF_NO,
                  p_order.ORD_NO,
                  p_order.ORD_SEQ_NO,
                  p_order.CUST_ID,
                  p_order.ACC_ID,
                  p_order.CUST_NAME,
                  p_order.ORD_SIDE,
                  p_order.XCHG_ID,
                  p_order.MKT_ID,
                  p_order.SYMBOL,
                  p_order.ORD_PR,
                  p_order.STOP_PR,
                  p_order.ORD_QTY,
                  p_order.FILLED_QTY,
                  p_order.OUTSTD_QTY,
                  p_order.ORD_TYPE,
                  p_order.ORD_TERM,
                  p_order.EXPIRY_DT,
                  p_order.AON,
                  p_order.SHORT_SELL,
                  p_order.DISPOSAL_SALE,
                  p_order.SCRIP,
                  p_order.ODD_LOT,
                  p_order.CHANNEL_ID,
                  p_order.SRC_REF_NO,
                  p_order.TRADER_ID,
                  p_order.TRADER_TM,
                  p_order.TERMINAL_ID,
                  p_order.AMS_ID,
                  p_order.AMS_TM,
                  p_order.APPROVAL_ID,
                  p_order.APPROVAL_TM,
                  p_order.CANCEL_QTY,
                  p_order.REDUCE_QTY,
                  p_order.ORD_STATUS,
                  p_order.ACTION,
                  p_order.EXCPT_REMARK,
                  p_order.REASON_CODE,
                  p_order.NOTIFY_FLG,
                  p_order.NOTIFY_TM,
                  p_order.ORD_TASK,
                  p_order.QUEUE_TM,
                  p_order.ORD_QUEUED,
                  p_order.AMEND_FROM,
                  p_order.AMEND_TO,
                  p_order.NEXT_DAY,
                  p_order.GROUP_ID,
                  p_order.BUSINESS_DT,
                  p_order.NEW_PR,
                  p_order.NEW_QTY,
                  p_order.REMARK,
                  p_order.BSK_FLG,
                  p_order.BSK_PARENT,
                  p_order.INDEX_CODE,
                  p_order.AVG_FILLED_PR,
                  p_order.OMNIBUSAC,
                  p_order.CONTRA,
                  p_order.SETT_TYPE,
                  p_order.SETT_CCY,
                  p_order.CHANNEL_REF_NO,
                  p_order.DISCLOSED_QTY,
                  p_order.MANUAL_TRADE,
                  p_order.DIRECT_TRADE,
                  p_order.COUNTERPARTY,
                  '0',
                  '0');
      ELSE
        UPDATE PARTIAL_FILLED_TRIGGER
        set TRADE_DT=p_order.TRADE_DT,
            REF_NO=p_order.REF_NO,
            ORD_NO=p_order.ORD_NO,
            ORD_SEQ_NO=p_order.ORD_SEQ_NO,
            CUST_ID= p_order.CUST_ID,
            ACC_ID= p_order.ACC_ID,
            CUST_NAME=p_order.CUST_NAME,
            ORD_SIDE=p_order.ORD_SIDE,
            XCHG_ID=p_order.XCHG_ID,
            MKT_ID=p_order.MKT_ID,
            SYMBOL=p_order.SYMBOL,
            ORD_PR=p_order.ORD_PR,
            STOP_PR=p_order.STOP_PR,
            ORD_QTY=p_order.ORD_QTY,
            FILLED_QTY=p_order.FILLED_QTY,
            OUTSTD_QTY=p_order.OUTSTD_QTY,
            ORD_TYPE=p_order.ORD_TYPE,
            ORD_TERM=p_order.ORD_TERM,
            EXPIRY_DT=p_order.EXPIRY_DT,
            AON=p_order.AON,
            SHORT_SELL=p_order.SHORT_SELL,
            DISPOSAL_SALE=p_order.DISPOSAL_SALE,
            SCRIP=p_order.SCRIP,
            ODD_LOT=p_order.ODD_LOT,
            CHANNEL_ID=p_order.CHANNEL_ID,
            SRC_REF_NO=p_order.SRC_REF_NO,
            TRADER_ID=p_order.TRADER_ID,
            TRADER_TM=p_order.TRADER_TM,
            TERMINAL_ID=p_order.TERMINAL_ID,
            AMS_ID=p_order.AMS_ID,
            AMS_TM=p_order.AMS_TM,
            APPROVAL_ID=p_order.APPROVAL_ID,
            APPROVAL_TM=p_order.APPROVAL_TM,
            CANCEL_QTY=p_order.CANCEL_QTY,
            REDUCE_QTY=p_order.REDUCE_QTY,
            ORD_STATUS=p_order.ORD_STATUS,
            ACTION=p_order.ACTION,
            EXCPT_REMARK=p_order.EXCPT_REMARK,
            REASON_CODE=p_order.REASON_CODE,
            NOTIFY_FLG=p_order.NOTIFY_FLG,
            NOTIFY_TM=p_order.NOTIFY_TM,
            ORD_TASK=p_order.ORD_TASK,
            QUEUE_TM=p_order.QUEUE_TM,
            ORD_QUEUED=p_order.ORD_QUEUED,
            AMEND_FROM=p_order.AMEND_FROM,
            AMEND_TO=p_order.AMEND_TO,
            NEXT_DAY=p_order.NEXT_DAY,
            GROUP_ID=p_order.GROUP_ID,
            BUSINESS_DT=p_order.BUSINESS_DT,
            NEW_PR=p_order.NEW_PR,
            NEW_QTY=p_order.NEW_QTY,
            REMARK=p_order.REMARK,
            BSK_FLG=p_order.BSK_FLG,
            BSK_PARENT=p_order.BSK_PARENT,
            INDEX_CODE=p_order.INDEX_CODE,
            AVG_FILLED_PR=p_order.AVG_FILLED_PR,
            OMNIBUSAC=p_order.OMNIBUSAC,
            CONTRA=p_order.CONTRA,
            SETT_TYPE=p_order.SETT_TYPE,
            SETT_CCY=p_order.SETT_CCY,
            CHANNEL_REF_NO=p_order.CHANNEL_REF_NO,
            DISCLOSED_QTY=p_order.DISCLOSED_QTY,
            MANUAL_TRADE=p_order.MANUAL_TRADE,
            DIRECT_TRADE=p_order.DIRECT_TRADE,
            COUNTERPARTY=p_order.COUNTERPARTY,
            ALERTFLG='0',
            ACKFLG='0'
        where REF_NO = p_order.REF_NO;
      END IF;
    END LOOP;
    COMMIT;
    END;Regards.
    Satyaki De.

  • Return messages generated by a trigger

    How can I do for return into an htmldb aplication a error or success message generated by a trigger?

    The trigger can set package variables which your invoking process could use to construct messages or audit records.
    Scott

Maybe you are looking for