Showing posts with label Form Development. Show all posts
Showing posts with label Form Development. Show all posts

Sunday, August 9, 2009

Form Development Libraries

To enable the end user to operate the Forms user friendly we need to standardize the Forms. To design or develop the form with Applications Standards, Package provided a Standard Form called APPSTAND.fmb

APPSTAND.fmb: is a collection of the entire standard object Groups used in the Oracle Applications. Form should inherit the following object Group Properties

1. STAND_PC_AND_VA: This consists of Windows, Canvases, Blocks and Items used for Property Classes and Visual Attributes.

2. STAND_TOOLBAR: This consists of Windows, Canvases, Blocks and Items used for Tool Bars.

3. STANDARD_CALENDER: This consists of Windows, Canvases, Blocks and Items used for Calendars.

4. STANDARD_FOLDER: This consists of Windows, Canvases, Blocks and Items used for Data Restriction and Changing the Layout of the Form at run time. And this is not used for Custom Forms).

5. QUERY_FIND: This consists of Windows, Canvases, Blocks and Items used for implementing find windows or Search methods.

6. LIBRARIES:

APPCORE.PLL: is the collection of Procedures, Functions and Packages used to define Menus and Tool Bars.

FNDSQF.PLL: is the collection of Procedures, Functions and Packages used to define Special Objects like KFF, DFF, Form Functions and Non-Form functions.

APPDAYPK.PLL: is the collection of Procedures, Functions and Packages used to define Calendars.

CUSTOM.PLL: is the collection of Procedures, Functions and Packages used to customize the Forms with out modifying the code of Oracle Applications.


Note: The Built-ins of CUSTOM.PLL are internally called by the Built-ins of APPCORE.PLL and the Built-ins of APPCORE.PLL are called by few Triggers like
WHEN-NEW-FORM-INSTANCE,
WHEN-NEW-RECORD-INSTANCE,
WHEN-NEW-ITEM-INSTANCE,
PRE-BLOCK,
PRE-RECORD,
PRE-ITEM

APPCORE2.PLL: is a Duplicate/Replica of APPCORE.PLL. It has the same Built-ins as APPCORE.PLL and this is used in CUSTOME.PLL

GLOBE.PLL: is used to change the regional settings of the Package with out modifying the code of Applications. GLOBE.PLL internally calls the Built-ins of JE.PLL, JL.PLL and JA.PLL Libraries.

JE.PLL: is used to change the regional settings of Middle East Countries.

JA.PLL: is used to change the regional settings of Asia Pacific Countries.

JL.PLL: is used to change the regional settings of Latin America.

Display the Message Boxes in the Forms

1)Create the Message in Application Developer


2)Run the Concurrent Program called "Generate Messages" by passing language code and as well as application name


3)Call the message from form triggers by using FND_MESSAGE API's.
begin
FND_MESSAGE.SET_NAME ('PO', 'NEW MESSAGE');
fnd_message.show();
end;

Attach the Request group to the SRS Function


1)Create the Request group in System administrator by specifying the request group code Copy the Request group name application short name request group code

2)Goto the Appllication developer create the fucntion for the user form name called " Run Reports"


3)Pass the follwoing Parameters while creation of the function.REQUEST_GROUP_CODE="CUSTOMERCODE1" REQUEST_GROUP_APPL_SHORT_NAME="AR" TITLE="23CUSTOMERS"


4)Attch the function to the Menu , Menu to Responsibility , Responsibility to user


5)when we open the form we can get the programs which are there in the request group.
note: We will follow this prcocedure to attach the multiple request groups to the single Responsibility.

Calling SRS Window from Menu


1)Create the Function for the User form name called "Run Reports"

2)Attach the Function to the menu.

3)Attach the menu to the responsibility so that user can call the form from the menu.

Hiding the forms and Menus at Responsibility level

1)Open the Responsibility Form attach the menu

2)By default we will get all the forms and as well we menus will be displayed.

3)Select the Tab called Menu Exclusions Tab Select the type = Function to hide the funtion. select the type = Menu name to hide the menu.

SubMenu Creations

1)Copy the Functions whatever we would like to define as submenu delete from the main menu.

2)Create new menu and attach the functions whatever we have copied.


3)Copy the menu whatever we have created attach to the main menu by selecting the field called submenu.

Passing Parameters at the time of creating Functions

1)Develop the form

2)Register the form

3)Create Two functions for the same form. first function without parameters second function is with parameter called 'QUERY_0NLY="YES" 'enter the paraneter in the field called Parameter field.

Implementation of WHO Columns in forms

1)Select All the WHO Columns in the Datablock

2)define following Two Triggers at DataBlock level
1)Pre-Insert 2)Pre-Update

3)Call the following API from both the Triggers FND_STANDARD.SET_WHO():


Standard Libraries Contains all these API's.we can download all these Libraries from Resource folder in AU_TOP.

