When-validate-item Oracle error

Hello,
I am using oracle forms 10g and database 9i.
In a form I have written the following code for doing the validation of the items.
<pre>
PROCEDURE MANDATORY_FIELD(FIELD_NAME VARCHAR2 DEFAULT NULL) IS
V_FIELD_NAME VARCHAR2(65) := FIELD_NAME;
BEGIN
IF V_FIELD_NAME IS NULL THEN
          IF NAME_IN('SYSTEM.CURSOR_ITEM') IS NULL THEN
          message('Field must be entered.');
          END IF;
ELSE
          IF NAME_IN('V_FIELD_NAME') IS NULL THEN
          message(' Field must be entered.');
          END IF;
END IF;
END MANDATORY_FIELD;
</pre>
When I am calling the procedure MANDATORY_FIELD(block.item_name) from the trigger WHEN-VALIDATE-ITEM in tiem lebel I am getting error "FRM-40105, Unable to resolve reference to item V_FIELD_NAME".
Any suggestion why it is happen and how to overcome from it.(Other then handing the error).
Regards
SUN

Why would v_field_name ever be null? It's as if you're telling forms that there is a required field somewhere but you don't know which one it is!
How about this for a generic validation process:
procedure check_condition(p_condition in boolean, p_errmsg in varchar2) is
begin
  if p_condition then
    message(p_errmsg);
    message(p_errmsg);
    raise form_trigger_failure;
  end if;
end;Then in your when-validate-item trigger you can have
check_condition(:block.item is null, 'Please enter the <whatever field is called>.');or
check_condition(:block.some_date < :sysdate, 'Please enter a future date.');etc

