<-----Google Analytics Code Start----> <-----Google Analytics Code Close---->
Skip to content

Green

color

Default screen resolution  Wide screen resolution  Increase font size  Decrease font size  Default font size  Skip to content Default color Pink color Green color Green color

Related Items

Home arrow Technical Articles arrow Miscellaneous Technology arrow Forms Customization Steps in Oracle Applications
This website has now moved to http://apps2fusion.com





Forms Customization Steps in Oracle Applications | Print |  E-mail
Written by Anil Passi   
Tuesday, 31 October 2006
This article is for the readers of http://getappstraining.blogspot.com ,listing the steps required to customize a form in Oracle Applications.
Lets do some Questions and Answers:-

Question: Is it a common practice to modify forms in Oracle Apps?
Answer: Yes and No.
Yes because you often will be called upon to modify the forms, but no because most often you should modify the screen without actually modifying the underlying forms executable .

Question: How can I modify screen without modifying the underlying executable ?
Answer: There are two ways, listed in the order of preferences:-
1. Forms Personalizations
2. CUSTOM.pll

Question: How does forms personalization work?
Answer: Oracle forms has triggers that we trap to write our business logic. Oracle has a standard practice of calling a generic piece of code from each trigger(at form level).  In this generic piece of code Oracle checks in personalizations tables to see if anything extra needs to be done for the events being executed. For details of example, see the article for forms personalizations

Question: Fine then, but why is CUSTOM.pLL needed when we already have forms personalization?
Answer: Well just like any technology, forms personalization has its limitations.

Limitation example 1 of forms personalizations
---------------------------------------------------
For example you wish to prompt a message to user DO YOU WISH TO CREATE THIS PERSON AS SUPPLIER OR CUSTOMER OR EMPLOYEE. Lets say this message will prompt three options, create customer , create supplier or create vendor. Depending upon what user selects, you wish to navigate to one of relevant screens from the current TCA screen. For this, you have no choice but to use CUSTOM.pll

Limitation example 2 of forms personalizations
---------------------------------------------------
For example you wish to change the record group of a LOV, via changing its query, in a screen.  This can be done by CUSTOM.pll, but not by forms personalization.


Question: What about CUSTOM.pll, what can't be done via custom.pll ??  Hence calling for forms customization.
Answer: For example, you need to add a complete new section to the screen at a very specific location, this must be done via forms customization.

Question : Ok, what are the steps for customization of such screen.
Answer: Below steps in brief
A) Identify the form in Oracle Apps that needs to be customized.
B) Go to the specific directory on one of the mid-tiers to get that forms executable. Say from $AU_TOP/forms/US/POENTRY.fmb.
C) FTP that form and all its dependable form objects & pll files to your PC.
D) Open the form, ensuring that you do not receive any errors pertaining to missing library or missing form object.
E) Perform a save-as to rename this form on your pc, using your company's naming conventions.
F) Make the desired modifications to the form.
G) Generate the form on PC using Control-T keystrokes. This will ensure that nothing critical has been missed out. Surely you will need to connect to apps schema before generating the form.
H)  FTP the form file to $XXPO_TOP/forms/US
Surely, this XX will be replaced by the naming convention at your client/company.
I)  cd to  $XXPO_TOP/forms/US
And f60gen on XXPOENTRY.fmb
This will create a file executable as XXPOENTRY.fmx
J) Go to Application Developer responsibility
Menu /applicaton/form
Register the form
K) Register the Forms Function
Have you read the article form functions ?
This forms function must be registered against application "XX Purchasing".
L) Now add a menu item so that this forms function becomes available to specific responsibility.

Question: Well, a question about (A), how to identify the form executable?
Answer: There are two ways.
Method1
Open the form to be customized in Oracle Apps from respective Responsibility/Menu
Next select menu /Help/About Oracle Application.
Here, scroll down within the subwindow and search for fmx. This is the executable that oracle application runs when specific form is invoked.

Method2
Query the responsibility definition which has the form attached to this. Note down the Menu which is attached to Responsibility. Go to the menu definition screen and find the form function attached to this menu. From this form function find the form attached to this function.

Question: Regarding (I), what is the command for f60gen
Answer:
FORMS60_PATH=$FORMS60_PATH:$AU_TOP/forms/US
export FORMS60_PATH
cd $XXPO_TOP/forms/US
f60gen module=XXPOENTRY.fmb userid=apps/apps module_type=form batch=no compile_all=special



Comments (23)add
...
written by Doinea Laurentiu Mihai , November 19, 2006
Hello, I have a problem if i can say sow. Where are the icons for the buttons that are added to the toolbar, when a new entry is made in the pull down menu, kept ? Plss, can anyone tell me ? Thanks and have a god day !
...
written by Anil Passi , November 19, 2006
Go to Forms tier, and do

cd $OA_MEDIA
...
written by Doinea Laurentiu Mihai , November 19, 2006
Hello, I have a problem if i can say sow. Where are the icons for the buttons that are added to the toolbar, when a new entry is made in the pull down menu, kept ? Plss, can anyone tell me ? Thanks and have a god day !
...
written by Anil Passi , November 19, 2006
Go to Forms tier, and do

cd $OA_MEDIA
...
written by Venkat , November 28, 2006
your site is very helpful for beginners. I have a question. I have downloaded the template form along with the libraries APPCORE etc..to my local directory to customize. When I opened using form builder(10g), the libraries are not attached. what should I do. please help.

