Validation problem on tabular form APEX 4.2

Hi,
My APEX Version is 4.2.
I have problem with validations on tabular forms, for example : I have a column who must be numeric... when I get a character it is controlled properly, but it removes my line of the screen and he writes in the table below:
state error:
ORA-01403: no data found
ORA-06510: PL / SQL: exception defined by the user untreated
I Haven't this problem with this application on APEX 4.0
PS : the validation was automatically create by APEX
Regards

Thomas,
Is this a standard APEX tabular form validation, or a custom PL/SQL based validation? It might be easiest to diagnose what's going on there, if you could replicate this issue on apex.oracle.com, and point us to an example.
Thanks,
Marc

Similar Messages

  • Problem in tabular form based on dynamic view and pagination

    Hi All,
    I have a manual tabular form based on a dynamic view. The view fetches the records based on search criteria given by the user in all cases. But this view fetches ALL records when user clicks on pagination, without considering the search criteria. This is the problem I am facing.
    I am doing the following:
    Since tabular form does not support pl/sql function returning query, I cannot use a table directly. I need my results based on search criteria selected by user. Hence I created a dynamic view and used a "INSTEAD OF UPDATE" trigger to update the table.
    I use a set bind variables procedure, on load before header for setting the variables.
    This view fetches the correct data based on user search always. It creates a problem only in one situation, when using pagination in the report.
    The example can be found at:
    http://apex.oracle.com/pls/otn/f?p=19399:1:
    username = [email protected]
    pwd = kishore
    Here if "manager name" is entered as test, we get 5 records in "Summary of requests" report and 5 records in "Inactive Requests" report. When user clicks on Pagination in any of the reports, ALL the 7 records get fetched in "Summary of Requests" and 6 records in "Inactive Requests". How can I overcome this problem?? The report must consider the search variables even when pagination occurs.
    Is this because, the inbuilt "html_PPR_Report_Page" executes the region query once again by considering all search variables as NULL?
    Backend Code is at:
    http://apex.oracle.com/pls/otn/
    workspace: sekhar.nooney
    Username :[email protected]
    pwd: kishore
    application id = 19399
    My region code is something like:
    select *
    from regadm_request_v
    where access_type = :F110_REGADM
    and status <> 'INACTIVE'
    order by request_id
    My view code is:
    CREATE OR REPLACE VIEW REGADM_REQUEST_V
    AS
    SELECT *
    FROM REGREGOWNER.REGADM_REQUEST
    WHERE upper(employee_name) LIKE '%'||nvl(upper(REGADM_REQUEST_PKG.GET_EMPLOYEE_NAME),'%')||'%'
    AND upper(manager_name) LIKE '%'||nvl(upper(REGADM_REQUEST_PKG.GET_MANAGER_NAME),'%')||'%'
    AND upper(employee_sunetid) LIKE '%'||nvl(upper(REGADM_REQUEST_PKG.GET_EMPLOYEE_SUNET_ID),'%')||'%'
    AND upper(manager_sunetid) LIKE '%'||nvl(upper(REGADM_REQUEST_PKG.GET_MANAGER_SUNET_ID),'%')||'%'
    AND upper(request_date) LIKE '%'||nvl(upper(REGADM_REQUEST_PKG.GET_REQUEST_DATE),'%')||'%'
    AND upper(USAGE_AGREEMENT_RECVD) LIKE '%'||nvl(upper(DECODE(REGADM_REQUEST_PKG.GET_USAGE_AGREMNT_RECVD,'~!@',NULL,REGADM_REQUEST_PKG.GET_USAGE_AGREMNT_RECVD)),'%')||'%'
    AND upper(STATUS) LIKE '%'||nvl(upper(DECODE(REGADM_REQUEST_PKG.GET_STATUS,'~!@',NULL,REGADM_REQUEST_PKG.GET_STATUS)),'%')||'%'
    AND upper(REQUEST_APPROVED) LIKE '%'||nvl(upper(DECODE(REGADM_REQUEST_PKG.GET_REQUEST_APPROVED,'~!@',NULL,REGADM_REQUEST_PKG.GET_REQUEST_APPROVED)),'%')||'%'
    AND upper(nvl(APPROVAL_DATE,sysdate)) LIKE '%'||nvl(upper(REGADM_REQUEST_PKG.GET_APPROVED_DATE),'%')||'%'
    AND upper(APRVL_REQUEST_SENT) LIKE '%'||nvl(upper(DECODE(REGADM_REQUEST_PKG.GET_EMAIL_APPROVERS,'~!@',NULL,REGADM_REQUEST_PKG.GET_EMAIL_APPROVERS)),'%')||'%'
    AND upper(NOTIFY_APPROVED) LIKE '%'||nvl(upper(DECODE(REGADM_REQUEST_PKG.GET_APPROVAL_NOTIFICATION,'~!@',NULL,REGADM_REQUEST_PKG.GET_APPROVAL_NOTIFICATION)),'%')||'%'
    I would be glad for any suggestions.
    Andy/Varad any ideas? You both helped me a lot on my problems for the same application that I had faced before in More Problems in Tabular form - Please give me suggestions.
    Thanks,
    Sumana

    Hi Andy,
    The view and the package for setting bind variables work properly in my entire application other than the pagination. A pity that I came across this only now :(
    I have used this same method for holding variables in another application before, where I needed to print to PDF. I used this approach in the other application because my queries were not within the APEX character limit specified for the "SQL Query of Report Query shared component".
    In this application, I initially had to fetch values from 2 tables and update the 2 tables. Updateable form works only with one table right? Hence I had created a view. Later the design got changed to include search and instead of changing the application design I just changed the view then. Still later, my clients merged the 2 tables. Once again I had just changed my view.
    Now, I wanted to know if any method was available for the pagination issue (using the view itself). Hence I posted this.
    But as you suggested, I think it is better to change the page design quickly (as it would be much easier).
    If I change the region query to use the table and the APEX bind parameters in the where clause as:
    SELECT *
    FROM REGADM_REQUEST
    WHERE upper(employee_name) LIKE '%'||nvl(upper(:P1_EMPLOYEE_NAME),'%')||'%' .....
    I also changed the ApplyMRU to refer to the table.
    Here the pagination issue is resolved. But here the "last Update By" and "Last Update Date" columns do not get updated with "SYSDATE" and "v(APP_USER)" values, when update takes place. Even if I make the columns as readonly text field, I am not sure how I can ensure that SYSDATE and v('APP_uSER') can be passed to the columns. Any way I can ensure this? Please have a look at the issue here: http://apex.oracle.com/pls/otn/f?p=19399:1:
    I have currently resolved the "last update" column issue by modifying my view as:
    CREATE OR REPLACE VIEW REGADM_REQUEST_V
    AS
    SELECT *
    FROM REGADM_REQUEST
    I modified my region query to use APEX bind parameters itself as:
    SELECT *
    FROM REGADM_REQUEST_V
    WHERE upper(employee_name) LIKE '%'||nvl(upper(:P1_EMPLOYEE_NAME),'%')||'%' .....
    And I use the "INSTEAD OF UPDATE" trigger that I had initially written for update. The code is:
    CREATE OR REPLACE TRIGGER REGADM_REQUEST_UPD_TRG
    INSTEAD OF UPDATE
    ON REGADM_REQUEST_V
    REFERENCING NEW AS NEW OLD AS OLD
    FOR EACH ROW
    BEGIN
    UPDATE REGREGOWNER.REGADM_REQUEST
    SET MANAGER_EMAIL = :NEW.MANAGER_EMAIL
    , EMPLOYEE_EMAIL = :NEW.EMPLOYEE_EMAIL
    , STATUS_UPDATE_DATETIME = SYSDATE
    , USER_UPDATE_ID = (SELECT v('APP_USER') FROM DUAL)
    WHERE REQUEST_ID = :OLD.REQUEST_ID;
    END;
    Please let me know how I can resolve the "last update" column issue using the table itself. (Just for my learning)
    Thanks,
    Sumana

  • Tabular Form Validation not working in tabular form APEX 4.0

    Hi,
    I am using APEX 4.0. I have a tabular form with Tabular form validation done with it.
    Item not null is the validation.. so if I dont type any value in the any of the fields in the tabular form and press the Submit button, the first time error is shown... but when I click the Submit button again, with still the empty rows the page is submitted.
    How to resolve this issue?
    Edited by: Suzi on Oct 5, 2010 11:13 AM

    Look at this thread - Re: Validations of tabular forms in 4.0

  • Date popup validation in manual tabular form

    Hey all-
    I'm creating a tabular form manually (i.e., with apex_collection) per instructions at OBE (http://www.oracle.com/technology/products/database/application_express/ppt/odtug2008_marcie_young.pdf). Working fine, except I'm having a problem with apex_item.date_popup.
    One of the fields I need to collect from the tabular form is a date. For the SQL report, the relevant item is apex_item.date_popup(9, null, c008, 'YYYY-MM-DD', 20, 10) (and c008 is the relevant column from the collection). The trouble comes in if a user types a bogus date into the date popup. I have validation code to check this, but before running that code, I have to store the user's new entries into the collection. So basically my steps are:
    1. display the tabular form w/ a SQL report containing apex_item.date_popup
    2. use an update collection PL/SQL process to store the user data into the collection (process point = On Submit and Before Computation)
    3. use a validation PL/SQL process to verify the data in the collection before processing the update
    All that works, and the validation identifies the bad date. But then the page tries to render the tabular form again (so the user can fix the bad date), but the apex_item.date_popup(9, null, c008, 'YYYY-MM-DD', 20, 10) column fails b/c of the bad date. I need a way to programmatically create a date popup and populate it with (potentially) invalid data. Any ideas?
    Thanks
    Rob

    Problem solved. Tossed the lackluster apex_item.date_popup and replaced w/ jQuery datepicker.
    Rob

  • Validate field in tabular forms apex 4.2

    Hi.
    i need help doing next validations :
    1.- i have a product_item field (wich is a lov and user choose one value), so i need to call a function (sending it the selected value product_item) that will return me some data about the product i selected, for example :
    if the function return 'A' then
    disable the next item on tabular form, lets say quantity
    else
    enable the next item on tabular form, lets say quantity
    end if
    2.- i need to determine the result of two items operations:
    total := final_quantity - start_quantity
    the user will introduce start and final quantity and i will determine the total.
    any ideas ?
    i am new on apex and need to do this on tabular forms.
    thanks in advance.

    Thomas,
    Is this a standard APEX tabular form validation, or a custom PL/SQL based validation? It might be easiest to diagnose what's going on there, if you could replicate this issue on apex.oracle.com, and point us to an example.
    Thanks,
    Marc

  • Spry validation problem for long forms

    I used the Spry Validation Widgets for my form validation. It
    works great, BUT the problem is that if you have a very long form
    and the user doesn’t fill in one of the top required fields,
    it doesn’t scroll the browser back up to the required field,
    or present a message next to the submit button telling the person
    that not all required fields have been filled in. Nothing appears
    to happen at all, which would be confusing to users. I added my own
    message underneath the Submit button which reads "If this form does
    not submit, check for required entries at the top of this page.*",
    but is there a way to add an extra popup message that could appear
    next to the Submit button instead? (I know that we can't mix the
    Validate Form behavior with the Spry Validation widgets.)

    Came across the same issue as well. To solve this I added in
    three lines of code into the 'SpryValidationTextField.js' file that
    is created via DW. Inside of that include look for the following
    code:
    if (!Spry.Widget.Form.validate) {
    Spry.Widget.Form.validate = function(vform) {
    var isValid = true;
    var isElementValid = true;
    var q = Spry.Widget.Form.onSubmitWidgetQueue;
    var qlen = q.length;
    for (var i = 0; i < qlen; i++) {
    if (!q
    .isDisabled() && q.form == vform) {
    isElementValid = q
    .validate();
    isValid = isElementValid && isValid;
    return isValid;
    Right before you return the "isValid" parameter you want to
    check and see if the value is false. If it is, have the page
    refreshed to a specific html anchor. For example:
    if (isValid == false) {
    window.location.hash = "formtop";
    return isValid;
    Where "formtop" is would be the name of your html anchor tag
    on the page. So right before my html form starts I have:
    <a name="formtop"></a>
    Hope that helps ... enjoy!
    - Larry Daughenbaugh
    http://www.jplprod.com

  • No Data returned for tabular form APEX 4

    Hi,
    I have a page that uses a tabular form, however it is not showing me any data. If I click the add row button and enter some details and press submit, the data is saved to the database but the page is refreshed and still shows me no data. I don't however get a No Data Found message.
    If I create a region on the same page based on a sql report, that returns the data I have added through the tabular form.
    Any ideas
    Cheers
    Paul

    My previous post appears to be incorrect as neither pages are now returning data!!!!
    So I started again and this is what I have done.
    1) Run the page and get no data. The SQL statement on the page is
    select
    "ID",
    "ID" ID_DISPLAY,
    "REFERRAL_ID",
    "REASON",
    "CREATED_BY",
    "CREATED_ON",
    "UPDATED_BY",
    "UPDATED_ON"
    from "#OWNER#"."REFERRAL_REASON"
    where referral_id = :P82_REFERRAL_ID
    2) Checked the wwv_flow_activity_log and can see that the number of rows returned is correct (12 in this case)
    3) Traced the page and looked at the trace file which has the following statement
    select NULL "CHECK$01",
    NULL "ID",
    NULL "ID_DISPLAY",
    to_number(123) "REFERRAL_ID",
    NULL "REASON",
    NULL "CREATED_BY",
    NULL "CREATED_ON",
    NULL "UPDATED_BY",
    NULL "UPDATED_ON",
    NULL "ROWID"
    from dual
    union all
    select "CHECK$01" "CHECK$01",
    "ID" "ID",
    "ID_DISPLAY" "ID_DISPLAY",
    "REFERRAL_ID" "REFERRAL_ID",
    "REASON" "REASON",
    "CREATED_BY" "CREATED_BY",
    "CREATED_ON" "CREATED_ON",
    "UPDATED_BY" "UPDATED_BY",
    "UPDATED_ON" "UPDATED_ON",
    "ROWID" "ROWID"
    from (select NULL "CHECK$01",
    "ID" "ID",
    "ID_DISPLAY" "ID_DISPLAY",
    "REFERRAL_ID" "REFERRAL_ID",
    "REASON" "REASON",
    "CREATED_BY" "CREATED_BY",
    "CREATED_ON" "CREATED_ON",
    "UPDATED_BY" "UPDATED_BY",
    "UPDATED_ON" "UPDATED_ON",
    "ROWID" "ROWID"
    from (select "ID",
    "ID" ID_DISPLAY,
    "REFERRAL_ID",
    "REASON",
    "CREATED_BY",
    "CREATED_ON",
    "UPDATED_BY",
    "UPDATED_ON"
    from "IMPULSE"."REFERRAL_REASON") apex$_rpt_src
    order by 1)
    call count cpu elapsed disk query current rows
    Parse 4 0.00 0.00 0 0 0 0
    Execute 4 0.00 0.00 0 0 0 0
    Fetch 16 0.00 0.00 0 24 0 12
    total 24 0.00 0.00 0 24 0 12
    4) Amended the page to remove the where clause
    5) Amended the page to removed the process that adds 5 empty rows
    6) Run the page and still get no rows
    7) Checked the wwv_flow_activity_log and can see that the number of rows returned is correct (12 in this case)
    8) Log out of application and log back in
    9) Run the page and get 500 rows
    10) Checked the wwv_flow_activity_log and can see that the number of rows returned is correct (500 in this case)
    11) Added the where clause back in to the SQL statement and rerun the page and get the correct numer of rows (12 in this case)
    12) Log out of application and log back in
    13) Run the page and get no rows!!!!!!!
    14) Checked the wwv_flow_activity_log and can see that the number of rows returned is correct (12 in this case)
    So I can only conclude that whilst the data is being retrieved from the database it is not being displayed on the screen. So what would be stopping the data from being displayed?
    Regards
    Paul

  • LOV in tabular form-Apex 4.0

    Hi
    I am creating a wizard based tabular form in Apex 4.0 and my scenario is like
    I have a deptno column in my form and i want the employees for that particular dept in the ename select list.
    I know that it can be done with manual tabular form. But since i am using a wizard based tabular form, is it possible for achieving this scenario.
    Thanks.
    Divya

    Hi Vee,
    I have tried your solution. I have replaced the column in my SQL with the apex_item version of the LOV. For showing the column correctly in the Grid I have to set the column to a "standard report column".
    But Now it is now the edit flag is gone and it is not a updatable column anymore. When I push the Add button I cannot insert a value for the column.
    How can I define the column as editable so the standard procedures for updating and inserting the column are working again.
    Regards,
    Fred.

  • Validation in Tabular form column

    Dear All,
    i am using tabular form (Apex 4.1) to create new project users.
    i want to apply validation on column of tabular form.
    i have multiple entry in tabular form .i want to iterate throuh all records to check validation but my code is not iterating in to all record of columns.
    where i doing wrong.
    my code is
    DECLARE
    D DATE;
    BEGIN
    SELECT START_DATE INTO D FROM PA_PROJECTS_ALL WHERE PROJECT_ID=:F104_RESOURCE;
    FOR i IN 1 .. apex_application.g_f09.COUNT
    LOOP
    IF apex_application.g_f09(i) >=D THEN
    RETURN TRUE;
    END IF;
    RETURN FALSE;
    END LOOP;
    END;How can i iterate my loop if 2 and 3 row record not satisfying this condition
    apex_application.g_f09(i) >=D .How can i do this.
    Thanks

    DECLARE
    D DATE;
    B  BOOLEAN := FALSE; -- Added
    BEGIN
    SELECT START_DATE INTO D FROM PA_PROJECTS_ALL WHERE PROJECT_ID=:F104_RESOURCE;
    FOR i IN 1 .. apex_application.g_f09.COUNT
    LOOP
    --IF TO_DATE(apex_application.g_f09(i)),'DD-MON'YYYY' >=TO_DATE(D,'DD-MON-YYYY') THEN
    IF TO_DATE(apex_application.g_f09(i)),'DD-MON-YYYY' >=TO_DATE(D,'DD-MON-YYYY') THEN -- removed syntax error in this line
      --RETURN TRUE;
       B := TRUE;
    END IF;
    --RETURN FALSE; --commented
    END LOOP;
    RETURN B;
    END;This will iterate through the entire array, and if even one time it runs B:= TRUE it will return TRUE.
    Now all this assuming that the above code is a Condition on the Validation. If it is the Validation itself then TRUE Means Passed and False means failed. Check whether that is what you want.
    Regards,
    h5. Contrariwise, if it was so, it might be; and if it were so, it would be; but as it isn't, it ain't. That's logic. --Lewis Carroll                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Validation On Tabular Form

    How to implement validation such on TABULAR FORM
    select case when
    lead (IHL_PDATE) over (order by IHL_PDATE) > IHL_PDATE
    OR
    lead (IHL_PDATE) over (order by IHL_PDATE) is null
    'Ok'
    else 'Not Ok'
    end
    after or before submitting form?*
    I implement it on Table but I want to apply it to form?
    Regards
    Edited by: Siyavus on Sep 14, 2009 2:19 PM
    Edited by: Siyavus on Sep 14, 2009 2:28 PM

    Siyavus,
    Is your validation on the base table or a collection? Denes Kubicek has a couple examples of tabular form validation here:
    http://apex.oracle.com/pls/otn/f?p=31517:41
    Regards,
    Dan
    http://danielmcghan.us
    http://www.skillbuilders.com
    You can reward this reply by marking it as either Helpful or Correct ;-)

  • Tabular form with Popuv LOV doesn't work with onchange event

    Hi all.
    I have a problem with tabular forms, Popuv LOVs and javascript.
    I have created one tabular form, I want to put a value in "my_field" field when a user selects a new value from other field called "my_list", I have this code:
    <script type="text/javascript">
    function putValue(pThis)
        var vRow = pThis.id.substr(pThis.id.indexOf('_')+1);
        html_GetElement('f06_'+vRow).value = '0000';
    </script>and this for Element Attributes:
    onchange="putValue(this);"Everything works well when I choose "Display as Text Field", but if I change this option to "Display as Popup KEY LOV" or "Popup LOV" it doesn't work, I mean "my_field" stays without any value.
    I'm using Oracle Application Express Release 4.0 and Oracle 11g
    Please help.
    Regards.

    Hi Peter.
    Thanks, yes, in fact the position of my column changes, but it doesn't work even with the correct element, I have made a lot of proves and it seems that APEX constructs POPUPS LOVS in a different way and that's why "onchange" does not work.
    With this thread: Re: onchange not work on popup lov for a field on collection I have a half solution, It works for existing rows, but it doesn't for added rows.
    I have solved this problem calling a function that set the onchange event to every row when "ADD ROW" button is pressed, now it works without problems.
    Regards.
    Oscar.

  • Keep coursor position row number 5 in tabular forms.

    Hi all,
    I am facing some problem , In tabular forms there are around 10 rows.
    I want to keep cursor position in number 5 position. Data moves up and down by pressing up and down key but always cursor remain in 5th position. I think u get my point.
    Thanks,
    Md.Muniruzzaman Khan
    Email : [email protected]

    Ok it may not exactly what you want but it's really close.
    put on your block a hey-up and key-down trigger with the following code
    declare
         counter NUMBER(10);
    begin
    if :system.cursor_record < 5 then
         go_record(5);
    else
         -- suppose you have 10 records displayed you can make it dynamic by retrieving the block's displayed record and round(num/2)
         -- instead of the fixed 5
         SCROLL_DOWN;
         counter := :system.cursor_record;
         go_record(counter+5);
    end if;
    end;
    hope you can do something with this

  • Null Validation in Tabular Form in APEX 4.2.2

    Hi to all respected Gurus of this Forum!
    Recently downloaded APEX 4.2.2. As we know that this version has some improved features and one is the best is i.e. *"Validation on Tabular Form".*
    For test purpose I succeeded to apply validation on field of tabular form and I am not allowed to "SUBMIT" data as per Validation Rule.
    But now, I want to customize that validation as per below logic.
    If required field is null than a message-box should appear with two buttons , as under:
    Blank field not allowed. Do you really want to submit? (Buttons should be = YES NO)
    If user press "YES" then validation should be false and record should be saved
    AND
    If user press "NO" then no data should be submitted/inserted as per validation logic.
    Please help. Your as usual cooperation is highly appreciated in advance.
    Regards
    Muhammad Uzair Awan
    ORACLE APEX Developer
    Pakistan

    Hello Sabine,
    >> I read about enhanced validation in 4.1 and would love to get rid of g_f-programming.
    The major “trick” is to associate the validation/process with a Tabular Form. On the first screen of both wizards, the first field is Tabular Form. You must select the tabular form on your page (currently there can be only one. In future versions this will change).
    Another factor that might influence the behavior of Tabular Form validation/process is the new attribute of Execution Scope. Unfortunately, you must enter Edit mode to gain access to this attribute (i.e., it can’t be set directly from the Tabular Form create wizard). Set it according to your need.
    The rest is very simple. You should treat your Tabular Form as a simple form, where every column header stands for a form item. The following is a very simple example of validating the SAL column:
    if :SAL < 1500 then
      return 'Sal Value is under 1500';
    else
      return null;
    end if;In this validation I’m using the Function Returning Error Text type.
    Regards,
    Arie.
    &diams; Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.
    &diams; Author of Oracle Application Express 3.2 – The Essentials and More

  • Bug in Tabular form Not Exist Validation, fails when creating multiple rows

    Hi,
    I have a Not Exist validation created for a Tabular form:
       select 1 from my_table where col1 = :col1 and col2 = :col2Execution State: For created and Modified Rows
    which is working fine when a row already there in DB
    and I am trying to enter a new row with same data.
    but when there's no data and I enter two rows with same data, validation does not fire, first row should allowed to enter
    but for second row it should give error that data already exists, which is not happening.
    for example,
    let's say I have a row in DB with: 1, 2, 3
    when I try to add a new row with same data ie. 1, 2, 3 validation fires and showing error, which is fine.
    but let's say there's no data in DB and I am entering two rows with:
    1, 2, 3
    1, 2, 3
    validation is not working this time, it is allowing to enter both the rows.
    do I need to create a manual validation for this or what?
    Apex 4.1.1.00.23
    Regards,
    Tauceef
    Edited by: Tauceef on Dec 6, 2012 10:09 AM
    Edited by: Tauceef on Dec 6, 2012 11:22 AM
    Edited by: Tauceef on Dec 6, 2012 11:27 AM

    Hello Tauceef,
    >> Now I got it, I was under impression that it will validate one by one row before insertion,
    >> but it's going to check all the rows first, then do the insertion.
    Just to clear things up, the APEX engine works exactly as you describe, but this is your problem.
    The APEX engine do check\validate all the rows first, one row at a time, and only if all the rows pass validation, the DML processes kick in. The DML processes work on the entire Tabular Form record set (per page view, of course).
    In order for your type of validation to work (the one that queries the database), as you want it, the validation and DML actions have to run together, row by row. This is not how things work, because it’s less efficient/optimal, and may lead to a situation where a certain row can fail validation, but other row(s) already been inserted/updated/deleted into/from the database. This could be a very tricky situation.
    Vikram has suggested to rely on a database constraint, and control the APEX error message. This is possible, although I’m not sure that in this case, the Tabular Form will retain all the user changes, in case of validation error. You should check it.
    Another option, which Marc hinted on, is to manipulate the G_Fxx arrays. In your case, you should loop through the new rows, compute their MD5, and make sure that all the rows have different MD5 values. This is on top of the current validation, which makes sure that the new rows do not already exist in the database.
    Regards,
    Arie.
    &diams; Please remember to mark appropriate posts as correct/helpful. For the long run, it will benefit us all.
    &diams; Author of Oracle Application Express 3.2 – The Essentials and More

  • Manual Tabular Form Problem

    Apex 3.2
    I have written a manual tabular form and it has a validation to check if a column contains negative numbers.
    If it does then it returns a validation error.
    I also have the same validation in my database procedure which raises
    RAISE_APPLICATION_ERROR(-20000, 'The update procedure does not accept negative numbers.');My problem is withmy page validation.
    If the column value was 16 and the user types in, eg, -12, then the validation fires and returns the message.
    The problem is that once the message is returned, the column value is reset to the original value, eg, 16.
    If I disable my page validation and use my database exception.
    Then the error message from the database displays. If I click ok, then the form displays the new value, eg, -12.
    I want to use my page validation, but I need the page to show the new value.
    I have made all my processes and branches conditional to run only if there are no inline validations displayed,
    but this did not affect anything.
    Any help appreciated
    Gus

    Gus C wrote:
    It works exactly how I want mine to, without using collections, ie, it keeps the new values in the page.
    Unfortunatley I cannot figure out how he does thatUpgraded to 4.2 ;)
    One of the differences between version 3 and 4 is that retaintion/caching of the changed values in tabular forms.
    In other words in apex 4 the builder takes care of showing the new changed value.
    By not fetching the data from the database on a validation error.
    Where as in Apex 3 you have to do that when there is a validation error and the message is shown on the same page.
    The report fetches the data from the database even when there is a validation error.
    There are 2 options
    1) Let the validation message be shown on the error page. Going back in the browser history doesn't fetch the data form the database up on rerendering.
    This option is mentioned in the thread the demo was inspired by.
    2) Work with a collection. Where you take care of the caching. This method gives the posibility to so multiple validation messages where as the "show on error page" shows only one validation message.
    Nicolette

