Commit processing in Forms 10g, what triggers fire etc.

In the oracle documentation there used to be a commit processing flowchart that said exactly what triggers fire on commit. Don’t seem to be able to find such a thing online.
This started by trying to work out if when-validate-item always fired on commit, even if it had been fired when the value was changes. It has turned into a more general question about the above and if it is any different in forms 10g and is it any different to 6i, 9i...?
I.e. how do you answer the standard oracle job interview question 'what triggers are fired when you commit in forms?'.
Oracle seems to of hidden the information, anyone know the answer?
Regards,
Ben

Hello,
Something like this:
POST-TEXT-ITEM
POST-RECORD
POST-BLOCK
PRE-COMMIT
PRE-UPDATE
ON-UPDATE
POST-UPDATE
PRE-INSERT
ON-INSERT
POST-INSERT
POST-FORM-COMMIT
ON-COMMIT
POST-DATABASE-COMMIT
PRE-BLOCK
PRE-RECORD
PRE-TEXT-ITEM
WHEN-NEW-ITEM-INSTANCE
Francois

Similar Messages

  • In Oracle Forms 10g, what is the best approach in read an excel file (csv)?

    Hi All!
    Could someone please advise me on what is the best way for an oracle form reading and extracting data from an excel spreadsheet (csv) that is located in the local drive directory.
    Someone had already advised me to use TEXT_IO function or use a javabean through the Implementation Class property.
    I'd really appreciate it if someone can give me insights.
    Thanks! beeals

    Other approach to load a CSV file, you can use EXTERNAL TABLES. SQL Reference manual has examples.
    http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_7002.htm#i2095331
    [urlhttp://www.astral-consultancy.co.uk/cgi-bin/hunbug/doco.cgi?11210] simple example of external tables loading data into oracle
    or here
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:68212348056
    Regards
    Ros
    Message was edited by:
    Rosario Vigilante

  • Stop Processeing in form for a while

    Hi All
    i want to halt the processing in form. What is the way.
    i'm sending the mail in a loop and i've used dbms_lock.sleep(1) to halt the processing but it does not work.
    is there any way
    Thanks

    Hi,
    Try using SYNCHRONIZE built-in for forms. You can get more information about this in forms help. Put this in a false loop till your other processing is over.

  • Differences between Forms 6i and Forms 10g

    Forms 6i and Forms 10g
    What are the differences between Forms 6i and Forms 10g
    What are the differences between Reports 6i and Reports 10g
    Regards,
    Arjun

    differences b/w forms6i , forms9i and forms10g

  • Transactional triggers and commit processing

    I have only been an active member of this thread for a couple of weeks and have tried to contribute to a few postings. But I have also noticed lots of postings relating to the use of DML statements inside what I would call non commit time triggers.
    What I mean here is, for example, a WHEN-BUTTON-PRESSED trigger that does inserts, updates, deletes, followed by the COMMIT_FORM procedure.
    I thought it might be useful to draw attention to the possible pitfalls of this approach. I'm not saying that this approach is wrong - far from it, but sometimes it means that people aren't leveraging the functionality that you get "for free" from Forms.
    By coding some DML followed by a Commit_Form, you are not getting any rollback functionality from Forms. For example:
    INSERT INTO A
    INSERT INTO B
    COMMIT_FORM;
    Let's imagine that the insert into A worked but the insert into B failed for some reason. The user gets an unhandled exception. Now imagine that the cause of the error is cleared up, and the user presses the button (or whatever the invokation action was) again, and the commit works. You will have 2 records in A and 1 in B. You may not have expected that, and without coding your own rollback/savepoint that's what you would get.
    You also (1) don't get a Working... message without coding it yourself, and (2) get the "No changes to commit" message; removing this is the subject of many threads on this site.
    If you have a block which is based over a table which you need to update, then all of the DML statements ought to be coded inside PRE/POST/ON INSERT/UDPATE/DELETE statements, or other Forms transactional triggers (pre-database-commit etc..). If you need to change other tables then put the DML for them inside those triggers. Then you don’t have to worry about which records the user changed – if the user didn’t touch them then Forms won’t fire the triggers. And when you call the COMMIT_FORM procedure, Forms will fire the triggers for you and if any of them fail, it will rollback back to where the COMMIT_FORM started.
    An example in 1 thread I saw this morning, was a Delete button, which was to delete the current record in a multi-record block. This button performed the “DELETE FROM <table> WHERE <key=:block.key>” followed by a Commit. Then of course the block needed to be re-queried to reflect the fact that the record had gone. Using the power of Forms to simply call the DELETE_RECORD procedure would have achieved the same result without needing to requery the block. And Forms would do the delete by ROWID, the fastest way of doing it.
    If you don’t have a block based over a table, then you can consider creating a dummy block which uses Transactional Triggers. Code an ON-INSERT on that block which includes the DML you want to execute. Then in the trigger initiating the commit processing you would do something like:
    :DUMMY_BLOCK.ITEM1 := ‘X’;
    COMMIT_FORM;
    IF (NOT FORM_SUCCESS) OR :SYSTEM.FORM_STATUS != ‘QUERY’ THEN
    -- the commit failed
    END IF;
    Then you’ll get a nice Working.. message and full rollback control.
    I think the moral of what I’m trying to get across is to use the power of Forms in the way it handles the transactions. Whilst we moan about it, it is actually quite good at that!
    I hope this posting is taken in a positive light, I am certainly not trying to teach anyone to “suck eggs”.
    PS. I find it ironic that you were prevented from coding DML statements outside of commit time triggers, in Forms 2.3!

    Thank you, Kevin. Very informative.

  • Forms 10g App. is slow: What is the official procedure to follow?

    Hello Forms gurus. This question has been bugging me for some time. Here is the scenario.
    We have a Telco application developed using Forms 10g.
    A user complains that his form is slow.
    We have access to the live DB (assume it is a 10g DB).
    However, we cannot run the form in the live DB. We have no access to it. We only have access to the live DB.
    What is the "procedure" to follow in a situation like this???
    Is there an Oracle Recommended procedure to follow?
    You inputs will be greatly appreciated.

    Are you sure the database is the cause of your performance problems? Can you identify slow queries? The first thing you should investigate is *where* your problem relies. Ask your DBAs if they can tell you the bad performing queries or help you analyze if there are any. If the database behaves well then most certainly it isn't the culprit of your performance problem. Of course there are some other no-gos which might affect application performance (like slow-by-slow processing, or serializing, or what ever else). So you need to identify where the time is spent first.
    So, according to the them, if a form is "slow", 99.99% it is caused by a slow query.  So, they expect us developers to know tuning stuff.
    Erm...and who else should know it? Developers design the application, developers know how it should work, and therefore are the ones who should know how to tune it. And I'm not talking about looking into why the Hard disk responds slow kind of stuff but simple identifying sub-optimal code, or SQL tuning by looking at the execution plans, interpreting them and solving them by...oh, I don't know, rewriting the query, minimizing recursive SQL, and what ever else. DBAs on the other hand know next to nothing about your application. How should they know if a query plan is bad or not (except the query responds slow)? How should they know how to rewrite your query properly if they don't know what it's supposed to do? Don't write a query whatever way you like and expect them to understand it and tune it which might even imply changes on your underlying data model.
    There are 2 scenarios:
    (1.) We got e-mail from user saying form is slow. But he is not using the form now.
             -- Is there a way to find out slow queries that happened say few days ago? Are they stored somewhere?
    (2.) User is currently logged on to the system and using the form.
            -- Can you find out an slow query happening right now??
    1.) This would be AWR. As they have the final saying about the database then ask them to provide you a AWR report of a Time period where you had performance problems. If you don't have AWR then it'll be somehow difficult to analyze performance problems of the past. But on the other hand I wouldn't worry too much if you can constantly reproduce your problems as this would take us straight foreward to:
    2.) That would be SQL Trace. Simply trace the session experiencing performance problems, and run tkprof on the tracefile. If you don't know how to do that and don't know how to interpret a query plan then you might ask your DBAs if they can assist you. If they insist that you must know that on your own maybe ask them to teach you. It is one thing to ask someone to do your job, but an entirely other thing to ask someone for help to do your job better and share some knowledge.
    In the end it'll be easier to work *with* your DBAs to identify and solve performance problems and not working *against* them. You have knowledge about your application, about what data is stored where and why but might lack some basic knowledge about SQL Tuning. Your DBA on the other hand has no knowledge about your application but might have a better understanding of basic SQL tuning. IMHO the both of you would make a good couple to solve SQL performance problems as your knowledge combined should make it easy to resolve your problem.
    cheers

  • Triggers Firing Sequence Of Forms 10g after commit_form trigger.

    hi all,
    please tell me Triggers Firing Sequence Of Forms 10g after commit_form trigger.
    thanks,
    Regards,
    Ambarish

    Hi,
    I have a doubt regarding the sequence of events when COMMIT_FORM is fired.
    Using the following to trigger the event.
    DO_KEY('COMMIT'_FORM');
    Added debug messages in my form triggers and found that after the ON-INSERT trigger is fired, the WHEN-VALIDATE-RECORD is fired and then the PRE-RECORD.
    However this sequence is not specified in the lists of firing sequences mentioned here.
    Is it possible to change the sequence programmatically.
    In my ON-INSERT trigger, calling a DB procedure to insert row in the table.
    Thanks
    Asfa

  • Does Form 10g support database 8.1.7..? what version it support? Thanks.

    Does Form 10g support database 8.1.7..? what version it support? Thanks.

    I've never heard, that forms 10g not runs on 8.1.7.
    The list of certified combinations can be found on metalink.oracle.com

  • Migration Forms 10g to 64bits what is the impact?

    Hi ,
    I have a system with:
    Windows 2008 32 bits
    Oracle 11gR2
    Forms 10g
    I need to migrate to windows 2008 64bits, my question what is the impact on FORMS ? I need just to recompile every thing or I have to reinstall? There is a risuqe for my librarys?
    Regards,

    Don't you need to more or less wipe the OS in the move to 64 bit, so you need to install OAS and Forms/Reports from scratch again, then recompile all of the forms/lib/menus etc.
    From what you have given us, this seems to be what I see you need to do.
    Edited by: tony.g on Oct 9, 2012 4:32 PM

  • What is the command to convert abc.pll to abc.txt in forms 10g

    Dear All,
    I want to convert all my .pll files into .txt.
    Is there any command to convert abc.pll to abc.txt in forms 10g.
    Any Help Appreciated..

    If you are attempting to produce an Object List Report from the command line with Forms Builder, yes, this is possible. According to My Oracle Support, you can use the command line call:
    frmcmp.exe batch=yes module_type=library userid=[username]/[password]@[db] forms_doc=YES module=<<Lib_name>>However, when I tested this it didn't produce what I expected. It does produce a .txt version of my Forms Library file, but it was simply the output from the Forms Compiler - not the Object List Report I was expecting. After playing around with the Forms Compiler, you can produce an Object List Report (.pld) with the Forms Compiler using the SCRIPT= parameter. So I modified the above command line to the following:
    frmcmp MODULE=MY_LIBRARY MODULE_TYPE=Library BATCH=YES LOGON=NO SCRIPT=YES OUTPUT_FILE=MY_LIBRARY.txtThis command in turn produced the file: MY_LIBRARY.txt. When you open this file in a text editor - it lists all of the library program units. It should be noted that if your Forms Library has any attached libraries, you will have to produce an Object List Report seperately for them.
    Hope this helps,
    Craig B-)
    If someone's response is helpful or correct, please mark it accordingly.

  • WHEN_VALIDATE_ITEM triggering not preventing the data commit in oracle form

    Hi,
    In my custom tabular form, there are some fields(columns) which actually need to be validated for format HH:MI format. The user should ideally enter HH:MI format but I am putting some validation code to ensure format is maintained either HH:MI(08:30) or H:MI(8:30) where valid values of HH would be 00-23 & MI would be 00-59.
    As usual, I wrote my code in when validate item trigger of the specific item. Code for reference:
    ============================================================
    DECLARE
    v_start varchar2(2);
         v_mid varchar2(1);
         v_end varchar2(2);
    v_attribute3 varchar2(5);
    BEGIN
    v_attribute3 := :XXDWTC_EMP_SCH_DET.ATTRIBUTE3;
         BEGIN
         select decode(instr(v_attribute3,':'),2,substr(v_attribute3,1,1),3, decode(substr(v_attribute3,1,1),'0',substr(v_attribute3,2,1),substr(v_attribute3,1,2)))
         INTO v_start
    from dual;
         EXCEPTION
              WHEN OTHERS
              THEN v_start := NULL;
         END;
    BEGIN
    select substr(v_attribute3,-3,1)
    INTO v_mid
    from dual;
    EXCEPTION
              WHEN OTHERS
              THEN v_start := NULL;
    END;
    BEGIN
    select decode(substr(v_attribute3,4,1),'0',substr(v_attribute3,5,1),substr(v_attribute3,4,2))
    into v_end
    from dual;
    EXCEPTION
              WHEN OTHERS
              THEN v_start := NULL;
    END;
    IF v_attribute3 IS NOT NULL AND v_start IS NOT NULL AND v_mid IS NOT NULL AND v_end IS NOT NULL
         THEN
    IF to_number(v_start) < 0 OR to_number(v_start) > 23 OR TO_NUMBER(v_end) < 0 OR TO_NUMBER(v_end) > 59 OR v_mid <> ':'
         THEN
    --DBMS_OUTPUT.PUT_LINE('Invalid Time Format for In1');
              message('Invalid Time Format for In1');
         message(' ');
         RAISE FORM_TRIGGER_FAILURE;
    END IF;
         /* IF v_mid <> ':'
              THEN
              --DBMS_OUTPUT.PUT_LINE('Invalid Time Format for In1');
              message('Invalid Time Format for In1');
         message(' ');
         RAISE FORM_TRIGGER_FAILURE;
         END IF;
         IF (TO_NUMBER(v_end) < 0 OR TO_NUMBER(v_end) > 59)
              THEN
              --DBMS_OUTPUT.PUT_LINE('Invalid Time Format for In1');
              message('Invalid Time Format for In1');
         message(' ');
         RAISE FORM_TRIGGER_FAILURE;
         END IF;*/
    END IF;
    EXCEPTION
         WHEN OTHERS THEN NULL;
    END;
    ===========================================================================================
    The trigger is getting fired for invalid data(for error pops up) but issue is I am also able to save transaction. Is it like, when validate is only for the purpose of validation before commit and it will not directly impact in commit process.
    Please assist me on the same.
    Regards,
    Ad

    Hi;
    For your issue i suggest close your thread here as changing thread status to answered and move it to Forum Home » Application Development in PL/SQL » Forms which you can get more quick response
    Regard
    Helios

  • What is the role of Lns process in oracle 10g data guard

    Hi ,
    plz help me out to find out the actual working of lns process in oracle 10g data guard
    when i use SYNC redo transport
    the output of v$managed_stanbdy is like that ..
    PROCESS PID STATUS CLIENT_PROCESS GR# SEQ#
    ARCH 9258 CLOSING ARCH 2 498
    ARCH 9260 CLOSING ARCH 1 499
    ARCH 9262 CLOSING ARCH 2 496
    ARCH 9264 CLOSING ARCH 1 497
    LGWR 9206 CLOSING LGWR 2 482
    its not display any info about lns,thats means lns is not working in SYNC redo transport mode ?
    but if i changed it to ASYNC then the out put of v$managed_stanbdy is like this ..
    PS PID STS CPS GR# SEQ#
    ARCH 9258 CLOSING ARCH 1 509
    ARCH 9260 CLOSING ARCH 2 510
    ARCH 9262 CLOSING ARCH 1 505
    ARCH 9264 CLOSING ARCH 2 508
    LGWR 9206 CLOSING LGWR 1 503
    LNS 10528 CLOSING LNS 2 510
    Now it display all the info about lns process...
    i read in oracle documentation that lns process send redo data from primary,( through network service ) to RFS on standby side.
    but first output means that lns is not working,if not then which process send redo from primary to RFS on standby ?
    i also read in some blog that lgwr use some extra buffer size from primary db SGA ,to write redo in that buffer ,ans lns read redo from that buffer and send it to RFS on stanby side,
    i m totally confused ..can u plz help me with correct logic behind this .
    thanx in advance.

    Hello,
    On the primary database when you run the v$managed_standby, it shows up the LNS process as this process sends redo info to the standby database and on the standby database the RFS process receives the redo information.
    So on the primary database when you query the v$managed_standby, it shows up LNS and on the standby database when you query the v$managed_standby it shows up RFS. Please let us know where you are running the query.
    Refer this http://datadisk.co.uk/html_docs/oracle_dg/architecture.htm
    969752     
    Handle:     969752
    Status Level:     Newbie
    Registered:     Nov 6, 2012
    Total Posts:     9
    Total Questions:     2 (2 unresolved)
    Name     Hemendra Singh
    Location     NoidaPlease consider closing your questions by providing appropriate points and marking it as answered. Please keep the forum clean !

  • Forms 10g installed and running on Windows Vista

    <font color=0000FF>Update 12-Dec-2008: </font>Oracle has published NOTE 559067.1 -- How to Install Developer Suite 10.1.2.0.2 - hence 10.1.2.3 - on Windows Vista, 24-OCT-2008 with some installation help.
    <font color=0000FF>Update 07-July-2008: </font> Added text at the bottom showing how to find patchsets for Forms 10g.
    <font color=0000FF>Update 29-May-2008: </font> This thread was started in November, 2007.  In January, 2008, Oracle released Patch 3 for Forms 10g, which makes Forms 10g compatible with Windows Vista.  As time permits I'll try to keep the information in this post up to date.   Updated information will be inserted <font color=0000FF>as blue text.
    </font>
    <font color=0000FF>Original message begins here:</font>
    This is a second thread I am posting to outline the steps I have used to install Forms on a Windows Vista Home Basic laptop.   The other thread describes installing Forms 6i:
          Forms 6i installed and running on Windows Vista
    Please read through the initial part of that post for the background.  I realize Oracle has not certified Forms 10g to run on Vista, but the time has come for my associates and I to upgrade our old computers to new desktop/laptop platforms, and I would hate to acquire XP machines and be stuck with them for the next 5 years.  <font color=0000FF>(Note: Since first posting this message, Oracle has certified Forms 10g Patch 3 (version 10.1.2.3.0) to run on Vista)</font>  So after another person informed me that he had Forms installed and running on Vista, I went ahead and bought one.  I found that as long as I set the compatibility mode to run Forms programs as Windows XP (and a few other changes), Forms 6i and 10g run quite satisfactorily.
    <font color=0000FF>Update 29-Jan-2008: </font> Unfortunately, it turns out that the Forms 10g Builder running on Vista <font color=0000FF>had</font> a major flaw:   If you try to develop a form, the Builder will crash if you try to compile a procedure that calls another procedure in the form that has errors.  The problem is reported and described in this thread:  Error compiling a form under Vista
    <font color=0000FF>Update 12-Mar-2008: </font> Installing Patch 3 on Vista does not help with this problem -- the Builder still crashes in the same situation.
    <font color=0000FF>Update 25-July-2008: </font> Applying Patch 7047034 has corrected the problem.   See this link within this thread:   Forms 10g: Installing Patch 7047034 on Windows Vista
    Webutil note:  I am stuck in a Forms 6i client/server world, so all my forms must run in that environment.   Therefore I have not used any Webutil software, and I do not know whether that part will run under Vista.
    Internet Explorer note:  On Windows Vista, IE CANNOT be used to run the Web Forms runtime.  It crashes immediately when you try to run a form.  Instead, I can use either Firefox (Firefox 2, Firefox 3.0 Crashes with Forms 10g) or Netscape, as long as they are set to disable java.  <font color=0000FF>[ Correction:   IE7 on Vista now runs the Forms 10g forms.   You just need to add "?config=jpi" to the browser URL when starting the Web Forms session.   More IE/Vista info: [url=http://forums.oracle.com/forums/thread.jspa?threadID=642973]Vista JInitiator Problem ]</font>
    The Oracle Developer Suite download page:
        http://www.oracle.com/technology/software/products/ids/index.html
    Oracle Developer Suite Installation Guide:
        http://download.oracle.com/docs/cd/B25016_07//doc/dl/core/B16012_04/toc.htm
    The steps below are those I followed to install Forms 10g (version 10.1.2.0.2)
    I.  Preliminary system changes in Windows
    When I started installing, I got the following error message:    Install has encountered an error while
        attempting to verify your virtual memory settings.
        Please verify that the sum of the initial sizes of
        the paging files is at least 256 MB.To fix this:  Go to Control Panel, System and Maintenance, View amount of RAM and processor speed (under "System"),
    Advanced system settings (in left "Tasks" column), Advanced tab, Settings (under "performance"), Advanced tab:
    Virtual Memory shows a "Total paging file size for all drives: 2337MB.
    Click "change", Uncheck "Automatically manage paging file size for all drives"
    Click "custom size:", set Initial size to: 2048, Max to 4096
    Click set button, then OK, get message:The changes you have made require you to restart your computer before
       they can take effect.Restart the computer.
    II.  Installing Forms 10g
    1.  Download two files from Oracle:
        ds_windows_x86_101202_disk1.zip (626,122,752 bytes)
        ds_windows_x86_101202_disk2.zip (236,880,881 bytes)
    2a.  Before extracting, it is a good idea to shut down any virus protection software.  It can sometimes prevent some files from being created.
    2b.  Extract both into the C:\oracle directory, as disk1 and disk2.
    3.  Using Windows Explorer, change the properties of setup.exe in the C:\oracle\disk1 folder.  (In windows explorer, right click, properties, Compatibility tab.)   Change the compatibility to run as Windows XP (Service Pack 2).
    4.  Right click setup.exe and click "Run as administrator"
    5.  Select "Installation type" = Complete (1.11 GB)
    6.  Received this message:Windows Firewall has blocked this program from
    accepting incoming network connections.  If you
    unblock this program, it will be unblocked on all
    public networks that you connect to.
    C:\users\steve\appdata\local\temp\orainstall...
      2007-10-29_11-59-08am\jre\1.4.2\bin\javaw.exeI clicked "Unblock"
    7.  Received this message:  "Provide outgoing mail server information"  I entered the smtp mail server that I use.
    8.  A summary screen displayed showing 274 products under New Installations.
    I clicked the Install button.
    9.   Received this message:  You can find a log of this install session at:
    C:\Program Files\Oracle\Inventory\logs\installActions2007.....log
    10.  The installation completed.  Installed products shows Forms 10.1.2.0.2
    III.  After the install completed
    1.  Create a shortcut to the Forms 10 Builder on the Desktop.
    On the shortcut line, after the .exe, add *userid=userxxx/pwxxx@orcl* so Builder automatically logs into 10g database.  If you do step 4 below (creating an easily-accessible folder to use for your forms) change the "Start in" path on the shortcut so it points to that folder.  Otherwise, Forms Builder will not find referenced objects and PLL libraries when it opens a form.  Also do the same on the Start, All Programs shortcut for the Forms Builder.
    Edit:  After applying Patch 3, the following steps are not necessary.
    Set its compatibility to Windows XP.
    Set checkbox: "Run this program as as an administrator."  (Without this, FormBuilder will NOT open a PLL library.)
    Click the "Show settings for all users" and change values there.
    2.  Copy "Start OC4J Instance" icon to desktop.
    Set its compatibility to Windows XP.
    The first time it runs, I got a Windows popup to unblock program named Java.  I clicked "Unblock".
    3.  tnsnames.ora:
    Rename C:\oracle\DevSuiteHome_1\network\admin\tnsnames.ora
    to:  tnsnames_orig.ora
    If you created a tnsnames.ora file for Forms 6i, just copy it to the path above.  If not, do this:
    Create a new tnsnames.ora file, copying entries old file on my old laptop, which contains all the connections I use.
    Delete the old laptop entry, replace with new entry for the new local ORCL connection on new laptop from tnsnames file renamed from the c:\oracle\... ...\10.2.0\db_1\ path.
    4.  Optional:  Create an easily accessible folder to store fmb files:
    C:\users\steve\.1\fmb10
    You don't really want to keep drilling into C:\oracle\DevSuiteHome_1\forms, and then find your .fmb file among the several dozen oracle-supplied files.
    To create a folder named .1, you have to open a CMD.exe (Windows DOS) window, and type the Make Directory command:
    MD .1
    That will create the folder within the current directory -- mine defaults to C:\users\steve
    Note:  If you also need to use Forms 6i like me, DO NOT EVER open a .fmb file in the Forms 10 Builder from the Forms 6i folder.  If you compile it, or even worse, save the .fmb, Forms 6i *cannot ever* access the file.  Instead, always use the File Manager (Windows Explorer) to copy the fmb from the fmb6 folder into the fmb10 location.
    5.  Change the Forms 10g Default.env file using a text editor.
    This file replaces all the settings originally written to the Windows Registry (GREAT idea, Oracle!  I hate the registry.)  No more Regedit.  The default.env file is located at: (DevSuiteHome_1 path)\forms\server\default.env
    Locate line with:  FORMS_PATH= and add:
        ;C:\users\steve\.1\fmb10
    Add a new line:
    FORMS_MMAP=FALSE
    The above allows compiling an fmx while the form is running.
    Add a new line:
    FORMS_ROWLOCK_OPTIMIZATION=FALSE
    (This fixes Oracle bug number 3949854, which prevents automatic skipping if the same value is typed over another value. TAR 4806199.993 Automatic Skip failure...)  See bug 4068896
    Add a new Line:
    FORMS_RESTRICT_ENTER_QUERY=False
    This allows use of Query-Where window in enter query, after entering a colon in any input field.  Without this, Forms returns FRM-40367: Invalid criteria in field nnn in example record.  Oracle shut it down to prevent "sql injection" attacks.
    6.  Jiniator setup:
    Run file jinit.exe in C:\oracle\DevSuiteHime_1\jinit\jinit.exe
    It installs Jinitiator 1.3.1.22.
    I installed it in C:\oracle\JInitiator 1.3.1.22\
    For Firefox, make sure a copy of file \bin\NPJinit13122.dll resides in   C:\Program Files\Mozilla Firefox\plugins.
    For Netscape, the path is:  C:\Program Files\Netscape\Navigator 9\plugins
    7.   Browser settings
    See the note above about using Firefox 2 and not Firefox 3!
    In Firefox 2 go to:  Tools-> Options-> Content
    Uncheck the "Enable Java" checkbox
    --Firefox terminates if this is not done!
    Note:  After my system automatically installed updates to either java or Firefox, re-check the "Enable Java" setting.  I am suspicious that one of these installs re-enables java in the browser.
    Also note:  some web sites cannot display properly if java is disabled.  Example:  U.S. time website: http://www.time.gov   Use Internet Explorer to view these.
    In Netscape make the same changes as Firefox.  Without disabling java, it also terminates when you try to run a form.
    Creating a url to use in the browser:
    Try this:
        http://127.0.0.1:8889/forms/frmservlet
    If it does not work, change the 8889 port number as follows:
    Open file:  C:\oracle\DevSuiteHome_1\install\portlist.ini
    Note the number in line:
    Oracle Developer Suite HTTP port = 8889
    Use the number as the port number.
    You can also change the 127.0.0.1 to the computer name:
    Control Panel, System and Maintenance, See the name of this computer (under "System").  Mine is "steve-PC"
    So the alternate URL is:     http://steve-PC:8889/forms/frmservlet
    To try out the URL, start the OC4J instance set up above.  Then start either Netscape or Firefox, and enter the URL.  You should get a welcome screen.
    If the above URL works, start up the Forms Builder, and open Edit, Preferences.  On the General tab, uncheck the "Build before running" check box (optional).  On the Runtime tab, set the "Application Server URL to the url above.
    To run a real form, add this to the URL after frmservlet, (with no spaces):
        ?form={formname}&userid={userxxx}/{passwordyyy}@{connect-string}
    but replace the parts in curly braces with the appropriate values.  Example:
        http://127.0.0.1:8889/forms/frmservlet?form=ABC&userid=abc123/zyx@orcl
    Setting up Forms Builder to directly run a form in the browser:
    Run the Forms Builder.  Go to Edit, Preferences, Runtime tab.
    Set the Application Server URL to:
        http://127.0.0.1:8889/forms/frmservlet
    (or use whatever URL string you developed above)
    Set the Web Browser Location to:
        "C:\Program Files\Netscape\Navigator 9\navigator.exe"
    (or an equivalent to run the Firefox browser).
    8.  FORMSWEB.CFG file changes
    The file is located at:
    C:\ORA_DS_101202\DevSuiteHome_1\forms\server\formsweb.cfg
    I changed the following two lines in the file, but these are my personal preferences:
    separateFrame=true
    lookandfeel=Generic
    9.  FMRWEB.RES file changes
    For Oracle help:  Enabling Key Mappings
    The file fmrweb.res defines actions (triggers that run) when a function key is pressed while running Forms.  The one released has unix-style key mapping, but I prefer keys originally mapped for Windows PC Forms users. There is a fmrpcweb.res in the same folder that can be renamed to fmrweb.res.
    In the C:\oracle\DevSuiteHome_1\forms path, I renamed fmrweb.res to fmrweb_orig.res.
    I have a file that I prefer to use, so I put it into the folder as fmrweb.res. The contents are listed below. It is organized so the most important keys are listed alphabetically at the top (URFD column is the sort column), followed by a group of less-important keys.  These are keys that are available to users, but they either would not use, or are disabled within most forms.  The URFD column in the second set starts with a hex A0 character, which is a high-order space, so collates after normal alphabetic characters.  (Note: If you want to copy the text below and use it, the hex A0 character has been changed by the forum software to a space. So you would need to use a text editor with hexadecimal character capabilities to replace the space with the original character. )
    My file has special keys defined for F2 (I use it for a debugging Key-F2 trigger in my forms), and a "Cursor to Home" F12 function. All the rest are pretty much the same as in the released fmrpcweb.res file, only mine are organized alphabetically on the URFD column.
    The Web Forms fmrweb.res file is editable using any programming editor (NOT MS Word!!!). The old Client/Server key mapping file, fmrusw.res, could only be changed using the Oracle Terminal program (and it is a pain to use).
    Here is the main part of my fmrweb.res file:#
    #Jfn :Jmn:  URKS            :Ffn :  URFD
    #    :   : (User-readable   :    : (User-readable
    #    :   :  Key-sequence )  :    :  function description)
    118  : 1 : "Shift F7"       : 74 : "Clear Form"
    121  : 0 : "F10"            : 36 : "Commit"
    117  : 0 : "F6"             : 65 : "Create Record"
    10   : 1 : "Shift Enter"    : 82 : "Cursor to Home" # sdsu uses this
    123  : 0 : "F12"            : 82 : "Cursor to Home" # sdsu uses this
                                        #: --Alt+Home works, but leaves the Action (first
                                        #: --pull-down menu item) highlighted.  Press Esc or
    36   : 8 : "Alt Home, then Alt" : 82 : "Cursor to Home" #-- Alt again to clear highlight.
    117  : 1 : "Shift F6"       : 63 : "Delete Record"
    119  : 0 : "F8"             : 77 : "Execute Query"
    120  : 0 : "F9"             : 29 : "List of Values"
    9    : 0 : "Tab"            : 1  : "Next Field"
    40   : 0 : "Down-Arrow"     : 7  : "Next Record"
    9    : 1 : "Shift Tab"      : 2  : "Previous Field"
    38   : 0 : "Up-Arrow"       : 6  : "Previous Record"
    112  : 0 : "F1"             : 35 : "Show Keys"
    116  : 1 : "Shift F5"       : 69 : " Clear Block"
    116  : 2 : "Ctrl F5"        : 3  : " Clear Field"
    113  : 1 : "Shift F2"       : 80 : " Count Query Hits"
    112  : 1 : "Shift F1"       : 78 : " Display Error"
    114  : 0 : "F3"             : 73 : " Duplicate Item"
    115  : 0 : "F4"             : 64 : " Duplicate Record"
    69   : 2 : "Ctrl E"         : 22 : " Edit Field"
    122  : 0 : "F11"            : 75 : " Enter " # Causes validation, w/o cursor move
    118  : 0 : "F7"             : 76 : " Enter Query"
    81   : 2 : "Ctrl Q"         : 32 : " Exit"
    112  : 2 : "Ctrl F1"        : 30 : " Help"
    34   : 0 : "Page Down"      : 66 : " Next Set of Records"
    119  : 1 : "Shift F8"       : 79 : " Print"
    10   : 0 : "Enter/Return key": 27: " Enter/Next Field"
    33   : 0 : "Page Up"        : 12 : " Scroll Up"
    116  : 0 : "F5"             : 87 : " F5 Key for special uses"
    #121 : 3 : "Shift Ctrl F10" : 82 : " Function 0" #--disabled.  Cursor to home defined above
    112  : 3 : "Shift Ctrl F1"  : 83 : " Function 1"
    113  : 0 : "F2"             : 84 : " Function 2"
    113  : 11: "Ctrl Alt Shift F2":95: " List Tab Pages" #<-REQUIRED, or F2 cant be assigned
    114  : 3 : "Shift Ctrl F3"  : 85 : " Function 3"
    115  : 3 : "Shift Ctrl F4"  : 86 : " Function 4"
    117  : 3 : "Shift Ctrl F6"  : 88 : " Function 6"
    118  : 3 : "Shift Ctrl F7"  : 89 : " Function 7"
    119  : 3 : "Shift Ctrl F8"  : 90 : " Function 8"
    120  : 3 : "Shift Ctrl F9"  : 91 : " Function 9"<B>Finding Forms 10g Patchsets</B>
    Here is how to do the search: Log into metalink ( https://metalink.oracle.com ), then click on the Patches & Updates tab, then Simple Search.
    In "Search by", select Product or Family. Enter "Developer Forms" in the box.
    Then click the Release choices, and select "iAS 10.1.2.3"
    Patch Type should be "Patchset/Minipack"
    Platform or Language should be "Microsoft Windows (32-bit)"
    Click Go, and the Forms 10g patch should show up. As of July, 2008 the only one available is: [url=
    https://updates.oracle.com/ARULink/PatchDetails/process_form?patch_num=5983622&release=1710123&plat_lang=912P&patch_num_id=943599
    ]5983622
    Edited 2008-12-12 to add a link to Oracle Note 559067.1  and added the fmrweb.res file listing.
    Edited 2008-10-28 to change text format to work better within new forum format
    Edited 2008-7-7 to add patchset search information.
    Edited 2008-4-21 to modify information.
    Edited 2008-3-6 to add information.
    Edited 2008-5-29 to update information.

    I followed your instructions and installed Developer Suite 10G on Windows Vista Home Premium edition. I have Oracle 11G DB running on the same machine.
    Two points, Steve:
    1. When I tried to set the maximum virtual memory to 6110 an error message displayed from Windows and told me that I can't set the maximum virtual memory to more than 4096. I set it to 4090 and it worked and I got nothing wrong during the installation process.
    2. After installing JInitiator and disabling Java on Firefox I called the http://127.0.0.1:8889/forms/frmservlet page and everything seemed to be OK because the Oracle Forms Services logo appeared and then a successful installation message appeared , but as I clicked (ok) to continue a gray screen appeared inside the browser (like the one displayed when you try to run a Java applet inside a browser) and then I wait to death till something appears but sadly nothing. I just get a blank gray screen inside my Firefox browser.
    Do you have any idea what to do to solve the problem?
    Regards

  • Commit causing other form to fail

    I have an app that runs on forms 6i. The app is made up of multiple forms, all of which can be opened using open form (or go form if the form is already open).
    The forms are not table based. i.e. they are coded so that triggers fire to ensure users have entered values etc.
    The forms are causing problems as one has a commit in it but this is causing a when-validate-item to fire in another. As the error does not concern the screen they are on it is making the user think what they have done has saved when in fact it hasn't.
    Do you know if there is anyway of coping with this scenario.
    Thanks
    Bryan

    > Do you know if there is anyway of coping with this scenario.
    Try doing this everywhere immediately before you do an Open_Form or Go_Form:
      Validate(Form_Scope);
      If not form_success then
        Raise Form_trigger_failure;
      End if;
    > Ours are not as then they can be a lot more user friendly. Just means you have
    to do your own inserts etc in the triggers and then do a commit.
    So you are NOT using the default block processing that Forms automatically gives you when you create a base-table block? If you are not, and instead are displaying data using select statements rather than Execute_Query... then I think you are doing things the hard way.   ...Mercy!

  • In Forms 10g Where does SQLs execute?

    In Oracle Forms 10g there is Java Applet on top of which our Application runs. Now suppose we have a button and in that we execute a SQL to get a column value.
    Now where does the SQL fire?
    Does it fire in the Applet (i.e in client) or does it go to the App Server and then execute?

    RTM first!
    If it's PL/SQL written in the form, that executes on the application server, that has a PL/SQL engine.
    If it's a call to a procedure stored in the database, that executes in the database.
    If it's SQL, then that can execute nowhere else except in the database.
    Do not imagine that the applet does any other thing except rendering what you see on screen and handling the clicks and keystroke to the application server (which does the further processing, handling to the database the SQL that has to be executed).
    Briefly, that's the basics.
    HTH
    Edited by: BEDE on Nov 16, 2010 11:15 AM

Maybe you are looking for