Similar Messages

  • In Oracle Forms, to run all the When-Validate-Item of all the items at once

    In Oracle Forms, is there any built-in / procedure / function which is used to run all the When-Validate-Item triggers of all the Items at once ?
    I will put it in detail :
    When a form is run and while entering the data..
    when we enter some data and try to move out of that item then the When-Validate-Item trigger of that item is fired and the code in that trigger is executed..
    Similarly there may be many items and many When-Validate-Item triggers correspondigly in a form..
    My requirement is to run all the When-Validate-Item triggers of a form at once when we click a button which is created for that purpose only..
    So is there any built-in / procedure / function (to run all the When-Validate-Item triggers of all the items), which can be called in the When-Button-Pressed trigger of that particular button..
    If any one having any solution/suggestion, please let me know..
    Thanks..
    Edited by: user2938447 on Nov 8, 2010 9:03 PM
    Edited by: user2938447 on Nov 8, 2010 9:12 PM
    Edited by: user2938447 on Nov 8, 2010 10:19 PM

    Hi Sandy,
    Thanks for your suggestion..
    The validations should be done at Item level (When-Validate-Item as usually) and seperately again when a button is pressed.
    So to put all the code in another block-level When-Validate-Item trigger or in any When-Button-Pressed trigger will be duplication of the code.
    Actually I have around 30 Fmbs to be modified and each Fmb is having around 20 Items and almost all Items are having When-Validate-Item trigger.
    So,I wanted to know whether there is any Built-in / Procedure in Oracle Forms which runs all the When-Validate-Item triggers once it is called.
    Thanks..

  • 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 question

    Dear all,
    I have a block have 3 database items (seq_no, sname, svalue). seq_no and sname are text item and svalue is a list item.
    Number of records display for this block is 3.
    In when-validate-item of sname, I wrote a validation if sname = 'xxx' then svalue will be 'yyy'.
    The problem now I am facing is, when I changed the svalue to 'aaa' and then click the text item in another block, the validation in sname is triggered and I cannot change the value of svalue.
    Per my knowledge, the when-validate-item will be fired only when the value was changed.
    Therefore, I don't know why it was happened...
    I am using Oracle forms 10g.
    Please help. Thanks for advance.
    Regards.

    Indeed..
    Steve's suggestion about block level trigger is the right approach for this case. So I don't have to put code in many items.
    Splazm also had this nice idea about PRE-TEXT-ITEM.. It saves me from copying NULL to the item. Plus I don't have to worry about reseting the record's status cause user doesn't have the chance to set a value to the item cause he won't be able to navigate into it in the first place.
    Plus GO_ITEM is not needed cause if item is question is NULL that means that user is coming from this item and failure of trigger will just keep the focus there!
    So I combined all and came only with the following lines in PRE-TEXT-ITEM that fits perfectly for my requirement (ADEIA_ID is the item in question):
    IF NOT :SYSTEM.TRIGGER_ITEM = 'ADEIA_DETAILS.ADEIA_ID' AND :ADEIA_DETAILS.ADEIA_ID IS NULL THEN
    error message
    RAISE FORM_TRIGGER_FAILURE;
    END IF;
    Thanks all you've been of great help for this!

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

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

  • 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

  • When validate item

    Hi all
    Operating system is win-xp
    oracle databse and developrt suite is 9i
    i write this code in when validate item but when i enter the data in client form and not enetring the showroom address
    just only enter the delevery and invoice address it will show only delevery address or if i enter only showroom address it will not showing any address please help me
    given below is code of when validate item
    BEGIN
         SELECT customer_detail.contact_name||chr(10)||customer_detail.delivery_address||chr(10)||
         customer_detail.city||' - '||customer_detail.PIN_CODE||CHR(10)||customer_detail.COUNTRY||chr(10)||
         customer_detail.mobile_no||' , '||customer_detail.OFF_CONTACT_NO||chr(10)||
         customer_detail.EMAIL_ID
         INTO :sale_order.delivery_address
         FROM customer_detail
         WHERE cust_id = :sale_order.cust_id and customer_detail.address_type='DELIVERY ADDRESS';
    SELECT customer_detail.contact_name||chr(10)||customer_detail.delivery_address||chr(10)||
         customer_detail.city||' - '||customer_detail.PIN_CODE||CHR(10)||customer_detail.COUNTRY||chr(10)||
         customer_detail.mobile_no||' , '||customer_detail.OFF_CONTACT_NO||chr(10)||
         customer_detail.EMAIL_ID
         INTO :sale_order.showroom_address
         FROM customer_detail
         WHERE cust_id = :sale_order.cust_id and customer_detail.address_type='SHOWROOM ADDRESS';
    SELECT customer_detail.contact_name||chr(10)||customer_detail.delivery_address||chr(10)||
         customer_detail.city||' - '||customer_detail.PIN_CODE||CHR(10)||customer_detail.COUNTRY||chr(10)||
         customer_detail.mobile_no||' , '||customer_detail.OFF_CONTACT_NO||chr(10)||
         customer_detail.EMAIL_ID
         INTO :sale_order.INVOICE_ADDRESS
         FROM customer_detail
         WHERE cust_id = :sale_order.cust_id and customer_detail.address_type='INVOICE ADDRESS';
    END;
    Thanks and Regards
    vikas Singhal

    BEGIN
    SELECT customer_detail.contact_name||chr(10)||customer_detail.delivery_address||chr(10)||
    customer_detail.city||' - '||customer_detail.PIN_CODE||CHR(10)||customer_detail.COUNTRY||chr(10)||
    customer_detail.mobile_no||' , '||customer_detail.OFF_CONTACT_NO||chr(10)||
    customer_detail.EMAIL_ID
    INTO :sale_order.delivery_address
    FROM customer_detail
    WHERE cust_id = :sale_order.cust_id and customer_detail.address_type='DELIVERY ADDRESS';
    Exception
    When_no_data_found then
    message('NO DATA');
    raise form trigger failure;
    When TOO_MANY_ROWS then
    message('TOO MANY ROWS');
    raise form trigger failure;
    end;
    Begin
    SELECT customer_detail.contact_name||chr(10)||customer_detail.delivery_address||chr(10)||
    customer_detail.city||' - '||customer_detail.PIN_CODE||CHR(10)||customer_detail.COUNTRY||chr(10)||
    customer_detail.mobile_no||' , '||customer_detail.OFF_CONTACT_NO||chr(10)||
    customer_detail.EMAIL_ID
    INTO :sale_order.showroom_address
    FROM customer_detail
    WHERE cust_id = :sale_order.cust_id and customer_detail.address_type='SHOWROOM ADDRESS';
    exception
    When_no_data_found then
    message('NO DATA');
    raise form trigger failure;
    When TOO_MANY_ROWS then
    message('TOO MANY ROWS');
    raise form trigger failure;
    end;
    begin
    SELECT customer_detail.contact_name||chr(10)||customer_detail.delivery_address||chr(10)||
    customer_detail.city||' - '||customer_detail.PIN_CODE||CHR(10)||customer_detail.COUNTRY||chr(10)||
    customer_detail.mobile_no||' , '||customer_detail.OFF_CONTACT_NO||chr(10)||
    customer_detail.EMAIL_ID
    INTO :sale_order.INVOICE_ADDRESS
    FROM customer_detail
    WHERE cust_id = :sale_order.cust_id and customer_detail.address_type='INVOICE ADDRESS';
    exception
    When_no_data_found then
    message('NO DATA');
    raise form trigger failure;
    When TOO_MANY_ROWS then
    message('TOO MANY ROWS');
    raise form trigger failure;
    END;

  • 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 validate item for a particular item number

    hi all
    i am using forms 6i
    In a master detail form
    the block XXNP_JL_OO1 has 2 fields like
    Manual--checkbox item
    Field--text item (populated from Lov RECORD group names Field)
    the query for the record group of FIELD is
    select flex_value from fnd_flex_values where flex_value_set_id=1009757
    flex value
    abdaly
    wafra
    fintas
    now if we do the query select flex_value, hierarchy_level from fnd_flex_values where flex_value_set_id=1009757
    flex_value hierarchy_level
    abdaly 315
    wafra 200
    fintas 100
    In the detail part
    there is a tabbed canvas one field is ACT_QTY
    ITEM NUMBER                   ACTQTY
    client requirement is whenever the item number is 1010103002 only and the manual checkbox item is ticked the act_qty should return values corresponding to the data in Field
    manual and field belongs to datablock XXNP_JL_001
    ITEM_NUMBER AND ACT_QTY belongs to data block xxnp_jl_est_002
    kindly guide how to proceed with this
    should i do a when validate item trigger in act_qty as follow
    BEGIN
        IF :XXNP_JL_001.Manual IS NOT NULL  and XXNP_JL_EST_002.ITEM_NUMBER='1010103002' THEN
            SELECT hierarchy_level
            INTO :XXNP_JL_EST_002.ACT_QTY
            FROM fnd_flex_values
            WHERE flex_value_set_id = 1009757
            AND FLEX_VALUE=:XXNP_JL_001.FIELD ;
        ELSE
             :XXNP_JL_EST_002.ACT_QTY:=NULL;
        END IF;
    ENDthanking in advance
    Edited by: makdutakdu on May 8, 2012 11:15 AM
    Edited by: makdutakdu on May 8, 2012 11:16 AM
    Edited by: makdutakdu on May 8, 2012 11:23 AM
    Edited by: makdutakdu on May 9, 2012 9:00 AM

    hi
    this is the code i wrote
    when job is manual(check box ticked) and item number=''1010103002' the act_qty as per client requirement as follows
    BEGIN
        IF :XXNP_JL_001.Manual IS NOT NULL  and XXNP_JL_EST_002.ITEM_NUMBER='1010103002' THEN
            SELECT hierarchy_level
            INTO :XXNP_JL_EST_002.ACT_QTY
            FROM fnd_flex_values
            WHERE flex_value_set_id = 1009757
            AND FLEX_VALUE=:XXNP_JL_001.FIELD ;
        ELSE
             :XXNP_JL_EST_002.ACT_QTY:=NULL;
        END IF;
    END;the original code as to how act_qty is populated now
    ORIGINAL CODE OF WHEN VALIDATE ITEM FOR ACT_QTY
    Declare
         V_count   number(10) ; 
    Begin
    SELECT    count(1) into V_count   FROM MTL_SYSTEM_ITEMS
    WHERE   SEGMENT1       = :XXNP_JL_EST_002.item_number
    AND     ATTRIBUTE3     =  'Yes'  ;
    If  V_count >=1    then
    :XXNP_JL_EST_002.CALC_CEMENT_SK   :=      :XXNP_JL_EST_002.act_QTY   ;  
    :XXNP_JL_EST_002.CALC_AMOUNT      :=          :XXNP_JL_EST_002.act_QTY * 94         ;  
    Else
    :XXNP_JL_EST_002.CALC_AMOUNT   :=             :XXNP_JL_EST_002.act_QTY  ;
    end if ;
    end ;      
    -----------------------------------------------------------i want to include the above original code of act_qty in my code in the else clause
    this is wht i tried
    Declare
         V_count   number(10) ; 
    Begin
    IF :XXNP_JL_001.Manual IS NOT NULL  and :XXNP_JL_EST_002.ITEM_NUMBER='1010103002' THEN
            SELECT hierarchy_level
            INTO :XXNP_JL_EST_002.ACT_QTY
            FROM fnd_flex_values
            WHERE flex_value_set_id = 1009757
            AND FLEX_VALUE=:XXNP_JL_001.FIELD ;
            ELSE
            ----------original code of act_qty included below in the else clause-----------------------------
    SELECT    count(1) into V_count   FROM MTL_SYSTEM_ITEMS
    WHERE   SEGMENT1       = :XXNP_JL_EST_002.item_number
    AND     ATTRIBUTE3     =  'Yes'  ;
    If  V_count >=1    then
    :XXNP_JL_EST_002.CALC_CEMENT_SK   :=      :XXNP_JL_EST_002.act_QTY   ;  
    :XXNP_JL_EST_002.CALC_AMOUNT      :=          :XXNP_JL_EST_002.act_QTY * 94         ;  
    Else
    :XXNP_JL_EST_002.CALC_AMOUNT   :=             :XXNP_JL_EST_002.act_QTY  ;
    end if ;
    END IF;
    end ;
    END;i am getting error fnd_flex_values should be declared
    kindly guide me
    thanking in advance

  • 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

  • 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

  • LINE_SUM_FOLDER_ITEMS_ITEM.ASSET_BOOK: EVENT='WHEN-VALIDATE-ITEM

    Hi,
    after setting up the financials, while entering an invoice, whenever i try to enter a line the system gives me the following error;
    Invalid argument to LINE_SUM_FOLDER_ITEMS_ITEM.ASSET_BOOK: EVENT='WHEN-VALIDATE-ITEM'
    FRM-40735: WHEN-VALIDATE-ITEM trigger raised unhandled exception ORA-20002.
    I found the document [ID 1312124.1] at metalink that says to recompile the invalid objects, which i did but the issue remains the same. Any one with some other solution?
    Regards,

    Hi
    We have just had the same problem on our internal instances after an upgrade to 12.1.3.
    We found the problem was a new library that hadn't been compiled correctly.
    Check your versions of $AU_TOP/resource/APXINLIN.pll and $AU_TOP/resource/APXINLIN.plx. These should be the same at:
    $Header APXINLIN.pld 120.158.12010000.95 2010/05/14 11:19:33 asansari ship $
    To check the versions use the commands:
    adident Header $AU_TOP/resource/APXINLIN.pll
    and
    adident Header $AU_TOP/resource/APXINLIN.plx
    If they are different then thats probably the issue.
    I tried to recompile all AP form files via adadmin but this didn't fix the issue (for some reason this library isn't recompiled) so I ended up having to recompile manually. From within the $AU_TOP/resource directory:
    frmcmp APXINLIN.pll apps/<apps password> module_type=LIBRARY compile_all=yes
    NB if you are on Unix then you need to have $DISPLAY pointing to a valid X-Windows server for the frmcmp command to work.
    Hope this helps
    Robin
    Edited by: user12618472 on 04-May-2012 05:13

Maybe you are looking for

  • Need sample source code for calling stored procedure in Oracle

    Hi. I try to call stored procedure in oracle using JCA JDBC. Anybody have sample source code for that ? Regards, Arnold.

  • How to pass an attachment to a email

    Hi All! I am using FM <b>SO_NEW_DOCUMENT_ATT_SEND_API1</b> to send a email and I am successful in doing it.But could not able to attach a word document to the FM which i want to pass it to the receiver.Please advise what parameters to take care of. R

  • Can't get past "Login" button in Dw

    Hey Dw community!  I have installed the BC extension and restarted everything, but cannot seem to get passed the "Login" button in Dw. I click and absolutely nothing happens. I have read a few forums telling us to deactivate and delete 'open.db' and

  • My ipod 5th gen doesnt charge or turn on

    My ipod 5th gen doesnt charge or turn on. There is no damage to the ipod, i have tried resetting it, connecting to itunes and troubleshooting but no luck. When charging the ipod gets warm but still wont turn on or charge. Can anyone help please?

  • Failed to export to excel

    Hi, I am trying to export a 1,013 KB file to excel, and keep getting the error message 'failed to export to excel - encountered an unexpected problem'  Is there any way to see what the problem is, and how to resolve it? LizP