Oracle Forms in 11i/R12

Last updated on August 16th, 2015 at 03:49 am

We have Oracle forms 6i  in 11i Oracle E-buisness Suite  while Oracle  forms 10g in R12.0/R12.1/R12.2 Oracle E-buisness Suite.

The basics remains same in all these. The executable differs between different version

We are presenting here the basics of Oracle Forms in  11i/R12

Summary of Forms Definitions

-The .fmb file is a Form source file. It’s a binary file, which contains metadata, source and compiled PLSQL.
-The .fmx file is the generated version of the Form used at runtime
-The .mmb file is the Menu source file. It’s a binary file.
-The .mmx file is the generated version of the Menu used at runtime
-The .pll file is the client side attached library source file. It can also be used at runtime, although Oracle Applications should use plx files. It contains source, and compiled PLSQL.
-The .plx file is a source stripped version of the .pll, used at runtime. It contains compiled PLSQL.
f60webmx is the middle tier forms runtime process on Unix. (11i)

frmweb  is the middle tier forms runtime process on Unix. (R12.0/R12.1/R12.2)
f60srvm is the Forms Listener Process on Unix
-The Forms Applet is generic across platforms. The Forms Applet is also generic in that a single applet is used to run all Forms.
-Java Beans are used to implement Oracle Applications client side logic by extending the Forms Applet.

Forms, Libraries and Menus
On the middle tier, a Forms application consists of forms, menus and libraries. There are also database objects and server side packages and procedures on the RDBMS, but these will not be considered in this document.
A form source file is a binary file and has a .fmb suffix, e.g. XXXXX.fmb. It contains all the relevant metadata, PL/SQL program units and compiled PL/SQL. The fmb file is not used at runtime, but can be opened in the Form Builder or used to generate the runtime version (.fmx) of the form.
The .fmx file is essentially a binary parameter file that is read by the Forms runtime executable. It is not an executable itself, although generating the .fmx is sometimes referred to as ‘compiling’ and the .fmx is often called the ‘executable’.
A .fmx file cannot be reverse engineered back into the corresponding .FMB.

Application forms are translated, so each language has its own set of forms. For example, ~/forms/US is for users where the language on the middle tier (NLS_LANG) set to American English.
Similar principles apply to menus, where an mmb suffix denotes a source file, and an mmx suffix a generated version. Applications only uses one menu, FNDMENU. Like a form, this menu is translated into different languages, located for under ~/resource/US.
Libraries follow slightly different rules to forms and menus. The source file has a .pll suffix, and the stripped source has a .plx suffix. The .pll can be loaded in the Builder, generated, and used at runtime; it contains both source and compiled PL/SQL. The .plx has the source stripped out and just contains compiled PL/SQL, so can only be used at runtime. Oracle Applications uses the .plx at runtime, as it is much smaller and therefore more efficient.
Libraries do not contain any translatable strings, so there is one version for all languages, which is saved in the ~/resource directory.
Libraries are dynamically linked in at runtime. The Applications standard is for the developer to attach a library without path or .pll/.plx suffix. Forms searches for a library first in the current directory, and then in each directory specified in FORMS60_PATH. It searches for a .plx first, then a .pll.
As stated, Applications uses the .PLX because it is smaller and requires less memory. However, sometimes problems with the environment, especially when used for custom development, can lead to the .PLL being found first. Again, truss can quickly identify this type of problem.

Read followings links also
Form server Architecture

forms in R12

forms facts

Oracle Apps Printers

Oracle concurrent Manager

FNDFS working decoded

Jserv Architecture


Leave a Comment

Your email address will not be published. Required fields are marked *