How to Develop Oracle Form for Oracle E-Business Suite?

As an Oracle E-Business Suite technical developer, you might have got chances to customize or develop Oracle Forms from scratch. Many people say so that Oracle Forms is an obsolete application looking forward to futuristic technologies Oracle Corporation is launching. But I would say, for the organizations to implement these new technologies, it will take considerable amount of time and training. Keeping that in mind we can say that Oracle Forms will still exist for decade or more.

To carry out development in Oracle forms is reasonably interesting and quite simple task. But before you start development, you must follow some prerequisite steps to make it well-suited with Oracle E-Business Suite.

Download Oracle Forms 12C From Oracle Corporation

Find here books from Amazon to learn development of Oracle Forms

Let me show you how to develop Oracle Applications Form using Oracle Forms Builder.

Steps to Develop Oracle Forms

  • Install Oracle Forms Builder version 6i, 10 or 11g (Mostly depends on the version of Oracle E-business suite)
  • Download or FTP TEMPLATE.fmb from $AU_TOP/forms/US. This file is by default available once you install Oracle E-Business suite.
  • Download or FTP required PLLs from path $AU_TOP/resource
  • Rename the form as per your requirement or naming standard
  • Rename the module same as to your form to avoid confusions in future
  • Create block, items, triggers, validations and relationships as per your requirement document.
  • Use property_class for all the form’s objects such as items, blocks, canvases, windows etc.

Read here How to Set Property Class in Oracle Forms

  • Here are few necessary changes you have to do in triggers and program units of your form.

1) Change the first navigation block property of Form’s module to the block of your choice.

first navigation block - develop oracle forms

2) Modify APP_CUSTOM.CLOSE_WINDOW program unit as below:

Find the following code snippet in APP_CUSTOM.CLOSE_WINDOW and change the window name

IF(wnd = ‘<first_window>’) THEN

Change <first_window> to the name of the window you have created. Keep single quotes as it is.

  • Once you feel your form is ready, time has come to move and compile your form.

Move and Compile Oracle Forms

Make sure to fully compile your form before moving it to your development or vision instance.

Shift + Ctrl + K is the command to do full compilation of the form on your standalone machine. You can also compile from Oracle forms directly by going from Program -> Compile PL/SQL -> All.

compile oracle forms

FTP the form to desired path using PUTTY or WinSCP in binary mode.

Usually the path will be like $XXPO_TOP/forms/US where $XXPO_TOP is custom PO top. Most of developers prefer to keep their .fmb file in /forms/US path of the respective custom application. You can change the path as you wish.

Note: Set the environment file if in PUTTY to access your custom top. Ask your DBA whether you need to set environment file or it is automatically after the login.

Change the permission of your .fmb file to 777 or 755

  • WinSCP: Right click on the file and change permission to 777 or 755
  • PUTTY: chmod 755 yourform.fmb

Compile Oracle Forms

Go to path $AU_TOP/forms/US

If you are working on Oracle Applications R12 the compile command will be

frmcmp_batch userid=apps/<apps_paswd> module=<Form_Name>.fmb output_file=<Form_Name>.fmx
module_type=form batch=no compile_all=special

In Oracle Applications 11i the compile command will be

f60gen module=<formname>.fmb userid=apps/<apps_passwd> output_file=<Form_Name>.fmx 
module_type=form batch=no compile_all=special

Once you compile your form, an executable version with .fmx will be generated at $AU_TOP/forms/US.

To see your form in Oracle Applications, you need to register them and add it to required menu.

Hope you like the article and feedback is highly appreciated.

You can also Subscribe here to stay updated on latest posts of


Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.