If you are on 11.5.10, then it is important for development team to enforce the usage of Forms Personalization over CUSTOM.pll, where possible.
Most of the things that can be done using CUSTOM.pll can now be done via Forms Personalization.
However there are certain gaps for which we have no option but to rely on CUSTOM.pll
This article compares the two techniques i.e. CUSTOM.pll versus Forms Personalizations
Why should we prefer FP over CUSTOM.pll ?
1. CUSTOM.pll is a single file/entity, hence only one developer can make changes to CUSTOM.pll at any given point in time.
You may also read best practices in CUSTOM.pll at this link
2. If for some reasons CUSTOM.pll causes issues in Production, you will have to re-release the code changes after another round of UAT.
Form Personalizations makes this much simpler by allowing you to disable specific personalizations.
3. You do not need to resort to programming for trivial tasks like changing prompt, and more so for changing prompts in Muli-Lang environment
Lets do a quick comparison between Forms Personalization and CUSTOM.pll
Task/Business Requirement | CUSTOM.pll | Forms Personalization |
Change LOV Query | Yes | Yes a. Create a New Record Group b. Attach new RG to LOV |
Change field properties like Mandatory/Display etc | Yes | Yes |
Zoom to another screen | Yes | Yes a. Enable Menu |
Disable a Menu entry when certain conditions are met | Yes | No |
Display messages, warnings, hints etc | Yes | Yes |
Display message with Questions, and conditionally execute code based on users response to the question | Yes | No |
Execute PL/SQL Stored procedures | Yes | Yes |
Change Navigation and Navigational Properties | Yes | Yes |
Change block properties like “Query Where Clause†etc | Yes | Yes |
Change is applicable across multiple screens, like Changing window title for all screens within one Organization/Responsibility | Yes | Yes |
Show FND Messages with their tokens replaced | Yes | See Note-3 |
Important: Oracle will keep on improving capabilities in Forms Personalizations.
Hence some of these limitations that we see now in Forms Personalization might disappear over a period of time.
Note-1
Once a menu has been enabled using Forms Personalization, it then can not be conditionally disabled. However the proposed workaround over this issue is to display a message when MENU is clicked in the scenario’s it was meant to be disabled.
Note-2
Lets say you want to change the window title for all the screens within a responsibility. In this case, in CUSTOM.pll you could do so by a pseudo code similar to below
If fnd_global.responsibility like ‘XX%CASH%’ THEN
Set window title ( ‘Note: All transactions are audited’);
End if
As you can see, this can be achieved quite easily in CUSTOM.pll and the changes will be visible across multiple screens in the context.
However, for Forms Personalization, you will have to go and personalize each and every screen for which you want this change to be effective.
Note-3
The proposed workaround is to display the message that is returned as a result from SQL Statement.
Time for some Q&A
Question: Should we migrate code from CUSTOM.pll into Forms Personalization?
Not really, there is no value in doing so, given that CUSTOM.pll is still supported and will remain so within the realms of Apps Unlimited.
Where is the metadata for Forms Personalization stored?
These personalizations are stored in FND tables
What is called first? Forms Personalization or CUSTOM.pll
First your form personalization is called, and then CUSTOM.pll is called.
Is forms personalization called for additional set of triggers vis-Ã -vis CUSTOM.pll?
Not really, the same set of triggers are passed to both CUSTOM.pll and Forms Personalization. To understand the fundamentals, visit this link CUSTOM.pll concepts
Comments
Your Article is excellent and informative.
I have a question on the forms personalization , I want to make the entire tab form as read only. (EX: My requirement is to make the Addressed, amount, profile tab forms as read only and remaining pages as normal. Is it possible to make this with the forms personalization .)
Thans in Advance,
Srini C
You can do that using forms personalization .
Using that, you can set the block's update property to False or else you can set the individual item properties to false too.
Have a look at article in this link www.google.com/search?q=site:apps2fusion.com+forms-personalizations
Thanks,
Anil Passi
Can anybody say me how to upload the employees pictures thru PER_IMAGE_UPLOA D_PKG.LOAD(). Here i am having 2500 employees photos.
and if it is step wise manner it will be more helpful and where we have to place the pictures in server , in which location
Regards
Jai
I have a requirement to block the master org in the lov of Change organization form for some of the forms .
please let me know i can i achieve this.
thanks and regards,
Srinid hi.
I need to disable the OK button when the COntrol ACtions in the PO Summary FOrm is Finally Close.
Please let mw know how this can be done.
Thanks,
ashwathy
I would like to know how to call a BPEL process thru form personalization .Whenever customer will click on a URL a new window will be open and customer will select/update the data thru that new screen.After selecting the data will be update again in oracle data process.
Pleas e let me know how this can be done.
Regards,
Surya
I would like to know how to call a BPEL process thru form personalization .Whenever customer will click on a URL a new window will be open and customer will select/update the data thru that new screen.After selecting the data will be update again in oracle data process.
Please let me know how this can be done.
Regards,
Surya
I need some suggestion to suppress the standard warning message in stabdard form.
If user select value one from LOV, i don't give warning message but if user select value two, it will give warning message. User don't want to see the warning message. Please suggest, how should i tackle it?
Thanks
Vij ay
I am having teh below scenario.
1) On some event/Zoom of a Form X , i have to open a form Y where a user selects some address.
2) When user selects some address on Form Y,I have to copy the selected address to one specific field in the opening form i.e. X .
Custom.pll is the only change that i can make....
Rt now i am doing the following
1) On the evnt of for X, i open a form Y
2) When user selects a address, i copy it to a Local Variable ... and fire on event on this form (Y) ..( Whose handler copies the selected address to the Global Variable ) ... i.e. now the address is in the Global variable accessible to the Custom .pll .... and then i exit this form i.e. Y.
3) Wait for any event to accor on the Form X and block B .. so that the value of the Global variable gets copied to the correct field in this X form. (THIS THING IS NOT WORKING CONSISTENTLY and the user has to seometimes manually click on other field in this Bloack to force copying of the value).
What i need to know ?
I need to know that while i am in the Form Y ... is it possible for me to get Hold of the Opening form (X) and fire a event on that (Because in Custom.pll i have written a handler for that event which will copy the value from Global variable to the Form X fields).
Thank s,
Harjit
I need to use forms personalization s and call a procedure with out parameters through it. Based on the output from the procedure I have to do further validations.
Co uld you tell me how this can be done?
Regards
Silpa
I am using Oracle HRMS version 11.5
However, our Oracle installation is not in local servers of our own, but rather it is installed in Oracle servers that are mantained by Oracle On-demand
I can access the servers from a SSH connection, which I used to download the custom.pll to my local machine. When I tried to open it in the forms builder, it woudn't open because it asked me for other libraries that I must have locally and I don't.
Could you tell me what are the steps I need to follow to be able to edit the custom.pll locally and then upload it back to the server so I can test it (of course I would be using the test instance first)?
Thank you very much for your help
Eduardo Schñadower
Custom .pll depends on libraries like appcore2.pll etc
You need to ftp all the dependent libraries from $AU_TOP/resourc e into a directory which is within your forms path
Thanks
An il
The triggering event is WHEN-NEW-RECORD -INSTANCE on ORDER
:ORDER.ST ATUS = 'Booked'
the action to be carried out is:
LINE.CALCUL ATE_PRICE_DESCR = 'Freeze Price'
The requirement is : When a Sales ORder is Booked all the lines get set to 'Freeze Price' for the calculate price
Any help would be appreciated
.. . Regards, Cavelle Toolsie
Is it possible to use SQL in the condition section of the Forms Personalization s form?
I need to change the prompt of button as soon as it is clicked.
The button is in a table column. say its a update button not image as soon as it is clicked then the prompt is suppose to be changed to save and the message style text columns in that row r to be change to message input please guide me how to access the property inspector of each field...
I want to restrict the invoice matching by doing form personalization when the users enter more than the ordered qty on matching window.
Thank s,
Partha
I want to loop through records in a block by doing first_record and next_record within a loop.
is this possible by FP?
regards
Do anyone know how to call a procedure while clicking on the 'Book Order' Button in sales order.?
Thanks ,
Raj
TM
jjimdzcvcxbnwoh dkk
Did you build this website yourself? Please reply back as I'm hoping to create my very own blog and would love to learn where you got this from
or exactly what the theme is named. Thank you!
RSS feed for comments to this post