Compiling forms

Posted on 2005-09-29
Last Modified: 2013-12-01
I am developing forms using Oracle Form Builder These forms are going to be integrated in a Datastream application (MP7) in a company that has installed LINUX. I develop in a Windows 2000 environment, and then i compile my forms and work fine. But now i don't know what to do to take them to the client company. Should i take the fmb files and recompile them? Which command should i use to recompile? In which directory can i find it once i am in that linux environment? Where can i find the configuration files to see the forms and reports paths?
Question by:kmocampo
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Expert Comment

ID: 14990149
Not sure what you mean with "Datastream application (MP7)". Normally forms are deployed using Oracle application server.

You take the fmb files and compile them on the LINUX box using the script in $ORACLE_HOME/bin. Make sure you set the FORMSXX_PATH environment variables properly, e.g. with a separate script. Runtime settings for the application server are stored in $ORACLE_HOME/forms90/server/default.env.


Author Comment

ID: 14990796
I tried to compile the forms and i get a frm-91500 error. I think i have set the variables properly, i executed the but it fails, any ideas?  I've seen some comments in metalink and they talk about having a display variable. I don't have a DISPLAY variable in my environment...

Author Comment

ID: 14990799
Mmm, another comment, my application is one commercial application that runs using oracle application server.
Major Incident Management Communications

Major incidents and IT service outages cost companies millions. Often the solution to minimizing damage is automated communication. Find out more in our Major Incident Management Communications infographic.


Author Comment

ID: 14991083
I have added DISPLAY and NLS_LANG variables, but still doesn't work. I set:

Author Comment

