Problem with forms6i using Pre-Insert Trigger

I created a block level pre-insert trigger to do some validations and when I save the first time with wrong data it is working fine and popping up alerts that I defined but if I press save the second time it is saving even though the data is wrong.
This is in Applications 11.5.10 using all the property classes and running on the server.
I created exact replica of the form(no applications, property classes
just basic form but with same functionality) and ran it on my local machine it is working fine. It is giving error till the data is fixed.
Anybody know why?
Thanks in advance

It did not work. It is still doing the samething. Actually it is popping up my alerts but saving the record first time itself. Is there any way I can tell it not to save if the data is wrong. My code is below it basically pops up the alerts but doesn't tell anywhere not to save it.
Thanks
VJ
declare
     v_amount number;
     alert_id      ALERT := Find_Alert('amount_from');
     alert_id1 ALERT := Find_Alert('amount_to');
     dummy_var NUMBER;
begin
     select max(ssibe_amount_to) into v_amount from ssibe_orderappr_tab where
          ssibe_account_number = :ssibe_orderappr.ssibe_account_number;
          if :ssibe_orderappr.ssibe_amount_from <= v_amount
          then
               Set_Alert_Property(alert_id, ALERT_MESSAGE_TEXT, 'Amount_From should be greater than '|| v_amount);
               dummy_var := Show_Alert(alert_id);
          else
               IF (:SSIBE_ORDERAPPR.SSIBE_AMOUNT_TO <= :SSIBE_ORDERAPPR.SSIBE_AMOUNT_FROM)
               THEN
               dummy_var := Show_Alert(alert_id1);
               end if;
          end if;
end;

