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
    LVL 3

    Expert Comment

    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

    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

    Mmm, another comment, my application is one commercial application that runs using oracle application server.

    Author Comment

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

    Author Comment

    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)
    LVL 6

    Expert Comment

    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).
    LVL 6

    Expert Comment

    LVL 6

    Accepted Solution

    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,

    TERM and / or ORACLE_TERM

    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

    TERM, ORACLE_TERM settings:

    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


    ORACLE_TERM=vt220; export ORACLE_TERM

    TERM=vt220; export TERM

    Author Comment

    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

    I also have searched the f90gen and i don't have it, i only have f90genm...
    LVL 6

    Expert Comment

    by:DLyall 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.
    LVL 6

    Expert Comment

    Hi :kmocampo

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

    Many Thanks


    Author Comment

    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.
    LVL 2

    Expert Comment

    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.


    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Maximize Your Threat Intelligence Reporting

    Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

    Suggested Solutions

    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…
    This exercise is about for the following scenario: Dmgr and One node with 2 application server. Each application server contains it owns application. Application server name as follows server1 contains app1 server2 contains app1 Prereq…
    Hi everyone! This is Experts Exchange customer support.  This quick video will show you how to change your primary email address.  If you have any questions, then please Write a Comment below!
    Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

    779 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

    Need Help in Real-Time?

    Connect with top rated Experts

    20 Experts available now in Live!

    Get 1:1 Help Now