BEFORE FORM COMMIT

Hi All,
I have developed 2 forms, one Item master and Transaction form.
Item master form will have item details. like Item code, item id, description, delay days etc.. (all are database columns)
For Ex:
Item code - A
Item id -1
Description - PEN
Delay days default - 0
When coming to transaction screen, i had master detail relation.
i have provided header details and when coming to line level user will select the item code, it will populate the records like item id, description, delay days and save it. Data got commited and not posted. data is lying in DB.
here the delay days will be 0.
When user changes the item master delay days to 2. then before clicking the post button in the transaction screen it has to check again with the item master delay days, if it is not matching should pop-up message, like save, no cancel.
If user says SAVE, then in the transaction delay days = 2
else
NO proceed to POST
else
CANCEL nothing should happen for the form.
Note: user can use ctrl+s or by clicking commit button, the same should effect for both ways.
can any one tell me which trigger i need to use and where i need to use in header or detail level in transaction screen.
Thanks,
Siva.

Hi,
I have a form with master-detail realtion, user will complete header information and come to line level.
in the Line level i have two columns C1 and C2, if both the values are not equal i should promt error message to user, do you want update C2 in C1 or continue with C1.
the above changes should happen when user changing header check box to complete. That point of time i need to cross check the above in lines block and pop-up should be fired.
I have 2 blocks A and B
Block have check box (complete, incomplete)
i have written the code in block A, WHEN-LIST-CHANGED
BEGIN
GO_BLOCK('JNPP_GRV_LINES');
FIRST_RECORD;
LOOP
if :jnpp_grv_lines.calculate_value <> :jnpp_grv_lines.offsale_date then
     ok_alr('Not Matching');
     raise form_trigger_failure;
end if;
NEXT_RECORD;
EXIT WHEN :SYSTEM.LAST_RECORD = 'TRUE';
END LOOP;
END;
in the above code i need to pop-up aleat button, please check and try to help me.
Siva

