Cursor invalidation WITHOUT DDL statements

Hi, all.
The db is 11.2.0.3 on a linux machine.
As we know, ddl statements on database objects cause cursror invalidation.
A number of cursor invalidation WITHOUT ddl statements means that shared pool is too small?
The following is a part of AWR report.
Library Hit % is near to 100%, but I can find a number of cursor invalidation from v$sql view.
What could cause cursor invalidation except ddl statements?
Instance Efficiency Percentages (Target 100%)
Buffer Nowait %: 100.00 Redo NoWait %: 99.99
Buffer Hit %: 99.39 In-memory Sort %: 100.00
Library Hit %: 100.02 Soft Parse %: 99.99
Execute to Parse %: 86.93 Latch Hit %: 99.39
Parse CPU to Parse Elapsd %: 91.51 % Non-Parse CPU: 97.42 Thanks in advance.
Best Regards.

869578 wrote:
Hi, all.
The db is 11.2.0.3 on a linux machine.
A number of cursor invalidation WITHOUT ddl statements means that shared pool is too small?
That could cause reloads, but not invalidations.
A possible cause of invalidations on your system could be that the number of child cursors for a parent has become too large.
The following is a part of AWR report.
Library Hit % is near to 100%, but I can find a number of cursor invalidation from v$sql view.The library cache portion of the AWR would be the relevant bit if you think you have a problem with invalidations.
The instance efficiency is virtually useless at the best of times,http://jonathanlewis.wordpress.com/2006/12/27/analysing-statspack-2/ it's irrelevant in this case.
Regards
Jonathan Lewis