Thanks
Venkat
...
written by Anil Passi , November 28, 2006
Hi Venky

I dont know about forms 10g, but in Forms 6i there is a environment variable named FORMS60_PATH.
You can specify your local pc directory to this environment variable. Following that you need to FTP the Pll files to your PC from $AU_TOP/resource/US

I guess 10g has some similar Forms Environment variable.
...
written by Venkat , November 28, 2006
your site is very helpful for beginners. I have a question. I have downloaded the template form along with the libraries APPCORE etc..to my local directory to customize. When I opened using form builder(10g), the libraries are not attached. what should I do. please help.

Thanks
Venkat
...
written by Anil Passi , November 28, 2006
Hi Venky

I dont know about forms 10g, but in Forms 6i there is a environment variable named FORMS60_PATH.
You can specify your local pc directory to this environment variable. Following that you need to FTP the Pll files to your PC from $AU_TOP/resource/US

I guess 10g has some similar Forms Environment variable.
...
written by Anil Passi , December 25, 2006
Hi Aijaz,

I suggest you use Forms Personalization.
This can be achieved using Forms Personalizations, and hence CUSTOM.pll is not needed.

Thanks
Anil Passi
...
written by Anil Passi , December 25, 2006
Hi Aijaz,

I suggest you use Forms Personalization.
This can be achieved using Forms Personalizations, and hence CUSTOM.pll is not needed.

Thanks
Anil Passi
...
written by Aijaz , December 26, 2006
Hi Anil,
Thanks for considering. Pl guide some technical steps in this regards.

Thanks
...
written by Aijaz , December 26, 2006
Hi Anil,
Thanks for considering. Pl guide some technical steps in this regards.

Thanks
...
written by Brinda , December 28, 2006
Can you give a sample of the code to change the record group of a LOV using custom.pll?.
...
written by Brinda , December 28, 2006
Can you give a sample of the code to change the record group of a LOV using custom.pll?.
...
written by Sowmya , February 07, 2007
Comment: I have a question regarding Forms Personalization... I am trying to validate a particular value in the form on Save operation (When Validate Record). I am calling a procedure in which I will be validating the value and I am passing the code combination id to this procedure. Question 1: How do I capture the value returned by the procedure (Unable to do this)? Question 2: If my function returns VALID I should save the transaction and if it returns INVALID need to raise form_trigger_failure (should I create a new rule based on the return value)
...
written by cayman , March 27, 2007
I have a form that supports the following:
a) Displays an image for an item (if it exists) from a webserver location in a Bean Area defined in the form
b) If the image does not exist, the form provides the ability to load the image from my client PC to the web server.

Both (a) and (b) work well as defined. The issue I am facing is this: If the image does not exist and I go ahead and upload the image to the webserver, I am unable to see the image back on the form even after I refresh the bean area by invoking the set_custom_property built-in. It seems like the form has it cached and does not refresh the image from the file I have just uploaded successfully. If I go to a browser and bring up the javabean (outside of forms), it shows the image correctly. Even if I exit the form, go back in and re-query the item, I still cannot see the new image. The only option is to exit Oracle Applications altogether and re-login, then the image shows up just fine. Not sure if this is a Forms issue, JInitiator issue or something else? I am using Jinitiator 1.1.8.16
...
written by Anil Passi , March 28, 2007
Indeed it appears that forms server cache is causing this problem.

If I were you, I would
a. raise tar, as this is indeed a bug
b.will consider loading the image to database itself[immediately after upload]. surely some kind of shell will have to be written on mid-tier to upload the image into some blob[assuming filename is unique and hence can be used as id]. you will be uploading this into a custom schema hence apps password may in shell not be an issue. images from DB quen queried are not cached
...
written by gayatri , September 03, 2007
Hi,

Can someone give me steps on how to raise a TAR with oracle?
about zoom
written by madhu sudhan p , November 16, 2007
hi anil,
ur site is nice.
could u explain with example below things
ZOOM
-- WHEN-NEW-FORM-INSTANCE
-- WHEN-NEW-BLOCK-INSTANCE
-- WHEN-NEW-RECORD-INSTANCE
-- WHEN-NEW-ITEM-INSTANCE
-- WHEN-VALIDATE-RECORD
How to do some custom validation when save button is clicked on standard oracle form
written by Rakesh1836 , January 24, 2008
Hi
I have a requirement where in i have to do some custom validation when the save button is clicked on one of the standard oracle forms. any idea of how it can be done as using FP or custom.pll i get only those 5 triggers and my requirment is when the entire form is saved?
How to use FND_STANDARD.SET_WHO API for tracking the data changes?
written by Pavankumar B Barlota , January 29, 2008
Anil,
Can you please give me step by step process to do the same.
I want to track the user changes(UPDATE AND INSERT) through forms and through Concurrent program too.
I was trying, but unable to do!

1.How to use FND_STANDARD.SET_WHO API
2.Where all the changes required for this.
3.Give example code if any....!

I was working on diferent technology and switched to Apps now, so as a biggener....
posted in worng section still waiting for reply
written by Pavankumar B Barlota , January 29, 2008
Sorry Anil,

---
written by AshishD , February 15, 2008
smilies/cool.gif...Simply Superb
You must be logged in to a comment. Please register if you do not have an account yet.

busy