Error on DML

Hello xperts,
I keep getting this error on screen everytime I try to update information on database.
ORA-20001: Error on DML: p_rowid=22, p_alt_rowid=ID, p_rowid2=, p_alt_rowid2=.
There is something wrong with the page definition, but I searched everywhere and I can't find it.
On both 'Automated Row Fecth' and 'Automatic Row Processing (DML) ' process definition of Page 4
at 'Source: Automatic Row Processing (DML)'
field 'Item containing Primary Key Column Value'
If I click the field right arrow to see page items, nothing is shown. The indicated table and table owner are correct. I typed in P4_CPFNOME which contains the PK in this page, but it doesn't seem to recognize it. DML fetch mode is 'Set to memory cache on fecth'.
I have tried recreating the page from scratch, copying it from one that works and checking every the page definition items but I get nothing.
How error presents:
Page 3 (report page) retrieves users with the email field not null on the table.
On this page the button 'New' leads to a Page 4 (form page) for entering the e-mail information.
On Page 4 there is a select field for picking up one from those users with the email field null on the table. This LoV returns the ID code of the record (primary key).
Once the information has been entered and 'Save' button (update action) is pressed, the error bumps.
Appreciatte any clue of where the error might be found.
Many thanks,
Edited by: user12088893 on Oct 23, 2009 6:21 AM
Edited by: user12088893 on Oct 23, 2009 6:25 AM

Thanks for the tip!
In any case, I found the problem. Just for the record, Page Items were defined as static instead of DB_Column.
Tks