Similar Messages

  • Pre-Insert Trigger not firing

    Hi,
    I am using Oracle 10G DS with Oracle 11G XE. I tried PRE-INSERT Trigger with the Code given by Mr Hamid. However, its not working. Though, the WHEN-NEW-ITEM-INSTANCE works fine, I wish to use PRE-INSERT Trigger only.
    Can you please help me.
    My Code is shown below
    BEGIN
    SELECT asset_id_seq.nextval INTO :r_it_blk.asset_id
    FROM dual;
    END;
    Thanks in advance
    Ramesh

    Hi Hamid,
    Thank you very much for your reply.
    I tried at Block Level itself. Further, I also tried the below Code with Cursor (Block Level). Unfortunately, it is also not working. Even the Error Message is also not displayed. The User has full privileges.
    DECLARE
         CURSOR next_id IS SELECT asset_id_seq.NEXTVAL FROM dual;
    BEGIN
         OPEN next_id;
         FETCH next_id INTO :r_it_blk.asset_id;
         CLOSE next_id;
         IF :r_it_blk.asset_id IS NULL THEN
         Message('Error Generating Next Asset ID');
         RAISE Form_Trigger_Failure;
         END IF;
    END;
    Regards
    Ramesh

  • Unable to insert the record to table using pre-insert & pre-update trigger

    Hi All,
    I have tried to insert and update the backend table using the pre-update and pre-insert triggers. But its not working for me. Please find below the code which i have used in the triggers.
    Pre-insert trigger:
    DECLARE
    v_cust_num_cnt NUMBER;
    BEGIN
              SELECT      COUNT(customer_number)
              INTO      v_cust_num_cnt
              FROM cmw_bc_mobile_number
              WHERE substr(customer_number,1,15)=substr(:BLOCKNAME.CUSTOMER_NUMBER,1,15);
              IF      v_cust_num_cnt = 0 THEN
                        INSERT INTO cmw_bc_mobile_number (CUSTOMER_NUMBER
                                                                                                   ,MOBILE_NUMBER
    ,CREATION_DATE
    VALUES
    (substr(:BLOCKNAME.CUSTOMER_NUMBER,1,15)
    ,:BLOCKNAME.MOBILE_NUMBER
    ,SYSDATE
    COMMIT;                                                                                                    
    END IF;          
    END;
    PRE_UPDATE TRIGGER:
    BEGIN
              IF :SYSTEM.RECORD_STATUS = 'CHANGED' THEN
              UPDATE apps.cmw_bc_mobile_number
         SET mobile_number = :BLOCKNAME.MOBILE_NUMBER,
         creation_date = SYSDATE
              WHERE customer_number=substr(:BLOCKNAME.CUSTOMER_NUMBER,1,15);
              COMMIT;
         END IF;
    EXCEPTION
              WHEN OTHERS THEN
                   NULL;     
    END;
    Please let someone assist in gettting it resolved.
    Regards,
    Raj.

    Just use MESSAGE (we don't know what fnd_message is, that is some custom code):
    message('v_cust_num_cnt='||v_cust_num_cnt);
    IF v_cust_num_cnt = 0 THEN
      message('Now inserting...');
      INSERT INTO cmw_bc_mobile_number (CUSTOMER_NUMBER... 
    else
      message('Nothing to insert');
    end if;

  • Pre-insert-trigger ignoring assignments

    Hi,
    I have this code in a PRE-INSERT-TRIGGER of a database table block:
    Select emp_seq.Nextval Into :EMP.EMPNO From dual;
    Select Sysdate Into :EMP.LASTCHANGED From dual;
    And i have this code in a PRE-UPDATE-TRIGGER of the same block:
    Select Sysdate Into :EMP.LASTCHANGED From dual;
    given scenario:
    1) query records from the table into a block:
    empno ename lastchanged
    1 Smith 01.12.2008
    2 Johnson 01.12.2008
    2) change empname in any record except no. 1:
    empno ename lastchanged
    1 Smith 01.12.2008
    2 Johannson 01.12.2008
    3) create a new record somewhere above the changed record
    empno ename lastchanged
    1 Smith 01.12.2008
    <null> <null> <null>
    2 Johannson 01.12.2008
    4) insert ename in new record
    empno empname lastchanged
    1 Smith 01.12.2008
    <null> Obama <null>
    2 Johannson 01.12.2008
    5) do_key('commit_form')
    with Forms 6.0.8.23.2 -> working fine
    with Forms 6.0.8.27.0 -> ORA-01400:: cannot insert NULL into ("EMP"."EMPNO")
    Any assignment in the pre-insert-trigger is ignored! Can anyone help me with this bug? Thanks in advance

    message(:EMP.EMPNO) is always Null ...
    Everything works if there's no update of a record with higher record-number in the transaction. But the scenario in post 1 doesnt work with Forms 6.0.8.27.0Ugh -- that's ugly!
    Unfortunately, opening a Service Request with Oracle will get you nowhere, since Oracle no longer supports Forms 6i.
    Yesterday, I experienced something very similar with the same version of Forms, specifically this part: Everything works if there's no update of a record with higher record-number in the transaction.*
    If I updated a higher record number in the block, I could NOT get Forms to subsequently store a value in a column in a prior record. I would set the value in the column, and immediately display the value, and it was null! Fortunately in my case, the stored value was only to enable skipping a database lookup in a subsequent pass, so I just skipped working on a solution.
    However, in your case, the problem is a show-stopper.
    What I found was that if I navigated back to the first record in the block, the problem went away. So maybe try this in your commit process:
        Go_block('ABC');
        First_Record;
        Synchronize;
        Commit_Form;Let us know if that works for you.

  • Writing PRE-INSERT trigger in CUSTOM.pll

    Hi,
    We need to write data in a staging table after every save of a Block Data on the eBusiness Center form. How can we achieve this? Can we write PRE-INSERT trigger in CUSTOM.pll.
    Thanks for helping,
    Regards,
    Viral

    Hi. Thanks for the reply. I was trying with Workflow Based Business Events. I am not sure how can I achieve the same with it.
    I was thinking of doing the same using ALERTs. But, I think that is not Oracle suggestable method of doing it? If at all I am going to use the ALERTs than will it be real time?
    Thanks for replying,
    Regards,
    Viral.
    Message was edited by:
    Viral

  • PAYMENT 처리시 PRE-INSERT TRIGGER (VALUE_ERROR)

    제품 : FIN_AP
    작성날짜 : 2005-05-10
    11.0.3 - PAYMENT 처리시 PRE-INSERT TRIGGER (VALUE_ERROR)
    ==============================================
    PURPOSE
    Problem Description
    Payment 화면에서 특정 Invoice 선택 후 저장 시 아래와 같은 Error Message 가 발생함.
    Payment 화면에서 Invoice 선택 후 저장 시 FRM-40735 PRE-INSERT TRIGGER ERROR 가 발생함.
    Workaround
    해당 Form Version이 110.83 이전 Version일 경우 아래와 같이 Code fix 한다.
    1. Payment Form Source File (APXPAWKB.fmb)는 backup 받아 놓습니다.
    2. Oracle Forms 에서 해당 Form Source File 을 열어 아래 부분을 수정 합니다.
    'ADJ_INV_PAY_PROC_INSERT' package 의 'SUB_PRE_INSERT' procedure 를 찾아 l_inv_remit_to 의 length를 80 으로 수정 합니다.
    Example)
    ->수정 전
    procedure SUB_PRE_INSERT is
    l_withhold_amount NUMBER;
    l_awt_success VARCHAR2(2000);
    l_pipe_name          VARCHAR2(2000);
    l_inv_remit_to     VARCHAR2(25); --> 변경 해야 할 부분
    ->수정 후
    procedure SUB_PRE_INSERT is
    return_value VARCHAR2(30);
    l_withhold_amount NUMBER;
    l_awt_success VARCHAR2(2000);
    l_pipe_name          VARCHAR2(2000);
    l_inv_remit_to     VARCHAR2(80);
    3. 위와 같이 수정 후 해당 Form Source 를 Compile 하고 Generate 합니다.
    4. 다시 해당 Payment에 대해서 Invoice 를 Apply 해서 Error 가 발생하는지 여부를 확인 합니다.
    Solution Description
    11.0.3 AP D Patchset 이상을 적용한다.
    Reference Documents
    Bug 921350

    Navigation is not allowed in this kind of triggers.
    PRE-INSERT is used to, for instance, put values on non NULL column in the current record.
    If you want to navigate in the records, choose another trigger, like KEY-COMMIT for example.
    Francois

  • Pre-insert trigger is not firing after post built-in

    Hi,
    I have a 10g form in which Post built-in is used in When-button-pressed Trigger. After the post command I am checking some condition,by using the same record which I have posted.But it is not working.
    I have also put the message in the pre-insert trigger but the message is not displaying.
    But the same form iis working fine in form 6i, as I have migrated the forms from form 6i to 10g.

    Yes, In that block there are other items also. I have made the required property no for all the items.
    what exactly we have is
    (if x=y then)on some condition check
    POST;
    After that, form have a select statement in which it is selecting the same row which is being posted above.
    if the select statement gives count of row zero
    raise form_trigger_failure is fired.
    and in the pre-insert trigger form is assigning a value to a block item.

  • Error from Pre-Insert Trigger

    I am using the following code in Pre-insert trigger
    purpose is that all the record which do not click by mouse (check box)
    should be cleared on the screen when commit/save.
    declare
    begin
    go_block('Bl');
    first_record;
    loop
    if :kcheck is null then
    clear_record;
    else
    Exit When :System.Last_Record = 'TRUE';
    Next_Record;
    end if;
    end loop;
    end;
    it is showing error FRM-40737
    illegal restiricted procedure NEXT_RECORD in pre-insert trigger
    when I used this code in when button press trigger it is working.????
    Message was edited by:
    Kami

    Navigation is not allowed in this kind of triggers.
    PRE-INSERT is used to, for instance, put values on non NULL column in the current record.
    If you want to navigate in the records, choose another trigger, like KEY-COMMIT for example.
    Francois

  • Problem with BAPI_CUSTOMER_CREATEFROMDATA1 using JCo on IDES

    sorry, wrong board - i opened a new post
    Problem with BAPI_CUSTOMER_CREATEFROMDATA1 using JCo on IDES
    Hello everyone,
    we are working on a student project and would like to create customers (debtors) in an SAP IDES system.
    Using the ref-customer to copy from, and some personal-data below, we get the error message
    'Internal error: External no.assignment for reference customer/customer'
    We also tried with BAPI_CUSTOMER_GETINTNUMBER, and ACCOUNTGROUP ZINT (New Internet Customer, others won't work?). But CREATEFROMDATA1 takes no CustomerNo created this way, nor it wants to create one 'internal'?
    Any suggestions? Thanks a lot for your help,
    Greetings,
    Tobias Schmidbauer
              inParams = function.getImportParameterList().getStructure(
                   "PI_COPYREFERENCE");
              inParams.setValue("0000001000", "REF_CUSTMR");
              inParams.setValue("1000", "SALESORG");
              inParams.setValue("10", "DISTR_CHAN");
              inParams.setValue("00", "DIVISION");
              inParams =function.getImportParameterList().getStructure(
                   "PI_PERSONALDATA");
              inParams.setValue("Simpson", "LASTNAME");
              inParams.setValue("Homer", "FIRSTNAME");
              inParams.setValue("Jay","MIDDLENAME");
              inParams.setValue("Springfield", "CITY");
              inParams.setValue("DE", "LANGU_P");
              inParams.setValue("DE", "LANGUP_ISO");
              inParams.setValue("DE", "COUNTRY");
              inParams.setValue("EUR", "CURRENCY");
              inParams.setValue("12345", "POSTL_COD1");
    Message was edited by: Tobias Schmidbauer

    Hello Brian,
    Thanks for your pointer. Actually The customer's reference number i was providing in the PI_COPYREFERENCE structure was a sold-to party customer and it uses external customer number assignment. When i used "New Internet Customer" (that doesnt use external assignment by default) as customer's account group, the customer was created successfully and assigned customer number was returned.
    I want to ask now how could we give a customer number in the BAPI as i am unable to find any such column in any of the tables. (Customer number is an "out" parameter so it can only return the number of created customer). Secondly, how to chnage the external assignment property of a particular account group (like sold-to party). i.e, how could we change the account group configurations through SAP GUI??
    - Umair

  • Forms 9i & pre-insert trigger

    Hi everyone,
    We've just upgraded from Forms 6 to 9i.
    My pre-insert trigger in 9i doesn't seem to be firing - is this something that has changed?
    I need to set my unique ID's and other variables - is there a better place to do this now?
    Please advise.
    Thanks.
    Lesley

    No commit form has not changed.
    The change in behavior that you are probably hitting is where required items really are required even if they are not displayed - this change came in a patch to 6i.
    So I'm guessing that you have a key field which is required but not displayed to the user and you're populating a new key in pre-insert.
    Because you've made the field required, the commit is failing before you actually get to pre-insert because a required field is not filled in.
    So your solution would be to restore the code to Pre-Insert where it belongs and make sure that any non-displayed items are not marked as required.
    Support have a Forms API program that can make this change on-mass for you if you have a lot of forms like this,

  • Date Format Issue with Pre-Insert trigger

    I have created a form wherein creation_date and last_update_date are columns in a table that needs to be populated with sysdate (in format mm/dd/yyyy hh:mi:ss am) at time of saving.
    In pre-insert triiger, if I assign date as follows , it works:
    :creation_date=sysdate;
    However this creates date in format yyyy/mm/dd.
    I would like to set it in format mm/dd/yyyy hh:mi:ss am.
    How can this be done-I tried using to_date and to_char but wont work.
    Any ideas?

    hi
    u may try this too.
    when-new-form-instance trigger:
    set_application_property(PLSQL_date_FORMAT,'DDMMYYYY HH12:MI:SS');
    set_application_property(BUILTIN_date_FORMAT,'DDMMYYYY HH12:MI:SS');
    forms_ddl('ALTER SESSION SET NLS_date_FORMAT=''DDMMYYYY HH12:MI:SS'''); sarah

  • Problem while using Before insert Trigger

    Hello everybody,
    I am using 9.2.0.4.0 XMLDB..
    The problem occurs while using the before insert trigger shown below to convert a CLOB(:new.file_clob) to XMLTYPE(:new.file_xml). The trigger is on a table with file_clob and file_xml as columns. file_xml column is based on a registered schema.
    The trigger is:
    Create or replace trigger po_2_demo_xml_tab_trg
    before insert on po_2_demo_xml_tab
    FOR EACH ROW
    -- Step 1:to convert CLOB to XMLtype and store it
    --in :new.file_xml .
    :new.file_xml := xmltype(:new.file_clob);
    -- Step 2:to verify if :new.file_xml has been created
    dbms_output.put_line(:new.file_xml.extract('/PurchaseOrder/PONum/text()').getStringVal());
    end;
    If u insert a valid xml file, u can see the PONum value on dbms output(Step 2 of the trigger works). u also get the "1 row inserted" message.
    Surpisingly, if u query on the table it shows that the file_xml column is null! For some reason, the value of :new.file_xml in the before insert trigger is not being retained in the table.
    Has anybody encountered this before? Do I have to apply any patch?
    Appreciate any help in this regard.
    Thanks,
    Partha.

    sorry! I just noticed.. the trace file does show an error, but the error is while creating the table itself.
    Please see the segment from trace file below:
    The following statements encountered a error during parse:
    create table po_2_demo_clob_xml_tab
    file_clob CLOB,
    file_xml xmltype
    )xmltype column file_xml
    XMLSCHEMA "http://Friday/PO_2.xsd"
    ELEMENT "PurchaseOrder";
    XCTEND rlbk=0,
    Error encountered: ORA-00911
    But, inspite of this I am able to insert a xml file into file_xml using a sql statement. But the before insert trigger does not retain :new values.
    Appreciate any comments.
    Thanks,
    Partha.

  • Problem with the order of inserted PDFs...

    I work with archiving records in chronological order and am having problems getting the files to insert correctly. When I go to insert files, everything is fine when only one file is being inserted. Also what works fine is if I'm trying to insert multiple files that are already in order (by using the Shift key to select them all at the same time) - i.e. file1, file2, file3 - and I know that I can select the last one first to invert the order - i.e. file3, file2, file1. The problem I'm having is if I'm trying to insert file3, file1, then file2 without having to do multiple insertions. Obviously this isn't a issue when dealing w/ 3 out of order, but not 10+. I have tried using the Control key to select them in order but the order is ALWAYS messed up when I hit OK.
    Thanks to anyone that can solve my problem.
    -Lance

    Don't think there is anything you can do about that, unless you write a script or something. The ordering is typically set by the way they appear, not the order you select them. Some people have more success dragging from Explorer into Acrobat, rather than using insert pages. However, you are still stuck with the order the of the files in the window, not the order you select them. To the best of my knowledge, there is no way to change this behavior. Using a script are such is the only way I can think that what you want might be done.

  • I have problems with my used iphone.

    Hello there. I recently purchased a used iphone from a friend. However he took the sim card out as he needed it for his other phone.
    I have tried inserting my new at&t sim card, as well as a new blank one but when i want to activate the phone itunes keeps saying "there is a problem with your iphone". What can i do in this situation? Thanks.

    Yes, you should go back to AT&T and let them know the SIM card is for an iphone. Only iphone SIM cards will work in the iphone. AT&T sells SIM cards that will work in many different phones, but only the SIM card designed for the iphone will work in it correctly.

  • Having a problem with creating/using a primary key on a view

    I have a problem with a primary key on a view
    I created the view and primary key as follows:
    CREATE OR REPLACE FORCE VIEW "MDD"."ROCK_LU" ("DESCRIPTION",
         UNIQUE ("DESCRIPTION") RELY DISABLE,
         CONSTRAINT "ROCK_LU_PK" PRIMARY KEY ("DESCRIPTION") RELY DISABLE) AS
    SELECT DESCRIPTION
    FROM MRMC_LU
    WHERE ROCK = 'T';
    The view with the primary key appears to have been created as there were no error messages. (The above was from the sql tab in sql developer.)
    When I try to create the foreign key on my mdd_hr table - I get an error
    /* hr_name - foreign key */
    ALTER TABLE mdd_hr add CONSTRAINT hr_name_fk FOREIGN KEY (hr_name) REFERENCES rock_lu(description);
    Error report:
    SQL Error: ORA-02270: no matching unique or primary key for this column-list.
    When I lookup the index in sql developer, rock_lu_pk is not there.
    All my other foreign keys work - but I don't understand what I am doing wrong with this one. Please help.
    glenn
    Background - as to why I want to use a view as a lookup table.
    The MRMC_LU table that the view is created from is structured like:
    DESCRIPTION - MINERAL - ROCK - MODIFIER - COMMODITY
    ANHYDRITE - T - T - T
    APLITE - T - - T
    GRAPHITE - T - - - T
    GREYWACKE - - T
    DESCRIPTION is a list of all names of minerals, rocks, modifiers and commodities. T is entered in each valid field. Often a description name is used for both a mineral and a rock or a mineral and a commodity or any other combination. Because this database is just starting up, it was more efficient to create one table that could be updated (and thereby automatically update the MINERAL_LU, ROCK_LU, MODIFIER_LY, COMMODITY_LU views) rather than create and maintain four separate but similar tables. A primary key cannot be generated for the MRMC_LU table as there are nulls in each column
    except DESCRIPTION.
    Perhaps there is a smarter way to do this?

    http://download-uk.oracle.com/docs/cd/B10501_01/server.920/a96540/statements_85a.htm#2065512
    You can specify constraints on views and object views. You define the constraint at the view level using the out_of_line_constraint clause. You define the constraint as part of column or attribute specification using the inline_constraint clause after the appropriate alias.
    Oracle does not enforce view constraints. However, operations on views are subject to the integrity constraints defined on the underlying base tables. This means that you can enforce constraints on views through constraints on base tables.
    Restrictions on View Constraints
    View constraints are a subset of table constraints and are subject to the following restrictions:
    You can specify only unique, primary key, and foreign key constraints on views. However, you can define the view using the WITH CHECK OPTION clause, which is equivalent to specifying a check constraint for the view.
    Because view constraints are not enforced directly, you cannot specify INITIALLY DEFERRED or DEFERRABLE.
    View constraints are supported only in DISABLE NOVALIDATE mode. You must specify the keywords DISABLE NOVALIDATE when you declare the view constraint, and you cannot specify any other mode.
    You cannot specify the using_index_clause, the exceptions_clause clause, or the ON DELETE clause of the references_clause.
    You cannot define view constraints on attributes of an object column.
    Rgds.

Maybe you are looking for

  • Cannot access conflicts

    How many more posts on the community pages do we need until Apple sorts out this problem. When is the notes sync with Outlook  going to be fixed. There's clearly a problem here !!!

  • Use of MaxDB on Solaris 10

    Hi, For many years i use SapDB with Linux, this month i migrate to MaxDB 7.6.2.10 running on Linux x86_64, because of new features on Solaris 10 i like to migrate the O.S. too, then i want to know if anyone wish to share with us the experiences, trou

  • With one cell with text, make 2 cells with 2 texts

    Hi, I have one column with first name and last name in a same cell (like 'Laurent Didden') I would like to transform automatically one column in 2 columns where one column will be with the first name, and the second column with the last name. How can

  • InDesign CS5 stopped working and Can't drag or drop

    A colleague of mine has a Mac G5 with OS 10.5.8 and Adobe InDesign CS5 installed which has suddenly stopped working. On top of that she can't drag or drop items either.  She didn't have this issue yesterday. She didn't install anything new or added a

  • Using PREVIEW as default viewer

    I installed the latest version of Adobe Reader/Acrobat so I could access files I had been sent, no issues there. But, I inadvertently accepted Adobe as my default reader (replacing Preview) and I want to switch back but cannot find how or where to se