Apps To Fusion

.......Our Journey from Apps To Fusion

 
  • Increase font size
  • Default font size
  • Decrease font size
We have launched several Development, Functional and DBA Trainings. Visiti http://focusthread.com/training

Forms Customization Steps in Oracle Applications

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 (30)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 !
report abuse
vote down
vote up
Votes: +2
...
written by Anil Passi , November 19, 2006
Go to Forms tier, and do

cd $OA_MEDIA
report abuse
vote down
vote up
Votes: +1
...
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 !
report abuse
vote down
vote up
Votes: -1
...
written by Anil Passi , November 19, 2006
Go to Forms tier, and do

cd $OA_MEDIA
report abuse
vote down
vote up
Votes: +0
...
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
report abuse
vote down
vote up
Votes: +0
...
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.
report abuse
vote down
vote up
Votes: +0
...
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
report abuse
vote down
vote up
Votes: +0
...
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.
report abuse
vote down
vote up
Votes: +0
...
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
report abuse
vote down
vote up
Votes: +0
...
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
report abuse
vote down
vote up
Votes: +0
...
written by Aijaz , December 26, 2006
Hi Anil,
Thanks for considering. Pl guide some technical steps in this regards.

Thanks
report abuse
vote down
vote up
Votes: +0
...
written by Aijaz , December 26, 2006
Hi Anil,
Thanks for considering. Pl guide some technical steps in this regards.

Thanks
report abuse
vote down
vote up
Votes: -1
...
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?.
report abuse
vote down
vote up
Votes: +1
...
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?.
report abuse
vote down
vote up
Votes: +0
...
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)
report abuse
vote down
vote up
Votes: +0
...
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
report abuse
vote down
vote up
Votes: +0
...
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
report abuse
vote down
vote up
Votes: +0
...
written by gayatri , September 03, 2007
Hi,

Can someone give me steps on how to raise a TAR with oracle?
report abuse
vote down
vote up
Votes: +0
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
report abuse
vote down
vote up
Votes: +1
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?
report abuse
vote down
vote up
Votes: -1
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....
report abuse
vote down
vote up
Votes: +0
posted in worng section still waiting for reply
written by Pavankumar B Barlota , January 29, 2008
Sorry Anil,

report abuse
vote down
vote up
Votes: +1
---
written by AshishD , February 15, 2008
smilies/cool.gif...Simply Superb
report abuse
vote down
vote up
Votes: -1
Which Version Of Forms is to be installed
written by Saritha Rani Peddada , October 22, 2008
Hi,

May I know which version of forms is to be installed in Windows Vista ? (I did not get it on oracle site for vista, for other OS's its there)

Oracle Database is of version 10g.

Thanks,
report abuse
vote down
vote up
Votes: +1
Forms personalizations
written by MohanD , March 17, 2009
Hi,
I have a small question in forms Personalizations
is it not possible to chage the default record group of LOV?
i am very sure; it is possible to change the default record group, but there is some limitations.

Please check the
Limitation example 2 of forms personalizations.

Kindly let me know why?, if it is not possible.

Regards
Dhamodaran.



report abuse
vote down
vote up
Votes: +0
Invoking Standard PLLs within custom.pll
written by Justin Michael Raj , March 26, 2009
hi Anil...i have an unique requirement as below.

"The standard oracle forms performs a validation and populates few many fields in the form.
On analysing the standard form, i identified that the validation is triggered via WHEN-LIST-CHANGED trigger of an item. The validation logic and the populating values to the other fields is done by a series of standard plls attached to the form.
My requirement is to utilise the same logic in WHEN-NEW-FORM-INSTANCE trigger, so that i can have all those fields defaulted while invoking the form itself.
Using custom.pll I am not able to invoke the standard PLLs used in this functionality. While using the validation procedures from standrard PLLs, I am not able to compile the custom.pll due to 'Procedure must be declared' error"

Please help me resolving this issue. I am using Forms 6i with Oracle 10g database.
Awaiting for a solution.

Thanks and Regards
Justin Michael Raj
report abuse
vote down
vote up
Votes: +0
Forms Personalization
written by Vij.r , March 30, 2009
Hi Anil,
I have a question on Forms Personalization as I am new to this.

The business user has a requirement; when creating PO, limit only one PO line when line type is 'Rework' / 'Subcontract' and also limit to only 1 Shipment line. Othe line types (line 'Inventory' should be allowed to create multiple PO lines)

Can this be done through Forms personalization?

Your response is greatly appreciated.

Thanks
Vij.R
report abuse
vote down
vote up
Votes: +0
Forms personalization
written by Marshal , August 24, 2009
Hi Anil,

Customer having Oracle Apps 10.5.2

I want to know if we can use form personization for restircting some user say 'A' to raise Requisation
only to limited Items from item master
report abuse
vote down
vote up
Votes: +0
GL Account's abstraction at responsibility level.
written by Mangena Pratima , February 15, 2010
Hi All,

I am an novice for Inventory and GL.

I was following through a standard student guide of Inventory in vision instance, I am asked to give a set of values for segment Department for Cost of Goods account(standard account in Vision) from Inventory Vision Operations USA responsibility.

I was successfully able to give all the standard 5 segment's values.

Then when I verified from GL Super user Responsibility I found that the code combination is not existing.

When checked the same code combination in GL Vision Operations I was able to find the code combination with out any problem.

I suspect that in the instance which I tried had some sort of setup that is stops the code combination to be pulled from GL super user responsibility.

I did not find this problem in another Vision instance. Could some one figure out what could be cause of this sort of abstraction for the department segment for GL Super user responsibility?

Regards,
Pratima


report abuse
vote down
vote up
Votes: +0
Forms Personalization : How to open MSWord File into the APPS Server By the APPS Forms Menu
written by ahmed srour , February 16, 2010
Hi All,

Can Anyone help me to do that , i need to open MSWORD file or PDF file by using APPS froms Menu.

i tried to do the following.


Create Menu.
-------------------
1- create new role with trigger (WHEN-NEW-FORM-INSTANCE)
2- Click on ‘Actions’ tab. Enter sequence as ‘1? and Type = ‘Menu’
3- in Menu Entry Special4

Lounch Menu.
-------------------
1- create new role with trigger (Special4)
2- Click on Actions tab. Enter sequence as ‘1? and Type = ‘Builtin’.
3- Launch a Function’ for Builtin Type
4- chose the function that i was created
------------------------------------------------------------------
but it dos'nt work ,the error raised( Function Not available to this responsibility)


report abuse
vote down
vote up
Votes: +0
Write comment
quote
bold
italicize
underline
strike
url
image
quote
quote
smile
wink
laugh
grin
angry
sad
shocked
cool
tongue
kiss
cry
smaller | bigger

security image
Write the displayed characters


busy
 

Related Items

Search apps2fusion