Similar Messages

  • 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

  • DML Error logging for Update statement

    Hello,
    I am facing a problem with regard to DML Error logging with Update statement .
    oracle : 10.2
    I am executing following DML update:
    BEGIN
    UPDATE
    table_1  a
    SET a.Exp_DATE =a.EFF_DATE
    WHERE  a.col_a1 != (SELECT b.colb1
                         FROM table_2  b
                         WHERE  a.msisdn =b.msisdn )
    LOG ERRORS INTO table_1_ERR REJECT LIMIT UNLIMITED;                        
    END ;    I was expecting that "ORA-01427: single-row subquery returns more than one row" would be captured in LOG error table "table_1_err"
    but instead I got run time error and whole dml was rolled back.
    Please let me know whether this exception is not captured by DML error logging.
    Thanks,
    Abhishek

    *Oracle logs the following errors during DML operations:** Column values that are too large.
    * Constraint violations (NOT NULL, unique, referential, and check constraints).
    * Errors raised during trigger execution.
    * Errors resulting from type conversion between a column in a subquery and the corresponding column of the table.
    * Partition mapping errors.
    >
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14223/transform.htm#sthref777

  • DML Process Row Error

    I have a data-entry page that I created using the Page with Form component wizard. It is suddenly not working. As far as I can tell is that it started after I changed the process Success message in the 'Process Row of ...' process that was automatically created when I created the page. I have duplicated the error on another page by changing the process Success message and saving.
    The table is in a schema outside of the HTMLDB schema. When I created the page I chose the schema name and table. However when I look at the process, it is showing a different schema for the owner. When I look at the debug statements, the page is erroring out after
    0.10: ...DML_PROCESS_ROW (AFTER_SUBMIT) #OWNER#:TPM_PROJECTS:P30_PROJECT_ID:PROJECT_ID|IU
    before the error started, it was processing this as:
    0.10: ...DML_PROCESS_ROW (AFTER_SUBMIT)
    XXTPM:TPM_PROJECTS:P30_PROJECT_ID:PROJECT_ID|IU
    In the Owner drop-down for this process, it only shows MARVEL schema so I cannot change it to my schema. Is there any way to fix the error? For the time, I'm going to make my own process, but I wondered if this was the correct behavior....
    I'm in 1.6 and the error I receive after making the Success message change to the process is:
    ORA-20001: Error in DML: p_rowid=17, p_alt_rowid=PROJECT_ID, p_rowid2=, p_alt_rowid2=. ORA-06550: line 1, column 17: PL/SQL: ORA-00936: missing expression ORA-06550: line 1, column 9: PL/SQL: SQL Statement ignored
    Thanks, Janel

    Janel,
    Sounds like you have a schema named MARVEL that you are using as your application's parsing schema but your app also references objects in other schemas. Note that MARVEL is not the HTML DB schema, it's all yours. In 1.6.1, we fixed some problems related to the symptoms you described. I suggest that you apply that patch and recreate any processes that reference objects outside the application's parsing schema.
    Scott

  • Error while adding a record

    I am getting the following error while adding record into the table CM_RECIPE_ITEM :
    <h4> Error </h4>
    ORA-20505: Error in DML: p_rowid=626, p_alt_rowid=CRI_ID, p_rowid2=, p_alt_rowid2=. ORA-01410: invalid ROWID ORA-06512: at "COSTMAN.CM_RECIPE_ITEM_T3_AFTER", line 11 ORA-04088: error during execution of trigger 'COSTMAN.CM_RECIPE_ITEM_T3_AFTER'
         Error      Unable to process row of table CM_RECIPE_ITEM.
    Kindly suggest if the problem is because of the Global temporary table or the triggers given below. Also suggest the solution.
    Thanking You,
    Yogesh
    <h4> CM_RECIPE_ITEM Table </h4>
    CRI_ID------CRI_CR_ID--------CRI_BOM_CODE--------CRI_CIFG_CODE---------CRI_CIRM_CODE--------CRI_SEQ--------CRI_QTY--------CRI_RM_COST
    625----------464-----------------PRODUCT3001----------FG003----------------------10---------------------------1-------------------60-----------------10
    626----------464-----------------PRODUCT3001----------FG003----------------------12---------------------------2-------------------40------------------10
    <h4>Global temporary table</h4>
    DROP TABLE COSTMAN.INTERIM CASCADE CONSTRAINTS;
    CREATE GLOBAL TEMPORARY TABLE COSTMAN.INTERIM
    ROW_ID ROWID
    ON COMMIT PRESERVE ROWS
    NOCACHE;
    CREATE OR REPLACE TRIGGER COSTMAN."CM_RECIPE_ITEM_T3"
    BEFORE INSERT OR UPDATE ON "CM_RECIPE_ITEM" FOR EACH ROW
    BEGIN
    INSERT INTO interim VALUES (:new.rowid);
    END;
    <h4>Trigger to update data on CM_RECIPE table </h4>
    CREATE OR REPLACE TRIGGER COSTMAN."CM_RECIPE_ITEM_T3_AFTER"
    AFTER INSERT OR UPDATE ON "CM_RECIPE_ITEM"
    BEGIN
    FOR ds IN (SELECT row_id FROM interim) LOOP
    UPDATE CM_RECIPE
    SET CR_RMC = (
    SELECT SUM(CRI_QTY * CRI_RM_COST)/SUM(CR_QUANTITY)
    FROM CM_RECIPE_ITEM
    WHERE CRI_BOM_CODE = CR_BOM_CODE
    AND rowid = ds.row_id
    UPDATE CM_RECIPE
    SET CR_TOTAL_COST = (
    SELECT CIFG_PACKING + CIFG_OVERHEAD +CIFG_OTHERS
    FROM CM_ITEM_FG
    WHERE CIFG_CODE = CR_CIFG_CODE
    AND rowid = ds.row_id
    ) + CR_RMC;
    UPDATE CM_RECIPE
    SET CR_GROSS_MARGIN =
    (SELECT CIFG_DP_RATE
    FROM CM_ITEM_FG
    WHERE CIFG_CODE = CR_CIFG_CODE
    AND rowid = ds.row_id) - CR_TOTAL_COST) / CR_TOTAL_COST;
    END LOOP;
    END;
    /

    The scripts of the tables CM_ITEM_FG, CM_RECIPE, CM_RECIPE_ITEM are as follows :
    <h4>CM_ITEM_FG</h4>
    ALTER TABLE COSTMAN.CM_ITEM_FG
    DROP PRIMARY KEY CASCADE;
    DROP TABLE COSTMAN.CM_ITEM_FG CASCADE CONSTRAINTS;
    CREATE TABLE COSTMAN.CM_ITEM_FG
    CIFG_CODE VARCHAR2(13 BYTE) NOT NULL,
    CIFG_CCG_ID NUMBER NOT NULL,
    CIFG_NAME VARCHAR2(50 BYTE) NOT NULL,
    CIFG_PACKING NUMBER NOT NULL,
    CIFG_OVERHEAD NUMBER NOT NULL,
    CIFG_OTHERS NUMBER NOT NULL,
    CIFG_DP_RATE NUMBER NOT NULL,
    CIFG_CR_BY VARCHAR2(32 BYTE),
    CIFG_CR_ON DATE,
    CIFG_UPD_BY VARCHAR2(32 BYTE),
    CIFG_UPD_ON DATE
    TABLESPACE COST_MANAGER
    PCTUSED 0
    PCTFREE 10
    INITRANS 1
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS UNLIMITED
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    LOGGING
    NOCOMPRESS
    NOCACHE
    NOPARALLEL
    MONITORING;
    CREATE UNIQUE INDEX COSTMAN.CM_ITEM_FG_PK_001 ON COSTMAN.CM_ITEM_FG
    (CIFG_CODE, CIFG_CCG_ID)
    LOGGING
    TABLESPACE COST_MANAGER
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS UNLIMITED
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    NOPARALLEL;
    CREATE UNIQUE INDEX COSTMAN.CM_ITEM_FG_UK_001 ON COSTMAN.CM_ITEM_FG
    (CIFG_CODE)
    LOGGING
    TABLESPACE COST_MANAGER
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS UNLIMITED
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    NOPARALLEL;
    CREATE OR REPLACE TRIGGER COSTMAN."CM_ITEM_FG_T1"
    BEFORE UPDATE ON "CM_ITEM_FG"
    FOR EACH ROW
    BEGIN
    BEGIN
    UPDATE CM_RECIPE
    SET CR_TOTAL_COST = (CR_RMC + :NEW.CIFG_PACKING + :NEW.CIFG_OVERHEAD + :NEW.CIFG_OTHERS);
    END;
    BEGIN
    UPDATE CM_RECIPE
    SET CR_GROSS_MARGIN = (:NEW.CIFG_DP_RATE - CR_TOTAL_COST) / CR_TOTAL_COST;
    END;
    END;
    ALTER TABLE COSTMAN.CM_ITEM_FG ADD (
    CONSTRAINT CM_ITEM_FG_PK_001
    PRIMARY KEY
    (CIFG_CODE, CIFG_CCG_ID)
    USING INDEX
    TABLESPACE COST_MANAGER
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS UNLIMITED
    PCTINCREASE 0
    CONSTRAINT CM_ITEM_FG_UK_001
    UNIQUE (CIFG_CODE)
    USING INDEX
    TABLESPACE COST_MANAGER
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS UNLIMITED
    PCTINCREASE 0
    ALTER TABLE COSTMAN.CM_ITEM_FG ADD (
    CONSTRAINT CM_ITEM_FG_FK_001
    FOREIGN KEY (CIFG_CCG_ID)
    REFERENCES COSTMAN.CM_COST_GROUP (CCG_ID));
    <h4>CM_RECIPE</H4>
    ALTER TABLE COSTMAN.CM_RECIPE
    DROP PRIMARY KEY CASCADE;
    DROP TABLE COSTMAN.CM_RECIPE CASCADE CONSTRAINTS;
    CREATE TABLE COSTMAN.CM_RECIPE
    CR_ID NUMBER NOT NULL,
    CR_CCG_ID NUMBER,
    CR_EFF_FROM DATE,
    CR_CIFG_CODE VARCHAR2(10 BYTE) NOT NULL,
    CR_BOM_CODE VARCHAR2(50 BYTE),
    CR_QUANTITY NUMBER,
    CR_RMC NUMBER,
    CR_TOTAL_COST NUMBER,
    CR_GROSS_MARGIN NUMBER,
    CR_CR_BY VARCHAR2(32 BYTE),
    CR_CR_ON DATE,
    CR_UPD_BY VARCHAR2(32 BYTE),
    CR_UPD_ON DATE
    TABLESPACE COST_MANAGER
    PCTUSED 0
    PCTFREE 10
    INITRANS 1
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS UNLIMITED
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    LOGGING
    NOCOMPRESS
    NOCACHE
    NOPARALLEL
    MONITORING;
    CREATE UNIQUE INDEX COSTMAN.CM_RECIPE_PK_001 ON COSTMAN.CM_RECIPE
    (CR_CCG_ID, CR_ID, CR_CIFG_CODE)
    LOGGING
    TABLESPACE COST_MANAGER
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS UNLIMITED
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    NOPARALLEL;
    CREATE UNIQUE INDEX COSTMAN.CM_RECIPE_UK_001 ON COSTMAN.CM_RECIPE
    (CR_ID)
    LOGGING
    TABLESPACE COST_MANAGER
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS UNLIMITED
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    NOPARALLEL;
    CREATE UNIQUE INDEX COSTMAN.CM_RECIPE_UK_002 ON COSTMAN.CM_RECIPE
    (CR_BOM_CODE)
    LOGGING
    TABLESPACE COST_MANAGER
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS UNLIMITED
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    NOPARALLEL;
    CREATE OR REPLACE TRIGGER COSTMAN."CM_RECIPE_T1"
    BEFORE INSERT ON "CM_RECIPE"
    FOR EACH ROW
    DECLARE
    L_ID NUMBER;
    BEGIN
    IF INSERTING THEN
    IF :NEW.CR_ID IS NULL THEN
    --SELECT CM_RECIPE_SEQ.NEXTVAL INTO L_ID FROM DUAL;
    :NEW.CR_ID := CM_RECIPE_SEQ.NEXTVAL; --L_ID;
    END IF;
    :NEW.CR_CR_ON := SYSDATE;
    :NEW.CR_CR_BY := nvl(v('APP_USER'),USER);
    END IF;
    IF UPDATING THEN
    :NEW.CR_UPD_ON := SYSDATE;
    :NEW.CR_UPD_BY := nvl(v('APP_USER'),USER);
    END IF;
    END;
    ALTER TABLE COSTMAN.CM_RECIPE ADD (
    CHECK ("CR_EFF_FROM" IS NOT NULL) DISABLE,
    CHECK ("CR_CCG_ID" IS NOT NULL) DISABLE,
    CHECK ("CR_QUANTITY" IS NOT NULL) DISABLE,
    CHECK ("CR_QUANTITY" IS NOT NULL) DISABLE,
    CHECK ("CR_QUANTITY" IS NOT NULL) DISABLE,
    CHECK ("CR_QUANTITY" IS NOT NULL) DISABLE,
    CHECK ("CR_QUANTITY" IS NOT NULL) DISABLE,
    CHECK ("CR_QUANTITY" IS NOT NULL) DISABLE,
    CONSTRAINT CM_RECIPE_PK_001
    PRIMARY KEY
    (CR_ID)
    USING INDEX
    TABLESPACE COST_MANAGER
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS UNLIMITED
    PCTINCREASE 0
    CONSTRAINT CM_RECIPE_UK_002
    UNIQUE (CR_BOM_CODE)
    USING INDEX
    TABLESPACE COST_MANAGER
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS UNLIMITED
    PCTINCREASE 0
    <h4>CM_RECIPE_ITEM</H4>
    ALTER TABLE COSTMAN.CM_RECIPE_ITEM
    DROP PRIMARY KEY CASCADE;
    DROP TABLE COSTMAN.CM_RECIPE_ITEM CASCADE CONSTRAINTS;
    CREATE TABLE COSTMAN.CM_RECIPE_ITEM
    CRI_ID NUMBER NOT NULL,
    CRI_CR_ID NUMBER NOT NULL,
    CRI_BOM_CODE VARCHAR2(50 BYTE) NOT NULL,
    CRI_CIFG_CODE VARCHAR2(10 BYTE) NOT NULL,
    CRI_CIRM_CODE VARCHAR2(10 BYTE) NOT NULL,
    CRI_SEQ NUMBER,
    CRI_QTY NUMBER,
    CRI_RM_COST NUMBER,
    CRI_CR_BY VARCHAR2(32 BYTE),
    CRI_CR_ON DATE,
    CRI_UPD_BY VARCHAR2(32 BYTE),
    CRI_UPD_ON DATE
    TABLESPACE COST_MANAGER
    PCTUSED 0
    PCTFREE 10
    INITRANS 1
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS UNLIMITED
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    LOGGING
    NOCOMPRESS
    NOCACHE
    NOPARALLEL
    MONITORING;
    CREATE UNIQUE INDEX COSTMAN.CM_RECIPE_ITEM_PK_001 ON COSTMAN.CM_RECIPE_ITEM
    (CRI_ID)
    LOGGING
    TABLESPACE COST_MANAGER
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS UNLIMITED
    PCTINCREASE 0
    BUFFER_POOL DEFAULT
    NOPARALLEL;
    CREATE OR REPLACE TRIGGER COSTMAN."CM_RECIPE_ITEM_T2"
    BEFORE INSERT OR UPDATE ON "CM_RECIPE_ITEM"
    FOR EACH ROW
    BEGIN
    IF :NEW.CRI_CR_ID IS NULL THEN
    SELECT CR_ID INTO :NEW.CRI_CR_ID
    FROM CM_RECIPE
    WHERE CR_BOM_CODE = :NEW.CRI_BOM_CODE;
    END IF;
    END;
    CREATE OR REPLACE TRIGGER COSTMAN."CM_RECIPE_ITEM_T1" BEFORE
    INSERT OR UPDATE ON "CM_RECIPE_ITEM" FOR EACH ROW
    DECLARE
    L_ID NUMBER;
    SEQ NUMBER;
    BEGIN
    IF INSERTING THEN
    IF :NEW.CRI_ID IS NULL THEN
    SELECT CM_RECIPE_ITEM_SEQ.NEXTVAL
    INTO :NEW.CRI_ID
    FROM dual;
    END IF;
    :NEW.CRI_CR_ON := SYSDATE;
    :NEW.CRI_CR_BY := NVL(v('APP_USER'),USER);
    SELECT (NVL(MAX(CRI_SEQ),0)+1)
    INTO SEQ
    FROM CM_RECIPE_ITEM
    WHERE CRI_BOM_CODE = :NEW.CRI_BOM_CODE;
    :NEW.CRI_SEQ := SEQ;
    END IF;
    IF UPDATING THEN
    :NEW.CRI_UPD_ON := SYSDATE;
    :NEW.CRI_UPD_BY := NVL(v('APP_USER'),USER);
    END IF;
    END;
    ALTER TABLE COSTMAN.CM_RECIPE_ITEM ADD (
    CHECK ("CRI_RM_COST" IS NOT NULL) DISABLE,
    CHECK ("CRI_QTY" IS NOT NULL) DISABLE,
    CHECK ("CRI_SEQ" IS NOT NULL) DISABLE,
    CONSTRAINT CM_RECIPE_ITEM_PK_001
    PRIMARY KEY
    (CRI_ID)
    USING INDEX
    TABLESPACE COST_MANAGER
    PCTFREE 10
    INITRANS 2
    MAXTRANS 255
    STORAGE (
    INITIAL 64K
    MINEXTENTS 1
    MAXEXTENTS UNLIMITED
    PCTINCREASE 0
    ALTER TABLE COSTMAN.CM_RECIPE_ITEM ADD (
    CONSTRAINT CM_RECIPE_FK_002
    FOREIGN KEY (CRI_CIRM_CODE)
    REFERENCES COSTMAN.CM_ITEM_RM (CIRM_CODE),
    CONSTRAINT CM_RECIPE_ITEM_FK_001
    FOREIGN KEY (CRI_CR_ID)
    REFERENCES COSTMAN.CM_RECIPE (CR_ID));
    Yogesh

  • Error while updating table before branching to a report

    Hi,
    I have an apex form screen where on click of a button, i need to change a few flags on the screen and then display a bi publisher report.
    when the user clicks the PRINT Button a javascript function is called, which will set the flags and submits the form. I have the default process row of table process to update the form fields.
    in the branch i gave the BI publisher report url.
    everything works fine so far.
    if i click the print button again for a second time, i get a checksum ... error as shown below.
    ORA-20001: Error in DML: p_rowid=982-000790, p_alt_rowid=_ID_NUMBER, p_rowid2=, p_alt_rowid2=. ORA-20001: Current version of data in database has changed since user initiated update process. current checksum = "BD63FDD3142B79017CCD2C8DA8ED8CA7" application checksum = "B2FD7581A9478214E59264F9C1CFAF96"
    Error Unable to process row of table .
    OK
    Any idea how to fix this?
    What i am trying to do is:
    when the print button is clicked then i need to set the Print flag in the screen and database to true.I am using the default row update process generated by apex for a table form.
    Thanks
    Knut

    Hi Scott,
    example 1
    I have a demo at the following url
    http://apex.oracle.com/pls/otn/f?p=30091:6:1206476651563662::NO:::
    1. page 6 is the report and page 7 will be the details form.
    2. select a record from the report click edit and it will take you to the details screen page 7.
    3. on page 7 i have 2 select boxes with YES/NO flag. Initially set them to NO.
    save changes.
    4. click on the print button. it will reset the select lists to YES and opens a report.
    5.now go and edit anything on the screen and click apply changes.
    we will get the an error.
    All i am trying to do is update the flags to YES before displaying the report which works fine. but if i try to edit any data and save it throws an error.
    is my table.
    CREATE TABLE "DEMO_MINISTER"
    (     "MINISTER_ID" VARCHAR2(12),
         "NAME" VARCHAR2(50),
         "CERT_FLAG" VARCHAR2(1),
         "LABEL_FLAG" VARCHAR2(1)
    MINISTER_ID" is the primary key generated using a sequence. (i have to actually generate it with - year prefix etc hence a varchar)
    example 2:
    http://apex.oracle.com/pls/otn/f?p=30091:1:607292687304632:::::
    i have another page page 1 with demo_customers list. here the id is a number here. on edit it displays page 5 where i tried the same print reset flag stuff here and it works.
    Table Data Indexes Model Constraints Grants Statistics UI Defaults Triggers Dependencies SQL
    CREATE TABLE "DEMO_CUSTOMERS"
    (     "CUSTOMER_ID" NUMBER NOT NULL ENABLE,
         "CUST_FIRST_NAME" VARCHAR2(20) NOT NULL ENABLE,
         "CUST_LAST_NAME" VARCHAR2(20) NOT NULL ENABLE,
         "CUST_STREET_ADDRESS1" VARCHAR2(60),
         "CUST_STREET_ADDRESS2" VARCHAR2(60),
         "CUST_CITY" VARCHAR2(30),
         "CUST_STATE" VARCHAR2(2),
         "CUST_POSTAL_CODE" VARCHAR2(10),
         "PHONE_NUMBER1" VARCHAR2(25),
         "PHONE_NUMBER2" VARCHAR2(25),
         "CREDIT_LIMIT" NUMBER(9,2),
         "CUST_EMAIL" VARCHAR2(30),
         "PRINT_FLAG" VARCHAR2(1),
         "PRINT_LABEL_FLAG" VARCHAR2(1),
         CONSTRAINT "DEMO_CUST_CREDIT_LIMIT_MAX" CHECK (credit_limit <= 5000) ENABLE,
         CONSTRAINT "DEMO_CUSTOMERS_PK" PRIMARY KEY ("CUSTOMER_ID") ENABLE
    So what should i do to get the example 1 to work.
    Thanks
    knut

  • Errors when inserting and updating form using VIEW.

    Here's my view:
    CREATE OR REPLACE FORCE
    VIEW  "SH_ADD_EMPLOYEES_VW" ("EMP_ID", "DEPT_ID", "JOB_DESC_ID", "EMPNO", "EMP_FIRST", "EMP_LAST", "USER_NAME", "USER_INI", "DEPTNO", "DEPT_DESC", "ROLES_ID", "ADMIN", "CREATES", "APPROVES", "QUALITY", "CUST_SVC", "SH_LOCAL",
    "SH_OFFICE", "SYSTEM")
    AS
      select
    "SH_EMPLOYEES"."EMP_ID" as "EMP_ID",
    "SH_EMPLOYEES"."DEPT_ID" as "DEPT_ID",
    "SH_EMPLOYEES"."JOB_DESC_ID" as "JOB_DESC_ID",
    "SH_EMPLOYEES"."EMPNO"  as "EMPNO",
    "SH_EMPLOYEES"."EMP_FIRST" as "EMP_FIRST",
    "SH_EMPLOYEES"."EMP_LAST" as "EMP_LAST",
    "SH_EMPLOYEES"."USER_NAME" as "USER_NAME",
    "SH_EMPLOYEES"."USER_INI" as "USER_INI",
    "SH_EMPLOYEES"."DEPTNO" as "DEPTNO",
    "SH_EMPLOYEES"."DEPT_DESC" as "DEPT_DESC",
    "DOC_ROLES"."ROLES_ID" as "ROLES_ID",
    "DOC_ROLES"."ADMIN" as "ADMIN",
    "DOC_ROLES"."CREATES" as "CREATES",
    "DOC_ROLES"."APPROVES" as "APPROVES",
    "DOC_ROLES"."QUALITY" as "QUALITY",
    "DOC_ROLES"."CUST_SVC" as "CUST_SVC",
    "DOC_ROLES"."SH_LOCAL" as "SH_LOCAL",
    "DOC_ROLES"."SH_OFFICE" as "SH_OFFICE",
    "DOC_ROLES"."SYSTEM" as "SYSTEM"
    FROM "SH_EMPLOYEES" "SH_EMPLOYEES", "DOC_ROLES" "DOC_ROLES"
    where "SH_EMPLOYEES"."EMP_ID" = "DOC_ROLES"."EMP_ID"
    Here's my trigger (note - I am not using the EXCEPTION clause or (declaration of it)  because it throws an error on msg=>: 'This is my message.' Any help here would be great as well.)
    CREATE OR REPLACE TRIGGER bi_ADD_EMPLOYEES_VW
    INSTEAD OF insert ON SH_ADD_EMPLOYEES_vw
    for each row
    declare
    duplicate_info EXCEPTION;
    PRAGMA EXCEPTION_INIT(duplicate_info, -00001);
    begin
    insert into SH_EMPLOYEES
    (EMP_ID, DEPT_ID, JOB_DESC_ID, EMPNO, EMP_FIRST, EMP_LAST, USER_NAME, USER_INI, DEPTNO, DEPT_DESC)
    values
    (:new.EMP_ID, :new.DEPT_ID, :new.JOB_DESC_ID, :new.EMPNO, :new.EMP_FIRST, :new.EMP_LAST, :new.USER_NAME, :new.USER_INI, :new.DEPTNO, :new.DEPT_DESC);
    insert into DOC_ROLES
    (ROLES_ID, ADMIN, CREATES, APPROVES, QUALITY, CUST_SVC, SH_LOCAL, SH_OFFICE, SYSTEM)
    VALUES (
    :new.ROLES_ID, :new.ADMIN, :new.CREATES, :new.APPROVES, :new.QUALITY, :new.CUST_SVC, :new.SH_LOCAL, :new.SH_OFFICE, :new.SYSTEM);
    EXCEPTION
    WHEN duplicate_info THEN
      RAISE_APPLICATION_ERROR (
       num=> -20107
       msg=> 'Duplicate employee');
    END bi_ADD_EMPLOYEES_VW;
    ERROR ON UPDATE:
    ORA-20505: Error in DML: p_rowid=1001,
    p_alt_rowid=EMP_ID, p_rowid2=2, p_alt_rowid2=ROLES_ID. ORA-01779: cannot modify
    a column which maps to a non key-preserved table
    ERROR ON INSERT:
    ORA-01400: cannot insert NULL into
    ("SPICE_HUNTER1"."SH_EMPLOYEES"."EMP_ID") ORA-06512: at
    "SPICE_HUNTER1.BI_SH_ADD_EMPLOYEES_VW", line 3 ORA-04088: error during execution
    of trigger 'SPICE_HUNTER1.BI_SH_ADD_EMPLOYEES_VW' ORA-06512: at
    "SYS.WWV_DBMS_SQL", line 549 ORA-06512: at "APEX_040000.WWV_FLOW_DML", line 1121
    ORA-22816: unsupported feature with RETURNING clause
    Error Unable to process row on table SH_ADD_EMPLOYEES_VW

    From what I see you are not handling emp_id when it is null.. you need to assign it a value when null from sequence.. that column cannot be null, hence the error, and in order to "modify" a column in that table the DML needs that id to have a value.

  • SCHEMAS: Error re-assigning schema to a different workspace

    SITUATION
    - Apex 4.0 on 11g
    - Trying to edit workspace to schema assignments
    - Following instructions here (http://download.oracle.com/docs/cd/B28359_01/appdev.111/b32258/adm_wrkspc.htm#BABBEEGC)
    - Have done this successfully before
    ERROR
    Get the following error
    ORA-20505: Error in DML: p_rowid=23878801718644742, p_alt_rowid=ID, p_rowid2=, p_alt_rowid2=. ORA-00001: unique constraint (APEX_040000.WWV_FLOW_COMPANY_SCHEMAS_IDX2) violated
    HELP!
    - Suggestions on how to diagnose and fix
    - The schema name is unique

    resolved some time ago

  • Error while adding record

    I am getting the following error while adding record into the table CM_RECIPE_ITEM :
    Error
    ORA-20505: Error in DML: p_rowid=626, p_alt_rowid=CRI_ID, p_rowid2=, p_alt_rowid2=. ORA-01410: invalid ROWID ORA-06512: at "COSTMAN.CM_RECIPE_ITEM_T3_AFTER", line 11 ORA-04088: error during execution of trigger 'COSTMAN.CM_RECIPE_ITEM_T3_AFTER'
    Error Unable to process row of table CM_RECIPE_ITEM.
    Kindly suggest if the problem is because of the Global temporary table or the triggers given below. Also suggest the solution.
    Thanking You,
    Yogesh
    CM_RECIPE_ITEM Table
    CRI_ID------CRI_CR_ID--------CRI_BOM_CODE--------CRI_CIFG_CODE---------CRI_CIRM_CODE--------CRI_SEQ--------CRI_QTY--------CRI_RM_COST
    625----------464-----------------PRODUCT3001----------FG003----------------------10---------------------------1-------------------60-----------------10
    626----------464-----------------PRODUCT3001----------FG003----------------------12---------------------------2-------------------40------------------10
    Global temporary table
    DROP TABLE COSTMAN.INTERIM CASCADE CONSTRAINTS;
    CREATE GLOBAL TEMPORARY TABLE COSTMAN.INTERIM
    ROW_ID ROWID
    ON COMMIT PRESERVE ROWS
    NOCACHE;
    CREATE OR REPLACE TRIGGER COSTMAN."CM_RECIPE_ITEM_T3"
    BEFORE INSERT OR UPDATE ON "CM_RECIPE_ITEM" FOR EACH ROW
    BEGIN
    INSERT INTO interim VALUES (:new.rowid);
    END;
    Trigger to update data on CM_RECIPE table
    CREATE OR REPLACE TRIGGER COSTMAN."CM_RECIPE_ITEM_T3_AFTER"
    AFTER INSERT OR UPDATE ON "CM_RECIPE_ITEM"
    BEGIN
    FOR ds IN (SELECT row_id FROM interim) LOOP
    UPDATE CM_RECIPE
    SET CR_RMC = (
    SELECT SUM(CRI_QTY * CRI_RM_COST)/SUM(CR_QUANTITY)
    FROM CM_RECIPE_ITEM
    WHERE CRI_BOM_CODE = CR_BOM_CODE
    AND rowid = ds.row_id
    UPDATE CM_RECIPE
    SET CR_TOTAL_COST = (
    SELECT CIFG_PACKING + CIFG_OVERHEAD +CIFG_OTHERS
    FROM CM_ITEM_FG
    WHERE CIFG_CODE = CR_CIFG_CODE
    AND rowid = ds.row_id
    ) + CR_RMC;
    UPDATE CM_RECIPE
    SET CR_GROSS_MARGIN =
    (SELECT CIFG_DP_RATE
    FROM CM_ITEM_FG
    WHERE CIFG_CODE = CR_CIFG_CODE
    AND rowid = ds.row_id) - CR_TOTAL_COST) / CR_TOTAL_COST;
    END LOOP;
    END;
    /

    yogeshyl wrote:
    Error
    ORA-20505: Error in DML: p_rowid=626, p_alt_rowid=CRI_ID, p_rowid2=, p_alt_rowid2=. ORA-01410: invalid ROWID ORA-06512: at "COSTMAN.CM_RECIPE_ITEM_T3_AFTER", line 11 ORA-04088: error during execution of trigger 'COSTMAN.CM_RECIPE_ITEM_T3_AFTER'
    Error Unable to process row of table CM_RECIPE_ITEM.
    Kindly suggest if the problem is because of the Global temporary table or the triggers given below. Also suggest the solution.The error message points to the trigger...

  • Error while updating report attributes

    Hi,
    Iam getting following error "ORA-20001: Error in DML: p_rowid=181637527721463144, p_alt_rowid=ID, p_rowid2=, p_alt_rowid2=. ORA-20001: Current version of data in database has changed since user initiated update process. current checksum = "1D70D6D762BFFA5EC9EC5245BE450B5B" application checksum = "0"".
    when iam trying to change maximum row count in report attributes and click apply changes .Not understanding whatz the problem .Please help.

    What is your version of Application Express and what is the Edition of your database and what is your database version? Three questions.
    When you try this on apex.oracle.com does it fail?
    Scott

  • Error with a Sequence, but not sure ...

    Hi,
    i have a problem, i dont know the reason for this. I will try to explain it.
    I have 2 HTML DB Pages, the first shows the values of the second in a report with a search function for the different columns. The second page you can edit the entries and add new ones. The second page consists of different fields (date, text and number...), one field is filled with a primary key which is a sequence. No Problem till yet.
    When i want to add an entry and an error occurs(ex. text in a date field, the validation works and the message will be shown:" Incorrect format for a date"). Then i correct the mistake and want to add the entry after i had filled all required fields.
    Then this message appears:
    ORA-20001: Error in DML: p_rowid=1201, p_alt_rowid=EVENT_ID, p_rowid2=, p_alt_rowid2=. ORA-01403: no data found
         Error      ORA-20001: Error in DML: p_rowid=1201, p_alt_rowid=EVENT_ID, p_rowid2=, p_alt_rowid2=. ORA-01403: no data found
    OK      
    That happens only when a required field isnt filled at the moment of the submit, then i correct it, Submit it again and the message appears. When i fill all the fields without an error(validation message) it works.
    I need a solution for this problem, i hope you can help me.
    Thanks Marcus.

    Sounds like your PK sequence is getting prematurely incremented when the page is submitted. When the validations fail, the (bad) PK is getting into your hidden PK item and so when you correct the values and Submit again, it is trying to update some other record than the one that the OnLoad Row Fetch process had loaded.
    Just a guess, you would need to explain your problem in much more detail before we can assist you.
    Specifically,
    1. What are your OnLoad and After Submit processes on the Page 2 ( the editable page)?
    2. How is the PK on your table being generated? Using a before-row trigger or within the HTML DB page itself?
    3. If trigger generated PK, be sure to use the "Returning primary key into item" feature on the Automatic DML (after submit) process. This will ensure that the record you just created will be loaded when the page is refreshed.
    Hope this helps.

  • Get error ORA-20505 and ORA-01403 when UPDATING record

    Hi,
    I'm running APEX 3.2.1, on Oracle XE 10.2.0.1, on Sun Ultra20 (Intel-based) running Windows Server 2003.
    I created a small, department database - to keep track of contacts, equipment, etc.
    Initially, I used a NUMBER as the PRIMARY KEY in both the CONTACTS table and EQUIPMENT tables. I created a CONTACTS interactive report and a CONTACT DETAILS form, where the EDIT button on a row in the CONTACTS report brings up the individual record to modify. Same thing for EQUIPMENT - interactive report page and form page.
    This all worked fine!
    Then, I decided to change the PRIMARY KEY for the CONTACTS table to a STRING - with CONTACT_FIRST_NAME and CONTACT_LAST_NAME as the primary key. I figured I this would prevent duplicate entries. After the change, inserts work. Updates work, IF a change is made to ANY field EXCEPT first name or last name.
    UPDATES fail - if user modifies EITHER the first name or last name - in APEX. But, update SUCCEEDS if done in SQL Developer. Obviously, I missing a subtle nuance in APEX, but I can't figure it out.
    I've included DEBUG trace and version information below.
    Thanks,
    Andy
    ORA-20505: Error in DML: p_rowid=Adam1, p_alt_rowid=CONTACT_FIRST_NAME, p_rowid2=Adam, p_alt_rowid2=CONTACT_LAST_NAME. ORA-01403: no data found
    0.02: A C C E P T: Request="SAVE"
    0.02: Metadata: Fetch application definition and shortcuts
    0.02: NLS: wwv_flow.g_flow_language_derived_from=FLOW_PRIMARY_LANGUAGE: wwv_flow.g_browser_language=en-us
    0.02: alter session set nls_language="AMERICAN"
    0.02: alter session set nls_territory="AMERICA"
    0.02: NLS: CSV charset=WE8MSWIN1252
    0.02: ...NLS: Set Decimal separator="."
    0.02: ...NLS: Set NLS Group separator=","
    0.02: ...NLS: Set date format="DD-MON-RR"
    0.02: ...Setting session time_zone to -06:00
    0.02: Setting NLS_DATE_FORMAT to application date format: DD-MON-YYYY
    0.02: ...NLS: Set date format="DD-MON-YYYY"
    0.03: Fetch session state from database
    0.03: ...Check session 1896858759858984 owner
    0.03: Setting NLS_DATE_FORMAT to application date format: DD-MON-YYYY
    0.03: ...NLS: Set date format="DD-MON-YYYY"
    0.03: ...Check for session expiration:
    0.03: ...Metadata: Fetch Page, Computation, Process, and Branch
    0.03: Session: Fetch session header information
    0.03: ...Metadata: Fetch page attributes for application 101, page 21
    0.05: ...Validate item page affinity.
    0.05: ...Validate hidden_protected items.
    0.05: ...Check authorization security schemes
    0.05: Session State: Save form items and p_arg_values
    0.05: ...Session State: Save "P21_CONTACT_FIRST_NAME" - saving same value: "Adam"
    0.06: ...Session State: Saved Item "P21_CONTACT_LAST_NAME" New Value="Adam Jr"
    0.06: ...Session State: Save "P21_CONTACT_COMPANY" - saving same value: "Atempo"
    0.06: ...Session State: Save "P21_CONTACT_JOB_TITLE" - saving same value: "Sr Sw Engr"
    0.06: ...Session State: Save "P21_CONTACT_JOB_ROLE" - saving same value: "Engineering"
    0.06: ...Session State: Save "P21_CONTACT_STATUS" - saving same value: "Active"
    0.06: ...Session State: Save "P21_CONTACT_PRODUCT" - saving same value: ""
    0.06: ...Session State: Save "P21_CONTACT_PHONE" - saving same value: "222-333-4444"
    0.06: ...Session State: Save "P21_CONTACT_MOBILE" - saving same value: ""
    0.06: ...Session State: Save "P21_CONTACT_FAX" - saving same value: ""
    0.06: ...Session State: Save "P21_CONTACT_EMAIL" - saving same value: ""
    0.06: ...Session State: Save "P21_CONTACT_STREET" - saving same value: ""
    0.06: ...Session State: Save "P21_CONTACT_CITY" - saving same value: ""
    0.06: ...Session State: Save "P21_CONTACT_STATE" - saving same value: "CO"
    0.06: ...Session State: Save "P21_CONTACT_ZIP" - saving same value: ""
    0.06: ...Session State: Save "P21_CONTACT_COUNTRY" - saving same value: "United States"
    0.06: ...Session State: Save "P21_CONTACT_NOTES" - saving same value: ""
    0.06: Processing point: ON_SUBMIT_BEFORE_COMPUTATION
    0.06: Branch point: BEFORE_COMPUTATION
    0.06: Computation point: AFTER_SUBMIT
    0.06: Tabs: Perform Branching for Tab Requests
    0.06: Branch point: BEFORE_VALIDATION
    0.06: Perform validations:
    0.08: ...Item in validation equals expression 2: P21_CONTACT_JOB_ROLE
    0.08: ...Item in validation equals expression 2: P21_CONTACT_STATUS
    0.08: ...Item Not Null Validation: P21_CONTACT_PHONE
    0.08: ...Item in validation equals expression 2: P21_CONTACT_STATE
    0.08: ...Item in validation equals expression 2: P21_CONTACT_COUNTRY
    0.08: Branch point: BEFORE_PROCESSING
    0.08: Processing point: AFTER_SUBMIT
    0.08: ...Process "Process Row of ISR_CONTACTS": DML_PROCESS_ROW (AFTER_SUBMIT) #OWNER#:ISR_CONTACTS:P21_CONTACT_FIRST_NAME:CONTACT_FIRST_NAME:P21_CONTACT_LAST_NAME:CONTACT_LAST_NAME|IU
    0.08: Show ERROR page...
    0.08: Performing rollback...
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
    PL/SQL Release 10.2.0.1.0 - Production
    CORE 10.2.0.1.0 Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    Database     
    NAME     XE
    CREATED     06/08/2010 05:22:50 PM
    RESETLOGS_TIME     07/09/2010 10:09:59 AM
    PRIOR_RESETLOGS_CHANGE#     193066
    PRIOR_RESETLOGS_TIME     06/08/2010 05:22:52 PM
    LOG_MODE     ARCHIVELOG
    CHECKPOINT_CHANGE#     4436025
    ARCHIVE_CHANGE#     4387159
    OPEN_RESETLOGS     NOT ALLOWED
    VERSION_TIME     07/09/2010 10:08:44 AM
    OPEN_MODE     READ WRITE
    PROTECTION_MODE     MAXIMUM PERFORMANCE
    PROTECTION_LEVEL     MAXIMUM PERFORMANCE
    REMOTE_ARCHIVE     ENABLED
    DATABASE_ROLE     PRIMARY
    ARCHIVELOG_CHANGE#     4458138
    SWITCHOVER_STATUS     SESSIONS ACTIVE
    DATAGUARD_BROKER     DISABLED
    GUARD_STATUS     NONE
    FORCE_LOGGING     NO
    CGI Environment     
    PLSQL_GATEWAY     WebDb
    GATEWAY_IVERSION     2
    SERVER_SOFTWARE     Oracle Embedded PL/SQL Gateway/10.2.0.1.0
    GATEWAY_INTERFACE     CGI/1.1
    SERVER_PORT     8080
    SERVER_NAME     XDB HTTP Server
    REQUEST_METHOD     GET
    QUERY_STRING     p=4500:36:1896858759858984:::::
    PATH_INFO     /f
    SCRIPT_NAME     /apex
    REMOTE_ADDR     10.135.65.180
    SERVER_PROTOCOL     HTTP/1.1
    REQUEST_PROTOCOL     tcp
    REMOTE_USER     ANONYMOUS
    HTTP_USER_AGENT     Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.19) Gecko/2010031422 Firefox/3.0.19 (.NET CLR 3.5.30729)
    HTTP_HOST     isr-si-project:8080

    Maybe because you're changing primary key...and then updating record with primary key that doesn't exist.

  • Instead of Update Trigger error

    Hi all,
    I've been trying to solve this issue from past 4 to 5 days..I am unable to solve...Can someone please help....
    I hhave a requirement in which I need to update 4 tables from a single form...I created a view which will get the required fields along with the primary keys from all these 4 tables.
    Then I created a Instead of Update trigger as below
    CREATE OR REPLACE TRIGGER "HOMEPAGEVIEW_UPDATE"
    INSTEAD OF UPDATE ON cts_homepageview
    BEGIN
    DECLARE
    vID NUMBER;
    UPDATE cts_hardware_info
    SET STATUS_ID = :NEW.STATUS_ID,
    COMPUTER_NAME = :NEW.COMPUTER_NAME,
    OPERATINGSYSTEM_ID = :NEW.OPERATINGSYSTEM_ID
    where computer_id = :NEW.COMPUTER_ID;
    UPDATE cts_server_administrator
    SET PRIMARY_ADMIN_ID = :NEW.PRIMADMIN_ID,
    SECONDARY_ADMIN_ID = :NEW.SECONDADMIN_ID
    WHERE ID = :NEW.ID;
    UPDATE cts_location_info
    SET BUILDING_ROOM_RACK = :NEW.BUILDING_ROOM_RACK
    WHERE LOCATION_ID = :NEW.LOCATION_ID;
    UPDATE cts_maintenace_info
    SET MAINTENANCE_WINDOW = :NEW.MAINTENANCE_WINDOW
    WHERE MAINTENANCE_ID = :NEW.MAINTENANCE_ID;
    END;
    When I try to update a record, am gettting the following error
    ORA-20505: Error in DML: p_rowid=488, p_alt_rowid=COMPUTER_ID, p_rowid2=, p_alt_rowid2=. ORA-02014: cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc.
    Error Unable to process row of table CTS_HOMEPAGEVIEW.
    OK
    I have already posted this question on the forum, but dint get any replies so trying my luck again....Can someone plzzzzzz help...I searched on ths forum for similar requests...Found one post bt hte solution wasnt given...
    Thanks,
    Shravanthi
    Edited by: user0012 on Apr 29, 2009 9:54 AM

    Hi Varad and Andy,
    Thank you both for your responses first..I was soo tensed since no one replied to my previous post fr 5 days..
    Varad,
    With the change Andy told ('Begin & END'), I tried in SQL Workshop updated computer_name (of cts_hardware_info) data in the view..It updated the data. But from the form, it is still giving the same error.
    Andy,
    Here is my view.. All the table are associated with the cts_hardware_info using computer_id. And using this computer_id I have put all the data together.
    CREATE OR REPLACE FORCE VIEW "CTS_HOMEPAGEVIEW" ("COMPUTER_ID", "COMPUTER_NAME", "STATUS_ID", "DESCRIPTION", "OPERATINGSYSTEM_ID", "ID", "PRIMADMIN_ID", "PRIMARYADMIN_PHONE1", "SECONDADMIN_ID", "SECONDARYADMIN_PHONE1", "LOCATION_ID", "BUILDING_ROOM_RACK", "MAINTENANCE_ID", "MAINTENANCE_WINDOW") AS
    select g.computer_id,g.computer_name,g.status_id,cts_hardware_status.DESCRIPTION,g.operatingsystem_id,g.id,g.PrimAdmin_ID,g.PrimaryAdmin_Phone1,g.SecondAdmin_ID, g.SecondaryAdmin_PHONE1,g.location_id,g.BUILDING_ROOM_RACK,g.MAINTENANCE_ID,g.MAINTENANCE_WINDOW from
    (select e.computer_id,e.computer_name,e.status_id,e.operatingsystem_id,e.id,e.PrimAdmin_ID,e.PrimaryAdmin_Phone1,e.SecondAdmin_ID,e.SecondaryAdmin_PHONE1,
    e.location_id,e.BUILDING_ROOM_RACK,f.MAINTENANCE_ID,f.MAINTENANCE_WINDOW from
    (select c.computer_id,c.computer_name,c.status_id,c.operatingsystem_id,c.id,c.PrimAdmin_ID,c.PrimaryAdmin_Phone1,c.SecondAdmin_ID,c.SecondaryAdmin_PHONE1,
    d.location_id,d.BUILDING_ROOM_RACK from
    (select a.computer_id,a.computer_name,a.status_id,a.operatingsystem_id,b.id,b.PrimAdmin_ID,b.PrimaryAdmin_Phone1,b.SecondAdmin_ID,b.SecondaryAdmin_PHONE1 from
    (select cts_hardware_info.computer_id,cts_hardware_info.computer_name,cts_hardware_info.status_id,operatingsystem_id from cts_hardware_info) a
    left join
    (select cts_server_administrator.id,cts_server_administrator.computer_id,cts_administrator_contacts.ADMIN_id as PrimAdmin_ID,Phone1 as PrimaryAdmin_Phone1,
    (select ADMIN_id from cts_administrator_contacts where admin_id = CTS_Server_Administrator.Secondary_ADMIN_ID) as SecondAdmin_ID,
    (select Phone1 from cts_administrator_contacts where admin_id = CTS_Server_Administrator.Secondary_ADMIN_ID) as SecondaryAdmin_PHONE1
    from cts_server_administrator,cts_administrator_contacts where cts_administrator_contacts.admin_id = cts_server_administrator.PRIMARY_ADMIN_ID) b
    on a.computer_id = b.computer_id) c
    left join
    (select location_id,COMPUTER_ID,BUILDING_ROOM_RACK from cts_location_info) d
    on c.computer_id = d.computer_id) e
    left join
    (select MAINTENANCE_ID,COMPUTER_ID,MAINTENANCE_WINDOW from CTS_MAINTENACE_INFO) f
    on e.computer_id = f.computer_id) g left join cts_hardware_status on g.status_id = cts_hardware_status.STATUS_ID

  • Apex - Error in Checksum in Master-Detail Form Page

    The following error message is thrown in a Page with a Master-Detail Form in Apex ,
    ORA-20505: Error in DML: p_rowid=362, p_alt_rowid=ID, p_rowid2=, p_alt_rowid2=. ORA-20503: Current version of data in database has changed since user initiated update process. current checksum = "71064C738DA3DADD5500149404378CFF" application checksum = "0"
         Error     Unable to process row of table "table-name".
    Somebody can tell me what is happening ? Thanks.

    Please check this thread ORA-20505: Error in DML : ORA-20503: . There is a detailed discussion on the same error.

  • Trigger giving an error

    I have a trigger defined as follows:
    create or replace trigger TR_MY_TRIGGER after
    delete or
    update on member
    begin
    end;
    At the end of the trigger I have a SELECT on the member table, the table on which this trigger is based. I get a mutating error: ORA-04091: table member is mutating
    How can I get around this problem? I have tried to put the select in a procedure, but that does not work either. I have also tried to put pragma autonomous_transaction in the trigger, but to no avail.
    Thanks
    Edited by: user447219 on Nov 2, 2012 10:27 AM
    Edited by: user447219 on Nov 2, 2012 10:28 AM

    user447219 wrote:
    At the end of the trigger I have a SELECT on the member table, the table on which this trigger is based. So when you select from the table do you know if you are getting the new or old values that are both present in a row level trigger? And which values do you want?
    I get an error message: An error occured.ORA-20505| Error in DML| p_rowid=
    You actually get a different error
    http://docs.oracle.com/cd/E11882_01/server.112/e17766/e2100.htm#sthref1926
    >
    ORA-04091: table string.string is mutating, trigger/function may not see it
    You are just hiding it and replacing it with that useless message to make troubleshooting and debug more difficult.
    How can I get around this problem? I have tried to put the select in a procedure, but that does not work either. I have also tried to put pragma autonomous_transaction in the trigger, but to no avail.The mutating table error is like the safety catch on a gun that makes it go click when you aim it at your toes and pull the trigger. You should not work around it, it is trying to tell you what you are trying to do is not reliable. Autonomous transactions are not a fix for this.
    You should read this and then find a different way to do whatever it is you need to do.
    http://docs.oracle.com/cd/E11882_01/server.112/e25789/part_txn.htm#CHDJIGBH

Maybe you are looking for

  • Tv episodes downloaded only playing first 30 seconds of my 42 min show. Help

    Only the first 30 sec of my show are appearing in the counter upon playback

  • Error executing BPC test script

    Hi, We are on HANA. Our performance team is trying to execute a test script from HP Load Runner. We are seeing the below error HTTP/1.0 500 Internal Server Error\r\n <TITLE>500 SAP Internal Server Error</TITLE>\n ERROR: XSLT: No valid XML source (ter

  • Do we have any provision to store pay slabs of an employee

    Hi Gurus, Do we have any provision of storing pay slabs of an employee according to their pay scale groups and levels. For example :- 35000-900-44000-1000-54000-1200-66000 30000-800-38000-EB-900-47000-1000-57000 25000-700-32000-EB-800-40000-900-49000

  • Recover deleted email

    Is it possible to recover a deleted phone call that is in the form of a readable email?

  • Re: Rubbish Broadband speed

    Hi Folks, Well this is certainly a long time after the event RogerB, but wanted to thank you for your help. This is now completely sorted. The new cabling works great and I have a typical speed of around 3-4 mbs which I never thought we would get. Ch