ORA-20505: Error in DML - Version of data in db has changed

Hello,
Application Express 3.1.0.00.32
I have created a Report and Master Detail in the Sample Application on oracle.application.com. I am receiving an error on my Master Detail Form when clicking the <Previous and Next> buttons. I have viewed other issues like this in the forum but, it looks like everyone is a little different. Can anyone assist me with this error when browsing to the next record(s). Thanks in advance.
ORA-20505: Error in DML: p_rowid=6, p_alt_rowid=CUSTOMER_ID, p_rowid2=, p_alt_rowid2=. ORA-20503: Current version of data in database has changed since user initiated update process. current checksum = "E9A08EDC02A82871E6865DB254B09ED2" application checksum = "39454529513F24BE60C167752BF71750"
I created another Master Detail page and I do not have any errors when scrolling using <> buttons. Here is a process that may be causing my error using the original Master Detail page.
DECLARE
CUSTOMER_ID VARCHAR(20);
BEGIN
SELECT CUSTOMER_ID INTO :P21_CUSTOMER_ID
FROM DEMO_CUSTOMERS
WHERE CUST_FIRST_NAME = :P21_CUST_FIRST_NAME;
-- processing here
EXCEPTION
  -- Catches all 'no data found' errors
   WHEN NO_DATA_FOUND THEN
     DBMS_OUTPUT.PUT_LINE
       ('No Data found for SEARCH on ' || CUSTOMER_ID);
END;Edited by: Charles A on Apr 30, 2009 11:40 AM

Hi Charles,
I've had a look at your page 21.
The problem was that the "Fetch Values 2" process was not conditional and was running in the "On Load - Before Header" process point. This meant that it was being run every time the page was being loaded. This process checks for the CUSTOMER_ID relating to the value in P21_CUST_FIRST_NAME which, because the "Fetch Row..." process hasn't been run at that point (it runs "On Load - After Header"), will always return the same CUSTOMER_ID value from when the page was first loaded. The Next/Previous buttons, however, moved the P21_CUSTOMER_ID forward/back one value (this became apparent when this field was changed from "Hidden and Protected" to "Text"). As a result, the data on the page was for "Albert" but the CUSTOMER_ID value was for whatever record was next/previous to the Albert one. Thus, moving next/previous always caused a mix of the actual data.
I have changed the "Fetch Values 2" process to be conditional on P21_CUSTOMER_ID being NULL. This way, the CUSTOMER_ID value is ONLY found by code when the page is first loaded. Thereafter, it is controlled by the Next/Previous functionality.
Andy