ID: 14991093
I don't know if it's useful but i have linux 2.4.9-e.57 (well, at least that's what it displays when i execute uname -a.... i haven't used linux before so i'm not familiar with it)

Expert Comment

ID: 14998049
Check out this possible cause I found on Metalink:

Assumes : ORACLE_HOME is set correctly.
                NLS_LANG variable is set correctly.
                DISPLAY variable is set correctly.
                ORA_NLS33 is set correctly.
                LD_LIBRARY_PATH is set perfectly

Motif version installed on Linux is not Motif 2.1.30 (Motif 2.1 patch: 108940-37 or higher).

Expert Comment

ID: 14998147

Accepted Solution

DLyall earned 300 total points
ID: 15013569
In case you can't access the above link I've cut and pasted the relevant text below.

Here is Note:266731.1 from Metalink: Troubleshooting FRM-91500 When Compiling/ Generating Forms Modules


To provide some troubleshooting and solutions to the generic FRM-91500 error.

This is a generic error which can occur when compiling or generating forms application modules typically in a Unix environment.


This article applies to:

Oracle 9iDS / 9iAS Rel 1 Forms 6i (6.0.8)

Oracle 9iDS / 9iAS Rel 2 Forms 9i (9.0.2)

Oracle Developer Suite / Application Server Forms 10g (9.0.4)

Platform : Unix

Target Audience: Support Engineers, Consultants, System Administrators,DBAs and Developers

FRM-91500 Unable to Start / Complete Build

The executables that can produce the FRM-91500 error are :

Forms 9i / 10g Compiler : or f90genm or f90gen

Forms 9i / 10g Builder : f90desm

Forms 6i Compiler : f60genm or f60gen

Forms 6i Builder : f60desm

The FRM-91500 error message is very generic, but it can have a number of different causes. The error gives no clues as to begin troubleshooting.
Typically, however, the fault lies in the environment/ operating system setup.
In this respect, the following settings should be checked and considered:


DISPLAY and Motif library version

NLS_LANG and the characterset used,


Hints / Recommendations:

1. There are example environment variable setup shell scripts supplied as part of the default Forms install e.g Forms 6i:

Oracle 9iAS Rel 1




Choose a script and edit it so values for the ORACLE_HOME and DISPLAY settings are correct. Then run the script before issuing the f60gen or f60genm command


unixprompt:>. ./

Forms 9i / 10g:

The environment setup is actually provided in the shell script.
Edit this shell script so values for the ORACLE_HOME and DISPLAY settings are correct. Then use rather than f90genm or f90gen to compile/ generate forms modules.

2. Check that the machine / environment complies with the 'System/ Software Requirements' as stated in the product Installation Guide


Oracle? Application Server 10g Installation Guide 10g (9.0.4) for Solaris Operating System (SPARC)

Oracle? Application Server 10g Installation Guide 10g (9.0.4) for AIX-Based Systems, hp HP-UX PA-RISC (64-bit), hp Tru64 UNIX, and Linux x86

Oracle? Developer Suite Installation Guide 10g (9.0.4) for Windows, Linux, Solaris, and HP-UX

Oracle9i Application Server Installation Guide Release 2 (9.0.2) for AIX-Based Systems, Compaq Tru64 UNIX,HP 9000 Series HP-UX, and Linux Intel

Oracle9i Application Server Installation Guide Release 2 (9.0.2) for Sun SPARC Solaris

Oracle9i Developer Suite Installation Guide Release 2 (9.0.2) for Windows and UNIX

For Oracle 9iAS / 9iDS Rel 1 documentation - see Documentation links on OTN

In particular, be sure that the correct Motif packages are installed and being used.


ORACLE_HOME environment variable must refer to the directory structure where Oracle Forms is installed e.g

Oracle 9iAS Rel 2 BI Forms Middle Tier

The LD_LIBRARY_PATH should then include $ORACLE_HOME/lib before any other directories referenced in this setting

Useful Reference:

Note:160656.1 Error FRM-91500 Using f60gen with ORACLE_HOME set to Database Server directory.

DISPLAY Setting and Motif version :

The DISPLAY environment variable must be set to a valid value when using f60genm or f90genm /

Hint: Having set DISPLAY check that it works by running a simple x-windows command such as xclock or xterm


unixprompt:> xclock &

An xclock should appear on the monitor / device to which DISPLAY is pointing

Also beware some known issues with Motif library versions on Linux and xVfb emulation software.

Useful References:

Note:160450.1 FRM-91500 on Compiling a Form Needs DISPLAY Variable.

Note:262442.1 Error FRM-91500 Running Forms 9i Compiler ( on Linux x86.

Note:219756.1 Compiling Forms Using F60GENM Gives FRM-91500 When Using xVfb On AIX

NLS_LANG - characterset Settings :

This variable should be set to a valid NLS_LANG.

If WE8ISO8859P15 or UTF8 characterset are used some changes in the tk2Motif.rgb file are required.

Useful References:

Note:1075912.6 Troubleshooting FRM-91111

Note:210528.1 Trying to Generate a Form with WE8ISO8859P15 Character Set fails with FRM-91500


The ORACLE_TERM and/or TERM environment variable must be set to valid value when using the character mode version of the compiler i.e f60gen / f90gen



TERM=vt220; export TERM

Author Comment

ID: 15013616
Well, i stil have the FRM-91500 error, no matter what i do or which environment variables i set, i always get that error. See, i'm sure that the problem is that i work in a completely character mode in the server, and as i've read in metalink, the f90genm shell is a motif based tool. i think i have wrongly installed something because when i try to execute something like startx or xclock i just get an error. Does it mean that i only can compile my forms in linux in a graphic environment?

Author Comment

ID: 15013632
I also have searched the f90gen and i don't have it, i only have f90genm...

Expert Comment

ID: 15017910 is motif based.

With Oracle9i forms the only executable available for compiling the forms is f90genm

and it requires the display variable DISPLAY to be set to point to an active x-windows session. In

forms 6i there is f60gen executable which can be used with batch=yes and without

display variable being set. But in Oracle9i forms, the character mode executables

are no longer supported and the equivalent of f60gen is not there.

In Developer 9i Forms, you can invoke the forms generator by a script

Also you can give the command similar to following for command line execution. module=/u02/home/usupport/users/forms90users/tsriniva/dept.fmb  

For a list of compile options you can give without arguments which will list out the list of options available as in

forms 6i.

Expert Comment

ID: 15086470
Hi :kmocampo

Coudl you close this call if you have no further comments.

Many Thanks


Author Comment

ID: 15111603
Well, i only have one final question. The problem was on the DISPLAY environment variable, i set it correctly and the runs. But as i've always worked in windows platforms, i don't know what should i do to specify the path of my own libraries. I have two of them and i put the plx files in the same directory of the fmx. But it seems the compiler cant' find where they are. I included that directory in the LD_LIBRARY_PATH and in the PATH variables, but it still doesn't work. Any ideas? The libraries are already compiled in linux.

Expert Comment

ID: 20335160
set env file before compiling fmb
environment path in the linux : example : /oracle/prodappl/PROD_oraapps.env
and copy fmb file to linux from ftp
fmb location : /oracle/prodappl/au/11.5.0/resources/
compile fmb file this command : f60gen module=xxxxxx.fmb userid=apps/apps password
after compile frms copy your patch
example : /oracle/prodappl/xxtc/11.5.0/forms/US
you can see forms and reports path look at the env file
forms path : /oraappl/prodora/8.0.6/forms60
reports patch : /oraappl/prodora/8.0.6/reports60
if you use advanced forms compile
Usage: f60genm Module=<formname> Userid=<userid/password> [Parameters].
Optional parameters are (default values given):

Module_Type=FORM          Module type (FORM, MENU, LIBRARY, PECS).
Module_Access=FILE        Module access (FILE, DATABASE).
Statistics=NO             Show statistics.
Logon=YES                 Logon to database.
Batch=NO                  Don't display messages on the screen.
Output_File=<file>        Write output to file.
Script=NO                 Write script file.
Parse=NO                  Parse script file.
Delete=NO                 Delete module from database.
Insert=NO                 Insert module into database.
Extract=NO                Extract module from database.
Upgrade=NO                Upgrade module to current version.
Upgrade_Roles=NO          Upgrade SQL*Menu 5.0 role information.
Version=45                Version to upgrade (23, 30, 40, 45, or menu 50).
Crt_File=<crt file>       CRT file for version 2.x form upgrade.
Build=Yes                 Build a runform/runmenu file when upgrading.
Add_Triggers=NO           Add KEY-UP/DOWN triggers during upgrade.
Nofail=NO                 Add NOFAIL keyword to trigger steps.
Debug=NO                  Build/Run with debug information.
Compile_All=NO            Compile all PL/SQL code.
Strip_Source=NO           Strip pl/sql source code from library.
Window_State=Normal       Root window state: (Normal, Maximize, Minimize.)
Help=NO                   Show this help information.
Options_Screen=NO         Display Options window (on bitmap only).
Widen_Fields=NO           Add one character to display width.
Print_Version=NO          Print version used to save module.
Forms_Doc=NO              Print Forms Doc report.


Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Hibernate filter not working 4 116
more than one path in advanced variables while installing netbeans 2 108
oneTwo java challenge 31 702
Java Exception example issues 11 84
Configure Web Service (server application) I. Configure security for Web Services methods First, we need to protect Session bean which implements the service: 1. Open EJB deployment descriptor (ejb-jar.xml) in the EJB project that contains you…
Verbose logging is used to diagnose garbage collector problems. By default, -verbose:gc output is written to either native_stderr.log or native_stdout.log.   It is also possible to redirect the logs to a user-specified file. This article will de…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…
In an interesting question ( here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

710 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question