How to prohibit 'when-validate-item' to be executed...????

Hi ,
I have written 'when-validate-item' in a text item. I want this code not to be executed only in one and only one circumstance . In my form , i don't want it to be executed when a button is pressed...
The problem is that this item has the focus .. so presumably whatever i try to do -go to another item , press a button , e.t.c.- this code would run.....!!!!
How can i achieve this ...???
Thanks , a lot
Simon

Does the user press this button before or after navigating to the item? If before, then set a global variable when the button is pressed and just read the variable before executing your validation code. If after, then I think you may want to rethink your design. For example, you could turn off validation as the default until some other event occurs.

Similar Messages

  • How to use when-validate-item in the form personalization?

    Dear all,
    I want to use when-validate-item trigger in the form personalization on a specific item. while in the same time the when-validate-item is not included in the trigger event list.
    Please advice & Thanks in advance
    Ashraf Ashour

    Use condition. If you are validating a record, just out the desired check in the condition field for that specific item.
    Thanks
    Nagamohan

  • When-Validate-Item and Go_Block/Execute Query dilemma

    Hey there folks -- Probably not a surprise question on this forum. I did try to search for this and came up with a few posts but did not find any solutions. Hopefully, I was also doing the correct way to search on this forum. If this is a post for the nth time on this issue, I apologize.
    So, I have 2 blocks:
    1. Control Block that contains the STUDENT_ID field (Database Item = 'N')
    2. Database block that contains the STUDENT_ID field (Database Item = 'Y' and many other fields)
    My goal is do an Execute_Query if User enters the Student ID and either presses TAB or places the MOUSE in the database block and display the record if it exists. As we know, a Go_Block is not allowed in When-Validate-Item. So, I went one step further to "simulate" this. The problem is that I am still firing the Execute-Query when the record has already been retrieved. Here is what I have so far. So, the Key-Next-Item trigger works fine if User enters a Student ID and presses tab. It also works fine if User clicks on the STUDENT_BK as the When-New-Block-Instance trigger fires which in turn calls the Key-Next-Item. The problem occurs when after record has been retrieved and User clicks on control.student_id and then comes and clicks on the STUDENT_BK, the KEY-NEXT-ITEM trigger fires again.
    Suggestions or pointers would be more than welcome.
    Thanks!
    CONTROL.student_id.Key-Next-Item
      if :control.student_id is not null and :SYSTEM.BLOCK_STATUS != 'CHANGED' then
        next_block;
        clear_block(NO_COMMIT);
        execute_query;
      else
        show_alert('Please enter Student ID');
      end if;
    STUDENT_BK.When-New-Block-Instance
    go_item('control.student_id');
    do_key('next_item');

    Yeah... I wrote before I tried it out. The GET_ITEM_PROPERTY('ITEM', previousitem) didn't work the way I thought it did. After I posted that, I tried it out and it was a complete failure.
    I guess what I am thinking now, is in your STUDENT_BK block, do you only want to EXECUTE_QUERY if the :STUDENT_ID does not match the :CONTROL.STUDENT_ID? If that is true, then all you would have to do is to change your KEY-NEXT logic to include the
    if STUDENT_BK.STUDENT_ID != :CONTROL.STUDENT_ID then
      -- original logic
      go_item('control.student_id');
      do_key('next_item');
    end if;The more I think about it, this should work for you. You said that you had two requirements: Entered a student id in the control block and tabbed or entered the database block. If you add the check of the student id then that should take care of your second requirement. If they enter the database block and the id's don't match then it will execute the query, else they already have the record displayed for them so you don't need to do anything.
    Edited by: MLBrown on Nov 19, 2012 3:08 PM

  • When Validate Trigger is getting executed when Execute_query

    i have a data block in which i have 2 text item. i have defined when validate item.
    when the form is starting up i have given execute_query. before fetching the values my when validate item is getting executed. i dont want to do this. can one help me out in this case

    Hi,
    Can you pls. check any initial value is given or not? Otherwise for quick solution you can declare a parameter upon which when-validate will validate the value. You can change value before and after 'EXECUTE_QUERY' statement. This is not a good idea.

  • How to use first_record or Next_record in WHEN-VALIDATE-ITEM.

    Hi All,
    I have a multi-record block where, in one of the fields I need to add this PL/SQL so that for there is no gaps in sequence for S_type and cer_dl fields.below is the sample of how the record should appear.
    s_type cer_dl seq xyz
    ASD Y 1 N
    ASD Y 2 Y
    ASD Y 3 N
    The program is working perfectly when I use it Key-Next-item but I have to add this pl/sql in WHEN-VALIDATE-ITEM for validating the seq field but as the below program have FIRST_RECORD and NEXT_RECORD this will fail in WHEN-VALIDATE-ITEM.
    My Query is that IS there any other way of replacing FIRST_RECORD and NEXT_RECORD
    in the below program and put this in WHEN-VALIDATE-iTEM of seq field.
    I know its pain to understand the below pl/sql and then answer my query.
    PROCEDURE val_seq IS
    --Validation to check that there is no gaps in sequence for S_TYPE and cer_dl fields
         l_value_to_check varchar2(100);
         l_seq_found number;
         l_curr_sequence number;
         l_new_value varchar2(100);
         l_found boolean:=FALSE;
         l_new_set boolean := FALSE; --s_type and cer_dl are different from previous set.
    begin
         if trim(:b1.s_type) is not null
              or trim(:b1.cer_dl) is not null
         then
         -- Program continues here only if all the items are not null
         -- Get information from record that needs to be validated
         l_value_to_check := trim(:b1.s_type) || ':'|| trim(:b1.cer_dl) ;
         l_curr_sequence := :sequence;
         if :SYSTEM.CURSOR_RECORD = '1' then
              if :sequence <> 1 then ----- to check sequence is entered as 1 in the first record
              message('Error:Sequence should start with 1');
         raise form_trigger_failure;
         end if;     
              go_item('b1.XYZ');
         else
              FIRST_RECORD;
              while :SYSTEM.LAST_RECORD <> 'TRUE'
              loop
              l_found := FALSE;
              l_new_value := trim(:b1.S_type) || ':'|| trim(:cer_dl) ;
    if l_new_value = l_value_to_check then -- If the S_type and cer_dl is same then get sequence
                   l_new_set:= FALSE;
              l_seq_found := :seq;
                        if l_seq_found >= l_curr_sequence then
                             --If sequence is duplicated for S_type and cer_dl 
                   go_item('b1.seq');
                        l_new_set := FALSE;
                        elsif l_seq_found < l_curr_sequence - 1 then
                             --If sequence entered is not in order for S_type and cer_dl  .
                        go_item('b1.sequence');
                        l_found := FALSE;
                        elsif l_seq_found = l_curr_sequence - 1 then
                        -- if sequence is entered in order for S_type and cer_dl
                        l_found:= TRUE;
                        go_item('b1.xyz); --go to next item
                        end if;
              else
                   l_new_set := TRUE;
              end if;
              NEXT_RECORD;
              end loop;
         if l_new_set then
         go_item('b1.xyz'); -- go to next item
         else
         if not l_found then
              warn_alert('Error:Sequence should be in order.');
              go_item('b1.seq');
              raise form_trigger_failure;
         end if;
         end if;
         go_item('b1.xyz'); ---go to next item
    end if;
    end if;
    end;

    Hi Gurus,
    When I say enter-query and put 'IAS' in the s_type field and then do a execute query it brings all the records of 'IAS'.
    Now as I want to update the records, and when I navigate across field(s_type,cer_dl,Seq,xyz) using tab and move the cursor down on second record(IAS N 2 N), what happens is when I navigate to sequence field the cursor jumps to LAST RECORD( IAS Y 3 N ) of LAST field XYZ. I am putting the sample record
    s_type cer_dl seq xyz
    IAS N 1 N
    IAS N 2 N
    IAS N 3 N
    IAS N 4 N
    IAS Y 1 N
    IAS Y 2 N
    IAS Y 3 N
    The cursor moves to last record --IAS -Y -3-N when I tab across the second record.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • How to suppress messages in when-validate-item triggers

    Hi,
    I'm trying to handle the duplicate records in when-validate-item trigger in block level by using Kevin D Clarke's logic
    Form program unit:
    function COMPARISON (in1 number, in2 number) is
    if in1 = in2 then
    return(1);
    else
    return(0);
    end if;
    end;
    3 new hidden fields:
    CONTROL.PK_COPY
    DATABLOCK.MATCH_FOUND
    calculation mode: formula
    formula: COMPARISON(:control.PK_COPY, :datablock.PK)
    CONTROL.NUMBER_OF_MATCHES
    calculation_mode: summary
    summary_function: Sum
    summarised_block: DATABLOCK
    summarised_item: MATCH_FOUND
    WHEN_VALIDATE_ITEM on DATABLOCK.PK
    :control.pk_copy := :datablock.pk;
    if :control.number_of_matches > 1 then
    message('matching key found');
    end if;
    (DATABLOCK must have query_all_records = TRUE) But its showing popup message three times , i want to show it only once.
    Can anybody suggest me how to handle this.
    Thanks,
    Ramana.

    I hope you put a Raise Form_trigger_failure following your message!
    If you have included the form_trigger_failure, then your WVI trigger may be executing multiple times due to some other process trying to navigate away from the item or record. Could that be the case?

  • WHEN-VALIDATE-ITEM results at a block/form

    Hello friends at www.oracle.com ,
    as we know, WHEN-VALIDATE-ITEM is a trigger used for item validation. But if I use WHEN-VALIDATE-ITEM at a block, or even at a form (since Oracle Forms editor allows me to add a WHEN-VALIDATE-ITEM trigger at a block/form), what's the effect of it? How will WHEN-VALIDATE-ITEM behave in such situation?
    Thanks, and best regards,
    Franklin Gongalves Jr.

    From forms documentation (ever considered to read it?):
    A trigger must be attached to a specific object in the form, either an item, a block, or the form itself. The object to which a trigger is attached defines the scope of the trigger, and so helps Form Builder decide which trigger to fire when the corresponding event occurs. Not all triggers are relevant to all objects. For example a When-Button-Pressed trigger would not be attached to a display item.
    That means, a when-validate-item-trigger at block level fires for ALL items of the block,
    except those ones who have an own when-validate-item-trigger at item level that has the
    property "Execution hierarchy" set to "override".

  • 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.*

  • WHEN-VALIDATE-ITEM Restrictions???

    How we overcome the restriction next-item,go-item
    under WHEN-VALIDATE-ITEM?
    My requirement is once something entered into text box
    it should validate with the database for correctness and then
    if info is correct then it should move to
    next item else it should remain in the same item
    by populating some error message or info message.

    Faheem,
    What you desire should be normal operation. If some data is entered into the field then the return or tab key is pressed, The when-validate-item trigger is fired to do the validation, then the key-next-item is fired, which you hopefully have configured to move on to the next item (it will do this by default unless you have a key-others to overide it)
    If this is not happening, you need to look at you triggers and figure out why not.
    rgds

  • Commit in when-validate-item

    Hello,
    After updating an item,
    I need to insert some data in a table after
    deleting some other data from it
    (the new primary key will take the value of the old one)
    If I can not do this in a when validate item (because I cannot use commit in this trgger),
    where or how can I do it ?
    Thanks for any help!

    Hi,
    Try a non-restricted trigger for this, e.g. the post-forms-commit trigger or the *-instance triggers.
    Hope this helps,
    Marc Vahsen
    Headstart Team

  • 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

  • FRM-40735: When validate item raised unhandled exception ora-04063

    hi experts,
    FRM-40735: When validate item raised unhandled exception ora-04063
    I have noticed the below error on my instance while trying to test some functionality.
    My EBS Version is R12.1.1 +11.1.0.7 db.
    Please advise.
    regards
    Mohammed. Abdul Muqeet

    FRM-40735: When validate item raised unhandled exception ora-04063
    I have noticed the below error on my instance while trying to test some functionality.How do you get this error?
    What is the navigation path?
    Please check the application.log file along with Apache log files for any errors.
    Thanks,
    Hussein

  • When- When Validate Item Fails

    Hi Friends,
    I am having a problem. I have written some code for an item and trigger is WHEN-VALIDATE-ITEM. I am also using RAISE Form_Trigger_Failure; Now when wrong data enters and exception is raised; EXIT Button does not work. Like if a wrong entry in item and user wanna exit the form. The exit button on the form does not work. User have to enter the correct value then the exit button works.
    I tried the following code in the EXIT button:
    EXIT_FORM(NO_VALIDATE);
    then i tried:
    CLEAR_FORM(NO_VALIDATE);
    EXIT_FORM(NO_VALIDATE);
    But still its not working, Any solution how to control this kind of situation???
    Pliz Help,
    Imran

    Set Mouse Navigate = No on the button.
    If Forms is going to navigate to the button, it must first make sure the field the cursor is in is valid, so setting the navigation property should help.

  • When validate item not firing when exit with mouse

    Hi
    I have a when validate item tirgger on an item.
    it fires fine when I use tab from keyboard after validating
    but when i navigate to another field with the mouse, the trigger does not fire.
    it only fires when i try to close the window..
    how can i overcome this?
    thanks

    Normally, a WVI trigger ALWAYS runs when you leave a field no matter how you leave it (after you have entered something, of course). If it is not running, then you should check whether you have messed around with Set_Form_Property and Validation_Unit.
    Or maybe you have some code in your key-next-item trigger that runs that makes you think it is the when-validate-item trigger.

  • When-validate-item : too_many_rows

    Hi,
    I have when-validate-item trigger on a field in black which returns multiple rows for some instances. In deed, I need to display the returned value to the user in case of multiple rows as well.
    select campaign_code from campaign_master where campaign_vehicle=:form1.vehicle;If the vehicle is registered for multiple campaigns, I need to display the same to the user.
    Is there any way, I can handle it in an efficient manner.
    Thanks

    I need to display the returned value to the user in case of multiple rows as well.How are you displaying the information to your user? Is there a possibility that the vehicle entered is not used in a campaign? Does your user need to know which campaigns the vehicle is used in or simply how many it is used in?
    If only the number of campaign's I think an LOV that lists the Vehicle and a count of how many campaigns it is used in would work. Set the Validate from List property of your item to yes so if the vehicle is not found the LOV will automatically display.
    If the user needs to see which campaign - if any - the vehicle is associated with, then you could show the list of records in a pop-up window and allow them to choose the record they want from the popup. The tricky part to this option is that you can't call the Go_Item or Go_Block built-ins from the WVI trigger, you can only call Unrestricted built-ins from the WVI. One common work-around to this limitation is to create a 1 millisecond non-repeating timer in your WVI and let the Module When-Timer-Expired (WTE) trigger execute the restricted built-ins for you. If you need this option, search the forum on "create timer" and you will find numerous examples of how to set up a non-repeating timer.
    Hope this helps,
    Craig B-)
    If someone's response is helpful or correct, please mark it accordingly.