Maybe you are looking for

  • [SOLVED] Arch will not boot all the way after update

    Hey all, I feel really stupid about this one, but I really need some help. Today I updated my system and eventually during that session I decided to turn off the computer using "shutdown -h 0". This resulted in an error. I tried simply "reboot", but

  • Conditions with 0 value in pricing appears in Price of sls order in ECC 6.0

    Hi All, We have upgraded from R/3 4.7 to ECC 6.0.We have a pricing procedure with Condition type VPRS for which the value comes from the valuation segment of the Material master. It is a statistical condition. In R/3 4.7, if we used a non valuated ma

  • How to check the calendar date format in R12, 'IW' or 'WW' ??

    Hi! Currently we are facing any issue where the first date in 2014 is 6-Jan and remaining dates i.e; 2.3.4.5 Jan are in last week of Dec13. I read in Oracle Forums topic first dates in Oracle are based on IW and W W format as below; W W format - prov

  • Moving information from Blackberry to Computer

    The frame of my tracking ball popped off and I'm recieving a new phone via mail. I called support and they said I needed to transfer the information from my Blackberry to my computer to save what I have on my phone so I can put it in my new phone. Ca

  • Tab not working properly for Datagrid ItemEditor ComboBox

    When you run the app type a1 in the find an App combo box then hit the tab key. Click in the 3rd row in the As Bs column and a combobox will show. Type a3 and then hit enter.  Notice that A3 is saved as the selected item and saved to the dataprovider