WHEN-VALIDATE-TRIGGER trigger looping so many times

Hi,
Below is the code written in WHEN-VALIDATE-TRIGGER trigger and after raise FORM-TRIGGER_FAILURE
the process is not stopping and the trigger message looping without end when
I tab to the next field or try to save the record. I am not sure why the flow did not stop
after the raise FORM_TRIGGER_FAILURE exception and the trigger looping again and again.
Please help me to know what is wrong in the code. This trigger written in ITEM level.
declare
                 msg_type varchar2(3);
              msg_text varchar2(2000);
              continue       boolean;
            begin
              if :pom1_b22.qty < 0 then
                message_ppkg.get_msg_from_db('RET','04060',msg_type,msg_text);
                message(msg_text || '.');
                bell;
                raise form_trigger_failure;
              else
                continue := TRUE;
                if :pom1_b22.qty is not null and :pom1_b22a.b22_query = 'FALSE' then
                  if nvl(:pom1_b22.irt_created,'N') = 'Y' then
                    if :pom1_b22.qty <> :pom1_b22.save_qty and
                      :pom1_b22.save_qty is not null then                    
                      if check_order_status then
                        continue := TRUE;
                      else
                        continue := FALSE;
                         message_ppkg.get_msg_from_db('RET','04061',msg_type,msg_text);
                         message(msg_text);   
                        bell;
                        :pom1_b22.qty := :pom1_b22.save_qty;
                        raise form_trigger_failure;
                      end if;
                    end if;
                  end if;                
                  if continue then
                    if :pom1_b22.save_qty is null then
                      if :pom1_b22.qty > :pom1_b22a.total_qty then
                         message_ppkg.get_msg_from_db('RET','04057',msg_type,msg_text);
                         message(msg_text || to_char(:pom1_b22a.total_qty) || '.');   
                        bell;
                        raise form_trigger_failure;
                      end if;
                    else
                      if :pom1_b22.qty <> nvl(:pom1_b22.save_qty,0) then
                        if :pom1_b22.qty > :pom1_b22a.total_qty +
                                           (nvl(:pom1_b22.save_qty,0) -
                                            :pom1_b22.qty) then
                                                message_ppkg.get_msg_from_db('RET','04056',msg_type,msg_text);
                         message(msg_text || to_char(:pom1_b22a.total_qty +
                                          (nvl(:pom1_b22.save_qty,0) -
                                           :pom1_b22.qty)));                 
                          bell;
                          raise form_trigger_failure;
                        end if;
                      end if;
                    end if;
                  end if;
                end if;
              end if;
            end;

Your Raise form_Trigger_failure Condition is not met hence not stopping the rest trigger body.