Maybe you are looking for

  • Satellte L40 - After XP Setup blue screen Error

    Hi, I browsed this forum and the net and I did not find an answer, so: I'm downgrading from Vista to Win XP on Satellte L40 (PSL48E), I created new WinXP SP2 with nLite with the AHCI drivers, looked ok win xp setup recognized the HDD so i deleted the

  • Problem with TV out, only audio, no video

    I has just bought a new ipod video 30GB and I also bought a A/V cable of apple. But when I connect to my television. Only hear audio from television but no video. I tried a lot of ways as folows: + video setting : changed TV out --> ON + I tried rest

  • Program Modification

    hello experts I have the following ALV report, (ZBB Program) <b>Material Document Listing Report</b> Currently this  report let us  drill down to some transaction where we would see standard costs(Drill down fields are Customer and Mterial number) No

  • During down payment of asset po  can any body solute the problem

    the following message is coming during down payment of asset po **purchase document allocated to asset** Purchase document is allocated to asset Message no. F5378 Diagnosis The asset number   assigned in the purchase document is different from the as

  • EDI integration thru seeburger

    Hi Folks, Scenario: ECC sends PO  (orders Idoc) 850 to PI and then PI sends to EDI subsystem using seeburger (AS2 protocol). EDI system has to send PO order acknowledgment 855 to PI and then to ECC. 1) whether Seeburger adapter supports synchronous s