Similar Messages

  • Why there is implicit commit before and after executing DDL Statements

    Hi Guys,
    Please let me know why there is implicit commit before and after executing DDL Statements ?
    Regards,
    sushmita

    Helyos wrote:
    This is because Oracle has design it like this.Come on Helyos, that's a bit of a weak answer. :)
    The reason is that it makes no sense to update the structure of the database whilst there is outstanding data updates that have not been committed.
    Imagine having a column that is VARCHAR2(50) that currently only has data that is up to 20 characters in size.
    Someone (person A) decides that it would make sense to alter the table and reduce the size of the column to varchar2(20) instead.
    Before they do that, someone else (person B) has inserted data that is 30 characters in size, but not yet committed it.
    As far as person B is concerned that insert statement has been successful as they received no error, and they are continuing on with their process until they reach a suitable point to commit.
    Person A then attempts to alter the database to make it varchar2(20).
    If the database allowed that to happen then the column would be varchar2(20) and the uncommitted data would no longer fit, even though the insert was successful. When is Person B going to find out about this? It would be wrong to tell them when they try and commit, because all their transactions were successful, so why should a commit fail.
    In this case, because it's two different people, then the database will recognise there is uncommitted transactions on that table and not let person B alter it.
    If it was just one person doing both things in the same session, then the data would be automatically committed, the alter statement executed and the person informed that they can't alter the database because there is (now) data exceeding the size they want to set it to.
    It makes perfect sense to have the database in a data consistent state before any alterations are made to it, hence why a commit is issued beforehand.
    Here's something I wrote the other day on the subject...
    DDL's issue a commit before carrying out the actual action
    As long as the DDL is syntactically ok (i.e. the parser is happy with it) then the commit is issued, even if the actual DDL cannot be executed for another reason.
    Example...
    We have a table with some data in it...
    SQL> create table xtest as select rownum rn from dual;
    Table created.
    SQL> select * from xtest;
            RN
             1We then delete the data but don't commit (demonstrated by the fact we can roll it back)
    SQL> delete from xtest;
    1 row deleted.
    SQL> select * from xtest;
    no rows selected
    SQL> rollback;
    Rollback complete.
    SQL> select * from xtest;
            RN
             1
    SQL> delete from xtest;
    1 row deleted.
    SQL> select * from xtest;
    no rows selectedSo now our data is deleted, but not committed, what if we issue a DDL that is syntactically incorrect...
    SQL> alter tab xtest blah;
    alter tab xtest blah
    ERROR at line 1:
    ORA-00940: invalid ALTER command
    SQL> rollback;
    Rollback complete.
    SQL> select * from xtest;
            RN
             1... the data can still be rolled back. This is because the parser was not happy with the syntax of the DDL statement.
    So let's delete the data again, without committing it, and issue a DDL that is syntactically correct, but cannot execute for another reason (i.e. the database object it refers to doesn't exist)...
    SQL> delete from xtest;
    1 row deleted.
    SQL> select * from xtest;
    no rows selected
    SQL> truncate table bob;
    truncate table bob
    ERROR at line 1:
    ORA-00942: table or view does not exist
    SQL> rollback;
    Rollback complete.
    SQL> select * from xtest;
    no rows selectedSo, there we have it. Just because the statement was syntactically correct, the deletion of the data was committed, even though the DDL couldn't be performed.
    This makes sense really, because if we are planning on altering the definition of the database where the data is stored, it can only really take place if the database is in a state where the data is where it should be rather than being in limbo. For example, imagine the confusion if you updated some data on a column and then altered that columns datatype to be a different size e.g. reducing a varchar2 column from 50 character down to 20 characters. If you had data that you'd just updated to larger than 20 characters whereas previously there wasn't, then the alter table command would not know about it, would alter the column size and then the data wouldn't be valid to fit whereas the update statement at the time didn't fail.
    Example...
    We have a table that only allows 20 characters in a column. If we try and insert more into that column we get an error for our insert statement as expected...
    SQL> create table xtest (x varchar2(20));
    Table created.
    SQL> insert into xtest values ('012345678901234567890123456789');
    insert into xtest values ('012345678901234567890123456789')
    ERROR at line 1:
    ORA-12899: value too large for column "SCOTT"."XTEST"."X" (actual: 30, maximum: 20)Now if our table allowed more characters our insert statement is successful. As far as our "application" goes we believe, nay, we have been told by the database, we have successfully inserted our data...
    SQL> alter table xtest modify (x varchar2(50));
    Table altered.
    SQL> insert into xtest values ('012345678901234567890123456789');
    1 row created.Now if we tried to alter our database column back to 20 characters and it didn't automatically commit the data beforehand then it would be happy to alter the column, but then when the data was committed it wouldn't fit. However the database has already told us that the data was inserted, so it can't go back on that now.
    Instead we can see that the data is committed first because the alter command returns an error telling us that the data in the table is too big, and also we cannot rollback the insert after the attempted alter statement...
    SQL> alter table xtest modify (x varchar2(20));
    alter table xtest modify (x varchar2(20))
    ERROR at line 1:
    ORA-01441: cannot decrease column length because some value is too big
    SQL> rollback;
    Rollback complete.
    SQL> select * from xtest;
    X
    012345678901234567890123456789
    SQL>Obviously, because a commit statement is for the existing session, if we had tried to alter the table column from another session we would have got
    SQL> alter table xtest modify (x varchar2(20));
    alter table xtest modify (x varchar2(20))
    ERROR at line 1:
    ORA-00054: resource busy and acquire with NOWAIT specified
    SQL>... which is basically saying that we can't alter the table because someone else is using it and they haven't committed their data yet.
    Once the other session has committed the data we get the expected error...
    ORA-01441: cannot decrease column length because some value is too bigHope that explains it

  • Executing a DDL statement from java code

    Hi all,
    this is code from jdev11.1.1.3 version. I am trying to execute a DDL statement in oracle db from java code, but "ORA-00900: invalid SQL statement" error is coming.
    I am trying to create a table in same schema in same db by using 'Copy' command.
    Same DDL command is executing from sql command prompt & table is being created. Plz help me , as how to do from java?
            public String cmb_action() {
            // Add event code here...
            try {
                //getting source db connection
                InitialContext initialContext = new InitialContext();
                DataSource ds = (DataSource) initialContext.lookup("java:comp/env/jdbc/SourceConnDS");
                Connection sourceconn = ds.getConnection();
                sourceconn.setAutoCommit(false);
                String sql = "Copy from myschema/mypass@DB insert t_dept using select * from dept;"                       
                Statement stat = sourceconn.createStatement();
                stat.executeUpdate(sql);
                sourceconn.commit();
                System.out.println("done");
              catch (Exception ne) {
                // TODO: Add catch code
                ne.printStackTrace();
            return null;
        }

    I have a requirement to transfer data from one db to another db from Java Application Layer.Maybe, maye not. We get all sorts of weird "requirements" - which are nothing but thoughts or proposed solutions.
    But,
    Did the "requirement" mention whether the table existed already or not in the target database? - If not, did it tell you to create it - drop/create it?
    Did the "requirement" deliver some explanation to why this copying was neeeded? - Are we talking replication? - Or a one time cloning?
    Etc, etc,
    Personally I would always argue against a "reuirement" like that. - It just isn't the way to do it. Period.
    Regards
    Peter
    P.S: If you are satisfied with what COPY does, then you could let Java make an OS call and do it from there?

  • DDL statement/s in stored procedures (FUNCTION)

    Hello all,
    I was trying to create a small function that tests keywords on the basis of successful/failed table creation. If a table can be created with a keyword as identifier, it is a non-reserved keyword, if table creation fails, it is a reserved keyword:
    CREATE OR REPLACE FUNCTION createTableForKeyword (keyword VARCHAR) RETURN BOOLEAN IS
    BEGIN
    CREATE TABLE keyword (x NUMBER);
    -- if no exception occurred, table creation succeeded
    DROP TABLE keyword; drop it
    RETURN FALSE; -- FALSE means non-reserved
    EXCEPTION
    WHEN OTHERS THEN
    -- if exception occurred, table creation failed
    RETURN TRUE; -- TRUE means reserved
    END createTableForKeyword;
    This would have been my first PL/SQL program, but I get the following error:
    PLS-00103: Found symbol "CREATE" when expecting one of:
    begin case declare exit ................
    .............. merge pipe
    I had to translate the error message from German, but it should suffice. Obviously DDL statements in functions are not allowed. How do I solve my problem then, given a table that has one column containing the keyword?:
    CREATE TABLE Keywords (keyword VARCHAR(30));
    I was looking too call this function from a loop, but how would I do this without a function? How do I capture table creation fails without exceptions in functions?
    TIA
    Karsten

    To run DDL inside stored procedure you must use Dynamic SQL. Use EXECUTE IMMEDIATE
    To see if a word is a reserved word just query V$RESERVED_WORDS
    Thanks,
    Karthick.

  • Errors when executing DDL statements against MaxDB

    Hi guys,
    We are experiencing problems with DDL execution against MaxDB. I have installed version 7.8.00.17 on my 32-bit Windows XP XP3 machine. I got the following errors:
    1. MaxDB complained that the "VARCHAR(8008)" data type has invalid length.
    2. When fixing this, I got the problem, that a unique constraint has too long name.
    3. After shortening this name, now I get the following:
      u2190[4;35;1mSQL (0.0ms)u2190[0m   u2190[0mActiveRecord::JDBCError: SAP DBTech JDBC: [-4006] (at 25): Unknown domain name:PRIMARY_KEY: CREATE TABLE photos (id primary_key, title varchar(8008), created_at timestamp, updated_at timestamp) u2190[0m
    rake aborted!
    All these DDL statements, are generated as part of a rake task execution (we are testing a simple Rails application, that uses persistence), and they execute fine on MySQL for instance. But on MaxDB it seems that there are more severe limitations about name lengths, data types, etc.
    Could you please advice about this problem ?
    Thanks and Kindest Regards,
    Krum.

    Hmm... what's wrong with the internet on your side, that you don't have access to the MaxDB documentation?
    ad 1. You are using a UNICODE varchar, aren't you? check [here|http://maxdb.sap.com/doc/7_7/45/33337d9faf2b34e10000000a1553f7/frameset.htm] why it fails.
    ad 2. Unique constraints don't get names in MaxDB [see here|http://maxdb.sap.com/doc/7_7/45/50fa4272c31796e10000000a1553f6/frameset.htm]
    ad 3. You're simply using the wrong DDL format. "PRIMARY_KEY" is not even a MaxDB keyword.
    I'm pretty sure you'll find the correct syntax for primary key definition yourself, by simply browsing the documentation, so I leave this to you now.
    regards,
    Lars

  • Best way to parallelize ddl statements

    The short story:
    We have a file of ddl statements (output from datapump metadata_only) that we want to run in parallel as fast as possible. We have paresh working pretty well, but for large files, it goes rather slow. We have been working on a procedure to read the file in as an external table with really good results.
    What we have now is the external table with some additional columns that identify the ddl (owner, object_name, statement type, an order id based on statement type, a unique statement id). The idea is that we want to do all the Primary Keys first, then normal indexes, followed by foreign keys and index/table stats. Right now, I grab the next statement and mark all statements for that object_name so that no other worker processes can work on that object (reduces contention). Unfortunately, we have introduced contention on the external table (doing a select .. for update). I can think of a couple ideas to try, but wondering if any experts out there had a slick way of accomplishing this.
    Feel free to ask questions. I do not think it matters, but we are working with an export from 10.2.0.2, import into 10.2.0.3.
    Here is a snippet of the current code:
       -- c2 Fetches the next sql statement to be worked on. To reduce contention,
       -- we avoid working on objects that are currently INPROGRESS. The objects
       -- are also ordered such that we work on Primary keys first, then normal indexes,
       -- with foreign keys and statistics last.
       -- The "FOR UPDATE" will keep the records locked until the transaction is committed,
       -- thereby guaranteeing that we are only working on one object at a time.
       CURSOR c2 is
        SELECT p1.STMNT_ID, p1.object_name
          FROM ORACLE.PARESH_SQL_STMNT p1
          WHERE p1.STATUS ='READY'
           and p1.ORDER_PREF > 0
           -- and p1.object_type is not null
           and p1.STMNT_ID||p1.object_name = (
             SELECT max(STMNT_ID||object_name) keep (dense_rank first order by order_pref, stmnt_id)
               FROM ORACLE.PARESH_SQL_STMNT
               WHERE STATUS ='READY'
                and ORDER_PREF > 0
                -- and object_type is not null
        for update of p1.object_name;
    BEGIN
      i_status:='';
      open c2;
      -- fetch only one row (highest order_pref)
      fetch c2 into l_stmnt_id, l_object_name;
      -- Set the status INPROGRESS so no other statements for this object are run
      update oracle.paresh_sql_stmnt
      set status='INPROGRESS'
      where object_name=l_object_name
      and status='READY';
      close c2;
      commit;

    I would look at an o/s based solution and not PL/SQL (but SQL*Plus).
    I would make it generic as the basic idea is to give a process a table-to-go and have it do the end-to-end steps for you.. and then run multiple of these in parallel.
    The process can be a shell script (Linux/bash - sorry, I am very biased ;-) ). It uses the data dictionary to determine the indexes, constraints and triggers and what not that needs to be DDL'ed. It runs DBMS_METADATA via a SQL*Plus script to create the DDLs.
    It only applies the create DDL to the destination. Next it creates a FIFO pipe. It starts SQL*Loader (parallel/direct/whatever options being fancied) on this pipe as a background process.
    With SQL*Loader hungrily waiting for data, the process fires up SQL*Plus again, set array size large, etc - and run a SELECT on the source table. It does not use SQL*Plus' spool feature. It has SQL*Plus writing the data it is fetching direct to STDOUT.
    However, when the process started SQL*Plus, it redirected STDOUT to the FIFO pipe.
    A block is written by SQL*Plus into the pipe. That same block is then read by SQL*Loader and loaded into the destination database.
    Reading and writing essentially are thus basically done in parallel - and not serial. Once the SQL*Plus completed unloading the data into the pipe, the rest of the DDLs are applied - indexes created, etc. (constraints created as disabled of course - these will need to be enabled all over the destination database after all the load processes have completed)
    And as mentioned, I will have multiple of the scripts running, one per table to process.
    Many years ago, I did exactly this. Only a tad more complex. Went something like this. Process unloads data into a pipe. Compression process read that pipe and write compress/zipped data into a "compression" pipe. FTP process reads that pipe, sends the compressed data across the network, where the FTP server writes in into yet another pipe. There a decompression process reads the ftp pipe, unzips the data, and write the decompressed data into a "decompression" pipe. Where SQL*Loader does the rest - reading the now unzipped data and chucking it into the database.
    It work pretty well. And fast. Faster than any commercial ELT tool that 3rd party vendors tried to sell me to "do the job". :-)

  • Execute DDL statements from pl / sql

    Hi !!!!
    I have to create every object (tables, sequences, etc) using a pl / sql block, so I need first looking for the object in the data dictionary and if it doesn't exist execute a ddl statement to create it.
    I wanted to execute at the same "execute immediate " :
    - create table.
    - create synonym for the table created before.
    - comments on table
    - comments on table's columns
    - grants on the table.
    But I found some errors:
    - I can`t have semicolon after every statement so I get an "ORA-00911: invalid character". I did'nt try to scape the semicolon so I need it.
    - I split the execute immediate so now I have one execute immediate for every statement but I got an error in this statement:
    EXECUTE IMMEDIATE 'COMMENT ON TABLE SYSADM.CVP_PAQ_SMS_REC_PRUEBA IS "COMMENT ON TABLE"  '; The error I get is this:
    ORA-01780: string literal required
    Any suggestions about this ?
    Thanks.

    The comment itself needs to be a SQL string so it needs to be delimited with single quotes not double quotes. You can either use two single quotes
    EXECUTE IMMEDIATE 'COMMENT ON TABLE SYSADM.CVP_PAQ_SMS_REC_PRUEBA IS ''COMMENT ON TABLE''  ';or you can use the q quoting syntax
    EXECUTE IMMEDIATE q'[COMMENT ON TABLE SYSADM.CVP_PAQ_SMS_REC_PRUEBA IS 'COMMENT ON TABLE'  ]';You cannot combine multiple DDL statements into a single block (well, you could use dynamic PL/SQL, but then your string would have a bunch of embedded EXECUTE IMMEDIATE statements which would presumably not buy you much).
    Justin

  • How to execute sets of DDL Statements in 1 command?

    Hi All,
    I've been trying to look for a way to run a set of DDL statements. I normally have text files with DDL Statements on it. So what I do is load the contents of this text file into a Textbox and then set the Textbox.Text as the CommandText of my command object. Unfortunately I get errors.
    Here's my code...
        Private Sub btnLoadFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim OpenDiag As New OpenFileDialog
            Dim txtReader As StreamReader
            OpenDiag.ShowDialog()
            If OpenDiag.FileName <> "" Then
                txtReader = File.OpenText(OpenDiag.FileName)
                CommandTextBox.Text = txtReader.ReadToEnd
            End If
        End Sub
        Private Sub btnExecute_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            Dim myConn As New OracleConnection(My.Settings.ConnectionString)
            Dim myComm As New OracleCommand(CommandTextBox.Text, myConn)
            Try
                myConn.Open()
                myComm.ExecuteNonQuery()
                myConn.Close()
            Catch ex As OracleException
                MessageBox.Show(ex.Code & ": " & ex.Message)
            End Try
        End SubThe errors that I get are
    "ORA-00900: Invalid SQL Statement"
    - Not sure how I get this but I noticed that if i had remarks/comments in my text file, this is the error that i get. Although i don't get this error if i execute in SQL Plus.
    "ORA-00911: Invalid Character"
    - after removing the remarks/comments, i get this error. i tried removing the semi-colon ";" then it works okay if i'm running 1 DDL statement in my file.. but if i my file contains to DDL statements for example, then i get the this error "ORA-00922: Missing or Invalid Options".
    can anyone help me with this?
    thanks.

    yes. i have BEGIN and END in their corresponding places.
    i found out that removing linefeeds and semi-colons somehow fixes the problem for DDL statements. also, if i use a RichTextBox and uses its RichTextBox.LoadFile(filename, RichTextBoxStreamType.PlainText) instead of the File.OpenText(filename), it works fine as well. although its not something i would want. so what i did was to create a PL/SQL Anonymous Block instead. this too works if i use a RichTextBox.LoadFile instead of a textbox. but i'm using these controls to see the contents. eventually i will need to use a variable to store the contents of the file and i'm worried that it won't work with it.
    unfortunately it doesn't work when i use a string. i'm guessing because of the linefeeds and semi-colons are still there.

  • How to automate DDL statements in batch or stored procedure?

    I'd like to write a start file or stored procedure to create synonyms for all tables owned by the current user as well as any to which the user has been granted access. However, no DDL statement like create synonyms is allowed in stored procedures. How can I solve this problem?
    I am very new to Oracle, can anyone recommend a site that publishes lots of PL/SQL scripts?

    Phyllis,
    It looks like a problem with permissions, as Narayan Archarya said.
    In order to test your code, I connected as user scott, copied your code, put two hyphens in front of the line that begins with execute immediate, compiled it, set serveroutput on, and executed it as:
    SQL> EXECUTE create_synonyms ('scott')
    It worked properly, displaying:
    cursor is opened.
    stmt_str = CREATE SYNONYM ADDRESSES FOR SCOTT.ADDRESSES
    rowcount = 1
    and continued in this manner, incrementing the row counts and displaying a stmt_str for each table. This confirms that there is no problem with the code. It has got to be a problem with privileges.
    To test the theory that it is a problem with privileges, I connected as system manager and created user abc, granting connect, resource, and create table to abc. I then connected as abc and created a table named abc. I then recompiled the create_synonyms, set serverouput on, and I executed it as:
    SQL> EXECUTE CREATE SYNONYMS ('ABC')
    Once again it worked properly, displaying:
    cursor is opened.
    rowcount = 1
    stmt_str = CREATE SYNONYM ABC FOR ABC.ABC
    rowcount = 1
    end
    PL/SQL procedure succesfully completed.
    I then tried executing it as (while still connected as user abc):
    SQL> EXECUTE create_synonyms ('scott')
    and I got:
    cursor is opened.
    rowcount = 0
    end
    PL/SQL procedure succesfuly completed.
    I tried the reverse, by connecting as user scott and executing as:
    SQL> EXECUTE create_synonyms ('abc')
    and got the same:
    cursor is opened.
    rowcount = 0
    end
    PL/SQL procedure succesfuly completed.
    I then connected as user abc and entered:
    SQL> GRANT SELECT ON ABC TO SCOTT;
    Then I connected as scott, set serveroutput on, and executed again as:
    SQL> EXECUTE create_synonyms ('ABC')
    and it worked:
    cursor is opened.
    rowcount = 1
    stmt_str = CREATE SYNONYM ABC FOR ABC.ABC
    rowcount = 1
    end
    PL/SQL procedure successfully completed.
    So, the conclusion is that there is a problem with privileges, probably related to the user executing the procedure and/or the user creating the procedure not having privileges to the tables created by the user that corresponds to the table_owner parameter passed to the procedure.
    This may not be the whole problem as far as permissions, but it is probably part of it.
    null

  • DDL statements and dynamic  sql  in stored procedure

    I created a stored procedure to create and drop tables, using dynamic sql.
    When I try to do the inserts using dynamic sql, i.e
    v_string := 'INSERT statement';
    EXECUTE IMMEDIATE v_string;
    I get the following error message:
    ERROR at line 1:
    ORA-00942: table or view does not exist
    ORA-06512: at line 63
    Line 63 happens to be the line that the EXECUTE IMMEDIATE v_string; statement is in.
    I am able to describe the table that the inserts are being made into, so I know that the table exists.
    Any idea why I'm getting this error message would be appreciated.

    Yes I do and I have been able to create other tables using dynamic sql.
    The table that I am having problems with SELECTs data from another table to get its column values; within the SELECT statement, the CAST function is used:
    ie. CAST(CASE SUBSTR(CAST(E_MOD AS VARCHAR(7)),2,3)
    WHEN 'AAA' THEN 'A55'
    ELSE ............
    I get the following error message:
    ERROR at line 18: (this line starts the CAST statement)
    ORA-06550: line 18, column 13:
    PLS-00103: Encountered the symbol "AAA" when expecting one of the following:
    . ( * @ % & = - + ; < / > at in is mod not rem return
    returning <an exponent (**)> <> or != or ~= >= <= <> and or
    like between into using || bulk
    When I remove the quotes or add another single quote, the same error cascades to 'A55'.
    After doing the same for the next error, I get the error message below:
    ERROR at line 1: (this line has the EXECUTE IMMEDIATE statement)
    ORA-00936: missing expression
    ORA-06512: at line 6
    Any idea what the problem could be?
    Also is there another way to have DDL statements as stored procedures other than using dynamic sql or the DBMS_SQL package?

  • ABAP Import Phase DDL Statement Error

    Hi Experts!
    I am installing SAP Netweaver PI 7.3 EHP1 and encountered an error in the ABAP import phase.
    I checked the import monitor logs and found a clue about SAPVIEW.log.
    I have checked the SAPVIEW.log and found out the following:
    ERROR: DDL statement failed
    ( DROP VIEW "APPL_MODS" )
    dsql_exec_immediate returned DS_DBOBJECTUNKNOWN
    (IMP) INFO: a failed DROP attempt is not necessarily a problem
    (DB) ERROR: DDL statement failed
    ( CREATE VIEW "APPL_MODS" ( "NAME", "TYP", "MEMBER", "DEVCLASS" ) AS SELECT T0001."NAME", T0001."TYP", T0001."MEMBER", T0002."DEVCLASS" FROM "MODSAP" T0001, "MODSAPA" T0002 WHERE T0001."NAME" = T0002."NAME" AND T0002."MIGRATED" <> 'X' )
    dsql_exec_immediate returned DS_DBOBJECTUNKNOWN
    (DB) INFO: disconnected from DB
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: job finished with 1 error(s)
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: END OF LOG:
    Please help!
    Also please let me know if any further detail is required.
    Regards,
    Ayan

    Gaurav,
    Please find the below pasted trace from SAPVIEW.log
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: START OF LOG: 20140823014048
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: sccsid @(#) $Id: //bas/721_REL/src/R3ld/R3load/R3ldmain.c#8 $ SAP
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: version R7.20/V1.6 [UNICODE]
    Compiled Dec  4 2013 12:54:08
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load -ctf I /backup/NW7.3_EHP1/ABAP_Inst_EXP/51043228/DATA_UNITS/EXP3/DATA/SAPVIEW.STR /tmp/sapinst_instdir/NW731/DB6/INSTALL/STD/AS/DDLDB6.TPL SAPVIEW.TSK DB6 -l SAPVIEW.log
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: job completed
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: END OF LOG: 20140823014048
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: START OF LOG: 20140823014048
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: sccsid @(#) $Id: //bas/721_REL/src/R3ld/R3load/R3ldmain.c#8 $ SAP
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: version R7.20/V1.6 [UNICODE]
    Compiled Dec  4 2013 12:54:08
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load -i SAPVIEW.cmd -dbcodepage 4102 -l SAPVIEW.log -stop_on_error -loadprocedure fast LOAD:DEF_CRT
    (DB) INFO: connected to DB
    (SQL) INFO: Searching for SQL file SQLFiles.LST
    (SQL) INFO: SQLFiles.LST not found
    (SQL) INFO: Searching for SQL file /backup/NW7.3_EHP1/ABAP_Inst_EXP/51043228/DATA_UNITS/EXP3/DB/SQLFiles.LST
    (SQL) INFO: /backup/NW7.3_EHP1/ABAP_Inst_EXP/51043228/DATA_UNITS/EXP3/DB/SQLFiles.LST not found
    (SQL) INFO: Searching for SQL file .SQL
    (SQL) INFO: .SQL not found
    (SQL) INFO: Searching for SQL file /backup/NW7.3_EHP1/ABAP_Inst_EXP/51043228/DATA_UNITS/EXP3/DB/DB6/.SQL
    (SQL) INFO: /backup/NW7.3_EHP1/ABAP_Inst_EXP/51043228/DATA_UNITS/EXP3/DB/DB6/.SQL not found
    (DB) INFO: /BI0/MHIER_VERS created #20140823014054
    (DB) INFO: /BI0/RALEAFNODCH created #20140823014054
    (DB) INFO: /BI0/RALEAFNODSP created #20140823014054
    (DB) INFO: /BI0/RBUCKET created #20140823014054
    (DB) INFO: /BI0/RCALMONTH created #20140823014054
    (DB) INFO: /BI0/RCALMONTH2 created #20140823014054
    (DB) INFO: /BI0/RCALQUART1 created #20140823014054
    (DB) INFO: /BI0/RCALQUARTER created #20140823014054
    (DB) INFO: /BI0/RCALWEEK created #20140823014054
    (DB) INFO: /BI0/RCALYEAR created #20140823014054
    (DB) INFO: /BI0/RCHNGID created #20140823014054
    (DB) INFO: /BI0/RCURRENCY created #20140823014054
    (DB) INFO: /BI0/RDATE created #20140823014054
    (DB) INFO: /BI0/RFISCPER created #20140823014054
    (DB) INFO: /BI0/RFISCPER3 created #20140823014054
    (DB) INFO: /BI0/RFISCVARNT created #20140823014054
    (DB) INFO: /BI0/RFISCYEAR created #20140823014054
    (DB) INFO: /BI0/RHALFYEAR1 created #20140823014054
    (DB) INFO: /BI0/RHIENM created #20140823014054
    (DB) INFO: /BI0/RHIER_HIEID created #20140823014054
    (DB) INFO: /BI0/RHIER_NODE created #20140823014054
    (DB) INFO: /BI0/RHIER_VERS created #20140823014054
    (DB) INFO: /BI0/RINFOPROV created #20140823014054
    (DB) INFO: /BI0/RIOBJNM created #20140823014054
    (DB) INFO: /BI0/RLANGU created #20140823014054
    (DB) INFO: /BI0/RLOGSYS created #20140823014054
    (DB) INFO: /BI0/RNODEPOSIT created #20140823014054
    (DB) INFO: /BI0/RNORESTNODE created #20140823014054
    (DB) INFO: /BI0/RRATE_TYPE created #20140823014054
    (DB) INFO: /BI0/RRECORDMODE created #20140823014054
    (DB) INFO: /BI0/RRECORDTP created #20140823014054
    (DB) INFO: /BI0/RREQUID created #20140823014054
    (DB) INFO: /BI0/RSIGNCH created #20140823014054
    (DB) INFO: /BI0/RSOURSYSTEM created #20140823014054
    (DB) INFO: /BI0/RTIME created #20140823014054
    (DB) INFO: /BI0/RTXTLG created #20140823014054
    (DB) INFO: /BI0/RTXTMD created #20140823014054
    (DB) INFO: /BI0/RTXTSH created #20140823014054
    (DB) INFO: /BI0/RUNIT created #20140823014054
    (DB) INFO: /BI0/RWEEKDAY1 created #20140823014054
    (DB) INFO: /BI0/ZBUCKET created #20140823014054
    (DB) INFO: /BI0/ZCALMONTH created #20140823014054
    (DB) INFO: /BI0/ZCALMONTH2 created #20140823014054
    (DB) INFO: /BI0/ZDATE created #20140823014054
    (DB) INFO: /BI0/ZFISCPER created #20140823014055
    (DB) INFO: /BI0/ZHALFYEAR1 created #20140823014055
    (DB) INFO: /BI0/ZINFOPROV created #20140823014055
    (DB) INFO: /BI0/ZIOBJNM created #20140823014055
    (DB) INFO: /GC1/VXXX created #20140823014055
    (DB) INFO: /OSP/V_RAUI_CHRD created #20140823014055
    (DB) INFO: /OSP/V_RAUI_CMVD created #20140823014055
    (DB) INFO: /OSP/V_RAUI_CPVD created #20140823014055
    (DB) INFO: /OSP/V_RAUI_CSED created #20140823014055
    (DB) INFO: /OSP/V_RAUI_DCDB created #20140823014055
    (DB) INFO: /OSP/V_RAUI_GRPD created #20140823014055
    (DB) INFO: /OSP/V_RAUI_MTD created #20140823014055
    (DB) INFO: /OSP/V_RAUI_MVDB created #20140823014055
    (DB) INFO: /OSP/V_RAUI_PBDB created #20140823014055
    (DB) INFO: /OSP/V_RAUI_RDDB created #20140823014055
    (DB) INFO: /OSP/V_RAUI_RFCD created #20140823014055
    (DB) INFO: /OSP/V_RAUI_RMTD created #20140823014055
    (DB) INFO: /OSP/V_RAUI_RTDB created #20140823014055
    (DB) INFO: /OSP/V_RAUI_SCD created #20140823014055
    (DB) INFO: /OSP/V_RAUI_SCHD created #20140823014055
    (DB) INFO: /OSP/V_RAUI_SELD created #20140823014055
    (DB) INFO: /OSP/V_RAUI_TMVD created #20140823014055
    (DB) INFO: /OSP/V_RAUI_TPBD created #20140823014055
    (DB) INFO: /OSP/V_RAUI_TPDB created #20140823014055
    (DB) INFO: /OSP/V_RAUI_TPRD created #20140823014055
    (DB) INFO: /OSP/V_RAUI_TRGD created #20140823014055
    (DB) INFO: /OSP/V_RAUI_VARD created #20140823014055
    (DB) INFO: /SAPAPO/GEWICHT created #20140823014055
    (DB) INFO: /SAPAPO/TRENDAM created #20140823014055
    (DB) INFO: /SAPAPO/VWALPROF created #20140823014055
    (DB) INFO: /SAPPO/FULL_HINT created #20140823014055
    (DB) INFO: /SAPPO/V_PPOCMPL created #20140823014055
    (DB) INFO: /SAPPO/V_PPO_UPD created #20140823014055
    (DB) INFO: /SAPTRX/A_CONDF4 created #20140823014055
    (DB) INFO: /SAPTRX/EE_FLDS created #20140823014055
    (DB) INFO: /SAPTRX/MSG_PARA created #20140823014055
    (DB) INFO: /SAPTRX/MSG_PTAB created #20140823014055
    (DB) INFO: /SAPTRX/STR_FLDS created #20140823014055
    (DB) INFO: /SAPTRX/VDASFEV created #20140823014055
    (DB) INFO: /SAPTRX/VDASFPAR created #20140823014055
    (DB) INFO: /SAPTRX/VD_AOMIL created #20140823014055
    (DB) INFO: /SAPTRX/VD_AOPAC created #20140823014055
    (DB) INFO: /SAPTRX/VD_AOPAE created #20140823014055
    (DB) INFO: /SAPTRX/VD_AOPAI created #20140823014055
    (DB) INFO: /SAPTRX/VD_AOPAR created #20140823014055
    (DB) INFO: /SAPTRX/VD_AOTD1 created #20140823014055
    (DB) INFO: /SAPTRX/VD_AOTD2 created #20140823014055
    (DB) INFO: /SAPTRX/VD_AOTDD created #20140823014055
    (DB) INFO: /SAPTRX/VD_AOTYP created #20140823014055
    (DB) INFO: /SAPTRX/VD_ASPAR created #20140823014055
    (DB) INFO: /SAPTRX/VD_CONDL created #20140823014055
    (DB) INFO: /SAPTRX/VD_EVTD1 created #20140823014055
    (DB) INFO: /SAPTRX/VD_EVTD2 created #20140823014055
    (DB) INFO: /SAPTRX/VD_EVTD3 created #20140823014055
    (DB) INFO: /SAPTRX/VD_EVTD4 created #20140823014055
    (DB) INFO: /SAPTRX/V_AODD02 created #20140823014055
    (DB) INFO: /SAPTRX/V_DD03 created #20140823014055
    (DB) INFO: /SAPTRX/V_DD03X created #20140823014055
    (DB) INFO: /SDF/CMO_OBJ_TR created #20140823014055
    (DB) INFO: /SDF/CMO_SMDCMP created #20140823014056
    (DB) INFO: /SDF/CMO_SMDDVC created #20140823014056
    (DB) INFO: /SDF/CMO_UMDCMP created #20140823014056
    (DB) INFO: /SDF/SMODICOMP created #20140823014056
    (DB) INFO: /SDF/SMODIDEVC created #20140823014056
    (DB) INFO: /SDF/UMOD_COMP created #20140823014056
    (DB) INFO: AKB_TRHD_DETAIL created #20140823014056
    (DB) INFO: ALTEXTHIST created #20140823014056
    (DB) INFO: APPL_DEVC created #20140823014056
    (DB) INFO: APPL_DIAL created #20140823014056
    (DB) INFO: APPL_DOMA created #20140823014056
    (DB) INFO: APPL_DTEL created #20140823014056
    (DB) INFO: APPL_ENQU created #20140823014056
    (DB) INFO: APPL_FUGR created #20140823014056
    (DB) INFO: APPL_FUGRG created #20140823014056
    (DB) INFO: APPL_FUNC created #20140823014056
    (DB) INFO: APPL_INDX created #20140823014056
    (DB) INFO: APPL_MCOB created #20140823014056
    (DB) INFO: APPL_MENU created #20140823014056
    (DB) ERROR: DDL statement failed
    ( CREATE VIEW "APPL_MODS" ( "NAME", "TYP", "MEMBER", "DEVCLASS" ) AS SELECT T0001."NAME", T0001."TYP", T0001."MEMBER", T0002."DEVCLASS" FROM "MODSAP" T0001, "MODSAPA" T0002 WHERE T0001."NAME" = T0002."NAME" AND T0002."MIGRATED" <> 'X' )
    dsql_exec_immediate returned DS_DBOBJECTUNKNOWN
    (DB) INFO: disconnected from DB
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: job finished with 1 error(s)
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: END OF LOG: 20140823014056
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: START OF LOG: 20140823014312
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: sccsid @(#) $Id: //bas/721_REL/src/R3ld/R3load/R3ldmain.c#8 $ SAP
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: version R7.20/V1.6 [UNICODE]
    Compiled Dec  4 2013 12:54:08
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load -i SAPVIEW.cmd -dbcodepage 4102 -l SAPVIEW.log -stop_on_error -loadprocedure fast LOAD:DEF_CRT
    (DB) INFO: connected to DB
    (SQL) INFO: Searching for SQL file SQLFiles.LST
    (SQL) INFO: SQLFiles.LST not found
    (SQL) INFO: Searching for SQL file /backup/NW7.3_EHP1/ABAP_Inst_EXP/51043228/DATA_UNITS/EXP3/DB/SQLFiles.LST
    (SQL) INFO: /backup/NW7.3_EHP1/ABAP_Inst_EXP/51043228/DATA_UNITS/EXP3/DB/SQLFiles.LST not found
    (SQL) INFO: Searching for SQL file .SQL
    (SQL) INFO: .SQL not found
    (SQL) INFO: Searching for SQL file /backup/NW7.3_EHP1/ABAP_Inst_EXP/51043228/DATA_UNITS/EXP3/DB/DB6/.SQL
    (SQL) INFO: /backup/NW7.3_EHP1/ABAP_Inst_EXP/51043228/DATA_UNITS/EXP3/DB/DB6/.SQL not found
    (DB) ERROR: DDL statement failed
    ( DROP VIEW "APPL_MODS" )
    dsql_exec_immediate returned DS_DBOBJECTUNKNOWN
    (IMP) INFO: a failed DROP attempt is not necessarily a problem
    (DB) ERROR: DDL statement failed
    ( CREATE VIEW "APPL_MODS" ( "NAME", "TYP", "MEMBER", "DEVCLASS" ) AS SELECT T0001."NAME", T0001."TYP", T0001."MEMBER", T0002."DEVCLASS" FROM "MODSAP" T0001, "MODSAPA" T0002 WHERE T0001."NAME" = T0002."NAME" AND T0002."MIGRATED" <> 'X' )
    dsql_exec_immediate returned DS_DBOBJECTUNKNOWN
    (DB) INFO: disconnected from DB
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: job finished with 1 error(s)
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: END OF LOG: 20140823014318
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: START OF LOG: 20140823015246
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: sccsid @(#) $Id: //bas/721_REL/src/R3ld/R3load/R3ldmain.c#8 $ SAP
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: version R7.20/V1.6 [UNICODE]
    Compiled Dec  4 2013 12:54:08
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load -i SAPVIEW.cmd -dbcodepage 4102 -l SAPVIEW.log -stop_on_error -loadprocedure fast LOAD:DEF_CRT
    (DB) INFO: connected to DB
    (SQL) INFO: Searching for SQL file SQLFiles.LST
    (SQL) INFO: SQLFiles.LST not found
    (SQL) INFO: Searching for SQL file /backup/NW7.3_EHP1/ABAP_Inst_EXP/51043228/DATA_UNITS/EXP3/DB/SQLFiles.LST
    (SQL) INFO: /backup/NW7.3_EHP1/ABAP_Inst_EXP/51043228/DATA_UNITS/EXP3/DB/SQLFiles.LST not found
    (SQL) INFO: Searching for SQL file .SQL
    (SQL) INFO: .SQL not found
    (SQL) INFO: Searching for SQL file /backup/NW7.3_EHP1/ABAP_Inst_EXP/51043228/DATA_UNITS/EXP3/DB/DB6/.SQL
    (SQL) INFO: /backup/NW7.3_EHP1/ABAP_Inst_EXP/51043228/DATA_UNITS/EXP3/DB/DB6/.SQL not found
    (DB) ERROR: DDL statement failed
    ( DROP VIEW "APPL_MODS" )
    dsql_exec_immediate returned DS_DBOBJECTUNKNOWN
    (IMP) INFO: a failed DROP attempt is not necessarily a problem
    (DB) ERROR: DDL statement failed
    ( CREATE VIEW "APPL_MODS" ( "NAME", "TYP", "MEMBER", "DEVCLASS" ) AS SELECT T0001."NAME", T0001."TYP", T0001."MEMBER", T0002."DEVCLASS" FROM "MODSAP" T0001, "MODSAPA" T0002 WHERE T0001."NAME" = T0002."NAME" AND T0002."MIGRATED" <> 'X' )
    dsql_exec_immediate returned DS_DBOBJECTUNKNOWN
    (DB) INFO: disconnected from DB
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: job finished with 1 error(s)
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: END OF LOG: 20140823015250
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: START OF LOG: 20140825011924
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: sccsid @(#) $Id: //bas/721_REL/src/R3ld/R3load/R3ldmain.c#8 $ SAP
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: version R7.20/V1.6 [UNICODE]
    Compiled Dec  4 2013 12:54:08
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load -i SAPVIEW.cmd -dbcodepage 4102 -l SAPVIEW.log -stop_on_error -loadprocedure fast LOAD:DEF_CRT
    (DB) INFO: connected to DB
    (SQL) INFO: Searching for SQL file SQLFiles.LST
    (SQL) INFO: SQLFiles.LST not found
    (SQL) INFO: Searching for SQL file /backup/NW7.3_EHP1/ABAP_Inst_EXP/51043228/DATA_UNITS/EXP3/DB/SQLFiles.LST
    (SQL) INFO: /backup/NW7.3_EHP1/ABAP_Inst_EXP/51043228/DATA_UNITS/EXP3/DB/SQLFiles.LST not found
    (SQL) INFO: Searching for SQL file .SQL
    (SQL) INFO: .SQL not found
    (SQL) INFO: Searching for SQL file /backup/NW7.3_EHP1/ABAP_Inst_EXP/51043228/DATA_UNITS/EXP3/DB/DB6/.SQL
    (SQL) INFO: /backup/NW7.3_EHP1/ABAP_Inst_EXP/51043228/DATA_UNITS/EXP3/DB/DB6/.SQL not found
    (DB) ERROR: DDL statement failed
    ( DROP VIEW "APPL_MODS" )
    dsql_exec_immediate returned DS_DBOBJECTUNKNOWN
    (IMP) INFO: a failed DROP attempt is not necessarily a problem
    (DB) ERROR: DDL statement failed
    ( CREATE VIEW "APPL_MODS" ( "NAME", "TYP", "MEMBER", "DEVCLASS" ) AS SELECT T0001."NAME", T0001."TYP", T0001."MEMBER", T0002."DEVCLASS" FROM "MODSAP" T0001, "MODSAPA" T0002 WHERE T0001."NAME" = T0002."NAME" AND T0002."MIGRATED" <> 'X' )
    dsql_exec_immediate returned DS_DBOBJECTUNKNOWN
    (DB) INFO: disconnected from DB
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: job finished with 1 error(s)
    /usr/sap/PID/SYS/exe/uc/rs6000_64/R3load: END OF LOG: 20140825011937
    Please look into this..
    Regards,
    Ayan

  • Difference B/w all DDL statements in Oracle 8i and 9i

    Where can i get the difference between all the DDL statements between oracle 8i and 9i.If anyone has this pls ..post it..

    What is your national character set? What is NLS_LENGTH_SEMANTICS set to?
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Executing multiple DDL statements with OracleCommand

    hi..
    im having trouble executing multiple ddl statements with the the oracle command object. i have tried to enclose them within Begin.. End; block but with no use.
    this problem seems to occur only with DDL statements,.. as my DML like update, delete and Inserts seem to work fine when enclosed within the PL /SQL block.
    single DDL statements also seem to work fine. so im guessing this has nothing to do with priviledges. any ideas?
    my code as follows
    OracleCommand command = new OracleCommand();
    command.CommandType = CommandType.Text;
    command.CommandText = string.Format(@"{0}",script);
    conn.Open();
    command.Connection = conn;
    command.ExecuteNonQuery();
    the script is read from a file, and looks like this. (note : i have removed any line breaks or any other characters)
    BEGIN ALTER TABLE SYSTEMUSER DISABLE CONSTRAINT FK_USER_CLIENT; ALTER TRIGGER SET_SUBSCRIPTION_SUB_I DISABLE; END;
    this is the error i get.
    Oracle.DataAccess.Client.OracleException: ORA-06550: line 1, column 7:
    PLS-00103: Encountered the symbol "ALTER" when expecting one of the following:
    begin case declare exit for goto if loop mod null pragma
    raise return select update while with <an identifier>
    <a double-quoted delimited-identifier> <a bind variable> <<
    close current delete fetch lock insert open rollback
    savepoint set sql execute commit forall merge pipe.

    If I'm not mistaken, we're not allowed to issue DDL inside anonymoue block (or stored procedure) since DDL has implicit commit in it. But you still can execute DDL using EXECUTE IMMEDIATE or using DBMS_SQL package. Try changing your CommandText like this,
    BEGIN
       EXECUTE IMMEDIATE 'ALTER TABLE SYSTEMUSER DISABLE CONSTRAINT FK_USER_CLIENT';
       EXECUTE IMMEDIATE 'ALTER TRIGGER SET_SUBSCRIPTION_SUB_I DISABLE';
    END;Hope this helps,
    [Nur Hidayat|http://nur-hidayat.net/]

  • DDL statements in Graphic builder 6i

    Hi.
    Is there possibility to perform DDL statements in Graphic builder 6i? Something like FORM_DDL in Forms and SRW.DO_SQL in Reports.
    I want to set role. Report has own statement SET_ROLE.
    Our application use classic security model: User has granted only LOGIN privilege by default. After login application sets roles for reading, writing, deleting to DB. Same Reports do. But in Graphic builder I can't.

    May I can use OG library and OG.Interpret command. :o)

  • 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

Maybe you are looking for

  • How to change the icon of coffee on the titile bar

    Hi! I am having this problem that how to change the icon of coffee on the titile bar if someone know how please respond Asif

  • [Solved but not completely] New install with Kde 4.7 Full

    Is kde 4.7 a bit heavy ?  I have the proper ATI drivers installed which I used on all my distros.  This is the first time I am using  4.7. Last edited by Zulfikar (2012-01-25 06:49:06)

  • Can you layer a Microsoft shape onto an image in Photoshop and change the color???

    I'm using OS X Yosemite 10-10-1, Photoshop CC, 2014.2.1. I uploaded a shape from Word Office 2011 and layered it over my image. The symbol is blue and I want to change the color in Photoshop. I've tried but can't seem to figure out how it's done. The

  • Photo DJ and video DJ

    Hie all, I want a Photo editing software called Photo DJ and a Video editing software called Video DJ for my nokia n73 and If possible; I also need a sound editing software called Audio DJ. Is there any photo editor, video editor and audio editor for

  • Deleting Programs

    Recently purchased new Macbook Pro. Also purchased iWork. Old Macbook (damaged) hd transferred, along with Microsoft Office. No longer want Microsoft Office, thus deleted. Microsoft AutoUpdate will not delete, displaying error of "Microsoft AU Daemon