Similar Messages

  • ORA-01403: no data found ---- FRM-40735: WHEN-VALIDATE-ITEM trigger raised

    Scenario: I have one Master Detail form. after entering values in master Form, Navigate to Detail form, there I have to enter more that 5000 lines, it's very tough for user to enter huge amount of data.
    Workaround: Give one button on Master form and written a cursor to populate all the 5000(relavent) number of record on detail block.
    Issue: while populating detail data block after around 3000 record detail form start showing Error as
    ORA-01403: no data found
    FRM-40735: WHEN-VALIDATE-ITEM trigger raised unhandled exception ORA-06502.
    Need suggestion
    Code Written on find button as below
    BEGIN
              --XX customized
              if (:ADJ_IP_CTRL.DUE_DT_FROM is null OR :ADJ_IP_CTRL.DUE_DT_TO is null) then
              fnd_message.set_string('Due Date from and Due Date To Must be entered.');
              fnd_message.Show;
              raise form_trigger_failure;
              end if;
         BEGIN     
              go_block('ADJ_INV_PAY');
    clear_block(no_validate);
         for inv_rec in (
                             SELECT v.invoice_num,
              v.invoice_id,
              v.invoice_type,
              v.pay_alone,
              v.exclusive_payment_flag,
              v.payment_num,
              v.amount_remaining,
              --TO_CHAR (v.amount_remaining,fnd_currency.get_format_mask(v.currency_code, 42)) char_amount_remaining,
              TO_CHAR (v.amount_remaining,'FM999G999G999G999G999G999G999G999G990D00') char_amount_remaining,
              ap_payment_schedules_pkg.get_discount_available (
              v.invoice_id,
              v.payment_num,
              :pay_sum_folder.check_date,
              :pay_sum_folder.currency_code)
              discount_available,
              /*TO_CHAR (ap_payment_schedules_pkg.get_discount_available (
              v.invoice_id,
              v.payment_num,
              :pay_sum_folder.check_date,
              :pay_sum_folder.currency_code),
              fnd_currency.get_format_mask (v.currency_code, 42))*/
              TO_CHAR (ap_payment_schedules_pkg.get_discount_available (
              v.invoice_id,
              v.payment_num,
              :pay_sum_folder.check_date,
              :pay_sum_folder.currency_code),'FM999G999G999G999G999G999G999G999G990D00')
              char_discount_available,
              ap_payment_schedules_pkg.get_discount_date (
              v.invoice_id,
              v.payment_num,
              :pay_sum_folder.check_date)
              disc_date,
              v.always_take_disc_flag,
              v.discount_amount_available,
              v.discount_date,
              v.second_discount_date,
              v.second_disc_amt_available,
              v.third_discount_date,
              v.third_disc_amt_available,
              v.gross_amount,
              v.description,
              v.accts_pay_code_combi_id,
              v.due_date,
              v.REMIT_TO_SUPPLIER_NAME,
              v.REMIT_TO_SUPPLIER_ID,
              v.REMIT_TO_SUPPLIER_SITE,
              v.REMIT_TO_SUPPLIER_SITE_ID,
              v.RELATIONSHIP_ID,
              v.external_bank_account_id,
              ieba.bank_account_num external_bank_account_num,
              ieba.bank_account_name external_bank_account_name
              FROM ap_invoices_ready_to_pay_v v, iby_ext_bank_accounts ieba
              WHERE v.party_id = :pay_sum_folder.party_id /* and v.invoice_num like :adj_inv_pay.invoice_num||'%' */
              AND ( (:pay_sum_folder.payment_type_flag =
              'M')
              OR (:pay_sum_folder.payment_type_flag =
              'R'
              AND v.invoice_type IN
              ('CREDIT',
              'STANDARD',
              'DEBIT',
              'EXPENSE REPORT',
              'MIXED',
              'AWT'))
              OR /*Bug5948003, Bug6069211*/
              (:pay_sum_folder.payment_type_flag =
              'Q'
              /*AND (v.vendor_site_id =
              :pay_sum_folder.vendor_site_id
              OR v.invoice_type =
              'PAYMENT REQUEST')*/
              AND ( (:SYSTEM.LAST_RECORD =
              'TRUE'
              AND :SYSTEM.cursor_record =
              '1')
              OR (NVL (
              v.exclusive_payment_flag,
              'N') =
              'N'
              AND NVL (
              :parameter.pay_alone,
              'N') =
              'N'))))
              AND v.currency_code = :pay_sum_folder.currency_code
              AND v.payment_method_code = :pay_sum_folder.payment_method_code
              AND NVL (v.payment_function, 'PAYABLES_DISB') =
              NVL (:pay_sum_folder.payment_function, 'PAYABLES_DISB')
              AND v.set_of_books_id = :pay_sum_folder.set_of_books_id
              AND NVL (v.future_dated_payment_ccid, -1) =
              DECODE (:parameter.manual_fdp_site_acct_src_flag,
              'Y', NVL (:parameter.site_fdp_account_ccid, -1),
              NVL (v.future_dated_payment_ccid, -1))
              AND v.external_bank_account_id = ieba.ext_bank_account_id(+)
              AND v.due_date BETWEEN :ADJ_IP_CTRL.DUE_DT_FROM and :ADJ_IP_CTRL.DUE_DT_TO
                                  ORDER BY v.due_date, UPPER (invoice_num)          
                        --added 08apr2012 (end)
              removed 08apr2012 ORDER BY UPPER (invoice_num)
              ) loop
                   :ADJ_INV_PAY.INVOICE_NUM := inv_rec.INVOICE_NUM;
    :ADJ_INV_PAY.INVOICE_ID := inv_rec.INVOICE_ID;
    :ADJ_INV_PAY.INVOICE_TYPE := inv_rec.INVOICE_TYPE;
    :ADJ_INV_PAY.EXCLUSIVE_PAYMENT_FLAG := inv_rec.EXCLUSIVE_PAYMENT_FLAG;
    :ADJ_INV_PAY.PAYMENT_NUM := inv_rec.PAYMENT_NUM;
    :ADJ_INV_PAY.AMOUNT_REMAINING := inv_rec.AMOUNT_REMAINING;
    :ADJ_INV_PAY.DISCOUNT_AVAILABLE:= inv_rec.DISCOUNT_AVAILABLE;
    :ADJ_INV_PAY.DISC_DATE := inv_rec.DISC_DATE;
    :ADJ_INV_PAY.ALWAYS_TAKE_DISC_FLAG := inv_rec.ALWAYS_TAKE_DISC_FLAG;
    :ADJ_INV_PAY.DISCOUNT_AMOUNT_AVAILABLE := inv_rec.DISCOUNT_AMOUNT_AVAILABLE;
    :ADJ_INV_PAY.SECOND_DISCOUNT_DATE := inv_rec.SECOND_DISCOUNT_DATE;
    :ADJ_INV_PAY.SECOND_DISC_AMT_AVAILABLE:= inv_rec.SECOND_DISC_AMT_AVAILABLE;
    :ADJ_INV_PAY.THIRD_DISCOUNT_DATE:= inv_rec.THIRD_DISCOUNT_DATE;
    :ADJ_INV_PAY.THIRD_DISC_AMT_AVAILABLE := inv_rec.THIRD_DISC_AMT_AVAILABLE;
    :ADJ_INV_PAY.GROSS_AMOUNT := inv_rec.GROSS_AMOUNT;
    :ADJ_INV_PAY.ACCTS_PAY_CODE_COMBINATION_ID := inv_rec.ACCTS_PAY_CODE_COMBI_ID;
    :ADJ_INV_PAY.DUE_DATE := inv_rec.DUE_DATE;
    :ADJ_INV_PAY.REMIT_TO_SUPPLIER_NAME := inv_rec.REMIT_TO_SUPPLIER_NAME;
    :ADJ_INV_PAY.REMIT_TO_SUPPLIER_ID := inv_rec.REMIT_TO_SUPPLIER_ID;
    :ADJ_INV_PAY.REMIT_TO_SUPPLIER_SITE := inv_rec.REMIT_TO_SUPPLIER_SITE;
    :ADJ_INV_PAY.REMIT_TO_SUPP_SITE_ID := inv_rec.REMIT_TO_SUPPLIER_SITE_ID;
    :ADJ_INV_PAY.APS_EXTERNAL_BANK_ACCOUNT_ID := inv_rec.EXTERNAL_BANK_ACCOUNT_ID;               
    --               go_item ('ADJ_INV_PAY.INVOICE_NUM');
    --               EXECUTE_TRIGGER('WHEN-VALIDATE-ITEM');
              validate(record_scope);
              if form_success then
              next_record;
              end if;
              end loop;
              first_record;
         exception
                   when others then
                   raise form_trigger_failure;
              END;
    synchronize;
    END;
    Thanks
    -Krishn

    Hello Krishn,
    Welcome to the Oracle Forums. Please take a few minutes to review the following:
    <ul>
    <li>Oracle Forums FAQ
    <li>Before posting on this forum please read
    <li>10 Commandments for the OTN Forums Member
    <li>How to ask questions the smart way
    </ul>
    Following these simple guidelines will ensure you have a positive experience in any forum; not just this one!
    user12266683 wrote:
    Scenario: I have one Master Detail form. after entering values in master Form, Navigate to Detail form, there I have to enter more that 5000 lines, it's very tough for user to enter huge amount of data.
    Workaround: Give one button on Master form and written a cursor to populate all the 5000(relavent) number of record on detail block.
    Issue: while populating detail data block after around 3000 record detail form start showing Error as
    ORA-01403: no data found
    FRM-40735: WHEN-VALIDATE-ITEM trigger raised unhandled exception ORA-06502.
    Need suggestion
    ORA-01403: no data found clearly indicate that you have SQL Select statement in WHEN-VALIDATE-ITEM trigger and does not handled EXCEPTION
    add exception in your select statement.
    Hope it's clear..
    Hamid
    If someone's response is helpful or correct, please mark it accordingly.*

  • Question on WHEN-VALIDATE-ITEM Trigger in Forms 6i

    Hi,
    I am working with a form which has two different database blocks. When I enter some valid data in block 1 and hit tab, a key-nxtblk trigger navigates the cursor to the next block. Now this second block has some fields which were disabled at the design time and I have a procedure which sets the properties of these items to enabled when required during runtime. From the first run, when I run this procedure and go to one of these items which has no data filled in yet and press tab, when-validate-item trigger is fired (I am confused with this kind of behavior).
    Does anyone know why is it firing when-validate-item trigger and if yes how can we fix it?
    My goal is to disable Block2.Item2 only if Block2.Item1 has some value in it.
    Can anyone please look into it?
    Thanks for your time.

    Thanks Steve, Vikas and Craig for your valuable suggestions.
    Craig, to answer your question, I have no "Copy Value from Item" or "Synchronize with Item" property set on these disabled fields.
    To elaborate my problem, I have three non database items in a database block. I have to set the properties during the runtime. Suppose the fields are named as field1, field2, field3. Now I have to have when-validate-item triggers on each item with the following content.
    WVI trigger on field1
    IF field1 IS NULL
    THEN
          activate field2 and field3.
    ELSE
          Disable field2 and field3.
    END IF;
    WVI trigger on field2
    IF field2 IS NULL
    THEN
          activate field1 and field3
    ELSE
          Disable field1 and field3.
    END IF;
    WVI trigger on field3
    IF field3 IS NULL
    THEN
          activate field1 and field2
    ELSE
          Disable field1 and field2.
    END IF;I have a procedure which is called in WHEN-NEW-BLOCK-INSTANCE trigger to assign NULL to some fields and set the properties in the block and during this process when I first run the form, the record_status is set to NEW and after setting some fields to NULL the record_status is changed to INSERT. But both the times when-validate-item trigger on each of the fields 1,2, & 3 are fired. No matter we enter any value or not.
    can you help in understanding the mistake I am doing or fixing this?
    Thanks for your time.
    Edited by: new_user on Oct 31, 2008 1:00 PM

  • When-validate-item trigger restriction on open form or call form

    W have when-validate-item trigger. I need to place a code here that will bring up a form when the "valid entry" on the item has been made. I am getting a frm-40737:Illegal restricted procedure COMMIT...
    Code snippet on the procedure that I am calling from the when-validate-item:
    IF :System.Form_Status = 'CHANGED' THEN
    Commit_Form;
    end if;
    Call_Form ('MY_FORM', HIDE, NO_REPLACE, NO_QUERY_ONLY,'PARAM');
    Is there a work-around. We also cannot use timers here.
    Any help is appreciated?
    TIA

    Thanks Sudha, I tested and it worked with the key-next-item trigger.
    The only thing though, I was told that the users will not use the enter key when they navigate out of the field, it is either clicking on an exit button or function key F4...so I am still stuck with the same problem.
    This site is really helpful and I hope to receive more ideas.
    Thanks!

  • Workarounds for clear_form in when-validate-item  trigger

    Hi,
    I'm using forms6i
    I want to call clear_form in when-validate-item trigger.
    Since they are restricted procedures, i cant do that.
    So what are the workarounds available?
    There are items which are in control block and also records of a datablock available in the form,
    I want to clear everything(control block items and datablock items)
    Thanks

    Divya wrote:
    Hi,
    I'm using forms6i
    I want to call clear_form in when-validate-item trigger.
    Since they are restricted procedures, i cant do that.
    So what are the workarounds available?
    There are items which are in control block and also records of a datablock available in the form,
    I want to clear everything(control block items and datablock items)
    ThanksYou want the clear the form when you fire when-validate-item trigger
    inside the when-validate-item trigger after you commit
    COMMIT_FORM;
    if form_success then
    GO_ITEM(-------);
    clear_form(no_validate,full_rollback); EXECUTE_TRIGGER('WHEN-NEW-FORM-INSTANCE');

  • FRM-40735: WHEN-VALIDATE-ITEM trigger raised unhandled exception ORA-06508

    Hi all,
    In Production instance we have an issue on AP invoice workbench, gives an error (FRM-40735 Post-Query Trigger On Quering Invoice ) when we retrieve the existing invoice data entered.
    For this we compiled the invalid objects and applied the patch according to the metalink id [ID 1209736.1]
    After that we came up with new error FRM-40735: WHEN-VALIDATE-ITEM trigger raised unhandled exception ORA-06508.
    Can any one help us
    Thanks
    SAI

    Hi Thanks for the reply we have implemented the following things
    1) Please download and review the readme for Patch 8671468:R12.AP.B
    2) Please apply Patch 8671468:R12.AP.B in a test environment.
    3) Check the file versions , they have to be the same as given below.
    Patch/115/sql/aphanwfb.pls 120.64.12010000.11
    4) Please retest the issue.
    5) If the issue is resolved, please migrate the solution as appropriate to other environments.
    APXINWKB : When Entering Invoice Details, Get Error: FRM-40735: WHEN-VALIDATE-ITEM trigger raised unhandled exception ORA-06508 [ID 1284114.1]
    This is done no luck.
    Thanks
    Sai

  • FRM-40735: When-Validate-Item trigger raised unhandled exception ORA-01861

    Dear all, I runned a form designed by Developer 2000 version 4.5 and encountered a puzzling problem. The same program could be runned on one computer but not in another one. The error message is as below: FRM-40735: When-Validate-Item trigger raised unhandled exception ORA-01861. The OS of both computers are windows 2000 professional. The only difference between two computers is the patch files didn't installed on one of them. I don't know if it is the key point. Could you tell me why?
    Thank you!!!

    I sure wish people would post the entire text of the error message. "ORA-01861: literal does not match format string."
    What kind of field are you trying to validate? This message is usually due to a date format error. If you are trying to convert text into a date without using TO_DATE('some text','date-format'), then that is the problem. It sounds like you are, and the database default date format is different between the two systems.

  • FRM-40735: WHEN-VALIDATE-ITEM trigger raised unhandled exception ORA-04063.

    Hi All,
    After Cloning the 11i instace to 12.1.3 and when trying to create an absence
    am gettin the follwing Error
    ORA-01403: no data found
    FRM-40735: WHEN-VALIDATE-ITEM trigger raised unhandled exception ORA-04063.
    Please note I didnt get any of these kind of errors when cloned for CRP1 or CRP2.
    Thanks

    Hi,
    Its because of the invalid objects. We have compiled the invalid objects again and the issue got fixed.
    Thanks

  • Frm-40735: when validate record trigger raised unhandled exception ORA-0406

    while on production when i open any form and inserting some valeus after that when i want ot save the information it is showing me following error
    frm-40735: when validate record trigger raised unhandled exception ORA-04062

    ORA-04062: %s of string has been changed Cause: Attempt to execute a stored procedure to serve an RPC stub which specifies a timestamp or signature that is different from the current timestamp/signature of the procedure.
    Action: Recompile the caller in order to pick up the new timestamp >
    Check the When-Validate-Record trigger in your form and look for any calls to a database stored procedure. Then check the status of the database procedure to ensure it is "Valid." If the procedure is not valid - find out why and fix it.
    Hope this helps,
    Craig B-)
    If someone's response is helpful or correct, please mark it accordingly.

  • Getting "the procedure entry point CGImageRelease could not be located in the dynamic link library CoreGraphics.dll" error when starting Itunes. Haved reloaded many times and still the error.

    Getting "the procedure entry point CGImageRelease could not be located in the dynamic link library CoreGraphics.dll" error when starting Itunes. Haved reloaded many times and still the error.

    Taken at face value, you're having trouble with an Apple Application Support program file there. (Apple Application Support is where single copies of program files used by multiple different Apple programs are kept.)
    Let's try something relatively simple first. Restart the PC. Now head into your Uninstall a program control panel, select "Apple Application Support" and then click "Repair".
    Does iTunes launch properly now?
    If no joy after that, try the more rigorous uninstall/reinstall procedure from the following post:
    Re: I recently updated to vista service pack 2 and I updated to itunes

  • Problem while handling When-Validate-Record Trigger in Forms 6i

    I am using below mention code in when validate trigger and use go block loop in when button pressed. if Check_Date_Range gives RAISE Form_Trigger_Failure error user will enter in a loop. kindly provide me solution for below mention problem.
    BEGIN
    Check_Date_Range(:Experiment.Start_Date,:Experiment.End_Date);
    END;
    ** The procedure looks like this
    PROCEDURE Check_Date_Range( d1 DATE, d2 DATE ) IS
    BEGIN
    IF d1 > d2 THEN
    Message('Your date range ends before it starts!');
    RAISE Form_Trigger_Failure;
    END IF;
    END;

    You have more chance to find a response if you post into Forms<br>
    <br>
    Nicolas.

  • When-validate-record trigger only if  a non database item is changed

    Hi,
    I am trying a code in the when-vaidate-record trigger in the BLOCK level.
    The trigger should fire only if a checkbox item value is ticked(Value ='Y) for the present record(i.e, if already existing other records have a value ticked (='Y), it doesnt matter and trigger shouldnt fire)
    Please help me achieve this :
    The code I have tried in when-vaidate-trigger, which does not work as what I want :
    DECLARE
    X NUMBER;
    BEGIN
    if
      nvl ( :DEFLOC.to_be_defaulted, 'N' ) = 'Y' and :DEFLOC.COMMENTS is NULL
      and :SYSTEM.RECORD_STATUS ='CHANGED'
         then
        set_alert_property(
             'err_alert',
             alert_message_text,
             'You must enter a comment when defaulting localities.');
              x := show_alert('err_alert');
              RAISE FORM_TRIGGER_FAILURE;
              end if;
    END;The above code does not fire at all..
    If I remove the part,
    and :SYSTEM.RECORD_STATUS ='CHANGED'
    it fires for "all records"(not just the currently changed records) where nvl ( :DEFLOC.to_be_defaulted, 'N' ) = 'Y' and :DEFLOC.COMMENTS is NULL
    Please help !!
    Note: :DEFLOC.to_be_defaulted is a non database item ; :DEFLOC.COMMENTS is a database item

    Hi kriti,
    There is one more way,
    In the when-checkbox-changed trigger,
    if :your_chk_box = 'Y' then
    set_Record_property(:system.cursor_Record, 'your_blk',status,changed_Status);
    else
    set_Record_property(:system.cursor_Record, 'your_blk',status,Query_Status);
    end if;
    Then it is easy for you to find out the changed records using get_Record_property((:system.cursor_Record, 'your_blk',status)
    Hey let me ask you one Question, is that check_box item is database item ???
    If so,
    it is easier..the fol. code will work for that
    if   nvl ( :DEFLOC.to_be_defaulted, 'N' ) = 'Y' and :DEFLOC.COMMENTS is NULL
      and nvl(get_item_property('DEFLOC.to_be_defaulted',database_value),'N') = 'N'      then
                      set_alert_property(
             'err_alert',
             alert_message_text,
             'You must enter a comment when defaulting localities.');
              x := show_alert('err_alert');
              RAISE FORM_TRIGGER_FAILURE;
              end if;otherwise
    If your are creating that temp. item, it should be in the same block as non-db item.
    I will explain this... You are setting the status of to_be_defaulted check box of some queried record to Y based on some conditions, right?
    These records anyways are not updateable. Now your requirement is to find out the newly checked check boxes.
    So in the post query or the place where you set to_be_defaulted as 'Y, we will default the new item with value Y, so that in the when validate trigger, you
    know which record needs to attacked, It is those records with nvl( new item ,'N') = 'N' and to_be_defaulted = 'Y'...
    Regards
    Dora...

  • FRM-40735: WHEN-VALIDATE-ITEM trigger raised unhandled exception ORA-01403

    I am trying to make a manual payment in the APXPAWKB form (Form Version : 12.0.223.12010000.68). When I tab out, after selecting the Payment Document, I am getting the "+FRM-40735: WHEN-VALIDATE-ITEM+" error. Please help.
    I am working on R12.1.1. I used the Payment type - Check
    Regards
    Reem

    Hi;
    Its generic error,I suggest review:
    Resolving FRM-40735 Errors [ID 61579.1]
    Regard
    Helios

  • Issue with WHEN-VALIDATE-ITEM trigger in Forms 6i

    I am working with a form(A) which displays a modal window(B) with some database fields on it when a button on the form was pressed.
    First as soon as I pressed the button on the form A the modal window B appears with the values as (for example)
    Scenario - 0
    field 1 - OTHER
    field 2 - 123-456
    field 3 - 14-JUN-2006
    field 4 - Old Contract
    Scenario - 1
    If field 1 is changed/updated to a value NONE then the remaining fields should grey out and should not allow the user to edit/update those fields. Also it should clear all the data in the fields and should display only blank fields. Now the only updatable field in this case is field 1 which has value NONE at this moment.
    field 1 - NONE
    field 2 - NULL
    field 3 - NULL
    field 4 - NULL
    Only if the user exits the modal window B and clicks on SAVE button which is on the form A then only the data changes are committed to the database tables.
    At this moment I don't want to exit the modal window B which means the data changes are not yet committed to the database.
    Scenario - 2
    Now if field 1 is again changed/updated to a value ANOTHER then the remaining fields has to be populated accordingly using the values from the form A and B and it should allow the user to edit/update the remaining fields in window B.
    field 1 - ANOTHER
    field 2 - 123-456
    field 3 - 14-JUN-2006
    field 4 - Old Contract
    Now if you observe Scenario - 0 and Scenario - 2 only field 1 is differing. Rest of the three fields are same. As I didn't exit from the modal window the changes were not committed to the database.
    If the order of the scenarios is like below:
    Case1 : Scenario - 1 & Scenario - 2
    Case2 : Scenario - 1 & Scenario - 0
    I am able to successfully handle the above two cases as initially the three other fields are set to NULL and the user will be able to update the data and can commit the data.
    If the order of the scenarios is like below:
    Case3 : Scenario - 0 & Scenario - 1
    Case4 : Scenario - 0 & Scenario - 2
    I am also able to successfully handle the above two cases as finally the three other fileds are set to NULL and the user will be not be able to modify them and obviously NULL values will be stored in the database when committed.
    Now the problem is with the following order.
    Case5 : Scenario - 0 & Scenario - 1 & Scenario - 2
    Case6 : Scenario - 2 & Scenario - 1 & Scenario - 0
    In the above cases we can successfully handle until Scenario - 1 but when comes to Scenario - 2 how can we be able to display the data as shown.
    I have tried to perform this using WHEN-VALIDATE-ITEM on field 1. When the field 1 is changed from OTHER to NONE I have assigned NULL to the remaining fields. So it's working fine as I mentioned earlier. Now if I change field 1 from NONE to ANOTHER its allowing to update the remaining fields but its not populating the data.
    Can anyone help with this?
    Thanks for the patience in reading the problem....

    Yes, if you use the debugger as Gerd said you can get and see the data as the code executes line-by-line. You can also use message statements in your code to display the data.

  • When-validate-item fires at the wrong time?

    Hi,
    I have a custom form that contains a header block and line block. Once I enter the header info, then I enter the first line that contains transaction num and amount fields. Then I hit down-arrow to go to enter the second line, at this point when-validate-item triggers for all the line fields fire again (these triggers already fired one at a time when i navigated through the line).
    Supposedly ONLY when-create-record, when-new-record-instance and when-new-item should fire when I just move to a new line, any ideas?
    Thanks! Mike.

    Thanks for all the inputs. The user can either use txn number or BOL number to populate the line info and I have LOV (list of values) for both numbers. The problem turned out is that each LOV updates the other value (e.g. the txn number's LOV returns the txn number AND the BOL number). This in turn changed the value of a validated item and that causes when-validate-item to fire when I just tried to leave the record.
    The solution is to set IS_ITEM_VALID property for Txn Number to TRUE after BOL number's LOV updates the Txn number's value. This tells the system there is no need to revalidate the value.

Maybe you are looking for

  • AP - 1099 Tax form

    Hi, SAP  tax Experts, I have configured AP and need to know what are the configs to be done to get the US tax form 1099 to be prnted. Is it part of withholding tax ? Is it to reported to federal for the vendors who are contractors/Private individual?

  • Function Profile Type

    Dear friends, Can any one tell me what is the purpose of the function profile type and what is the different between ic webclient profile and framework profile? Best regards, Mohamed Moderation: Locked. Please, try to find an answer first. See rules

  • Bridge CC is not showing Indesign CC 2014 file previews

    Bridge CC is not showing previews of InDesign CC 2014. I don't see an update for Bridge anywhere. What am I missing?

  • Error connecting to IONA ORB within an EJB

    Hi, I am trying to connect to a remote CORBA server(C++) through my ejb running on PE8.2, but when I init the IONA ORB in the ejb, I get the follwing exception: Caused by: org.omg.CORBA.INITIALIZE: Exception reading properties, probably this is an ap

  • PaintComponent() - Problem

    Hi, I have a tabbed pane with custom JPanels on each pane. Each of these custom panels has it's own paintComponent() - method to display custom graphics. Problem: Sometimes hidden JPanels are also painted, so that they are displayed on a the wrong pa