ORA-1779 during update on Tabular Form

Hi,
I have a view I created based on 4 tables. I have one table with a primary key which will be updated. All information is displayed on the form correctly. When I try to update 1 field it gives me a ora-1779 error which is related to a key preserved table issue.
Why is this doing this and what can I do to resolve it ? I read something about doing an instead of update trigger. Is that what I really want to do ? I am thinking there should be an easier way to fix this.
Thank you in advance for your time,
Anon

Here is a listing of instead of trigger threads here in the forum..;[http://forums.oracle.com/forums/search.jspa?threadID=&q=instead+of+trigger&objID=f137&dateRange=all&userID=&numResults=15&rankBy=10001]
I believe your answer should be here..
Thank you,
Tony Miller
Webster, TX

Similar Messages

  • ORA-1779 when updating a view

    Hi and thanks in advance !
    i am facing a critical situation.
    i have two schema & both are same!
    the problem which i am facing is during updating a view of one i am facing above error while the same DML is issuing againt that view in other schema and that works fine.
    what's the reason..
    The major difference between two schema's is i hav different live and test database i migrate my access database to Oracle test database # 1.here i created a new user name deals . ok
    i hav done same migration in my another database but a little difference here user deals is already available here and tables and views are also available i drop all the object but forget to purge recyclebin. now whenever i try to issue DML at this schema i am facing above error while the same tables same data and same view is available in above databae where my update statement executed properly. one more thing i like to add here i hav some unwanted trigger 'BIN$##$$%##$# bla bla bla' on different table. i haven't created that .
    here is the view for your kind perusal
    CREATE OR REPLACE VIEW QRYREUTER AS
    SELECT FXdeals.deal_no,
    cparty.name,
    cparty.city,
    FXdeals.brokbill,
    FXdeals.deal_date,
    FXdeals.mode_id
    FROM FXDeals
    JOIN cparty
    ON FXdeals.cpcode = cparty.cpcode
    WHERE ( ( (FXdeals.mode_id) = 3 ) )
    Message was edited by:
    Fiz Dosani

    but i have sample scenario in other schema which replica of this schema so why i haven't got this error there
    one more interesting thing when i query select * from user_updateable_columns where table name ='ABC' in Schema # 1 it return i can modify some columns.
    but when issue the data dictionary view in schema # 2, where i was facing ORA-1779 , select * from user_updateable_columns where table name ='ABC' in Schema # 2 it return i can not modify any columns.
    Tables name are same in both schema.
    Data same in both schema.
    Constraint Same in both schema.
    Indexes same in both schema.
    why facing error in one schema not in other.
    one more interesting thing, i had faced questionable object error when importing DMP into schema # 2.

  • 'ORA-01445: cannot select ROWID' Tabular Form v4

    Hi Guys,
    We have been having major problems since upgrading from v2 to v4.
    One of the problem I have been having is with Tabular Forms.
    I have quite a complex page with multiple regions which has always worked fine in version 2. One of those regions is a tabular form. When the page loads, I am getting the:
    'ORA-01445: cannot select ROWID from, or sample, a join view without a key-preserved table' error.
    The initial query was quite complex but I have broken it down:
    This query works and allows me to update the base table (xxmel_apex_eco_alterations)
    select
    alt.ALTERATION_ID,
    alt.ALTERATION_ID ALTERATION_ID_DISPLAY,
    alt.ECO,
    alt.ORGANIZATION_ID,
    alt.ACD_TYPE,
    alt.INVENTORY_ITEM_ID,
    alt.BEFORE_CHANGE_QTY,
    alt.AFTER_CHANGE_QTY,
    alt.MODIFY_FLAG,
    alt.REVISED_ASSEMBLY_ID,
    alt.BILL_SEQUENCE_ID,
    alt.COMPONENT_SEQUENCE_ID,
    alt.LAST_UPDATE_DATE,
    alt.LAST_UPDATE_BY,
    alt.COMMENTS,
    alt.BOM_IMPLEMENTATION_DATE,
    alt.BOM_CHANGE_NOTICE,
    alt.ASSEMBLY_NAME,
    alt.COMPONENT_NAME,
    alt.SELECTION_CRITERIA,
    alt.ORACLE_CHANGE_NOTICE,
    alt.COMP_CURRENT_COST,
    alt.COMP_NEW_COST,
    alt.COMP_CURRENT_SC,
    alt.COMP_NEW_SC,
    alt.COMP_DESCRIPTION,
    alt.COMP_CURRENT_UOM,
    alt.COMP_NEW_UOM,
    alt.COMP_CURRENT_PUR_STATUS,
    alt.COMP_NEW_PUR_STATUS
    from XXMEL_APEX_ECO_ALTERATIONS alt
    where eco = :P2_ECO
    But as soon as I try to join it to another table (which I am not trying to update, just display as hown below), I am getting the error.
    select
    alt.ALTERATION_ID,
    alt.ALTERATION_ID ALTERATION_ID_DISPLAY,
    alt.ECO,
    alt.ORGANIZATION_ID,
    alt.ACD_TYPE,
    alt.INVENTORY_ITEM_ID,
    alt.BEFORE_CHANGE_QTY,
    alt.AFTER_CHANGE_QTY,
    alt.MODIFY_FLAG,
    alt.REVISED_ASSEMBLY_ID,
    alt.BILL_SEQUENCE_ID,
    alt.COMPONENT_SEQUENCE_ID,
    alt.LAST_UPDATE_DATE,
    alt.LAST_UPDATE_BY,
    alt.COMMENTS,
    alt.BOM_IMPLEMENTATION_DATE,
    alt.BOM_CHANGE_NOTICE,
    alt.ASSEMBLY_NAME,
    alt.COMPONENT_NAME,
    alt.SELECTION_CRITERIA,
    alt.ORACLE_CHANGE_NOTICE,
    alt.COMP_CURRENT_COST,
    alt.COMP_NEW_COST,
    alt.COMP_CURRENT_SC,
    alt.COMP_NEW_SC,
    alt.COMP_DESCRIPTION,
    alt.COMP_CURRENT_UOM,
    alt.COMP_NEW_UOM,
    alt.COMP_CURRENT_PUR_STATUS,
    alt.COMP_NEW_PUR_STATUS
    , msib.segment1
    from XXMEL_APEX_ECO_ALTERATIONS alt
    , mtl_system_items_b msib
    where eco = :P2_ECO
    and msib.organization_id = 26
    and msib.inventory_item_id = alt.INVENTORY_ITEM_ID
    I have read Re: v4.0 - Tabular form ORA-01445: cannot select ROWID from, or sample, where someone was having a similar issue to me but their solution (in copying the script to build a new page) is not really an option for us due to the complexity to of the page as a whole.
    Is this a bug in APEX 4?
    Any help would be great,
    Thanks
    Chris

    Thanks Jaydip,
    That works great. Rather than joing hte Tabular From to multiple tables, I just created a function that returned the fields I required and included that in the select.
    select
    alt.ALTERATION_ID
    ,alt.ALTERATION_ID ALTERATION_ID_DISPLAY
    ,XXMEL_APEX_ECO_PKG.display_msib_records ('PART NAME',alt.inventory_item_id,26) "Part Number"
    ,XXMEL_APEX_ECO_PKG.display_msib_records ('PART DESC',alt.inventory_item_id,26) "Part Description"
    ,XXMEL_APEX_ECO_PKG.display_msib_records ('ITEM TYPE',alt.inventory_item_id,26) "Part Number Type"
    ,XXMEL_APEX_ECO_PKG.display_msib_records ('ITEM STATUS',alt.inventory_item_id,26) "Part Number Status"
    ,alt.BEFORE_CHANGE_QTY
    ,alt.AFTER_CHANGE_QTY
    ,alt.MODIFY_FLAG
    ,XXMEL_APEX_ECO_PKG.display_msib_records ('PART NAME',alt.REVISED_ASSEMBLY_ID,26) "Revised BOM"
    ,XXMEL_APEX_ECO_PKG.display_msib_records ('PART DESC',alt.REVISED_ASSEMBLY_ID,26) "Revised BOM Description"
    ,XXMEL_APEX_ECO_PKG.display_msib_records ('ITEM TYPE',alt.REVISED_ASSEMBLY_ID,26) "Revised BOM Type"
    ,XXMEL_APEX_ECO_PKG.display_msib_records ('ITEM STATUS',alt.REVISED_ASSEMBLY_ID,26) "Revised BOM Status"
    ,alt.LAST_UPDATE_DATE
    ,alt.LAST_UPDATE_BY
    ,alt.COMMENTS
    ,alt.BOM_CHANGE_NOTICE
    ,alt.SELECTION_CRITERIA
    ,alt.ORACLE_CHANGE_NOTICE
    from XXMEL_APEX_ECO_ALTERATIONS alt
    where eco = :P2_ECO
    Thanks very much
    Chris

  • ORA-20001 error when creating Tabular Form or Form and Report

    Whenever I try and add a Tabular Form or Form and Report to my application i am getting the following error at the end of the Wizard.
    ORA-20001: Unable to create updateable report. ORA-20001: Error creating shortcut id="" ORA-00001: unique constraint (APEX_030200.WWV_FLOW_SHORTCUT_IDX1) violatedIt's not a problem I have seen when building other apps and clearly I have managed to corrupt this application somehow.
    I have loaded the problem onto apex.oracle.com for those that have access. The application number is 20325.
    Any help would be very much appreciated.
    Cheers Shunt

    Thanks! Never thought of that.
    --Andy                                                                                                                                                                                                                       

  • Does anyone know a way of making primary keys updatable in tabular forms

    Is there a way i can make my primary key updatable in a tabular form.
    I have two tables one called proposal details and one called student current details. Bascially you select one of your proposal details to become your current project this is done via the proposal id. The problem is that i cannot make this field editable in a tabular form. Does anyone know how i could make this primary key updatable?

    Hi Dan,
    One suggestion, perhaps, would be to base the tabular form on a View rather than directly off of the table. The view could include two instances of the proposal id field - the actual field and a second field called, say, PROPOSAL_ID_EDITABLE. You can then use an INSTEAD OF trigger on the view to update the actual table data with the value entered/selected in this second field.
    The reason why Apex will stop you updating primary keys is that it needs to be able to use these to get back to the original record to apply any changes. If you use a view instead, ensure that the primary key fields are not editable but allow the user to change a dummy field instead, the pk fields are available for Apex to get back to the data but the trigger will change the value instead.
    Regards
    Andy

  • Multi Row Update for Tabular Form

    1) I'm trying to understand how the built-in MRU works for tabular forms: While running through every row, does it check for changes before issuing an UPDATE or does it blindly UPDATE every row in the current pagination range?
    2) If I need to write my own Multi Row Update process for tabular forms, could someone give me some tips on how to do that?
    Thanks,
    Pavel

    1) It stored a checksum for each row that it renders. It calculates the checksum again before processing the rows. The UPDATE statement it issues has a predicate like where old_checksum!=new_checksumSo, it only updates the rows that have at least 1 column value that is different (causing the row checksum to be different)
    2) See the howto at http://www.oracle.com/technology/products/database/application_express/howtos/tabular_form.html

  • Cannot perform insert/update on tabular form, because of dynamic action

    Hello all,
    I have created dynamic action which computes value from several tabular form cells.
    This functionality works nice, when I change value in associated cell then the computed value is changed by the dynamic action.
    But I am not able to insert or update the row in tabular form when the dynamic action is enabled. When I set condition to "Never", then the row is inserted or updated without any problems.
    Any guess where is the problem?
    Apex version: 4.1.1.00.23
    Jiri

    Ok, below are details related to my DA. Sorry for the poor description in previous posts.
    Triggered by: Chnage event
    Selection type: jQuery Selector
    jQuery Selector
    td[headers='SPECIESCODE'] input,td[headers='MEASURETYPE'] input,td[headers='TRUNKLOGID'] input,td[headers='LOGCLASS'] input,td[headers='LENGTH'] input,td[headers='PIECES'] input,td[headers='DIAMETER'] inputTrue Actions:
    *1.*
    //get element id which was changed by user
    var v_elementid = (jQuery(this.triggeringElement).attr('id'));
    switch(v_elementid.substr(0,3))
      case "f05":
       //assign value from triggered element to hidden field     
       $s("P210_HIDDEN_SPECIES",jQuery(this.triggeringElement).val());   
       //assign actual values also to other hidden elements     
       $s("P210_HIDDEN_MEASURE",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='MEASURETYPE'] input").val());
       $s("P210_HIDDEN_TRUNKLOGID",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='TRUNKLOGID'] input").val());
       $s("P210_HIDDEN_LOGCLASS",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='LOGCLASS'] input").val()); 
       $s("P210_HIDDEN_LENGTH",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='LENGTH'] input").val()); 
       $s("P210_HIDDEN_PIECES",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='PIECES'] input").val()); 
       $s("P210_HIDDEN_DIAMETER",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='DIAMETER'] input").val()); 
       break;
      case "f06":
       $s("P210_HIDDEN_MEASURE",jQuery(this.triggeringElement).val());
       //assign actual values also to other hidden elements     
       $s("P210_HIDDEN_SPECIES",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='SPECIESCODE'] input").val());
       $s("P210_HIDDEN_TRUNKLOGID",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='TRUNKLOGID'] input").val());
       $s("P210_HIDDEN_LOGCLASS",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='LOGCLASS'] input").val()); 
       $s("P210_HIDDEN_LENGTH",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='LENGTH'] input").val()); 
       $s("P210_HIDDEN_PIECES",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='PIECES'] input").val()); 
       $s("P210_HIDDEN_DIAMETER",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='DIAMETER'] input").val());      
       break;
      case "f07":
       $s("P210_HIDDEN_TRUNKLOGID",jQuery(this.triggeringElement).val());
       //assign actual values also to other hidden elements     
       $s("P210_HIDDEN_MEASURE",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='MEASURETYPE'] input").val());
       $s("P210_HIDDEN_SPECIES",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='SPECIESCODE'] input").val());
       $s("P210_HIDDEN_LOGCLASS",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='LOGCLASS'] input").val()); 
       $s("P210_HIDDEN_LENGTH",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='LENGTH'] input").val()); 
       $s("P210_HIDDEN_PIECES",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='PIECES'] input").val()); 
       $s("P210_HIDDEN_DIAMETER",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='DIAMETER'] input").val());
       break;
    }*2.*
    //get element id which was changed by user
    var v_elementid = (jQuery(this.triggeringElement).attr('id'));
    switch(v_elementid.substr(0,3))
      case "f09":
       $s("P210_HIDDEN_LOGCLASS",jQuery(this.triggeringElement).val());
       //assign actual values also to other hidden elements     
       $s("P210_HIDDEN_MEASURE",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='MEASURETYPE'] input").val());
       $s("P210_HIDDEN_TRUNKLOGID",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='TRUNKLOGID'] input").val());
       $s("P210_HIDDEN_SPECIES",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='SPECIESCODE'] input").val());
       $s("P210_HIDDEN_LENGTH",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='LENGTH'] input").val()); 
       $s("P210_HIDDEN_PIECES",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='PIECES'] input").val()); 
       $s("P210_HIDDEN_DIAMETER",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='DIAMETER'] input").val());      
       break;
      case "f12":
       $s("P210_HIDDEN_LENGTH",jQuery(this.triggeringElement).val());
       //assign actual values also to other hidden elements     
       $s("P210_HIDDEN_MEASURE",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='MEASURETYPE'] input").val());
       $s("P210_HIDDEN_TRUNKLOGID",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='TRUNKLOGID'] input").val());
       $s("P210_HIDDEN_SPECIES",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='SPECIESCODE'] input").val());
       $s("P210_HIDDEN_LOGCLASS",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='LOGCLASS'] input").val());
       $s("P210_HIDDEN_PIECES",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='PIECES'] input").val()); 
       $s("P210_HIDDEN_DIAMETER",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='DIAMETER'] input").val());
       break;
      case "f13":
       $s("P210_HIDDEN_PIECES",jQuery(this.triggeringElement).val());
       //assign actual values also to other hidden elements     
       $s("P210_HIDDEN_MEASURE",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='MEASURETYPE'] input").val());
       $s("P210_HIDDEN_TRUNKLOGID",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='TRUNKLOGID'] input").val());
       $s("P210_HIDDEN_SPECIES",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='SPECIESCODE'] input").val());
       $s("P210_HIDDEN_LENGTH",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='LENGTH'] input").val()); 
       $s("P210_HIDDEN_LOGCLASS",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='LOGCLASS'] input").val());
       $s("P210_HIDDEN_DIAMETER",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='DIAMETER'] input").val());  
       break;
      case "f14":
       $s("P210_HIDDEN_DIAMETER",jQuery(this.triggeringElement).val());
       //assign actual values also to other hidden elements     
       $s("P210_HIDDEN_MEASURE",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='MEASURETYPE'] input").val());
       $s("P210_HIDDEN_TRUNKLOGID",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='TRUNKLOGID'] input").val());
       $s("P210_HIDDEN_SPECIES",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='SPECIESCODE'] input").val());
       $s("P210_HIDDEN_LENGTH",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='LENGTH'] input").val()); 
       $s("P210_HIDDEN_PIECES",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='PIECES'] input").val()); 
       $s("P210_HIDDEN_LOGCLASS",jQuery(this.triggeringElement).parents("tr:first").find("td[headers='LOGCLASS'] input").val());
       break;
    }*3.*
    call PL/SQL function (values from hidden fields are used as input params)
    begin
    :P210_HIDDEN_VOLUME :=  function(:P210_HIDDEN_SPECIES,:P210_HIDDEN_MEASURE,:P210_HIDDEN_TRUNKLOGID,:P210_HIDDEN_LOGCLASS,:P210_HIDDEN_LENGTH,:P210_HIDDEN_DIAMETER,:P210_HIDDEN_PIECES, :G_USERLANG);
    end;*4.*
    here I want to set computed value from hidden field to VOLUME cell in tabular form. And it seems there is some problem, because not only the corresponding VOLUME cell is changed, but also several other cells. I realized that also several cells which are hidden to user has same value as computed VOLUME field. Including ROWID and then the insert/update operations are not done.
    // find the VOLUME-Field and set it to the computed value
    jQuery(this.triggeringElement).parents("tr:first").find("td[headers='VOLUME'] input").val($v("P210_HIDDEN_VOLUME"));I hope I have provide more information and somebody will be able to he help me. maybe the problem is clear, but with my poor jQuery knowledge i am not able to find it.
    Thanks in advance!
    -Jiri
    Edited by: Jiri N. on Aug 10, 2012 3:24 AM

  • How to identify rows to update on tabular form?

    Application Express 3.2.1.00.10
    Hello!
    I have a tabular form in my application that I created through the wizard. The form is based on a table with a primary key and a trigger to populate the next key upon insert, so as a result going through the wizard was not a problem. It created page processes for ApplyMRU, ApplyMRD, AddRows, etc. I'm curious how APEX knows which row is updated without the user having to select the checkbox and clicking Submit. It seems the checkbox is only for cases where the user wants to delete a record.
    I want to be able to replicate this in another tabular form page which I am manually creating, although it will be based on a view without a PK (which I had to "fake" by concatenating unique identifying columns). In this form page, when I make attempt to make an update to a record, nothing happens in the database, unless I actually check a checkbox and click on Submit. How do I get around having the user to click off records to update? I want the form to just accept changes, and "know" which records to update in the table, similar to how APEX does it out of the box.
    Any ideas? Thanks!

    Denes,
    I tried as you have suggested, but for some reason, it doesn't seem that any action is taking place. Either the column arrays are empty or apex_application.g_f01(i) does not have a value. I've verified that none of the records in the database have changed. Any ideas?
    The Process Success Message is set to:
    Changes successful. &P7_REC_UPDATE_COUNT. records updated.  &P7_REC_INSERT_COUNT. records inserted. ... and it shows Changes successful. 0 records updated. 0 records inserted.
    This is the Page Process executed on submit of the "Submit" button:
    DECLARE
      v_return  NUMBER;
      v_msgcode NUMBER;
      v_message VARCHAR2(250);
      v_row     BINARY_INTEGER;
      v_insert_cnt INTEGER := 0;
      v_update_cnt INTEGER := 0;
    BEGIN
       FOR i IN 1..apex_application.g_f01.COUNT  LOOP
          IF  apex_application.g_f10(i) IS NOT NULL             -- CHECKSUM FIELD
             AND wwv_flow_item.md5 (apex_application.g_f01(i),   -- PK_COLUMNS
                                    apex_application.g_f05(i),   -- org_code
                                    apex_application.g_f07(i),   -- access_flag
                                    apex_application.g_f08(i),   -- external_flag
                                    apex_application.g_f09(i)   -- confid_ind
                                   ) != apex_application.g_f10(i)
          THEN
          ROLLBACK;
          RAISE_APPLICATION_ERROR(-20001,'Current version of data in database has changed '||
                                   'since user initiated update process.');                      
          RETURN;
        END IF;
      END LOOP;
      FOR i IN 1..apex_application.g_f01.COUNT LOOP
       IF apex_application.g_f01(i) IS NOT NULL THEN
         -- update existing record if PK value exists
         USER_SEC_UPDATE (I_ACTION        => 'U',
                          I_WK            => apex_application.g_f02(i),
                          I_USER_ID       => apex_application.g_f03(i),
                          I_ORG_CODE      => apex_application.g_f05(i),
                          I_ACCESS_FLAG   => apex_application.g_f07(i),
                          I_EXTERNAL_FLAG => apex_application.g_f08(i),
                          I_RPT_LEVEL     => NULL,
                          I_CONFID_IND    => apex_application.g_f09(i),
                          O_RETURN        => v_return,
                          O_MSGCODE       => v_msgcode,
                          O_MESSAGE       => v_message);   
         v_update_cnt := v_update_cnt + 1;
       ELSE
         -- insert new record if PK value doesn't exist
         USER_SEC_UPDATE (I_ACTION        => 'I',
                          I_WK            => NULL,
                          I_USER_ID       => apex_application.g_f03(i),
                          I_ORG_CODE      => apex_application.g_f05(i),
                          I_ACCESS_FLAG   => apex_application.g_f07(i),
                          I_EXTERNAL_FLAG => apex_application.g_f08(i),
                          I_RPT_LEVEL     => NULL,
                          I_CONFID_IND    => apex_application.g_f09(i),
                          O_RETURN        => v_return,
                          O_MSGCODE       => v_msgcode,
                          O_MESSAGE       => v_message);   
         v_insert_cnt := v_insert_cnt + 1;              
       END IF;
      END LOOP;
      :P7_REC_UPDATE_COUNT :=  v_update_cnt;
      :P7_REC_INSERT_COUNT :=  v_insert_cnt;
    END;

  • How to update Manual Tabular Form

    Hi There,
    I have a manual tabular form on an apex 4.1 page and I would like to update the records when I click on a submit button.
    Below is the query of the form:
    SELECT '#ROWNUM#' sno,
    apex_item.checkbox(01, wo_line_id) del,
    apex_item.hidden(02,wo_line_id)||apex_item.hidden(03,wwv_flow_item.md5(adjusted_amount)) wo_line_id,
    apex_item.text(17, adjusted_amount, 10, 10,'onchange="set_innerHTML(this);"','f17_' ||'#ROWNUM#') adjusted_amount
    from work_order_lines
    where wo_header_id = :P302_WO_HEADER_ID;
    Below is the code in the "After Submit" process
    DECLARE
    v_header_result VARCHAR2(1);
    v_line_result VARCHAR2(1);
    v_error_count NUMBER:= 0;
    BEGIN
    FOR i in 1..apex_application.g_f02.COUNT
    LOOP
    BEGIN
    update_wo_lines_prc(:APP_USER
    ,:P302_WO_HEADER_ID
    ,APEX_APPLICATION.G_F02(i)
    ,APEX_APPLICATION.G_F17(i)
    ,v_line_result);
    END;
    END LOOP;
    COMMIT;
    END;
    Somehow the LOOP doesn't get executed.
    Please advise.
    Thanks
    Yogi

    Hi,
    I found the reason for this.
    For the column wo_line_id the show option in the report attributes was not checked.
    Thats why apex_application.g_f02.count is returning 0 and the loop was never executed.
    Thanks
    Yogi

  • Change column to update on Tabular Form

    Hello
    I created a tabular form on a table and when creating it, I made one of the columns not updateable. Is there a way I can change the properties of this column to updateable without having to delete the tabular form and start again.
    Regards
    Craig

    Hello
    I created a tabular form on a table and when creating it, I made one of the columns not updateable. Is there a way I can change the properties of this column to updateable without having to delete the tabular form and start again.
    Regards
    Craig

  • Return ORA-02019,ORA-02063 during update view base on DB Link

    I created simple application base on view. When I try to update something I get ORA-02019,ORA-02063. Same update from SqlPlus works as expected.
    Help me, Stanislav.

    Stanislav,
    Good to hear that the patchset fixed your issue.
    For the benefit of others, it is our 1.5.1 patchset that did the trick, and it can be downloaded from Metalink here:
    http://updates.oracle.com/ARULink/PatchDownload/patch_download/p3846548_10103_GENERIC.zip?patch_file=p3846548_10103_GENERIC.zip&aru=6584480&no_header=0&file_id=12163856
    Thanks,
    - Scott -

  • Stored procedures with view in tabular form

    Dears,
    i use apex 4.2 and database xe 11g , i have create tabular depend on view and i use stored procedures in process after computation and validation , the problem that view not update
    this tabular form query
    select
    "ROWID",
    "DOC_DET_ID",
    "DOC_ID",
    "MOV_QNTY",
    BATCH_DET,
    "ITEM_NAME",
    "UOM_NAME",
    "SIZE_NAME",
    "COLOR_NAME",
    "STOREG_BRCHAS_BATCHINTERNN",
    "EXPR_DATE",
    "PROD_DATE",
    AVL_QNTY,
    storage_code,
    "LOCATION_CODE"
    from "#OWNER#"."STORAGE_MOV_DET_VIEW"
    WHERE DOC_ID =:P117_DOC_IDthis a process that i use stored procedure in it
    DECLARE
       V_OLD     NUMBER:=0;
    BEGIN
       FOR i IN 1 .. apex_application.g_f02.COUNT  LOOP
          IF apex_application.g_f02 (i) IS NOT NULL THEN
             SELECT MOV_QNTY INTO V_OLD
              FROM STORAGE_MOV_DET
              WHERE DOC_DET_ID =apex_application.g_f02 (i);
               IF apex_application.g_f13 (i) >  V_OLD THEN
                 V_OLD :=apex_application.g_f13 (i)- V_OLD;
               END IF;
         ELSE
             V_OLD :=apex_application.g_f13 (i);
         END IF;
         if  V_OLD  <> 0 then
            GET_EXTRACT_PARENT_ITEM(apex_application.g_f04 (i) ,
                                   :P117_STORAGE_CODE ,
                                   apex_application.g_f12 (i) ,
                                   V_OLD);
        end if;
    END LOOP;
    END;when i use update this error i found
    Current version of data in database has changed since user initiated update process. current row version identifier = "A80CEBCFF06062F98D920BC75CB415AE" application row version identifier = "BCBA67120A87213D64EE059E10F3B15C" (Row 1)please help

    Do you still have the Apply MRU process running? I assume you do because otherwise you wouldn't receive the error message. Is the process you are talking about running before the Apply MRU process? It seems it does. Try chaning the execution sequence and run this process after the automatic MRU process.
    Denes Kubicek
    http://deneskubicek.blogspot.com/
    http://www.apress.com/9781430235125
    http://apex.oracle.com/pls/apex/f?p=31517:1
    http://www.amazon.de/Oracle-APEX-XE-Praxis/dp/3826655494
    -------------------------------------------------------------------

  • Ora -20001 error coming while updating from a tabular form

    Hi
    I have a tabular form , which updates a table in the database.
    Whenever I update the record first time I getting an error as
    Error in MRU internal routine ORA-20001.Error in MRU:row=1,
    ORA-1403 no_data_found, update abc.sale_forcast_temp set "PK_ID"=:b1,"W27"=:b2
    Error unable to update process
    But when I press Ok return to the form and then again try to update , records gets successfully updated
    Regards
    Shashi

    Kamal,
    This will be the pseudocode.
    Procedure A()
    select * from EMP bulk collect into records_array; --Of type RECORD_ARRAY
    batch_count = (records_array.length) / batch_size;
    --batch_size is say 5000 rows and batch_count is the number of batches  
    for i in 1..(batch_count+1)
    B( records_array);
    C();
    commit;
    Procedure B(records_array in RECORD_ARRAY )
    INSERT /*+PARALLEL(EMP_DUMMY, 2) */
    INTO TABLE EMP_DUMMY
    SELECT * from TABLE(CAST(records_array as RECORD_ARRAY) ;
    Procedure C()
    Other operations which include reads on the EMP_DUMMY table;
    This is the top view of how it looks like. Actually the Select statement for the insert statement is very complex and I do a join on the records that are being passed in by casting it into a table. This query is taking about 40 minutes for 10,000 rows in the records_array. I need to parellelise this query because each row of the records_array yields a different row for the EMP_DUMMY table.
    I hope that I made it clear for you.
    Can you also tell me if procedure C in which I shall be doing a read on the EMP_DUMMY table, has any affect of the parallel insert
    Thanks for your help.

  • Cannot Update Tabular form Values Error in mru internal routine: ORA-20001:

    i have created some master detail records through a manual tabular form. Iam getting the following error when i tried to updated the values through another inbuilt tabular form....
    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 = "9067F4C5EF14529F831CB42B5567C288", item checksum = "07865E78639EB6477FB5DFB8B02EA047".,

    Hi
    Hopefully my response to your Error in mru internal routine: ORA-20001: no data found in tabular form thread will help. In this thread's example, there is no error message that displays the column names required, but the principle would be the same: Make sure that all fields drawn from the table are included as editable or hidden columns on the report (so that there is one instance of each field shown with a tick in the Edit column on the report's Report Attributes page).
    Andy

  • ORA-06502 on "Help Text" region when changing pages on a tabular form

    Hello everybody,
    We are developing an application on Apex 4.1.0.00.32. This application have some pages with tabular forms and these pages uses a page zero as template. In this page zero, we have added two sidebar regions: a list region to navigate on the application and a help text to describe how to use our application.
    The problem occurs when the tabular split the records into pages (since it has more records that it can show on a single page). When the user clicks to change to another page, Apex raises an ORA-06502: PL/SQL: numeric or value error as described below:
    Erro ao renderizar a região "Ajuda". ORA-06502: PL/SQL: erro: erro de conversão de caractere em número numérico ou de valor
    Informações Técnicas (visível somente para desenvolvedores)
    is_internal_error: true
    apex_error_code: APEX.REGION.UNHANDLED_ERROR
    ora_sqlcode: -6502
    ora_sqlerrm: ORA-06502: PL/SQL: erro: erro de conversão de caractere em número numérico ou de valor
    component.type: APEX_APPLICATION_PAGE_REGIONS
    component.id: 2
    component.name: Ajuda
    error_backtrace:
    ORA-06512: em "APEX_040100.WWV_FLOW_DISP_PAGE_PLUGS", line 3654
    ORA-06512: em "APEX_040100.WWV_FLOW_DISP_PAGE_PLUGS", line 4204
    Obs: Our database is in Brazilian Portuguese, so I guess it will be hard for some people to understand the first two lines! :)
    We have tried to change the pagination style of the tabular form and change the region model of the help text but the problem still happens.
    Does anyone an ideia about what this may be?
    Thanks in advance!

    I am getting the exact same message, to the line number, also in APEX 4.1.0.0.32.
    Occurs when changing pages in a classic report, Standard region template, select list pagination, when selecting a different pagination set.
    In English:
    Error during rendering of region "Matched Participants Help & Hints".
    ORA-06502: PL/SQL: numeric or value error: character to number conversion error
    Technical Info (only visible for developers)
    is_internal_error: true
    apex_error_code: APEX.REGION.UNHANDLED_ERROR
    ora_sqlcode: -6502
    ora_sqlerrm: ORA-06502: PL/SQL: numeric or value error: character to number conversion error
    component.type: APEX_APPLICATION_PAGE_REGIONS
    component.id: 2
    component.name: <strong>Matched Participants</strong> Help & Hints
    error_backtrace:
    ORA-06512: at "APEX_040100.WWV_FLOW_DISP_PAGE_PLUGS", line 3654
    ORA-06512: at "APEX_040100.WWV_FLOW_DISP_PAGE_PLUGS", line 4204
    There are no conditions on the region, and no date string within the Help text. Some HTML <strong> tags, that's it.
    The Help region renders fine the first time.
    The Debug info does not help any:
    3.798360.00062Computation point: After Box Body4
    0
    3.798990.00081Processes - point: AFTER_BOX_BODY4
    0
    3.799790.00068Region: <strong>Matched Participants</strong> Help & Hints4
    0
    3.800470.00213Region rendered dynamically because request was not null4
    0
    3.802590.00096Add error onto error stack4
    0
    3.803550.00084...Error data:4
    0
    3.804400.00084......message: Error during rendering of region "<strong>Matched Participants</strong> Help & Hints".4
    0
    3.805240.00084......additional_info: ORA-06502: PL/SQL: numeric or value error: character to number conversion error4
    0
    3.806080.00081......display_location: ON_ERROR_PAGE4
    0
    3.806890.00081......is_internal_error: true4
    0
    3.807700.00084......apex_error_code: APEX.REGION.UNHANDLED_ERROR4
    0
    3.808540.00082......ora_sqlcode: -65024
    0
    3.809350.00234......ora_sqlerrm: ORA-06502: PL/SQL: numeric or value error: character to number conversion error4
    0
    3.811700.00082......error_backtrace: ORA-06512: at "APEX_040100.WWV_FLOW_DISP_PAGE_PLUGS", line 3654 ORA-06512: at "APEX_040100.WWV_FLOW_DISP_PAGE_PLUGS", line 4204 4
    0
    3.812510.00081......component.type: APEX_APPLICATION_PAGE_REGIONS4
    0
    3.813310.00110......component.id: 24
    0
    3.814420.00099......component.name: <strong>Matched Participants</strong> Help & Hints4
    0
    3.815400.00076...Show Error on Error Page4
    0
    3.816160.00344......Performing rollback4
    0
    3.819610.00225Processes - point: AFTER_ERROR_HEADER4
    0
    3.821850.00268Processes - point: BEFORE_ERROR_FOOTER4
    0
    3.82453-End Page Rendering
    Any thoughts on where to poke around for this one?
    Thanks - Karen

Maybe you are looking for

  • Installing boot camp on a separate disk

    This is pretty basic, but I couldn't find an answer. Better to ask than to mess up an install: The Installation & Setup Guide says that if you want to install on a separate disk, you should remove the drives in the lower numbered bays (then reinstall

  • Language display on itunes and i can't read spanish to change it!!! help

    this is my wifes computer and she put her old ipod on spanish. now have the computer but i away in hawaii at work and need to change my itunes page to english. i went to preferens and their is not even english spot. i can't read spanish but managed t

  • How to clear JTextArea

    Hi, I am trying to clear the JTextArea when the user clicks on a button. I could not find a clear command in the JavaDocs but I did try the following: Is there a better way to do this or a different object. Thanks, Steve String abc = " "; int xcoord

  • I changed the user name and screensaver does not let me enter

    I changed the user name this morning, later the screensaver popped up. The screen shows the old user name and does not accept the password, so i cannot even open the main page.

  • Obiee installation in mac

    hi any one tell me how to install obiee in linux with snap shots it will be better