Similar Messages

  • Tab canvas + post-forms-commit + form_trigger_failure

    Hi all,
    There is a tab canvas with eight tab pages in my forms.
    In the post-forms-commit form-level trigger there are controls based on some conditions before executing the processes. When the conditions in the controls are not met then a stop alert is shown and form_trigger_failure is raised. All of these actions , that is the alert and form_trigger_failure , are contained inside a procedure named affiche_erreur.
    The problem is that after pressing the alert button then forms goes to the first tab page. And the focus is on a non-navigable button ! Very strange !
    I trapped the form_trigger_failure exception in post-forms-commit , but untill now I do not find any way how to put the focus in a specific item.
    So how to put the focus into a specific item or a specific tab page ?
    Thank you very much indeed

    Mark , the when-tab-page-changed trigger does not fire after I pressed the alert button although the focus goes always to the non-navigable button in the first tab-page. I wrote a pause statement at the beginning of the when-tab-page-changed trigger but there was no pause alert at runtime.
    Finally I created a timer in the exception of the post-forms-commit trigger which catches the form_trigger_failure exception , and in the when-timer-expired trigger I wrote go_item.

  • Forms Personalization issue condition error in post-forms-commit.

    I am trying to personalize PERWSEAC form (i.e. Assignment costing form in HRMS).
    In the post-forms-commit, I added condition like this
    :SYSTEM.CURRENT_BLOCK = 'COST' AND 1=1, when validated it is working fine.
    And at runtime it throws error like this "The condition :SYSTEM.CURRENT_BLOCK = 'COST' AND 1=1 could not be evaluated because of error"
    If condition is changed to :SYSTEM.CURRENT_BLOCK = 'COST' it works fine.
    Please suggest what is going wrong, before it was working fine.

    Hello,
    This is the "standalone" Forms forum. Ask personnalization questions in the dedicated E-Busines Suite forum.
    Francois

  • Max no. of Update SQL statements before a commit

    In Oracle 10.2 what is maximum number of UPDATE statements that I can execute before issuing commit.
    If maximum is there either by no. of SQL statements or size in KB, what will happen if I go above this number.
    Thanks in advance for your response.
    Edited by: vbforums on Feb 21, 2011 3:50 PM

    sb92075 wrote:
    I executed 5000+ update statements from Java in one shotI am curious.
    Does each UPDATE change only a single row?
    I'll ask a different way.
    Can a single UPDATE statement change all desired rows?yes
    SQL> conn scott/tiger
    Connected.
    SQL> select table_name from user_tables;
    TABLE_NAME
    EMP
    DEPT
    SQL> create table mytest(cola varchar2(1));
    Table created.
    SQL> insert into mytest values ('A');
    1 row created.
    SQL> insert into mytest values ('A');
    1 row created.
    SQL> insert into mytest values ('A');
    1 row created.
    SQL> commit;
    Commit complete.
    SQL> select * from mytest;
    C
    A
    A
    A
    SQL> update mytest set cola='B' where cola='A';
    3 rows updated.
    SQL> commit;
    Commit complete.
    SQL> select i * from mytest;
    C
    B
    B
    B
    SQL> exit
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    [oracle@vmlnx01 dbs]$ exit
    logout

  • What trigger to use when wanting to form commit information

    Want to commit information from form to database.
    Only appears I can use when button push
    The on validate record does not facilitate form commit
    In previous forms versions used a post update trigger
    however this one is not valid/recommended anymore.
    THX IN ADVANCE

    Thank you Sanjay for your response. I am currently using When Validate Trigger. It works for all the scenarios except when order line is cancelled.
    When line cancelled I should rewrite the order quantity to 0 and save then only DFF's are updating to 0's.
    Thanks,

  • HT201270 Can I find out the version of an update before I commit to a click?

    I need to put an update on my i phone 3G but before I commit to the update I want to know what version it is.  If I click download and update is it too late to know the version or will there be something that tells me and asks if I want to proceed.
    Helen

    Look up the app in the iTunes Store before you update. The app's page should tell you version, system requirements, and if the developer is at all reponsible what's changed.
    Regards.

  • View SQL before i commit

    Hey gang, just say i'm using SQL Developer to delete some rowes out of a table. I've selected my rowes and i chose delete, before i commit is there any way to see the SQL statement that is going to be applied? I know that once i commit it, i do see it in the data editor log, but i want to see this before i commit. Possible?
    -Scott

    Yes: Preferences - Database - ObjectViewer Parameters - Post edits on row change (and obviously don't Set Auto Commit On ).
    Have fun,
    K.

  • FRM-40735: POST-FORMS-COMMIT ON TRANSFERING @ 11.5.2

    제품 : FIN_FA
    작성날짜 : 2006-05-30
    FRM-40735: POST-FORMS-COMMIT ON TRANSFERING @ 11.5.2
    =====================================================
    PURPOSE
    11.5.2 또는 11.5.3같은 Old Version의 Asset에서는
    Transfer를 Multiple하게 동시에 수행하게 될때는 FRM-40735에러가 나타납니다.
    Problem Description
    Workaround
    Transfer를 Line별로 한 라인씩 Transfer를 끝내고
    다시 나은 자산에 대해서 Transfer를 하시면 됩니다.
    Solution Description
    최신 버전으로 Upgrade하지 않고는 다른 Solution이 없습니다.
    라인별로 하나씩 Transfer를 하셔야 하십니다.
    Reference Documents
    SR5061389.992

    Please refer
         Inter Org Transfer Transactions Error with Cost_Trx ORA-01403 no data found [ID 1186016.1]
    that addresses the issue. THanks

  • Form commit line by line please..!

    Hi All,
    I have a oracle form registerd in apps 11.5.10.2.
    It is having lines.. in each line one qty cloumn is there...
    i want to commit the form and go to next line....and so on ....ie commit the form line wise.
    so that i can use the previous all lines values....
    I tried do_key('commit_form') in when-validate-record trigger, but giving error.
    Can anyone please help....
    -Krishna.

    Krishna,
    The When-Validate-Item (WVI) trigger only allows you to execute SQL Statements and Unrestricted Built-ins. The Commit_Form built-in is Restricted, therefore you can try to use logic like Dora suggests and test system variables in the When-New-Record-Instance (WNRI) trigger but this is problematic if you are simply updating an existing record. I would suggest using a Forms Package Variable to capture the status of the record and perform your Forms Commit in a Block or Form level When-New-Item-Instance (WNII) trigger. I typically will create a Form_Variables package specification where I place variables that are global to just the form and not the whole application. For example:
    /* Create a Package Specification in the Program Units node of the Object Navigator */
    PACKAGE Form_Variables IS
         v_execute_commit          VARCHAR2(1) := 'N';
    END;Then in your WVI trigger, have code similar to the following:
    BEGIN
         /* Other Validation Logic here.... */
         Form_Variables.v_execute_commit := 'Y';
    END;Then, in your Form or Block level WNII trigger add this code to any existing logic.
    BEGIN
         IF ( Form_Variables.v_execute_commit = 'Y' ) THEN
              /* First, reset the variable. */
              Form_Variables.v_execute_commit := 'N';
              Commit_Form;
         END IF;
    END;Adding this logic to the WVI and WNII triggers will capture Inserts and Updates. Then you only have to worry about Deletes. If you want Deletes to commit you can code this in your Key-Delrec trigger.
    BEGIN
         Delete_Record;
         Commit_Form;
    END;Hope this helps.
    Craig...
    If a response is helpful or correct, please mark it accordingly

  • Before POST & COMMIT

    hi all,
    I have a problem hope it get solved here.
    I want to check whether any user is entering duplicate records before it is commited or posted to the database .
    like suppose if a user has inserted some records in the detailed block like say patr#, Partdescription ...
    001 , XYZ..
    002 ,abc..
    004,POL...
    NOW Suppose if he tries to enter 001 again then a messaged should be displayed that u have already entered the record and should not be duplicated .
    it should be noted that I havent posted the records or commited the form.
    Similarly like suppose i have a form where in i can enter records like suppose 100 records i have entered without saving just going to next record by arrowkey . now here also i need to prevent duplicate entry without posting and commiting
    how can i do
    can any one help me

    See this thread:
    <p>    Re: Duplicate item value in a Multi-Record Block

  • How to perform validity checks just before form data is saved?

    hello all,
    i need to perform some checks on various fields just before data on a standard form is saved, and to eventually rollback the transaction.
    if the checks are succesful i have to perform some db operation in transaction with main data.
    solution ( if existent! )  has to be addin only -> no triggers / no procedures / no sbo_transaction thingies
    scenario:
    involved tables:
    OITM
    USERDEFINEDTABLE1
    USERDEFINEDTABLE2
    involved forms:
    Items - OITM - formtypeex = "150"
    logic:
    an user defined field U_UDFCHECKACTIVE has been added to OITM, a combo box has been added to items form containing values Y and N, bound to OITM.U_UDFCHECKACTIVE.
    when the user saves an item, if OITM.U_UDFCHECKACTIVE == Y we have to perform additional checks on USERDEFINEDTABLE1
    if the check result is true we have to save OITM current data and insert a record in USERDEFINEDTABLE2 containing itmgrp value (  )
    if the check result is false we have to block save operation
    if OITM.U_UDFCHECKACTIVE == N no check is performed and everything works normally
    we started hooking the form data event for oitm / form type 150:
    Application.SBO_Application.FormDataEvent += new SAPbouiCOM._IApplicationEvents_FormDataEventEventHandler(FormDataEventHandler.SBO_Application_FormDataEvent);
    then we filtered the event
    switch (BusinessObjectInfo.FormTypeEx)
                        case "150":
                            if (BusinessObjectInfo.BeforeAction &&
                                (BusinessObjectInfo.EventType == SAPbouiCOM.BoEventTypes.et_FORM_DATA_UPDATE ||
                                    BusinessObjectInfo.EventType == SAPbouiCOM.BoEventTypes.et_FORM_DATA_ADD))
                                BL.Items_BusinessLogic.SBO_Application_FormDataEvent(ref BusinessObjectInfo, out BubbleEvent);
    in our business logic class i don't know how to correctly check the values just before they are saved to db
    for example i tried using oitm.browser :
    if (oitm.Browser.GetByKeys(BusinessObjectInfo.ObjectKey))
                            String value =  oitm.UserFields.Fields.Item("U_UDFCHECKACTIVE ").Value as String;
                             //perform checks
                                  //if ok insert records and bubbleevent = true
                                  //if ko rollback the bubbleevent = false
    //if checks are not to be performed then bubbleevent = true....
    but it's wrong, as it populates oitm object from db, and not from the form. i have old values stored in the object, values tha are to be overwritten with those present on form.
    i tried inspecting the form for data sources but i don't know how to navigate to the right one, i found only system generated objects with SYS_##, with no clue about the related dbfield
    i tried getting the values directly from the form, but in object BusinessObjectInfo i don't have anything that identifies univocally the form i'm editing.
    i mean if i have 2 item forms open, i don't know which one is the one i'm saving.
    i'm expecting to find somewhere a temporary oitm business object containing values that are to be saved, values that i can easily check.
    so i'm asking you how to find those values in order to perform my bl checks
    thank you in advance

    Hi Christian,
    The values that are about to be saved should be in the datasources:
    form.DataSources.DBDataSources.Item("OITM");
    form.DataSources.DBDataSources.Item("ITM1");
    The form variable should be form 150.
    Best regards,
    Pedro Magueija

  • Whats the best way to check table before form deletion or update ?

    Hi, I have a func_staff table made up of a composite key - func_no and staff_id. I have a form where the datablock references this table.
    I need to be able to check that before a func_no and staff_id combination on the form are written to the database that that combination does not already exist in the table.
    What would be the code for that ? I've tried stuff like IF EXIST statements and even a select statement but I totally worded it it wrongly.
    To DELETE an entry in that same table, would the best way to be create an LOV for both func_no and staff_id, the problem with that would be if a user selected a combination that does not exist ? Could I create a combined LOV that would populate each field ?? (this way I could be 100% sure that the selected combination is valid)
    Thanks Peeps.

    hi,
    you can try and use the count(*), before deleting and updating
    lets say
    select count(*)
    into l_count
    from table_name
    where column1 = :block.column1
    and column2 = :block.column2;
    if l_count <> 1
    then
    insert into..........
    else
    show error message;
    raise form trigger failure;
    end if;
    similarly u can use l_count before deleting.
    regards,
    Mayank

  • Add a word before form input (PHP)

    Normally I would work this out fo rmyself but I'm up against
    the clock this time so here goes:
    I have a form which updates a text field in a MYQSL databse.
    what I'd like to do is add the word "All," and the comma a the same
    time, to enable a search.
    here is the line which I think carries the cateegory but can
    anyone help me amend it so it adds the word all and the comma at
    the same time?
    GetSQLValueString($_POST['category'], "text"),
    Failing that, is there a way I can automatically have the
    word All, insterted in every new row in the MySQL table?
    Cheers
    Dave

    On 17 Oct 2006 in macromedia.dreamweaver.appdev, davecheet
    wrote:
    > GetSQLValueString($_POST['category'], "text"),
    Try this:
    GetSQLValueString('All, ' . $_POST['category'], "text"),
    That will do what you asked; if it's not what you want,
    you'll have to
    post more code. It also includes an embedded space; amend as
    needed.
    "." (dot/period/full stop/0x2e) is the PHP concatenation
    operator.
    Joe Makowiec
    http://makowiec.net/
    Email:
    http://makowiec.net/email.php

  • Looking to verify user before form completion

    I have a form that we have been using (well trying to use )
    for a few months
    now...
    It works fine as long as the data exists in our database...
    quick view of how the system works...
    We have a trouble ticket system.. used by our techs to log
    calls and keep
    track of issues and resolutions.
    Well it has the ability to open tickets automatically via
    email.
    So i created a web form with just the basic information
    required to open a
    call... this works great.... Now the issue we have is that
    since this was
    never used til now, not everyone is setup in the ticket
    system with accounts
    and emails so if someone submits there call and they dont
    exist, the call is
    still opened.. but not under that person....
    I was trying to use the Check User Name in dreamweaver, but
    requires to have
    an Insert Record behavior setup, we cant insert anything into
    the database
    without using the client app or via email.... the database is
    complex...
    so is there any other way to verify the users before they are
    allowed to
    enter the form?
    all i need to do is have them complete a simple form, last
    name and first
    name and have it check against the ticket system database. if
    they exist
    they are shown a page with there data to make sure its
    correct. If it is..
    they click past to complete the form... if anything is wrong
    they call our
    techs to update the data and then allow them to complete the
    form..
    What else can i use to do this other than Check User Name
    behavior... unless
    there is a way to use it without inserting the record.

    ok,
    Got that part working, now let me ask this....
    For the form to be accepted by the ticket system, the name
    has to be
    submitted in this format: Doe, John
    When i verify the account im actually checking against 2
    columns, but for
    the system to open the ticket correctly you have to submit
    the name as 1 not
    2 seperate fields...
    So is there a way to pass on the 2 fields as 1 on the next
    page?
    Page #1
    Enter First and last name in there own fields...
    ( Last Name: First Name: )
    Page #2
    Displays information found or details on why they were not
    found
    Page #3
    Need to pass the first and last name data to this page and
    populate 1 field
    in the above format Doe, John
    "Daniel" <[email protected]> wrote in message
    news:[email protected]...
    >I have a form that we have been using (well trying to use
    ) for a few
    >months now...
    >
    > It works fine as long as the data exists in our
    database...
    >
    > quick view of how the system works...
    >
    > We have a trouble ticket system.. used by our techs to
    log calls and keep
    > track of issues and resolutions.
    >
    > Well it has the ability to open tickets automatically
    via email.
    >
    > So i created a web form with just the basic information
    required to open a
    > call... this works great.... Now the issue we have is
    that since this was
    > never used til now, not everyone is setup in the ticket
    system with
    > accounts and emails so if someone submits there call and
    they dont exist,
    > the call is still opened.. but not under that person....
    >
    > I was trying to use the Check User Name in dreamweaver,
    but requires to
    > have an Insert Record behavior setup, we cant insert
    anything into the
    > database without using the client app or via email....
    the database is
    > complex...
    >
    > so is there any other way to verify the users before
    they are allowed to
    > enter the form?
    >
    > all i need to do is have them complete a simple form,
    last name and first
    > name and have it check against the ticket system
    database. if they exist
    > they are shown a page with there data to make sure its
    correct. If it is..
    > they click past to complete the form... if anything is
    wrong they call our
    > techs to update the data and then allow them to complete
    the form..
    >
    > What else can i use to do this other than Check User
    Name behavior...
    > unless there is a way to use it without inserting the
    record.
    >

  • Program completion before database commit

    Hello friends,
    I am doing a mass update using batch input program. The issue is that my program completes before actual database commit.My requirement is to create info records and after calling the standard batch input program , i am checking  the standard tables if the info record is created or not. If yes, am updating the numnbeer else am updating an error message,
    The problem is that for some 200 odd records there is no issue but if the no of records exceeds say 1000 or more, the background process of batch input program continues and then my code to check if the info record is created gets called. At this time,the database is still getting updated and there is no info record getting filled( info record actually gets  updated in the standard tbale after few mins).
    I am pretty sure this is to do with database commit issue and can actually use wait statement but then i cannot always expliciltly say wait up to 100 seconds because the user can choose 1000 records or 1 record at a time. How to ensure that the database gets updated before my checking of the info record in the table.
    Please help.
    Regards,
    Prem

    Hi,
    Try the following command before looking for info records in the database..
    COMMIT WORK AND WAIT.
    WAIT UP TO 2 SECONDS.
    If this doesnt work.. then i feel you should split the program...
    1st create all info records..capture the success/error messages.. once done
    call the 2nd part which is related to validation of info record in database.
    Thanks,
    Best regards,
    Prashant

Maybe you are looking for