Tuesday, February 8, 2011

Essential for Form Customization

Mandatory Form and Libraries
============================

1. Download these forms in bin mode from $AU_TOP/forms/US

TEMPLATE.fmb
APPSTAND.fmb

2. get all PLLs in bin mode from $AU_TOP/resource

Setting up Forms60_Path in Registry
===================================

3. Copy all these PL/SQL libraries and the Template form in one folder.

4. Set the form60 path in the registry.

Go to Start -> Run -> Regedit -> HKEY_LOCAL_MACHINE -> Software -> Oracle
Here we can find the oracle homes.
In these homes check for FORMS60_PATH.
Append the path of your folder where all the libraries and the form is present, prefixed with a semicolon(;).

E.g.: Before Appending “C:\forms\TOOLS\OPEN60\PLSQLLIB”
After Appending “C:\forms\TOOLS\OPEN60\PLSQLLIB;c:\forms\libraries”


Develop the form using Form Builder Tool
========================================

5. Open the Forms Builder tool and click on the “Build a form based on a template” radio button
Choose the TEMPLATE.fmb form from your local working directory.
SAVE your new FORM as with a different filename.
Also rename the module with the same name as the filename.

6. Delete BLOCKNAME & DETAIL BLOCK FROM DATABLOCK,

7. DELETE BLOCKNAME FROM CANVAS AND WINDOW

8. Create a window NEW_WIN, canvas NEW_CAN
Create a new block based on the table you created in your custom schema


Changes to be made in the Triggers and Program Units
====================================================
9. Modify specific trigger properties and program units to ensure the form will appear properly in Oracle Apps.


10. In the Property Palette of your module modify the ‘First Navigation Data Block’ property to the name of your first data block.

11. In the APP_CUSTOM.CLOSE_WINDOW program unit modify the following line:

if (wnd = '') then app_window.close_first_window;

by changing to the name of your first window

Note: Also make sure the ‘Window’ property for your canvases are set to the proper window

12. In PRE-FORM trigger -

app_window.set_window_position('', 'FIRST_WINDOW');

app_window.set_window_position('XXEDP_QA_WIN_INITIAL_INFO', 'FIRST_WINDOW');

13. In WHEN-NEW-FORM-INSTANCE -

FDRCSID('$Header: TEMPLATE.fmb 115.12 2003/12/19 11:02 mzasowsk ship $');


cHANGE IT TO

FDRCSID('$Header: XXEDPQA_READ_CODES 115.12 2009/01/28 mzasowsk ship $');


Form objects
=============

14. Create your blocks, items, triggers and relationships as per requirement.
Save your FORM frequently.

15. Apply property classes to each item to ensure the same look and feel as the rest of Oracle Apps forms.

For each Module, Canvas, Window etc., apply the Property Classes that is most appropriate.

Item Type Property Class
--------- --------------
Module MODULE
Canvas CANVAS
Window WINDOW
Data Block BLOCK
Row ID ROW_ID
Text Item TEXT_ITEM
Display Item DISPLAY_ITEM or EXT_ITEM_DISPLAY_ONLY
Creation Date CREATION_OR_LAST_UPDATE_DATE
Last Update Date CREATION_OR_LAST_UPDATE_DATE
Date fields TEXT_ITEM_DATE

To apply the property class, click on the small button (on the right) on the “Subclass information” property of the property sheet of each item.
In the “Subclass Information” Window choose the property class radio button. Then choose the correct property class for the current item.

Note: You cannot apply property classes to multiple items at once.

Attaching a Calendar to Date field
==================================
Date Item Properties
Subclass information TEXT_ITEM_DATE
List of Values ENABLE_LIST_LAMP
Validate from List No

Add an Item Level Trigger
Trigger KEY-LISTVAL
Code Calendar.Show;


Setting Who Columns
===================

Make sure you have following columns named exactly same in table and text items named exactly same as follows

CREATION_DATE DATE NOT NULL,
CREATED_BY NUMBER NOT NULL,
LAST_UPDATE_DATE DATE NOT NULL,
LAST_UPDATED_BY NUMBER NOT NULL,
LAST_UPDATE_LOGIN NUMBER NOT NULL

Write fnd_standard.set_who; in Pre-Update and Pre-Insert triggers at block level


Transferring the “.fmb” file from local system to Apps Instance
=================================================================
16. Make sure you transfer the form in "Binary" (bin) mode

Generating the “.fmx” file on the Vision Instance
==================================================
17. Compile command will be something like :

f60gen .fmb userid=apps/@


change mode of file:

chmod 755 .fmx



Register Form, define function, attach to menu
==============================================
18. Register Form

Go to Application Developer Responsibility

Application -> Form


Form:
Application:
User Form Name:
Description:

19. Define Function for the form

Go to From Application Developer Responsibility

Application -> Function

Description tab -
Function:
User Function NAme:
Description:

Type: Form

Form:

20. Assign the menu for the form

Application -> Menu

Here we have to decide, in which responsibility we have to put this form.
Choose menu based on responsibility. Decide under which submenu the form should be kept.

Responsibility-
Menu-
Application-

No comments:

Post a Comment