COMMIT in Triggers?

Do I need to put COMMIT in DML Triggers?
I cannot find any references about it in documentation.

I found this
Restrictions:
The PL/SQL block of a trigger cannot contain transaction control SQL statements (COMMIT, ROLLBACK, SAVEPOINT, and SET CONSTRAINT) if the block is executed within the same transactionAt this URL
http://technet.oracle.com/docs/products/oracle9i/doc_library/901_doc/server.901/a90125/statements_76a.htm#2063897
No - you can NOT have a commit or rollback in a trigger.
eric

Similar Messages

  • On commit fire triggers

    Dear Friends,
    I want to update the amount of the master table with the sum of all transaction records which consists of hundreds of records per a session.
    I have create a temporary table, and at the point of the commit i wants to update the master table at once..
    could i write a trigger for tempory table to fire on commit.
    regrds
    upul Indika.

    To immediately answer your question, you should be able to use an after insert/update trigger. After reading the post again, I am not sure I really understand your structure. Does your master table hold the transactions and you also want to update the records with a the sum of all transactions or do you have a master table that only holds the summed values and another table (the temporary one you speak of) that holds the transactions.
    As a general principle, it is not a good idea in a non-data warehouse scenario (my assumption that it is a transaction scenario) to store summed values in a table. It is much better to create a view that contains the summed amount along with any other master data. One reason for this is that you are performing the sum function each time a transaction happens but you really only need to summed amount when you actually need it (query, report, etc). Also, keeping a summed value requires you to write a bunch of code to handle an insert in the transaction table, a update to the transaction table, and a delete from the transaction table.

  • Transactional triggers and commit processing

    I have only been an active member of this thread for a couple of weeks and have tried to contribute to a few postings. But I have also noticed lots of postings relating to the use of DML statements inside what I would call non commit time triggers.
    What I mean here is, for example, a WHEN-BUTTON-PRESSED trigger that does inserts, updates, deletes, followed by the COMMIT_FORM procedure.
    I thought it might be useful to draw attention to the possible pitfalls of this approach. I'm not saying that this approach is wrong - far from it, but sometimes it means that people aren't leveraging the functionality that you get "for free" from Forms.
    By coding some DML followed by a Commit_Form, you are not getting any rollback functionality from Forms. For example:
    INSERT INTO A
    INSERT INTO B
    COMMIT_FORM;
    Let's imagine that the insert into A worked but the insert into B failed for some reason. The user gets an unhandled exception. Now imagine that the cause of the error is cleared up, and the user presses the button (or whatever the invokation action was) again, and the commit works. You will have 2 records in A and 1 in B. You may not have expected that, and without coding your own rollback/savepoint that's what you would get.
    You also (1) don't get a Working... message without coding it yourself, and (2) get the "No changes to commit" message; removing this is the subject of many threads on this site.
    If you have a block which is based over a table which you need to update, then all of the DML statements ought to be coded inside PRE/POST/ON INSERT/UDPATE/DELETE statements, or other Forms transactional triggers (pre-database-commit etc..). If you need to change other tables then put the DML for them inside those triggers. Then you don’t have to worry about which records the user changed – if the user didn’t touch them then Forms won’t fire the triggers. And when you call the COMMIT_FORM procedure, Forms will fire the triggers for you and if any of them fail, it will rollback back to where the COMMIT_FORM started.
    An example in 1 thread I saw this morning, was a Delete button, which was to delete the current record in a multi-record block. This button performed the “DELETE FROM <table> WHERE <key=:block.key>” followed by a Commit. Then of course the block needed to be re-queried to reflect the fact that the record had gone. Using the power of Forms to simply call the DELETE_RECORD procedure would have achieved the same result without needing to requery the block. And Forms would do the delete by ROWID, the fastest way of doing it.
    If you don’t have a block based over a table, then you can consider creating a dummy block which uses Transactional Triggers. Code an ON-INSERT on that block which includes the DML you want to execute. Then in the trigger initiating the commit processing you would do something like:
    :DUMMY_BLOCK.ITEM1 := ‘X’;
    COMMIT_FORM;
    IF (NOT FORM_SUCCESS) OR :SYSTEM.FORM_STATUS != ‘QUERY’ THEN
    -- the commit failed
    END IF;
    Then you’ll get a nice Working.. message and full rollback control.
    I think the moral of what I’m trying to get across is to use the power of Forms in the way it handles the transactions. Whilst we moan about it, it is actually quite good at that!
    I hope this posting is taken in a positive light, I am certainly not trying to teach anyone to “suck eggs”.
    PS. I find it ironic that you were prevented from coding DML statements outside of commit time triggers, in Forms 2.3!

    Thank you, Kevin. Very informative.

  • FM: VHURM_HUBACKFLUSH_POST - External Commit

    Dear all,
    I use the FM VHURM_HUBACKFLUSH_POST in a program for production reporting. I want to backflush a bunch of HU´s corresponding to transaction MFHU (the import parameter P_SHOW_PROTOCOL is initial).
    Furthermore I want to check if the backflush of all HU´s at once has been posted succesfully after the processing of the FM.
    If the the backflush of all HU´s was successful make a commit if the backflush of at least one HU failed make a rollback for all HU´s to be backflushed and give the user an error message.
    The issue is that the FM itself already triggers a commit internally.
    Within the FM VHURM_HUBACKFLUSH_POST the FM RM_BACKFLUSH_GO is called which includes the subroutine backflush_end. This routine has the parameter am61b_ext_commit which controls if the commit should be triggered outwith the fm or not. I set this parameter in the debug mode and it worked. No backflush was executed until the commit was triggered by the calling program.
    My question is now: Is it somehow possible to set this parameter outwith the FM VHURM_HUBACKFLUSH_POST already in the calling program? Any other ideas are also welcome.

    Hi,
    After calling the FM, try putting code like below.
    IF sy-subrc = 0.
              SUBMIT rsconn01  WITH mode = 'INT'
                               WITH output = space
                               AND RETURN.
    ENDIF.

  • Potential problems with using a report to run a commit in a separate LUW.

    I am working with a classic Badi within a transaction where I wanted to commit some information to a database before the commit that occurs at the end of the transaction.
    Putting a commit point directly inside the BADI caused problems with cursors that were open inside the transaction, so I researched some and discovered that Report Programs can run in a separate database Logical Unit of Work (LUW).
    I coded my BADI to call a report which does some database work based on input parameters, and then commits this work to the database before returning control back to the calling BADI function.
    Does anyone know of any potential problems from doing this?  It seems like a good way to get around restrictions on the use of commit points inside transactions, but I'm not sure if there could be potential undesired effects from doing this.
    Has anyone tried this before?

    Hi Clay,
    Yes I did it too. We faced some issues with commit when using fm HR_INFOTYPE_OPERATION . We had to enclose it in separate report which only then let us do physical change in DB.
    What is to be noticed here as well is (according to SAP) that DB commit is triggered each time work process is released which happens when:
    - system shows dialog message
    - RFC call is executed
    - new transaction is called
    The above however didn't work for me in couple cases, but using separate SAP LUW solves the problem (as you already read). This happens each time:
    - new report is called (SUBMIT ...),
    - new transaction is called (CALL TRANSACTION ...)
    - new asynchoronus RFC call is executed (CALL FUNCTION...STARTING NEW TASK).
    This approach works fine for cases I met and had to overcome with such solution. So far we didn't face any issues with that. Works perfectly
    Regards
    Marcin

  • Cannot COMMIT in a trigger

    I'm getting this error in an After Insert trigger. This trigger is calling a stored procedure which is trying to reindex using "alter index myindex rebuild". This index is on the same table as the trigger.
    Also, where and how can I find information on errors returned by Oracle..
    Thanks in advance, Newbee Jerry
    null

    Hi Jerry , you can't put commit on triggers because the trigger will be part of one Transaction and this transaction won't finish until every triggers are finished. If you put a commit in one trigger you are forcing a "end of transaction " and this is not correct because you don't know if the transaction realy termineted. With this concept you can't do anything that has a commit in any trigger .
    See you ,
    Lourival

  • Stateless Session_Bean Container_Managed does not commit SQLJ updates in 8i 8.1.7

    I deployed an EJB Stateless and Container_Managed into 8i 8.1.7.
    The bean contains a method with a simple SQLJ insert statement and works fine, except for no commit is triggered by the Bean Container when method call is finished.
    I can see that the insert was done, because the counter for my table is increased!
    So the fault has to be that there is no commit!
    Why does the Bean Container not commit, as it states in the EJB Online Documentation??

    Is it NT or solaris 8.1.7 ?
    On solaris it should have worked. On NT it wouldn't work, unless you explicitly lookup
    the datasource and do a ds.getConnection(), the container doesn't know what to commit. In general, hereafter, the bean code needs to explicitly lookup datasources and call getConnection() on the datasource so that the datasource is enlisted. Using the default kprb connection isn't going to work unless you explicitly set default-enlist tag to true in the XML deployment descriptor.

  • Audit Trail on R12.1 (shadow table concept)

    I want to enable Audit Trail at table (column) level. Though I got response from Oracle Support but at present I am stuck on particular error. Here are the steps which I followed:
    1. Apply latest Patch 12860752:R12.FND.B - Latest Audit Trail Fixes for post 12.1.3.
    2. Enable Audit Trail on a table : I have set this for "PER_PEOPLE_F" tables of HR module
    a. (R)System Administrator, (N) Profile -> System
    Query Profile: 'AuditTrail:Activate'. Click FIND
    Set it to 'Yes' at Site level.
    b) Enable Audit Installations (HR)
    -- Got System Admin: Security:AuditTrail:Install
    -- Enable Audit Installation for HR
    c) Define Audit tables and desired columns.
    -- Got System Admin: Security: Audit Trail: Tables
    -- Query for user table name 'PER_PEOPLE_F' and add columns on which enable trail
    d) Define an Audit Group and associated tables
    -- Got System Admin: Security: Audit Trail: Groups
    -- Create Audit group for table defined in 'C'
    e) Run Concurrent program 'AuditTrail Report for Audit Group Validation' with parameter as that of Audit Group.
    f) Define an Industry Template contain Audit Group
    -- Got System Admin: Security: Audit Trail Reporting: Audit Industry Template
    g) Run concurrent program "AuditTrail Update Tables".
    Now, I am facing challenge at point (g), as, the concurrent request "AuditTrail Update Tables" is completing with error.
    And I am not able to proceed further.
    ****Log file shows as:****
    Application Object Library: Version : 12.0.0
    Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
    FNDATUPD module: AuditTrail Update Tables
    Current system time is 02-APR-2013 01:02:32
    ----->Expand Rows
    INSERT INTO FND_AUDIT_COLUMNS (TABLE_APP_ID, TABLE_ID,COLUMN_ID,STATE,SEQUENCE_ID, SCHEMA_ID, LAST_UPDATE_DATE,LAST_UPDATED_BY, LAST_UPDATE_LOGIN,CREATED_BY,CREATION_DATE) VALUES ( 800, 53506, 135906, 'P', -1, 900, SYSDATE,0,0,0,SYSDATE)
    UPDATE FND_AUDIT_TABLES T SET T.STATE = 'P' WHERE T.TABLE_APP_ID = 800 AND T.TABLE_ID = 53506
    commit
    commit
    DELETE FROM FND_AUDIT_TABLES WHERE STATE = 'X'
    DELETE FROM FND_AUDIT_COLUMNS C WHERE C.STATE = 'P' AND NOT EXISTS (SELECT NULL FROM FND_AUDIT_TABLES T WHERE T.TABLE_APP_ID = C.TABLE_APP_ID AND T.TABLE_ID = C.TABLE_ID AND T.STATE !='X')
    ----->Update Pending Columns
    ----->Adding ROW_KEY
    **Starts**02-APR-2013 01:02:54
    **Ends**02-APR-2013 01:02:57
    ----->Alter Shadow Table
    ALTER TABLE PER_ALL_PEOPLE_F_A ADD (FULL_NAME VARCHAR2(240))
    ALTER TABLE PER_ALL_PEOPLE_F_A ADD (FULL_NAME VARCHAR2(240))
    commit
    commit
    UPDATE FND_AUDIT_COLUMNS SET STATE = 'N' , SEQUENCE_ID = 5 WHERE TABLE_APP_ID = 800 AND SCHEMA_ID = 900 AND TABLE_ID = 53506 AND COLUMN_ID = 135906 AND STATE = 'P'
    commit
    commit
    ----->Drop Triggers
    DROP TRIGGER PER_ALL_PEOPLE_F_AI
    DROP TRIGGER PER_ALL_PEOPLE_F_AI
    commit
    DROP PROCEDURE PER_ALL_PEOPLE_F_AIP
    DROP PROCEDURE PER_ALL_PEOPLE_F_AIP
    commit
    DROP TRIGGER PER_ALL_PEOPLE_F_AD
    DROP TRIGGER PER_ALL_PEOPLE_F_AD
    commit
    DROP PROCEDURE PER_ALL_PEOPLE_F_ADP
    DROP PROCEDURE PER_ALL_PEOPLE_F_ADP
    commit
    DROP TRIGGER PER_ALL_PEOPLE_F_AU
    DROP TRIGGER PER_ALL_PEOPLE_F_AU
    commit
    DROP PROCEDURE PER_ALL_PEOPLE_F_AUP
    DROP PROCEDURE PER_ALL_PEOPLE_F_AUP
    commit
    DROP TRIGGER PER_ALL_PEOPLE_F_AC
    DROP TRIGGER PER_ALL_PEOPLE_F_AC
    commit
    DROP TRIGGER PER_ALL_PEOPLE_F_AH
    DROP TRIGGER PER_ALL_PEOPLE_F_AH
    commit
    DROP TRIGGER PER_ALL_PEOPLE_F_AT
    DROP TRIGGER PER_ALL_PEOPLE_F_AT
    commit
    ----->Create Standard Triggers
    CREATE OR REPLACE PROCEDURE
    PER_ALL_PEOPLE_F_AIP(A0 IN DATE,A1 IN DATE,A2 IN NUMBER,JB IN DATE,JC IN VARCHAR2,JD IN VARCHAR2,E0 IN DATE,E1 IN DATE,E2 IN NUMBER,RB IN DATE,RC IN VARCHAR2,RD IN VARCHAR2 )
    AS
    ROWKEY number;
    NXT number;
    CMT number;
    NUSER varchar2(100);
    nls_date_fmt VARCHAR2(40);
    BEGIN
    select value into nls_date_fmt from v$NLS_PARAMETERS where parameter='NLS_DATE_FORMAT';
    execute IMMEDIATE 'alter session set nls_date_format="MM/DD/YYYY HH24:MI:SS"';
    NXT:=FND_AUDIT_SEQ_PKG.NXT;
    CMT:=FND_AUDIT_SEQ_PKG.CMT;
    ROWKEY:=(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000 MOD(NXT,100000)) * 100000 USERENV('SESSIONID');
    NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
    INSERT INTO PER_ALL_PEOPLE_F_A
    VALUES(SYSDATE,'I',NUSER,NULL,USERENV('SESSIONID'),NXT,CMT,ROWKEY,E0,E1,E2,NULL,NULL,NULL);
    execute IMMEDIATE 'alter session set nls_date_format="'||nls_date_fmt||'"';
    END PER_ALL_PEOPLE_F_AIP;
    commit
    CREATE OR REPLACE PROCEDURE
    PER_ALL_PEOPLE_F_AUP (A0 IN DATE,A1 IN DATE,A2 IN NUMBER,JB IN DATE,JC IN VARCHAR2,JD IN VARCHAR2,E0 IN DATE,E1 IN DATE,E2 IN NUMBER,RB IN DATE,RC IN VARCHAR2,RD IN VARCHAR2)
    AS
    NXT NUMBER;
    CMT NUMBER;
    NUSER varchar2(100);
    newtransaction_TYPE VARCHAR2(1);
    newTRUE_NULLS VARCHAR2(250);
    tmpPRIMCHANGE NUMBER;
    nls_date_fmt VARCHAR2(40);
    I0 DATE;
    I1 DATE;
    I2 NUMBER(10,0);
    YB DATE;
    YC VARCHAR2(150);
    YD VARCHAR2(240);
    BEGIN
    select value into nls_date_fmt from v$NLS_PARAMETERS where parameter='NLS_DATE_FORMAT';
    execute IMMEDIATE 'alter session set nls_date_format="MM/DD/YYYY HH24:MI:SS"';
    NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
    SELECT 0+decode(E0,A0,0,1)+decode(E1,A1,0,1)+decode(E2,A2,0,1) into tmpPRIMCHANGE FROM SYS.DUAL;
    IF tmpPRIMCHANGE>=1 THEN
    SELECT decode(A0,NULL,'Y','N')
    ||decode(A1,NULL,'Y','N')
    ||decode(A2,NULL,'Y','N')
    ||decode(JB,NULL,'Y','N')
    ||decode(JC,NULL,'Y','N')
    ||decode(JD,NULL,'Y','N') INTO newTRUE_NULLS FROM SYS.DUAL;
    IF(newTRUE_NULLS='NNNNNN')THEN
    newTRUE_NULLS:=NULL;END IF;
    NXT:=FND_AUDIT_SEQ_PKG.NXT;
    CMT:=FND_AUDIT_SEQ_PKG.CMT;
    INSERT INTO PER_ALL_PEOPLE_F_A
    VALUES(SYSDATE,'D',NUSER,newTRUE_NULLS,
    USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
    A0,A1,A2,JB,JC,JD);
    NXT:=FND_AUDIT_SEQ_PKG.NXT;
    CMT:=FND_AUDIT_SEQ_PKG.CMT;
    NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
    INSERT INTO PER_ALL_PEOPLE_F_A
    VALUES(SYSDATE,'I',NUSER,NULL,USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
    E0,E1,E2,NULL,NULL,NULL);
    ELSE
    SELECT DECODE(JB,RB,NULL,JB)INTO YB FROM SYS.DUAL;
    SELECT DECODE(JC,RC,NULL,JC)INTO YC FROM SYS.DUAL;
    SELECT DECODE(JD,RD,NULL,JD)INTO YD FROM SYS.DUAL;
    SELECT decode(A0,NULL,decode(E0,NULL,'N','Y'),'N')
    ||decode(A1,NULL,decode(E1,NULL,'N','Y'),'N')
    ||decode(A2,NULL,decode(E2,NULL,'N','Y'),'N')
    ||decode(JB,NULL,decode(RB,NULL,'N','Y'),'N')
    ||decode(JC,NULL,decode(RC,NULL,'N','Y'),'N')
    ||decode(JD,NULL,decode(RD,NULL,'N','Y'),'N') INTO newTRUE_NULLS FROM SYS.DUAL;
    IF(newTRUE_NULLS='NNNNNN')THEN newTRUE_NULLS:=NULL;END IF;
    IF(newTRUE_NULLS is not NULL)OR
    YB IS NOT NULL OR
    YC IS NOT NULL OR
    YD IS NOT NULL THEN
    NXT:=FND_AUDIT_SEQ_PKG.NXT;
    CMT:=FND_AUDIT_SEQ_PKG.CMT;
    INSERT INTO PER_ALL_PEOPLE_F_A
    VALUES(SYSDATE,'U',NUSER,newTRUE_NULLS,USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
    E0,E1,E2,YB,YC,YD);
    END IF;
    END IF;
    execute IMMEDIATE 'alter session set nls_date_format="'||nls_date_fmt||'"';
    END PER_ALL_PEOPLE_F_AUP;
    commit
    CREATE OR REPLACE PROCEDURE
    PER_ALL_PEOPLE_F_ADP(A0 IN DATE,A1 IN DATE,A2 IN NUMBER,JB IN DATE,JC IN VARCHAR2,JD IN VARCHAR2,E0 IN DATE,E1 IN DATE,E2 IN NUMBER,RB IN DATE,RC IN VARCHAR2,RD IN VARCHAR2)
    AS
    NXT NUMBER;
    CMT NUMBER;
    NUSER varchar2(100);
    newTRUE_NULLS VARCHAR2(250);
    nls_date_fmt VARCHAR2(40);
    BEGIN
    select value into nls_date_fmt from v$NLS_PARAMETERS where parameter='NLS_DATE_FORMAT';
    execute IMMEDIATE 'alter session set nls_date_format="MM/DD/YYYY HH24:MI:SS"';
    NXT:=FND_AUDIT_SEQ_PKG.NXT;
    CMT:=FND_AUDIT_SEQ_PKG.CMT;
    NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
    SELECT decode(A0,NULL,'Y','N')
    ||decode(A1,NULL,'Y','N')
    ||decode(A2,NULL,'Y','N')
    ||decode(JB,NULL,'Y','N')
    ||decode(JC,NULL,'Y','N')
    ||decode(JD,NULL,'Y','N') INTO newTRUE_NULLS FROM SYS.DUAL;
    IF(newTRUE_NULLS='NNNNNN') THEN
    newTRUE_NULLS:= NULL;
    END IF;
    INSERT INTO PER_ALL_PEOPLE_F_A
    VALUES(SYSDATE,'D',NUSER,newTRUE_NULLS,
    USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
    A0,A1,A2,JB,JC,JD);
    execute IMMEDIATE 'alter session set nls_date_format="'||nls_date_fmt||'"';
    END PER_ALL_PEOPLE_F_ADP;
    commit
    CREATE OR REPLACE TRIGGER PER_ALL_PEOPLE_F_AH BEFORE INSERT ON PER_ALL_PEOPLE_F BEGIN IF fnd_global.audit_active THEN fnd_audit_pkg.audit_on := TRUE;ELSE fnd_audit_pkg.audit_on := FALSE;END IF;END;
    commit
    CREATE OR REPLACE TRIGGER PER_ALL_PEOPLE_F_AI AFTER INSERT ON PER_ALL_PEOPLE_F FOR EACH ROW BEGIN IF fnd_audit_pkg.audit_on THEN PER_ALL_PEOPLE_F_AIP(:old.EFFECTIVE_START_DATE,:old.EFFECTIVE_END_DATE,:old.PERSON_ID,:old.DATE_OF_BIRTH,:old.FIRST_NAME,:old.FULL_NAME,:new.EFFECTIVE_START_DATE,:new.EFFECTIVE_END_DATE,:new.PERSON_ID,:new.DATE_OF_BIRTH,:new.FIRST_NAME,:new.FULL_NAME);END IF;END;
    commit
    CREATE OR REPLACE TRIGGER PER_ALL_PEOPLE_F_AT BEFORE UPDATE OF EFFECTIVE_START_DATE,EFFECTIVE_END_DATE,PERSON_ID,DATE_OF_BIRTH,FIRST_NAME,FULL_NAME ON PER_ALL_PEOPLE_F BEGIN IF fnd_global.audit_active THEN fnd_audit_pkg.audit_on := TRUE;ELSE fnd_audit_pkg.audit_on := FALSE;END IF;END;
    commit
    CREATE OR REPLACE TRIGGER PER_ALL_PEOPLE_F_AU AFTER UPDATE OF EFFECTIVE_START_DATE,EFFECTIVE_END_DATE,PERSON_ID,DATE_OF_BIRTH,FIRST_NAME,FULL_NAME ON PER_ALL_PEOPLE_F FOR EACH ROW BEGIN IF fnd_audit_pkg.audit_on THEN PER_ALL_PEOPLE_F_AUP(:old.EFFECTIVE_START_DATE,:old.EFFECTIVE_END_DATE,:old.PERSON_ID,:old.DATE_OF_BIRTH,:old.FIRST_NAME,:old.FULL_NAME,:new.EFFECTIVE_START_DATE,:new.EFFECTIVE_END_DATE,:new.PERSON_ID,:new.DATE_OF_BIRTH,:new.FIRST_NAME,:new.FULL_NAME);END IF;END;
    commit
    CREATE OR REPLACE TRIGGER PER_ALL_PEOPLE_F_AC BEFORE DELETE ON PER_ALL_PEOPLE_F BEGIN IF fnd_global.audit_active THEN fnd_audit_pkg.audit_on := TRUE;ELSE fnd_audit_pkg.audit_on := FALSE;END IF;END;
    commit
    CREATE OR REPLACE TRIGGER PER_ALL_PEOPLE_F_AD AFTER DELETE ON PER_ALL_PEOPLE_F FOR EACH ROW BEGIN IF fnd_audit_pkg.audit_on THEN PER_ALL_PEOPLE_F_ADP(:old.EFFECTIVE_START_DATE,:old.EFFECTIVE_END_DATE,:old.PERSON_ID,:old.DATE_OF_BIRTH,:old.FIRST_NAME,:old.FULL_NAME,:new.EFFECTIVE_START_DATE,:new.EFFECTIVE_END_DATE,:new.PERSON_ID,:new.DATE_OF_BIRTH,:new.FIRST_NAME,:new.FULL_NAME);END IF;END;
    commit
    ----->Create Views
    VIEW PER_ALL_PEOPLE_F_AV1
    commit
    VIEW PER_ALL_PEOPLE_F_AV2
    commit
    VIEW PER_ALL_PEOPLE_F_AV3
    commit
    VIEW PER_ALL_PEOPLE_F_AV4
    commit
    VIEW PER_ALL_PEOPLE_F_AC1
    -->EFFECTIVE_START_DATE
    -->EFFECTIVE_END_DATE
    -->PERSON_ID
    -->DATE_OF_BIRTH
    -->FIRST_NAME
    -->FULL_NAME
    commit
    UPDATE FND_AUDIT_TABLES T SET T.STATE = 'E' WHERE T.TABLE_ID = 53506 AND T.TABLE_APP_ID = 800 AND NOT EXISTS ( SELECT NULL FROM FND_AUDIT_COLUMNS C WHERE C.TABLE_APP_ID = T.TABLE_APP_ID AND C.TABLE_ID = T.TABLE_ID AND C.STATE = 'P' AND C.SCHEMA_ID != -1)
    commit
    commit
    ----->Delete Invalid Columns
    ----->Drop Triggers
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AI
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AI
    commit
    DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AIP
    DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AIP
    commit
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AD
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AD
    commit
    DROP PROCEDURE FND_PROFILE_OPTION_VALUE_ADP
    DROP PROCEDURE FND_PROFILE_OPTION_VALUE_ADP
    commit
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AU
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AU
    commit
    DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AUP
    DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AUP
    commit
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AC
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AC
    commit
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AH
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AH
    commit
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AT
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AT
    commit
    Cause: Table name is FND_PROFILE_OPTION_VALUE_A.
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV1
    commit
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV2
    commit
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV3
    commit
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV4
    commit
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV5
    commit
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV6
    commit
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV7
    commit
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV8
    commit
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV9
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV10
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV11
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV12
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV13
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV14
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV15
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV16
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV17
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV18
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV19
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV20
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV21
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV22
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV23
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV24
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV25
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV26
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV27
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV28
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV29
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV30
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV31
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV32
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV33
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV34
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV35
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV36
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV37
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV38
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV39
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV40
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV41
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV42
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV43
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV44
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV45
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV46
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV47
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV48
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV49
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV50
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV51
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV52
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV53
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV54
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV55
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV56
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV57
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV58
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV59
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV60
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV61
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV62
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV63
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV64
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV65
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV66
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV67
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV68
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV69
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV70
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV71
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV72
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV73
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV74
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV75
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV76
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV77
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV78
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV79
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV80
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV81
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV82
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV83
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV84
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV85
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV86
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV87
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV88
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV89
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV90
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV91
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV92
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV93
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV94
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV95
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV96
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV97
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV98
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV99
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV100
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AC1
    commit
    ----->Drop Shadow Table
    DROP TABLE FND_PROFILE_OPTION_VALUE_A
    ORA-00942: table or view does not exist
    Error in fdasql, continuing...
    /oracleferp/FERP/APPS/apps_st/appl/fnd/12.0.0/bin/FNDATUPD
    Program was terminated by signal 11
    Executing request completion options...
    Output file size:
    0
    Output is not being printed because:
    The print option has been disabled for this report.
    Finished executing request completion options.
    Concurrent request completed
    Current system time is 02-APR-2013 01:03:56
    Any comments/ suggestions in context of the Audit Trail query are heartily welcome !!
    Regards,
    S.Malik

    Dear Hussein,
    I followed the doc id: 727770.1 and as per note, I deleted the previous Audit data.
    And enabled the audit trail as per document to the similar table as mentioned in the doc. with similar steps. But still the concurrent request "AuditTrail Update Tables" is completing with error. Please find below the log file for the same:
    Application Object Library: Version : 12.0.0
    Copyright (c) 1979, 1999, Oracle Corporation. All rights reserved.
    FNDATUPD module: AuditTrail Update Tables
    Current system time is 02-APR-2013 04:19:23
    ----->Expand Rows
    INSERT INTO FND_AUDIT_COLUMNS (TABLE_APP_ID, TABLE_ID,COLUMN_ID,STATE,SEQUENCE_ID, SCHEMA_ID, LAST_UPDATE_DATE,LAST_UPDATED_BY, LAST_UPDATE_LOGIN,CREATED_BY,CREATION_DATE) VALUES ( 810, 55079, 158785, 'P', -1, 900, SYSDATE,0,0,0,SYSDATE)
    UPDATE FND_AUDIT_TABLES T SET T.STATE = 'P' WHERE T.TABLE_APP_ID = 810 AND T.TABLE_ID = 55079
    commit
    INSERT INTO FND_AUDIT_COLUMNS (TABLE_APP_ID, TABLE_ID,COLUMN_ID,STATE,SEQUENCE_ID, SCHEMA_ID, LAST_UPDATE_DATE,LAST_UPDATED_BY, LAST_UPDATE_LOGIN,CREATED_BY,CREATION_DATE) VALUES ( 810, 55079, 158787, 'P', -1, 900, SYSDATE,0,0,0,SYSDATE)
    UPDATE FND_AUDIT_TABLES T SET T.STATE = 'P' WHERE T.TABLE_APP_ID = 810 AND T.TABLE_ID = 55079
    commit
    INSERT INTO FND_AUDIT_COLUMNS (TABLE_APP_ID, TABLE_ID,COLUMN_ID,STATE,SEQUENCE_ID, SCHEMA_ID, LAST_UPDATE_DATE,LAST_UPDATED_BY, LAST_UPDATE_LOGIN,CREATED_BY,CREATION_DATE) VALUES ( 810, 55079, 158786, 'P', -1, 900, SYSDATE,0,0,0,SYSDATE)
    UPDATE FND_AUDIT_TABLES T SET T.STATE = 'P' WHERE T.TABLE_APP_ID = 810 AND T.TABLE_ID = 55079
    commit
    INSERT INTO FND_AUDIT_COLUMNS (TABLE_APP_ID, TABLE_ID,COLUMN_ID,STATE,SEQUENCE_ID, SCHEMA_ID, LAST_UPDATE_DATE,LAST_UPDATED_BY, LAST_UPDATE_LOGIN,CREATED_BY,CREATION_DATE) VALUES ( 810, 55079, 158790, 'P', -1, 900, SYSDATE,0,0,0,SYSDATE)
    UPDATE FND_AUDIT_TABLES T SET T.STATE = 'P' WHERE T.TABLE_APP_ID = 810 AND T.TABLE_ID = 55079
    commit
    commit
    DELETE FROM FND_AUDIT_TABLES WHERE STATE = 'X'
    DELETE FROM FND_AUDIT_COLUMNS C WHERE C.STATE = 'P' AND NOT EXISTS (SELECT NULL FROM FND_AUDIT_TABLES T WHERE T.TABLE_APP_ID = C.TABLE_APP_ID AND T.TABLE_ID = C.TABLE_ID AND T.STATE !='X')
    ----->Create New Table
    CREATE TABLE OTA_DELEGATE_BOOKINGS_A (AUDIT_TIMESTAMP DATE NOT NULL, AUDIT_TRANSACTION_TYPE VARCHAR(1) NOT NULL, AUDIT_USER_NAME VARCHAR2(100) NOT NULL, AUDIT_TRUE_NULLS VARCHAR2(250), AUDIT_SESSION_ID NUMBER NOT NULL, AUDIT_SEQUENCE_ID NUMBER NOT NULL,AUDIT_COMMIT_ID NUMBER NOT NULL, ROW_KEY NUMBER )
    commit
    GRANT ALL ON OTA_DELEGATE_BOOKINGS_A to APPS
    GRANT ALL ON OTA_DELEGATE_BOOKINGS_A to APPS
    commit
    CREATE SYNONYM OTA_DELEGATE_BOOKINGS_A for OTA.OTA_DELEGATE_BOOKINGS_A
    CREATE SYNONYM OTA_DELEGATE_BOOKINGS_A for OTA.OTA_DELEGATE_BOOKINGS_A
    commit
    ----->Adding ROW_KEY
    **Starts**02-APR-2013 04:19:32
    **Ends**02-APR-2013 04:19:34
    ----->Alter Shadow Table
    ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (BOOKING_ID NUMBER(9,0))
    ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (BOOKING_ID NUMBER(9,0))
    commit
    commit
    DELETE FROM FND_AUDIT_COLUMNS C WHERE C.TABLE_APP_ID= 810 AND C.TABLE_ID = 55079 AND C.COLUMN_ID = 158785 AND C.SCHEMA_ID = 900
    INSERT INTO FND_AUDIT_COLUMNS (TABLE_APP_ID,TABLE_ID,COLUMN_ID,STATE,SEQUENCE_ID,SCHEMA_ID,LAST_UPDATE_DATE,LAST_UPDATED_BY,LAST_UPDATE_LOGIN,CREATED_BY,CREATION_DATE) VALUES ( 810, 55079, 158785, 'K', 0, 900, SYSDATE,0,0,0,SYSDATE)
    commit
    ----->Update Pending Columns
    ----->Adding ROW_KEY
    **Starts**02-APR-2013 04:19:36
    **Ends**02-APR-2013 04:19:36
    ----->Alter Shadow Table
    ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (BOOKING_STATUS_TYPE_ID NUMBER(9,0))
    ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (BOOKING_STATUS_TYPE_ID NUMBER(9,0))
    commit
    commit
    UPDATE FND_AUDIT_COLUMNS SET STATE = 'N' , SEQUENCE_ID = 1 WHERE TABLE_APP_ID = 810 AND SCHEMA_ID = 900 AND TABLE_ID = 55079 AND COLUMN_ID = 158786 AND STATE = 'P'
    commit
    ----->Adding ROW_KEY
    **Starts**02-APR-2013 04:19:37
    **Ends**02-APR-2013 04:19:37
    ----->Alter Shadow Table
    ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (DELEGATE_PERSON_ID NUMBER(10,0))
    ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (DELEGATE_PERSON_ID NUMBER(10,0))
    commit
    commit
    UPDATE FND_AUDIT_COLUMNS SET STATE = 'N' , SEQUENCE_ID = 2 WHERE TABLE_APP_ID = 810 AND SCHEMA_ID = 900 AND TABLE_ID = 55079 AND COLUMN_ID = 158787 AND STATE = 'P'
    commit
    ----->Adding ROW_KEY
    **Starts**02-APR-2013 04:19:37
    **Ends**02-APR-2013 04:19:37
    ----->Alter Shadow Table
    ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (EVENT_ID NUMBER(9,0))
    ALTER TABLE OTA_DELEGATE_BOOKINGS_A ADD (EVENT_ID NUMBER(9,0))
    commit
    commit
    UPDATE FND_AUDIT_COLUMNS SET STATE = 'N' , SEQUENCE_ID = 3 WHERE TABLE_APP_ID = 810 AND SCHEMA_ID = 900 AND TABLE_ID = 55079 AND COLUMN_ID = 158790 AND STATE = 'P'
    commit
    commit
    ----->Drop Triggers
    DROP TRIGGER OTA_DELEGATE_BOOKINGS_AI
    DROP TRIGGER OTA_DELEGATE_BOOKINGS_AI
    ORA-04080: trigger 'OTA_DELEGATE_BOOKINGS_AI' does not exist
    DROP PROCEDURE OTA_DELEGATE_BOOKINGS_AIP
    DROP PROCEDURE OTA_DELEGATE_BOOKINGS_AIP
    ORA-04043: object OTA_DELEGATE_BOOKINGS_AIP does not exist
    DROP TRIGGER OTA_DELEGATE_BOOKINGS_AD
    DROP TRIGGER OTA_DELEGATE_BOOKINGS_AD
    ORA-04080: trigger 'OTA_DELEGATE_BOOKINGS_AD' does not exist
    DROP PROCEDURE OTA_DELEGATE_BOOKINGS_ADP
    DROP PROCEDURE OTA_DELEGATE_BOOKINGS_ADP
    ORA-04043: object OTA_DELEGATE_BOOKINGS_ADP does not exist
    DROP TRIGGER OTA_DELEGATE_BOOKINGS_AU
    DROP TRIGGER OTA_DELEGATE_BOOKINGS_AU
    ORA-04080: trigger 'OTA_DELEGATE_BOOKINGS_AU' does not exist
    DROP PROCEDURE OTA_DELEGATE_BOOKINGS_AUP
    DROP PROCEDURE OTA_DELEGATE_BOOKINGS_AUP
    ORA-04043: object OTA_DELEGATE_BOOKINGS_AUP does not exist
    DROP TRIGGER OTA_DELEGATE_BOOKINGS_AC
    DROP TRIGGER OTA_DELEGATE_BOOKINGS_AC
    ORA-04080: trigger 'OTA_DELEGATE_BOOKINGS_AC' does not exist
    DROP TRIGGER OTA_DELEGATE_BOOKINGS_AH
    DROP TRIGGER OTA_DELEGATE_BOOKINGS_AH
    ORA-04080: trigger 'OTA_DELEGATE_BOOKINGS_AH' does not exist
    DROP TRIGGER OTA_DELEGATE_BOOKINGS_AT
    DROP TRIGGER OTA_DELEGATE_BOOKINGS_AT
    ORA-04080: trigger 'OTA_DELEGATE_BOOKINGS_AT' does not exist
    ----->Create Standard Triggers
    CREATE OR REPLACE PROCEDURE
    OTA_DELEGATE_BOOKINGS_AIP(A0 IN NUMBER,JB IN NUMBER,JC IN NUMBER,JD IN NUMBER,E0 IN NUMBER,RB IN NUMBER,RC IN NUMBER,RD IN NUMBER )
    AS
    ROWKEY number;
    NXT number;
    CMT number;
    NUSER varchar2(100);
    nls_date_fmt VARCHAR2(40);
    BEGIN
    select value into nls_date_fmt from v$NLS_PARAMETERS where parameter='NLS_DATE_FORMAT';
    execute IMMEDIATE 'alter session set nls_date_format="MM/DD/YYYY HH24:MI:SS"';
    NXT:=FND_AUDIT_SEQ_PKG.NXT;
    CMT:=FND_AUDIT_SEQ_PKG.CMT;
    ROWKEY:=(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000 MOD(NXT,100000)) * 100000 USERENV('SESSIONID');
    NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
    INSERT INTO OTA_DELEGATE_BOOKINGS_A
    VALUES(SYSDATE,'I',NUSER,NULL,USERENV('SESSIONID'),NXT,CMT,ROWKEY,E0,NULL,NULL,NULL);
    execute IMMEDIATE 'alter session set nls_date_format="'||nls_date_fmt||'"';
    END OTA_DELEGATE_BOOKINGS_AIP;
    commit
    CREATE OR REPLACE PROCEDURE
    OTA_DELEGATE_BOOKINGS_AUP (A0 IN NUMBER,JB IN NUMBER,JC IN NUMBER,JD IN NUMBER,E0 IN NUMBER,RB IN NUMBER,RC IN NUMBER,RD IN NUMBER)
    AS
    NXT NUMBER;
    CMT NUMBER;
    NUSER varchar2(100);
    newtransaction_TYPE VARCHAR2(1);
    newTRUE_NULLS VARCHAR2(250);
    tmpPRIMCHANGE NUMBER;
    nls_date_fmt VARCHAR2(40);
    I0 NUMBER(9,0);
    YB NUMBER(9,0);
    YC NUMBER(10,0);
    YD NUMBER(9,0);
    BEGIN
    select value into nls_date_fmt from v$NLS_PARAMETERS where parameter='NLS_DATE_FORMAT';
    execute IMMEDIATE 'alter session set nls_date_format="MM/DD/YYYY HH24:MI:SS"';
    NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
    SELECT 0+decode(E0,A0,0,1) into tmpPRIMCHANGE FROM SYS.DUAL;
    IF tmpPRIMCHANGE>=1 THEN
    SELECT decode(A0,NULL,'Y','N')
    ||decode(JB,NULL,'Y','N')
    ||decode(JC,NULL,'Y','N')
    ||decode(JD,NULL,'Y','N') INTO newTRUE_NULLS FROM SYS.DUAL;
    IF(newTRUE_NULLS='NNNN')THEN
    newTRUE_NULLS:=NULL;END IF;
    NXT:=FND_AUDIT_SEQ_PKG.NXT;
    CMT:=FND_AUDIT_SEQ_PKG.CMT;
    INSERT INTO OTA_DELEGATE_BOOKINGS_A
    VALUES(SYSDATE,'D',NUSER,newTRUE_NULLS,
    USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
    A0,JB,JC,JD);
    NXT:=FND_AUDIT_SEQ_PKG.NXT;
    CMT:=FND_AUDIT_SEQ_PKG.CMT;
    NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
    INSERT INTO OTA_DELEGATE_BOOKINGS_A
    VALUES(SYSDATE,'I',NUSER,NULL,USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
    E0,NULL,NULL,NULL);
    ELSE
    SELECT DECODE(JB,RB,NULL,JB)INTO YB FROM SYS.DUAL;
    SELECT DECODE(JC,RC,NULL,JC)INTO YC FROM SYS.DUAL;
    SELECT DECODE(JD,RD,NULL,JD)INTO YD FROM SYS.DUAL;
    SELECT decode(A0,NULL,decode(E0,NULL,'N','Y'),'N')
    ||decode(JB,NULL,decode(RB,NULL,'N','Y'),'N')
    ||decode(JC,NULL,decode(RC,NULL,'N','Y'),'N')
    ||decode(JD,NULL,decode(RD,NULL,'N','Y'),'N') INTO newTRUE_NULLS FROM SYS.DUAL;
    IF(newTRUE_NULLS='NNNN')THEN newTRUE_NULLS:=NULL;END IF;
    IF(newTRUE_NULLS is not NULL)OR
    YB IS NOT NULL OR
    YC IS NOT NULL OR
    YD IS NOT NULL THEN
    NXT:=FND_AUDIT_SEQ_PKG.NXT;
    CMT:=FND_AUDIT_SEQ_PKG.CMT;
    INSERT INTO OTA_DELEGATE_BOOKINGS_A
    VALUES(SYSDATE,'U',NUSER,newTRUE_NULLS,USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
    E0,YB,YC,YD);
    END IF;
    END IF;
    execute IMMEDIATE 'alter session set nls_date_format="'||nls_date_fmt||'"';
    END OTA_DELEGATE_BOOKINGS_AUP;
    commit
    CREATE OR REPLACE PROCEDURE
    OTA_DELEGATE_BOOKINGS_ADP(A0 IN NUMBER,JB IN NUMBER,JC IN NUMBER,JD IN NUMBER,E0 IN NUMBER,RB IN NUMBER,RC IN NUMBER,RD IN NUMBER)
    AS
    NXT NUMBER;
    CMT NUMBER;
    NUSER varchar2(100);
    newTRUE_NULLS VARCHAR2(250);
    nls_date_fmt VARCHAR2(40);
    BEGIN
    select value into nls_date_fmt from v$NLS_PARAMETERS where parameter='NLS_DATE_FORMAT';
    execute IMMEDIATE 'alter session set nls_date_format="MM/DD/YYYY HH24:MI:SS"';
    NXT:=FND_AUDIT_SEQ_PKG.NXT;
    CMT:=FND_AUDIT_SEQ_PKG.CMT;
    NUSER:=FND_AUDIT_SEQ_PKG.USER_NAME;
    SELECT decode(A0,NULL,'Y','N')
    ||decode(JB,NULL,'Y','N')
    ||decode(JC,NULL,'Y','N')
    ||decode(JD,NULL,'Y','N') INTO newTRUE_NULLS FROM SYS.DUAL;
    IF(newTRUE_NULLS='NNNN') THEN
    newTRUE_NULLS:= NULL;
    END IF;
    INSERT INTO OTA_DELEGATE_BOOKINGS_A
    VALUES(SYSDATE,'D',NUSER,newTRUE_NULLS,
    USERENV('SESSIONID'),NXT,CMT,(TO_NUMBER(TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS'))*100000+MOD(NXT,100000)) * 100000 + USERENV('SESSIONID'),
    A0,JB,JC,JD);
    execute IMMEDIATE 'alter session set nls_date_format="'||nls_date_fmt||'"';
    END OTA_DELEGATE_BOOKINGS_ADP;
    commit
    CREATE OR REPLACE TRIGGER OTA_DELEGATE_BOOKINGS_AH BEFORE INSERT ON OTA_DELEGATE_BOOKINGS BEGIN IF fnd_global.audit_active THEN fnd_audit_pkg.audit_on := TRUE;ELSE fnd_audit_pkg.audit_on := FALSE;END IF;END;
    commit
    CREATE OR REPLACE TRIGGER OTA_DELEGATE_BOOKINGS_AI AFTER INSERT ON OTA_DELEGATE_BOOKINGS FOR EACH ROW BEGIN IF fnd_audit_pkg.audit_on THEN OTA_DELEGATE_BOOKINGS_AIP(:old.BOOKING_ID,:old.BOOKING_STATUS_TYPE_ID,:old.DELEGATE_PERSON_ID,:old.EVENT_ID,:new.BOOKING_ID,:new.BOOKING_STATUS_TYPE_ID,:new.DELEGATE_PERSON_ID,:new.EVENT_ID);END IF;END;
    commit
    CREATE OR REPLACE TRIGGER OTA_DELEGATE_BOOKINGS_AT BEFORE UPDATE OF BOOKING_ID,BOOKING_STATUS_TYPE_ID,DELEGATE_PERSON_ID,EVENT_ID ON OTA_DELEGATE_BOOKINGS BEGIN IF fnd_global.audit_active THEN fnd_audit_pkg.audit_on := TRUE;ELSE fnd_audit_pkg.audit_on := FALSE;END IF;END;
    commit
    CREATE OR REPLACE TRIGGER OTA_DELEGATE_BOOKINGS_AU AFTER UPDATE OF BOOKING_ID,BOOKING_STATUS_TYPE_ID,DELEGATE_PERSON_ID,EVENT_ID ON OTA_DELEGATE_BOOKINGS FOR EACH ROW BEGIN IF fnd_audit_pkg.audit_on THEN OTA_DELEGATE_BOOKINGS_AUP(:old.BOOKING_ID,:old.BOOKING_STATUS_TYPE_ID,:old.DELEGATE_PERSON_ID,:old.EVENT_ID,:new.BOOKING_ID,:new.BOOKING_STATUS_TYPE_ID,:new.DELEGATE_PERSON_ID,:new.EVENT_ID);END IF;END;
    commit
    CREATE OR REPLACE TRIGGER OTA_DELEGATE_BOOKINGS_AC BEFORE DELETE ON OTA_DELEGATE_BOOKINGS BEGIN IF fnd_global.audit_active THEN fnd_audit_pkg.audit_on := TRUE;ELSE fnd_audit_pkg.audit_on := FALSE;END IF;END;
    commit
    CREATE OR REPLACE TRIGGER OTA_DELEGATE_BOOKINGS_AD AFTER DELETE ON OTA_DELEGATE_BOOKINGS FOR EACH ROW BEGIN IF fnd_audit_pkg.audit_on THEN OTA_DELEGATE_BOOKINGS_ADP(:old.BOOKING_ID,:old.BOOKING_STATUS_TYPE_ID,:old.DELEGATE_PERSON_ID,:old.EVENT_ID,:new.BOOKING_ID,:new.BOOKING_STATUS_TYPE_ID,:new.DELEGATE_PERSON_ID,:new.EVENT_ID);END IF;END;
    commit
    ----->Create Views
    VIEW OTA_DELEGATE_BOOKINGS_AV1
    commit
    VIEW OTA_DELEGATE_BOOKINGS_AV2
    commit
    VIEW OTA_DELEGATE_BOOKINGS_AV3
    commit
    VIEW OTA_DELEGATE_BOOKINGS_AV4
    commit
    VIEW OTA_DELEGATE_BOOKINGS_AC1
    -->BOOKING_ID
    -->BOOKING_STATUS_TYPE_ID
    -->DELEGATE_PERSON_ID
    -->EVENT_ID
    commit
    UPDATE FND_AUDIT_TABLES T SET T.STATE = 'E' WHERE T.TABLE_ID = 55079 AND T.TABLE_APP_ID = 810 AND NOT EXISTS ( SELECT NULL FROM FND_AUDIT_COLUMNS C WHERE C.TABLE_APP_ID = T.TABLE_APP_ID AND C.TABLE_ID = T.TABLE_ID AND C.STATE = 'P' AND C.SCHEMA_ID != -1)
    commit
    commit
    ----->Delete Invalid Columns
    ----->Drop Triggers
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AI
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AI
    ORA-04080: trigger 'FND_PROFILE_OPTION_VALUE_AI' does not exist
    DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AIP
    DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AIP
    ORA-04043: object FND_PROFILE_OPTION_VALUE_AIP does not exist
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AD
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AD
    ORA-04080: trigger 'FND_PROFILE_OPTION_VALUE_AD' does not exist
    DROP PROCEDURE FND_PROFILE_OPTION_VALUE_ADP
    DROP PROCEDURE FND_PROFILE_OPTION_VALUE_ADP
    ORA-04043: object FND_PROFILE_OPTION_VALUE_ADP does not exist
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AU
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AU
    ORA-04080: trigger 'FND_PROFILE_OPTION_VALUE_AU' does not exist
    DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AUP
    DROP PROCEDURE FND_PROFILE_OPTION_VALUE_AUP
    ORA-04043: object FND_PROFILE_OPTION_VALUE_AUP does not exist
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AC
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AC
    ORA-04080: trigger 'FND_PROFILE_OPTION_VALUE_AC' does not exist
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AH
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AH
    ORA-04080: trigger 'FND_PROFILE_OPTION_VALUE_AH' does not exist
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AT
    DROP TRIGGER FND_PROFILE_OPTION_VALUE_AT
    ORA-04080: trigger 'FND_PROFILE_OPTION_VALUE_AT' does not exist
    Cause: Table name is FND_PROFILE_OPTION_VALUE_A.
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV1
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV2
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV3
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV4
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV5
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV6
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV7
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV8
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV9
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV10
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV11
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV12
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV13
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV14
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV15
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV16
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV17
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV18
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV19
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV20
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV21
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV22
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV23
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV24
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV25
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV26
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV27
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV28
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV29
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV30
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV31
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV32
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV33
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV34
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV35
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV36
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV37
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV38
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV39
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV40
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV41
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV42
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV43
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV44
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV45
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV46
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV47
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV48
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV49
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV50
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV51
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV52
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV53
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV54
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV55
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV56
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV57
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV58
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV59
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV60
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV61
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV62
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV63
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV64
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV65
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV66
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV67
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV68
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV69
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV70
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV71
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV72
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV73
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV74
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV75
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV76
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV77
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV78
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV79
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV80
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV81
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV82
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV83
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV84
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV85
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV86
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV87
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV88
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV89
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV90
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV91
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV92
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV93
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV94
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV95
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV96
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV97
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV98
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV99
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AV100
    ORA-00942: table or view does not exist
    DROP VIEW FND_PROFILE_OPTION_VALUE_AC1
    ORA-00942: table or view does not exist
    ----->Drop Shadow Table
    DROP TABLE FND_PROFILE_OPTION_VALUE_A
    ORA-00942: table or view does not exist
    Error in fdasql, continuing...
    /oracleferp/FERP/APPS/apps_st/appl/fnd/12.0.0/bin/FNDATUPD
    Program was terminated by signal 11
    Executing request completion options...
    Output file size:
    0
    Output is not being printed because:
    The print option has been disabled for this report.
    Finished executing request completion options.
    Concurrent request completed
    Current system time is 02-APR-2013 04:19:44
    Regards,
    S.Malik

  • Error in bapi sales order creation

    hi..
    I m creating sales order using bapi fm, It was working fine, but all of a sudden it is giving error 'NO OBJECT STATUS AVAILABLE FOR SDI 0.'  and Sales order is not gettign created. Any idea why the problem occurs?

    Hi Cynthia,
    This is probably caused by a COMMIT WORK in a user exit during sales order processing. This COMMIT WORK triggers FM BUFFER_STATUS_REFRESH which in turn causes this problem.
    You can easily find out by putting a break-point in this FM and then take a look in the call-stack to find out where the commit work occurred.
    Regards.
    John.

  • What is luw (logical unit of work)

    pls tell me what is luw (logical unit of work)
    what r the types of luw .
    2 what ispurpose of code inspector and extended program check
    pls expalin the diffrence b/w those two
    3what are the candidate keys in db tables
    4 what is the difference b/w  occurs 1 and occurs 2 clauses
    data : begin of itab occurs 0 .
    data : itab type standard table of structure type initial size 1 with header line
    pls tell diffrence between theese two statements
    5can u pls tell what is the client in sap
    pls tell answers to questions
    pls dont give any websites addresses to see answers
    6 what is the transaction from database point of view
    7 what is the variant in alv reports
    how do we use reuse_alv_grid_variant_get fun module in alvs

    hi,
      this gives complete idea
      SAP LUW
    Since, as a rule, an application program is processed by several work processes in succession, and every change of the work process is linked with an implicit database commit , an application program is not automatically linked with a single database LUW. This applies in particular to dialog-oriented applications, in which one database LUW is assigned to one dialog step.
    To ensure the data consistency of application programs that are executed across different work processes, the application statements are not directly executed in an SAP LUW, rather, are first registered and then executed by a single work process, that is, in a single database LUW.
    Two techniques are available for bundling the change statements in a database LUW:
    Bundling via function modules (update)
    Through the statement CALL FUNCTION...IN UPDATE TASK, an update function module is registered for subsequent execution in an update work process.
    Bundling via function modules (transactional RFC)
    Through the statement CALL FUNCTION... IN BACKGROUND TASK DESTINATION, a remote- compatible function module is registered for subsequent asynchronous execution via the RFC interface (transactional RFC ).
    Bundling via subprograms
    Through the statement PERFORM ... ON COMMIT, a subprogram is registered for subsequent execution in a different work process.
    Statements for SAP LUWs
    A SAP LUW is controlled via the Open SQL statements COMMIT WORK, ROLLBACK WORK and SET UPDATE TASK LOCAL.
    Note
    A function module can be classified either as an update function module or remote-compatible, but not both at the same time. The update helps realize SAP LUWs within an SAP System, while the transactional RFC creates LUWs in distributed systems.
    COMMIT WORK
    Variants:
    1. COMMIT WORK [AND WAIT].
    2. COMMIT CONNECTION con.
    Effect
    Terminates an SAP LUW and stores the changes.
    Variant 1
    COMMIT WORK [AND WAIT].
    Effect
    The statement COMMIT WORK completes the current SAP LUW and opens a new one, storing all change requests for the currenta SAP LUW in the process. In this case, COMMIT WORK performs the following actions:
    It executes all subroutines registered using PERFORM ON COMMIT.
    It triggers an internal event in Object Services that ensures the registration of changes in persistent objects as the last update function module, as well as the subsequent initialization of persistent object attributes.
    It initiates the processing of all registered update function modules in the update work process.
    This executes all high-priority update function modules registered using CALL FUNCTION ... IN UPDATE TASK in the order of their registration and in a common database LUW. If you do not specify the addition AND WAIT, the program does not wait until the update work process has executed it (asynchronous updating). If you specify the addition AND WAIT, however, program processing after COMMIT WORK will not continue until the update work process has executed the high-priority update function modules (synchronous updating).
    If all high-priority update function modules are completed successfully, the statement executes the low-priority update function modules together in a common database LUW.
    In parallel, it also executes the individual function modules registered using CALL FUNCTION ... IN BACKGROUND TASK DESTINATION in a separate database LUW for each destination.
    It handles all SAP locks set in the current program according to the value of the formal parameter _SCOPE of the corresponding lock function modules.
    It triggers a database commit that also terminates the current database LUW.
    The completion of statement COMMIT WORK triggers the event TRANSACTION_FINISHED of the system class CL_SYSTEM_TRANSACTION_STATE, where the parameter KIND has the value of the constant CL_SYSTEM_TRANSACTION_STATE=>COMMIT_WORK.
    If the statement COMMIT WORK is executed by calling special programs, be aware of the following:
    In a program executed using batch input, or if you have called the program using the USING addition of the statement CALL TRANSACTION, COMMIT WORK terminates the batch input processing when using the corresponding settings.
    In a program called using CALL DIALOG, COMMIT WORK initiates the processing of subroutines or updated function modules registered using PERFORM ... ON COMMIT and CALL FUNCTION ... IN UPDATE TASK. Therefore, it does not complete the current SAP LUW. The SAP LUW cannot be completed until you execute the COMMIT WORK statement in the calling program.
    You cannot execute the COMMIT WORK statement during the updating procedure or during the execution of subroutines registered using PERFORM ... ON {COMMIT|ROLLBACK}.
    System fields
    sy-subrc Meaning
    0 You have specified the AND WAIT addition, and the updating of the update function modules was successful.
    4 You have specified the AND WAIT addition, and the updating of the update function modules was not successful.
    The COMMIT WORK statement always sets sy-subrc to 0 if the AND WAIT addition is not specified.
    Note
    The COMMIT WORK statement closes all database cursors . Open SQL statements that access a database cursor later ( SELECT loop and FETCH) raise an exception that cannot be handled.
    Variant 2
    COMMIT CONNECTION con.
    Note
    This statement is for internal use only.
    It cannot be used in application programs.
    Effect
    The COMMIT command is not executed on the standard database, but only on the secondary database connection specified by con. con is the name of the database connection as it was specified in the table DBCON in the column CON_NAME. The database connection con can also be specified dynamically in the form (source_text) - the source_text field contains the name of the database connection. The source_text field must be of the type C or STRING.
    On the specified secondary database connection, the database commit:
    Closes all open database cursors (OPEN CURSOR)
    Releases all database locks
    Note
    Note that the COMMIT CONNECTION DEFAULT statement unlike COMMIT WORK executes a pure database commit on the DEFAULT connection.
    Exceptions
    Non-Catchable Exceptions
    Cause: COMMIT WORK is not possible in a FORM that was called using PERFORM ... ON COMMIT.
    Runtime Error: COMMIT_IN_PERFORM_ON_COMMIT
    Cause: COMMIT WORK is not allowed in the update.
    Runtime Error: COMMIT_IN_POSTING
    ROLLBACK WORK
    Variants:
    1. ROLLBACK WORK.
    2. ROLLBACK CONNECTION con.
    Effect
    Terminates a SAP-LUW without storing the changes.
    Variant 1
    ROLLBACK WORK.
    Effect
    The statement ROLLBACK WORK closes the current SAP-LUW and opens a new one. In doing so, all change requests of the current SAP-LUW are canceled. To do this, ROLLBACK WORK carries out the following actions:
    Executes all subprograms registered with PERFORM ON ROLLBACK.
    Deletes all subprograms registered with PERFORM ON COMMIT.
    Raises an internal exception in the Object Services that makes sure that the attributes of persistent objects are initialised.
    Deletes all update function modules registered with CALL FUNCTION ...IN UPDATE TASK from the VBLOG and deletes all transactional remote Function Calls registered with CALL FUNCTION ... IN BACKGROUND TASK from ARFCSSTATE and from ARFCSDATA.
    Removal of all SAP locks set in the current program in which the formal parameter _SCOPE of the lock function module was set to the value 2.
    Triggers a database rollback, which also ends the current database-LUW.
    After completion of the statement COMMIT WORK, the event TRANSACTION_FINISHED of the system class CL_SYSTEM_TRANSACTION_STATE is raised, in which the parameter KIND has the value of the constant CL_SYSTEM_TRANSACTION_STATE=>ROLLBACK_WORK.
    Variant 2
    ROLLBACK CONNECTION con.
    Note
    This statement is for internal use only.
    It cannot be used in application programs.
    Effect
    The ROLLBACK-statement is not executed on the standard database but only on the secondary database connection, specified through con. con is the name of the database connection as it was specified in table DBCON in column CON_NAME. The database connection con can also be specified dynamically in the form (source_text), in which the field source_text contains the name of the database connection. The field source_text must be of the type C or STRING.
    Notes
    As all opened database cursors on the respective database connections are closed at ROLLBACK, the attempt to continue a SELECT-loop after a ROLLBACK, leads to a runtime error. Due to the same reason, a FETCH after a ROLLBACK to the then closed cursor, leads to a runtime error. You have to make sure that cursors that are still open, are no longer used after ROLLBACK.
    After execution of the statement ROLLBACK, SY-SUBRC is always equal to 0. It is not necessary to check if SY-SUBRC is unequal to 0 after ROLLBACK.
    ROLLBACK must not be used during update (CALL FUNCTION ... IN UPDATE TASK) or during the execution of FORMs, which were registered with PERFORM ... ON COMMIT resp. PERFORM ...ON ROLLBACK.
    The statement ROLLBACK WORK is implicitly executed if a message of the type A is treated with the addition ERROR_MESSAGE when calling a function module with CALL FUNCTION.
    Exceptions
    Non-Catchable Exceptions
    Cause: ROLLBACK WORK is not allowed within a FORM that is called with PERFORM ... ON COMMIT or PERFORM ... ON ROLLBACK.
    Runtime Error: ROLLBACK_IN_PERFORM_ON_COMMIT
    Cause: ROLLBACK WORK is not allowed within an update.
    Runtime Error: ROLLBACK_IN_POSTING
    SET UPDATE TASK LOCAL
    Syntax
    SET UPDATE TASK LOCAL.
    Effect
    This statement specifies that the high-priority update function modules - registered during the current SAP LUW using CALL FUNCTION ... IN UPDATE TASK - are registered in the ABAP memory instead of the VBLOG database table. In addition, it specifies that the current work process and not the update work process run these modules during the current database LUW, when the COMMIT WORK statement is executed. This statement has no effect on low-priority update function modules.
    At the beginning of every SAP LUW, the local update function is deactivated. If you wish to use it, you must reactivate it again before the first update function module is registered.
    System fields
    sy-subrc Meaning
    0 The local update function is activated.
    1 The local update function has not been activated, because the program has already registered at least one update function module for the normal updating procedure in the current SAP-LUW.
    Notes
    The local update function performs a synchronous update according to the COMMIT WORK statement, independent of the addition AND WAIT.
    The occurrence of a database rollback during the local update affects all previous change requests.

  • HR_INFOTYPE_OPERATION within Dynamic Action

    Hello,
    I am calling HR_INFOTYPE_OPERATION from within the Dynamic Action.  I can debug through it and even have it display the screens and everything appears to work fine.  The return structure is clear of any errors and the key structure indicates that the 'MOD' was done with no problem.  The infty is 2012.
    However once the dynamic action is complete the 2012 records have not been updated.  I am passing blank for the no_commit parameter on the FM.
    Does HR_INFOTYPE_OPERATION with a 'MOD' operation work from within the dynamic action?
    Regards,
    Jeff

    Hi Jeff,
    I am not sure if I get you right. But as for DB commit, it will be triggered automatically once SUBMIT statement is executed (as work process is released). What I have in my program is as follows:
    - in T588Z table (dyn.actions) I have invoked subroutine from my custom program
    POPUP_SELECTION_FOR_IT0015((YPLPY_PRO_RE_QUOTAGEN1).
    - In this YPLPY_PRO_RE_QUOTAGEN1 program I write subroutine wherein I do some coding and submit another report (which do real update).
    form POPUP_SELECTION_FOR_IT0015.
    "some coding - in my case I am filling P0015 strcutre (as this infotype has to be udpdated) while dyn. action is triggered for IT2002
        P0015-PERNR = LS_PSKEY-PERNR = P2002-PERNR.
        P0015-SUBTY = LS_PSKEY-SUBTY = P0015-LGART = LGART = IT_RET-FIELDVAL.
        P0015-BEGDA = LS_PSKEY-BEGDA = DATUM.
        P0015-ENDDA = LS_PSKEY-ENDDA = DATUM.
        P0015-UNAME = UNAME.
        P0015-INFTY = LS_PSKEY-INFTY = '0015'.
       "before I am submiting another program I am passing this strcuture
        export P0015 = P0015 PSKEY = LS_PSKEY to memory id 'ZXPADU02_P0015'.
        submit YPLPY_PRO_RE_ZXPADU02_2002
               and return.
    - Now the below program creates my IT0015 and the same time changes to IT2002 are written (DB commit is triggered with SUBMIT)
    REPORT  yplpy_pro_re_zxpadu02_2002.
    data: p0015 like p0015.
    data: ls_return TYPE bapireturn1,
          ls_pskey like pskey.
    IMPORT p0015 = p0015 pskey = ls_pskey FROM MEMORY ID 'ZXPADU02_P0015'.
    CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'
      EXPORTING
        number = ls_pskey-pernr.
    CALL FUNCTION 'HR_INFOTYPE_OPERATION'
      EXPORTING
        infty                  = ls_pskey-infty
        number                 = ls_pskey-pernr
        subtype                = ls_pskey-subty
        validityend            = ls_pskey-endda
        validitybegin          = ls_pskey-begda
        record                 = p0015
        operation              = 'INS'
        dialog_mode            = '2'
      IMPORTING
        return                 = ls_return.
    IF NOT ls_return IS INITIAL AND
       ls_return-type EQ 'E'.
      MESSAGE e000(38) WITH ls_return-message.
    ENDIF.
    "unlock the EE
    CALL FUNCTION 'HR_EMPLOYEE_DEQUEUE'
      EXPORTING
        number = ls_pskey-pernr.
    Works fine for me.
    Regards
    Marcin

  • How to update database in update task

    Hi everyone,
      I have a question: I need to update database in a SAP LUW. And I develop a method in my class
    to update the database.how can I update database in SAP LUW.

    Use can use "COMMIT WORK " and Database operate command SQL
    Within an LUW, database changes are not made until after a database commit. Prior to this, any database change can be canceled by a database rollback.
    In the R/3 System, a database commit is triggered either automatically or by the ABAP/4 command COMMIT WORK or the appropriate Native SQL command for the database system.
    Similarly, a database rollback is triggered either automatically or by the ABAP/4 command ROLLBACK WORK or the appropriate Native SQL command for the database system.
    After the COMMIT WORK has been executed, the event RAISE_TRANSACTION_FINISHED of the class CL_SYSTEM_TRANSACTION_STATE with parameter value CL_SYSTEM_TRANSACTION_STATE=>COMMIT_WORK is triggered. However, this does not apply to the COMMIT WORK at the end of the update.
    Edited by: Jack Wu on Dec 16, 2008 11:13 AM

  • RE:logical unit of work

    Hi guys,
    What do u mean by logical unit of work...Can anyone explain me with an example.
    Regards,
    Alex.

    hi,
    this gives complete idea
    SAP LUW
    Since, as a rule, an application program is processed by several work processes in succession, and every change of the work process is linked with an implicit database commit , an application program is not automatically linked with a single database LUW. This applies in particular to dialog-oriented applications, in which one database LUW is assigned to one dialog step.
    To ensure the data consistency of application programs that are executed across different work processes, the application statements are not directly executed in an SAP LUW, rather, are first registered and then executed by a single work process, that is, in a single database LUW.
    Two techniques are available for bundling the change statements in a database LUW:
    Bundling via function modules (update)
    Through the statement CALL FUNCTION...IN UPDATE TASK, an update function module is registered for subsequent execution in an update work process.
    Bundling via function modules (transactional RFC)
    Through the statement CALL FUNCTION... IN BACKGROUND TASK DESTINATION, a remote- compatible function module is registered for subsequent asynchronous execution via the RFC interface (transactional RFC ).
    Bundling via subprograms
    Through the statement PERFORM ... ON COMMIT, a subprogram is registered for subsequent execution in a different work process.
    Statements for SAP LUWs
    A SAP LUW is controlled via the Open SQL statements COMMIT WORK, ROLLBACK WORK and SET UPDATE TASK LOCAL.
    Note
    A function module can be classified either as an update function module or remote-compatible, but not both at the same time. The update helps realize SAP LUWs within an SAP System, while the transactional RFC creates LUWs in distributed systems.
    COMMIT WORK
    Variants:
    1. COMMIT WORK [AND WAIT].
    2. COMMIT CONNECTION con.
    Effect
    Terminates an SAP LUW and stores the changes.
    Variant 1
    COMMIT WORK [AND WAIT].
    Effect
    The statement COMMIT WORK completes the current SAP LUW and opens a new one, storing all change requests for the currenta SAP LUW in the process. In this case, COMMIT WORK performs the following actions:
    It executes all subroutines registered using PERFORM ON COMMIT.
    It triggers an internal event in Object Services that ensures the registration of changes in persistent objects as the last update function module, as well as the subsequent initialization of persistent object attributes.
    It initiates the processing of all registered update function modules in the update work process.
    This executes all high-priority update function modules registered using CALL FUNCTION ... IN UPDATE TASK in the order of their registration and in a common database LUW. If you do not specify the addition AND WAIT, the program does not wait until the update work process has executed it (asynchronous updating). If you specify the addition AND WAIT, however, program processing after COMMIT WORK will not continue until the update work process has executed the high-priority update function modules (synchronous updating).
    If all high-priority update function modules are completed successfully, the statement executes the low-priority update function modules together in a common database LUW.
    In parallel, it also executes the individual function modules registered using CALL FUNCTION ... IN BACKGROUND TASK DESTINATION in a separate database LUW for each destination.
    It handles all SAP locks set in the current program according to the value of the formal parameter _SCOPE of the corresponding lock function modules.
    It triggers a database commit that also terminates the current database LUW.
    The completion of statement COMMIT WORK triggers the event TRANSACTION_FINISHED of the system class CL_SYSTEM_TRANSACTION_STATE, where the parameter KIND has the value of the constant CL_SYSTEM_TRANSACTION_STATE=>COMMIT_WORK.
    If the statement COMMIT WORK is executed by calling special programs, be aware of the following:
    In a program executed using batch input, or if you have called the program using the USING addition of the statement CALL TRANSACTION, COMMIT WORK terminates the batch input processing when using the corresponding settings.
    In a program called using CALL DIALOG, COMMIT WORK initiates the processing of subroutines or updated function modules registered using PERFORM ... ON COMMIT and CALL FUNCTION ... IN UPDATE TASK. Therefore, it does not complete the current SAP LUW. The SAP LUW cannot be completed until you execute the COMMIT WORK statement in the calling program.
    You cannot execute the COMMIT WORK statement during the updating procedure or during the execution of subroutines registered using PERFORM ... ON {COMMIT|ROLLBACK}.
    System fields
    sy-subrc Meaning
    0 You have specified the AND WAIT addition, and the updating of the update function modules was successful.
    4 You have specified the AND WAIT addition, and the updating of the update function modules was not successful.
    The COMMIT WORK statement always sets sy-subrc to 0 if the AND WAIT addition is not specified.
    Note
    The COMMIT WORK statement closes all database cursors . Open SQL statements that access a database cursor later ( SELECT loop and FETCH) raise an exception that cannot be handled.
    Variant 2
    COMMIT CONNECTION con.
    Note
    This statement is for internal use only.
    It cannot be used in application programs.
    Effect
    The COMMIT command is not executed on the standard database, but only on the secondary database connection specified by con. con is the name of the database connection as it was specified in the table DBCON in the column CON_NAME. The database connection con can also be specified dynamically in the form (source_text) - the source_text field contains the name of the database connection. The source_text field must be of the type C or STRING.
    On the specified secondary database connection, the database commit:
    Closes all open database cursors (OPEN CURSOR)
    Releases all database locks
    Note
    Note that the COMMIT CONNECTION DEFAULT statement unlike COMMIT WORK executes a pure database commit on the DEFAULT connection.
    Exceptions
    Non-Catchable Exceptions
    Cause: COMMIT WORK is not possible in a FORM that was called using PERFORM ... ON COMMIT.
    Runtime Error: COMMIT_IN_PERFORM_ON_COMMIT
    Cause: COMMIT WORK is not allowed in the update.
    Runtime Error: COMMIT_IN_POSTING
    ROLLBACK WORK
    Variants:
    1. ROLLBACK WORK.
    2. ROLLBACK CONNECTION con.
    Effect
    Terminates a SAP-LUW without storing the changes.
    Variant 1
    ROLLBACK WORK.
    Effect
    The statement ROLLBACK WORK closes the current SAP-LUW and opens a new one. In doing so, all change requests of the current SAP-LUW are canceled. To do this, ROLLBACK WORK carries out the following actions:
    Executes all subprograms registered with PERFORM ON ROLLBACK.
    Deletes all subprograms registered with PERFORM ON COMMIT.
    Raises an internal exception in the Object Services that makes sure that the attributes of persistent objects are initialised.
    Deletes all update function modules registered with CALL FUNCTION ...IN UPDATE TASK from the VBLOG and deletes all transactional remote Function Calls registered with CALL FUNCTION ... IN BACKGROUND TASK from ARFCSSTATE and from ARFCSDATA.
    Removal of all SAP locks set in the current program in which the formal parameter _SCOPE of the lock function module was set to the value 2.
    Triggers a database rollback, which also ends the current database-LUW.
    After completion of the statement COMMIT WORK, the event TRANSACTION_FINISHED of the system class CL_SYSTEM_TRANSACTION_STATE is raised, in which the parameter KIND has the value of the constant CL_SYSTEM_TRANSACTION_STATE=>ROLLBACK_WORK.
    Variant 2
    ROLLBACK CONNECTION con.
    Note
    This statement is for internal use only.
    It cannot be used in application programs.
    Effect
    The ROLLBACK-statement is not executed on the standard database but only on the secondary database connection, specified through con. con is the name of the database connection as it was specified in table DBCON in column CON_NAME. The database connection con can also be specified dynamically in the form (source_text), in which the field source_text contains the name of the database connection. The field source_text must be of the type C or STRING.
    Notes
    As all opened database cursors on the respective database connections are closed at ROLLBACK, the attempt to continue a SELECT-loop after a ROLLBACK, leads to a runtime error. Due to the same reason, a FETCH after a ROLLBACK to the then closed cursor, leads to a runtime error. You have to make sure that cursors that are still open, are no longer used after ROLLBACK.
    After execution of the statement ROLLBACK, SY-SUBRC is always equal to 0. It is not necessary to check if SY-SUBRC is unequal to 0 after ROLLBACK.
    ROLLBACK must not be used during update (CALL FUNCTION ... IN UPDATE TASK) or during the execution of FORMs, which were registered with PERFORM ... ON COMMIT resp. PERFORM ...ON ROLLBACK.
    The statement ROLLBACK WORK is implicitly executed if a message of the type A is treated with the addition ERROR_MESSAGE when calling a function module with CALL FUNCTION.
    Exceptions
    Non-Catchable Exceptions
    Cause: ROLLBACK WORK is not allowed within a FORM that is called with PERFORM ... ON COMMIT or PERFORM ... ON ROLLBACK.
    Runtime Error: ROLLBACK_IN_PERFORM_ON_COMMIT
    Cause: ROLLBACK WORK is not allowed within an update.
    Runtime Error: ROLLBACK_IN_POSTING
    SET UPDATE TASK LOCAL
    Syntax
    SET UPDATE TASK LOCAL.
    Effect
    This statement specifies that the high-priority update function modules - registered during the current SAP LUW using CALL FUNCTION ... IN UPDATE TASK - are registered in the ABAP memory instead of the VBLOG database table. In addition, it specifies that the current work process and not the update work process run these modules during the current database LUW, when the COMMIT WORK statement is executed. This statement has no effect on low-priority update function modules.
    At the beginning of every SAP LUW, the local update function is deactivated. If you wish to use it, you must reactivate it again before the first update function module is registered.
    System fields
    sy-subrc Meaning
    0 The local update function is activated.
    1 The local update function has not been activated, because the program has already registered at least one update function module for the normal updating procedure in the current SAP-LUW.
    Notes
    The local update function performs a synchronous update according to the COMMIT WORK statement, independent of the addition AND WAIT.
    The occurrence of a database rollback during the local update affects all previous change requests.
    Regards
    vasu

  • Can I create my own logical unit of work (LUW)?

    Good day, everyone!
    This is an off-shoot to a Why does the NOCOMMIT parameter not work in HR_INFOTYPE_OPERATION? yesterday in this forum.
    It appears that the FM I'm calling is going to do a commit, no matter what.  The only thing I can tell is that the NOCOMMIT parameter is used to do a rollback only in the event of a problem.
    What I'd like to do is somehow "encapsulate" my call to this function with my own "LUW" designation so that, depending on what a user selects in a selection screen (run as test only? checkbox) I can rollback changes on my own.  Unfortunately, I don't know if this is even possible and, if so, how to do it.  I need to do something because the end users running this function would like to be able to do a "test run" of all the address transactions to see if there's any errors, data that still needs cleaned up, etc.
    Any ideas?  Points awarded for all helpful answers, as always.

    Hai Dave Packard
    Go through the following Link
    For Logical database
    Logical Unit of Work (LUW)
    A Logical Unit of Work (LUW or database transaction) is an inseparable sequence of database operations which must be executed either in its entirety or not at all. For the database system, it thus constitutes a unit.
    LUWs help to guarantee database integrity. When an LUW has been successfully concluded, the database is once again in a correct state. If, however, an error occurs within an LUW, all database changes made since the beginning of the LUW are canceled and the database is then in the same state as before the LUW started.
    An LUW begins
    each time you start a transaction
    when the database changes of the previous LUW have been confirmed (database commit) or
    when the database changes of the previous LUW have been cancelled (database rollback)
    An LUW ends
    when the database changes have been confirmed (database commit) or
    when the database changes have been canceled (database rollback)
    Database commit and rollback
    Within an LUW, database changes are not made until after a database commit. Prior to this, any database change can be canceled by a database rollback.
    In the R/3 System, a database commit is triggered either automatically or by the ABAP/4 command COMMIT WORK or the appropriate Native SQL command for the database system.
    Similarly, a database rollback is triggered either automatically or by the ABAP/4 command ROLLBACK WORK or the appropriate Native SQL command for the database system.
    A database commit is triggered automatically by
    each screen change, and especially after the ABAP/4 commands CALL SCREEN, CALL DIALOG, CALL TRANSACTION, MESSAGE or
    a Remote Function Call
    A database rollback is triggered automatically by
    errors which occur at runtime or
    the ABAP/4 command MESSAGE with the message type 'A'
    After each database commit or rollback, the database locks set in the LUW are released (see Database Locking).
    Thanks & regards
    Sreenivasulu P
    Message was edited by: Sreenivasulu Ponnadi

  • About Select Query

    Dear Guru's
    I just want to know the reason why ?
    if I place my break point in the code between select and endselect, it throws a dump ?
    Regards,
    PAVAN.

    A breakpoint in SELECT loops can cause an exception through loss of the database cursor. The reason for this is that - during debugging - a database Commit is triggered.
    See <a href="http://www.sapfans.com/forums/viewtopic.php?t=169464&highlight=&sid=418f3ccc51dca0f3cc982e5d04107cb7">Debug mode</a> for more details.
    Ps: Reward points if helpful.

Maybe you are looking for

  • Returning error messages from media server

    My application requires that I can get detailed feedback from the FMS upon a given failure. For instance, if I try to open a stream who's file does not exist, is it possible to have a message or error code returned to Flash so that I can deal with th

  • Price in Goods Receipt is picked from Info Record

    Hi All, I have created an Info Record with 2 validity periods: 01/09/2007 to 31/11/2010 = Rs.100 01/12/2010 to 31/12/9999 = Rs. 110 While creating the scheduling agreement, I have changed the price from 110 to 120. While posting the goods receipt, sy

  • Folder or document name

    How do I show the entire name of a folder or document? The previous version of pdf did not truncate folder or pdf names/titles.

  • Problems playing SVG animations

    Dear Apple It was extremely nice news that you have added the SVG support to Safari 3.0. We would be more than happy to add Apple iPod and iPhone users to our community the fans of "The Spoon" animations. However, when testing my SVG animations with

  • Adding of values problem in the report

    Hi All, I have a reporting requirement like below. Object 1                Object 2                 Ob1 + Ob2 $ 1,534,080                $ 294,697                $ 294,698,302 $ 2,750,761                $ 0                       $ 2,751 $ 715,028