Similar Messages

  • Tabular form Update Error,"Current version of data in database has changed

    I'm getting an error when updating a Apex Tabular form. It's complaining that the row id's are out-of-sync. The error reads,' Current version of data in database has changed since user initiated update process. current row version identifier = "56DW5A8A7EBA3B42073AE6E71480A784" application row version identifier = "99B52A15F10E34647E9E18B6B7AE8C30" .
    Has anyone received this error? Any solutions? Note that the primary is being populated by a trigger. I have another tabular form for a different application that updates without issue, this however, uses a sequence to update the primary key.
    Thanks,
    James

    Make sure that the form is defined such that it "knows" that the PK is being set by a trigger. Do not try to set it in the form if the trigger is doing it. Pretty much if a trigger attempt to modify any column that also was editable (including hidden columns) in the form, the two will conflict.
    The other issue could be that do you have any items on the rows that are disabled? Disabled items are not sent to session state so Apex won't be able to properly compute the checksum and it'll find a discrepancy.

  • ORA-20503: Current version of data in database has changed since user initi

    Hi,
    I am getting the below error when I try to update an existing record.
    "ORA-20505: Error in DML: p_rowid=11887, p_alt_rowid=CASE_ID, p_rowid2=, p_alt_rowid2=. ORA-20503: Current version of data in database has changed since user initiated update process. current checksum = "7EB7B6F69DB421184B4CEE0884E435C6" application checksum = "53106AB0EB97FD1442D85F2AAE3AFA69"
    Error Unable to process row of table "
    And this does not happen always. IT happens once in a while and I am unable to check what is causing the issue. It is a critical issue and need to be fixed asap.
    Any help is greatly appreciated!
    Thanks!
    Kavya

    We are using Apex version: 3.1.2.00.02
    What else could be the reason and how should I fix it?
    At this point the application is migrated and I am unable to write a custom package for the DML operations. And this issue happens randomly and that too only while updating the data.
    Please help!

  • MRU Error : Current version of data in database has changed since user init

    When i use HTMLDB Wizard to create Master Detail Form
    (You can see step by step what i doing by see this url :
    http://jroller.com/resources/w/wildan83/MRU%20Error.pdf
    The is error in MRU :
    Error in mru internal routine: ORA-20001: Error in MRU: row= 1, ORA-20001: ORA-20001: Current version of data in database has changed since user initiated update process. current checksum = "A884FA378C851786DDFE3A33709CB23C", item checksum = "0EEFFABE8252B0B279DB14A77F567F5D"., update "CNAP2"."ENROLLMENT" set "STUDENT_ID" = :b1, "SECTION_ID" = :b2, "ENROLL_DATE" = :b3, "FINAL_GRADE" = :b4.
    If there something missing.., just say ..
    Thanks for the help.

    Oh i see ..,i never think if that is the source of the MRU
    error.
    Ok ..,
    Now ..., i have new question .., how can i change so the the primay key in detail table (enrollment table), i have one primary key with two columns .., if you don't understand what i mean ..,
    check this alter table statement :
    ALTER TABLE ENROLLMENT
    ADD CONSTRAINT ENR_PK PRIMARY KEY
    (STUDENT_ID
    ,SECTION_ID) ;
    Now the question is .., when i using wizard to create master detail form .., html db automatically make student_id and section_id as the primary at "application level (html db)" .., how can i change this behaviour ..,
    i want the html db not treat this two column as primary key ?
    Do i have to create master detail form manually to accomplish this ?
    Thanks before .., sorry if my english is not too good.

  • ORA-20001: Current version of data in database has changed since user.....

    Hi,
    I am having a tabular form which I created using the wizard
    I am facing the below error when I try to update or 'Add Row'
    Error in mru internal routine: ORA-20001: Error in MRU: row= 1, ORA-20001: ORA-20001: Current version of data in database has changed since user initiated update process."
    I havenot changed the query but I made certain columns based on select list,gave some default values,etc..
    How can I solve this problem?
    Also,I am getting the above error once I change the query for another tabular form.The client wanted some more fields to be displayed on the page.
    How can I solve this problem too?
    Thanks and Regards,
    K.tanna

    Can somebody help me out?

  • APEX Error: Current version of data in database has changed since user init

    Hi:
    APEX 4.1
    I have a page with 2 regions. The first region is built with custom SQL using the APEX APIs. I have a process the can successfully update records.
    I built the second region with the tabular form wizard. This created the multi row update process.
    I created a region button and the two process respond to that button: process for first region, then process for the second region.
    When I add data to the second region and click the region button, I get the following error:
    Current version of data in database has changed since user initiated update process. current row version identifier = "A884FA378C851786DDFE3A33709CB23C" application row version identifier = "9ED06A0F09F80F054AB781CA24CC4CBF"
    I know it has something to do with these two types of regions being on the same page, because when I create a page of just the table form, the data is updated.
    Can anyone suggest what I might be doing wrong?
    Thanks.

    Hello
    If you try update the same data from 2 places you will got this message because:
    Apex forms have locking mechanism.
    1. During fetch data to form apex calculate checksum from every items on the forms.
    2. Before update process apex again fetch data from database (in background) and calculate checksum again if checksum from point 1 is the same like this checksum APEX realy update data with new item values. If no, You will got your error (apex secure You, You realy don't know what you update).
    According this if you change data which you use in the form between 1 and 2 point you will got this "error". You can check it for example if you change data from SQL/Plus or from other form.
    Probably you forget about this locking mechanism during designe your process from APEX API <- successfully update records (maybe successful but you don't know what you updated) : )
    If I helped You please check correct or helpful :)

  • TABULAR FORM UPDATE ERROR CURRENT VERSION OF DATA IN DB HAS CHANGED...!

    Hi all Experts on Apex 423 and Oracle xe 11g r2...
    I'm getting a systematic error when updating a Apex Tabular form : the Oracle internal engine complaining that the row ID's are out of syncr?  I'm use ROWID instead of ID  ( trigger has been created but I think should not used ...!)
    Any advise.
    remark:  The  SIMPLE DATA APPLICATION has the same issue when trying to update the QUANTITY field on ORDERS... STRANGE NOT?
    MFOConsulting  Switzerland
    [email protected]

    Hi All Apex Experts,
    Détails  with Détails records  in a TABULAR FORM .
    I tranformed this program Master-Détails with Détails records  in FORM ( not tabular)  and this  error message is no more displayed on the screen.!!
    CONCLUSION:   there is a   SERIUOS  BUG in Apex 423.00.08   and 424.00.008!!
    I hope that People in Oracle Corporation is  working on this bug. and the next release of  Apex 5.0 will correct it.
    PS:   The SIMPLE DATA BASE installed   with any version of Apex... display this MSg .( update ORDERS  quantity of items and you recieve thiS fanny message!
    MFOConsulting Switzerland

  • Ora-01466 unable to read data table definition has changed oracle.

    hi all,
    i truncated a table before 10 min. now i want the data's so i used this query ;
    select *
    from ( select *
    from sometable where some_condition )
    as of timestamp sysdate-1;
    but it shows:
    """ ora-01466 unable to read data table definition has changed oracle"""";
    how to get the deleted records from database????????????
    Edited by: 887268 on Oct 24, 2011 4:02 AM

    Error:  ORA 1466
    Text:   unable to read data -- object definition has changed
    Cause:  This is a time-based read consistency error for a database object,
            such as a table or index.
            Either of the following may have happened:
            The query was parsed and executed with a snapshot older than the time
            the object was changed.
            The creation time-stamp of the object is greater than the current
            system time.
            This happens, for example, when the system time is set to a time
            earlier than the creation time of the object.
    Action: If the cause is
            an old snapshot, then commit or rollback the transaction and resume
            work.
            a creation time-stamp in the future, ensure the system time is set
            correctly.
            If the object creation time-stamp is still greater than the system
            time, then export the object's data, drop the object, recreate the
            object so it has a new creation time-stamp, import the object's data,
            and resume work.

  • Deleted Rows Flashback : unable to read data - table definition has changed

    Hi All,
    Its Really Important.
    I Unfortunately truncated a table using
    Trancate table mytable;
    and Made a alter table to decrease data pricision length.
    But i Need the tabla data back,
    i used the below command to get deleted rows, it shows error.
    query : select * from pol_tot versions between timestamp systimestamp-1 and systimestamp;
    error : ORA-01466: unable to read data - table definition has changed
    query : flashback table pol_tot to timestamp systimestamp - interval '45' minute;
    error : ORA-01466: unable to read data - table definition has changed
    Kindly Share your ideas How Can i Get thoose Deleted Records.
    Edited by: 887268 on Jul 8, 2012 12:26 AM

    BluShadow wrote:
    Khayyam wrote:
    Flashback dont works after DDL. Truncate command is DDL. Only recover from backup can help.Please don't spread untrue statements.Working of flashback after Drop command is so clear to say. I mean such DDL commands as CREATE, ALTER, TRUNCATE and so on...
    "Remember that DDLs that alter the structure of a table (such as drop/modify column, move table, drop partition, truncate table/partition, and add constraint) invalidate any existing undo data for the table. If you try to retrieve data from a time before such a DDL executed, you will get error ORA-1466. DDL operations that alter the storage attributes of a table (such as PCTFREE, INITRANS, and MAXTRANS) do not invalidate undo data."
    [http://docs.oracle.com/cd/B28359_01/appdev.111/b28424/adfns_flashback.htm#BJFJHDAG]

  • I bought my i pod touch from us but i live in india .i have been using this from many days fr just a few days before something went wrong with it and the date and time has changed what do i do?

    i bought my i pod touch from us but i live in india .i have been using this from many days fr just a few days before something went wrong with it and the date and time has changed what do i do?

    Have you went to Settings>General Time&Date and correct the time.  Make sure the time zone is correct too.  Also go to Settings>General>Inernational and make sure the Gergorian calender is selected.

  • ORA-01552 Error when trying to import data

    I get the following error when trying to import data into my database. My version is as follows:
    Oracle9i Enterprise Edition Release 9.2.0.6.0 - Production
    PL/SQL Release 9.2.0.6.0 - Production
    CORE 9.2.0.6.0 Production
    TNS for Solaris: Version 9.2.0.6.0 - Production
    NLSRTL Version 9.2.0.6.0 - Production
    and I get the following error:
    ORA-01552: cannot use system rollback segment for non-system tablespace
    Any help would be appreciated.
    Also when I upgraded my database I received the following error message but continued without fixing:
    Warnings Ignored: Your database is using US7ASCII as the NCHAR type. In Oracle9i, the NCHAR datatypes (NCHAR, NVARCHAR2, and NCLOB) are limited to the Unicode character set encoding (UTF8 AND AL16UTF16) only. Refer to the Oracle 9i Database Upgrade Guide to change NCHAR columns in user tables to one of the supported types.
    Can I fix this via an sql statement or what?

    Hi, i think that the problem is around the rollback segments.The solution is bring other rollback segments ONLINE state, if not exist others rollbackup,then you need create the other rollback segments and bring online state.
    If you need more information, you will must see the next DOC-ID on Metalink site,
    Note:121971.1
    Luck.
    Have a good day.
    Regards.

  • Error:  A newer version of data type was found than one required

    Hi Experts,
    we made a changes to a table and then transported the table to the quality system. But a program which is referring to this table, results in dump with the below error message.
    Error Message>>>>>>>>>>" A newer version of data type <TABLE> was found than one required "
    The issue occures inspite of
    1. re-activated the table and send to quality system
    2. Re-activated the program
    3. Activated and adjusted database in SE14.
    Please let me know the correction to be taken to resolve the issue.
    Regards
    Suresh Kumar

    This happens when you modify your new data element, domain while another program is currently using it.
    Simply get out completely of the program, re activate the program, reactivate the table. You might need to run se14 to convert the database table but this does not happen frequently. Try first to reactivate the program
    Dean
    Edited by: Dean Ton on Mar 8, 2012 9:54 PM
    Edited by: Dean Ton on Mar 8, 2012 9:56 PM

  • I get an error:"Unable to sync. Your sync key has changed" But I simply type in the old key and it starts woring again

    When Firefox starts I get an error : Sync encountered an error. An unknown error has occurred. when I go to sync preferences it says your sync key has changed. When in the update key dialog I simply type the old key it accepts it ans again starts syncing as if nothing had happened.

    hello, when this is happening after you've already updated firefox with your admin account, try to delete the ''updates'' folder and ''active-update.xml & updates.xml'' within the %localappdata% folder of your restricted account like it is described in http://kb.mozillazine.org/Software_Update#Software_Update_not_working_properly

  • Date Picker Size Has Changed

    Recently the size of our data pickers has changed. The length of the date picker is now the size of the window.
    Has anybody else experienced this and how did you resolve it.
    Cheers
    Gus

    Hi Gus,
    Did you recently just upgrade APEX? Or perhaps did you include some custom CSS (which is overriding the CSS for the date picker)?
    Or perhaps have you upgraded your browser (or switched to a new browser)?
    Things don't just change for no reason ;)
    John.
    Blog: http://jes.blogs.shellprompt.net
    Work: http://www.apex-evangelists.com
    Author of Pro Application Express: http://tinyurl.com/3gu7cd

  • Getting ORA-24801: error when reading a CLOB data using BufferReader

    I am getting the "ORA-24801: illegal parameter value in OCI lob function", when reading a CLOB using a BufferedReader, i am using "oracle.jdbc.OracleDriver" for creating a connection pool and using Oracle 9.2.0.7 with Weblogic 8.1 SP 5. My code looks like this,
    oracle.sql.CLOB c_lob = null;
    c_lob = ( oracle.sql.CLOB)stmt.getClob(7);
    BufferedReader in1 = new BufferedReader(c_lob.getCharacterStream());
    char buffer[] = new char[1];
    int i;
    while((i = in1.read(buffer)) != -1)
    The error is coming at "in1.read(buffer)".

    Hi,
    Your buffer size should be the clob size.
    char[] buffer = new char[c_lob.getBufferSize()];
    Also, set the value for i as -1.
    You could see the sample on OTN for help:
    http://www.oracle.com/technology/sample_code/tech/java/sqlj_jdbc/files/advanced/LOBSample/Readme.html
    Thanks,
    Rashmi

Maybe you are looking for