APPDAYPK : It will Support for All CAlendar and Date time Functions
FNDSQF : It Will support for al the Flexfield,profile,WHO Columns functionality.

Attach the LOV to the form

1)Define the Record Group Either Static Values or By using the Query

2)Create LOV and attach the Record Group

3)Attach the LOV to field in the property called list of Values.

Attach Calendar in forms

1)Select the Field properties and select the property called List of Values : ENABLE_LIST_LAMP

2)Goto the Item level Trigger called KEY-LIST-VAL trigger call the following API CAlendar.Show();

Master Detaild Form Development

)Develop the from by using TEMPLETE.fmb

2)Develop the Master Block and create the fields.

3)Attach the Property classes and other customization steps.

4)Create Detail Datablock by selecting the Detail columns after selecting the columns select the next button

5)Uncheck the check box called Auto join Datablocks select the button called Create Relationship button and select the Master Level primary key column and Detail level reference column system will automatically join condition.

6)Select the Tabular style when we are going to attach to the Layout so that we can display either single record or multiple records.

7)select next button enter no of records to be displayed and check the check box called Display Scroll bar .

Implement Radio Buttons

1)Define the Radio Buttons

2)Under Same Group

3)Attach following Properties
1)SubClass Information = Radio Button
2)Label =Whatever the Name we would like to display

3)Radio Button Value =whatever value we want to insert into Column

4)Goto Object Navigator Select Radio Group Proiperties

5)Attach following Properties
1)SubClass Information = Radio Group
2)Initial Value = Default Value
3)Column Name = Database Column Name

Form Development Process

1)We Will download the TEMPLETE.fmb from AU_TOP\Resource Folder Application Utilities

2)Open with Forms6i builder and delete the existing window(BLOCKNAME) create a new window(Say Sample_Window). Open the property palette of window(Sample_Window) and set Subclass information=WINDOW(property class).

Delete the existing canvas(BLOCK NAME). create a new canvas(say Sample_Canvas). Open the Sample_Canvas property palette and set subclass information=CANVAS(Property Class)

Delete the existing block. create a new block(Say Sample_Block),open the property palette of Sample_Block and set Subclass information=BLOCK(Property Class).

3)Develop the form as per client requirement Note:We will change the Property called "First Navigation Data Block" as Sample_Block Name in the Module Properties.

II)Customize folloiwng two triggers
1) Pre-Form - New Window Name(Sample_Window)

2) WHEN-NEW-FORM-INSTANCE -New form Name

3) APP_Custom package -New Window Name(Sample_window)

4) Save the form we will get (.fmb)

5)compile the form we will get(.fmx) (File => Administration => Compile File)

6)Move the .fmb into au_top\11.5.0\Forms\US\ .fmb

7)Move the .fmx into Custom_top\11.5.0\Forms\US\ .fmx

8.A)Form Creation: Goto Applicaton Developer and Open form (Navigation: Application > Form)
Give the following fields
Form : .FMX name(Which you have created)
Application: pplication name where .fmx is located ( Say Purchasing.)
User Form Name : Give any name (Say Sample_User_Form_Name) and copy the user formname.

8.B) Function Creation: Open the Function Form ( Navigation: Application > Function)
In the description Tab:
Function = Give any name
User Function Name = Give any name(Say Sample_User_Function_Name)
In the Property Tab: Type = Form
In the Form Tab: Form = Sample_User_Form_Name Save the forma and close it.

8.c) Menu Creation: Open the menu form ( Navigation: Application > Menu)
Menu = Give any name (say Sample_Menu)
User Menu Name = Give Any Name ( Say Sample_User_Menu_Name)
Enter the Seqno : Unique Number
Prompt : Any Text
Function : Attach the User Function NAme whatever we have created

9)Attach Menu to the responsibility , Responsibility will be attached to the user so that user can open the form and enter/Query the Data.

TEMPLETE.fmb : It is pre-defined .fmb contains the existing functionality which willsuport for all the Menu,Toolbar, and Other Oracle Applciations features.that is the Reason we have to start form development with TEMPLETE.fmb

Form Development - Setups

We should do a setup before starting development of FORMS in EBS-11i
1) Goto Start menu = Run option=> Enter "RegEdit" Press Ok
2) Select HKEY_LOCAL_MECHINE =>SOFTWARE=>ORACLE
3) Select FORMS60_PATH =>Right click=>modify
4) Existing path will be there enter Semocolon
5) Give the following Path => Ok
D:\oracle\prodappl\au\11.5.0\resource (Indirectley where the TEMPLETE.fmb is located)
Sometime TEMPLETE.fmb will not be available in the resource folder then copy following both the forms from AU\11.5.0\Forms\US

TEMPLETE.fmb
APPSTAND.fmb

**Copy the TEMPLETE.fmb and APPSTAND.fmb Files to D:\oracle\prodappl\au\11.5.0\resource from AU\11.5.10\FROMS\US