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! beealsOther 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
ThanksHi,
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,
Arjundifferences 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,
AmbarishHi,
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.
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,
AdHi;
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
-
Forms 5 on Oracle 9i migrated from 8i: some experiences ?
Hello, I would like to hear some experiences from some Forms gurus here, concerning to Forms 5/6i (C/S) on Oracle 8i when migrating to Oracle 9i. I know, Forms 5 has been looong desupported, but this is the situation I have to deal with and to which
-
How to output the member UDA as a column in Report Script?
I tagged my account dimension members according to its classification instead of using an attribute dimension. I wanted to use the assigned UDA for data loading purpose (select/reject records in rule file. Please let me know the syntax to show UDA as
-
How to handle inventory management scenario
Hi All, In How to handle inventory management scenario whitepaper, I fail to understand the basic difference between 'Inventory Management with non-cumulative Key Figures' and 'Inventory Management with Snapshots'. Can anyone please explain me the ba
-
I'm on my company website and all of the content appears much smaller than usual. I can't find Tools to adjust the appearance. I check on Internet Explorer and the same website looks normal.
-
Hi, I need to sort the SQL (APEX_ITEM) report. I created a hidden item and used the hidden item to sort the report. Its working fine but making the report very slow. If I remove the sorting, then the report runs fast. Please let me know what should d