Blog Credit goes to – Manoj Madhusoodanan
In OAF the page definitions are stored in JDR tables normally called MDS repository. In the standard application sometimes customer wants some degree of changes in the display/functionality. OAF has a mechanism called Personalization to achieve this. Personalizations are also stored in MDS but a layer above the page definition. So it is upgrade safe.
There are two types of Personalization s in OAF.
Admin Personalization : These are Personalizations done by implementers. They can be a technical or functional consultant or support staff. There are different level of Personalization. Following figure shows the various levels. Core OAF has least precedence and Responsibility has highest.
There are certain profiles options related to personalization.
Personalize Self-Service Defn : In order to do Personalization this profile has to set to “Yes” at appropriate level.
After setting this a “Personalize Page” link will appear in the global menu (top and bottom of page). User can click on this page and do Personalization.
FND: personalization region Link Enabled : If you set this profile value to “Yes” and “Personalize Self-Service Defn” is also “Yes” the you can do Personalization at region level.
Disable Self-Service Personal : If you set to “Yes” at Site level all the OA Framework Extensions will be disabled.If you set to “Yes” at Application level then Personalization related to localization will be disabled
Personalization doesn’t require single piece of coding. Through Personalization we can achieve following things.
Changing web bean properties like Tip, Label, Rendered, Read-only etc..
Changing order of fields
Adding new beans like button, drop down list, lov etc…
Embedding other regions
Here I will explain how to do Personalization with an example. We are going to personalize the standard Supplier creation page. The requirement matrix is as follows
|Payables Manager||Payables, Vision Operations(USA)|
|Hold From Payment||Show||Hide|
Navigation : Payables Manager>Suppliers>Entry
Identify Pages to be personalized
First thing we have to do is to identify the pages to be Personalized. For this identify the page(s) in which field resides. After that click on the “About this Page” link in the bottom of the page
Inactive Date is spanned across two pages. So we have to personalize both. So the pages identified are as follows
For Hold From Payment
Idenfify the level of Personalization
Second thing we have to do is to identify the level of Personalization. In our scenario we have to personalize in two levels.
|Field||Level of Personalization|
|Hold From Payment||Responsibility|
Personalize the page
We can personalize a page in two ways.
Click on Personalize Page link in the global menu.
Go to Functional Administrator responsibility. Click on Personalization tab. Give Document Path. Click on Personalize Page
Making Inactive Date as rendered false
Click on Personalize link of /oracle/apps/pos/supplier/webui/QuickUpdatePG
For Inactive Date we are going to hide this bean in Payables, Vision Operations (USA) reponsibility.So check the context in the personalize page. If the responsibility is different choose appropriate responsibility
Click on Expand All
Locate the Inactive Date in the page.Press Personalize
Change the Rendered property at Responsibility level to false
Press Apply and in the next page.After that press “Return to Application”
Inactive Date personalization is completed for QuickUpdatePG.
Same way complete personalization of Inactive Date for /oracle/apps/pos/supplier/webui/OrganizationPG.
Making Hold From Payment as rendered false
Repeat the same steps as above for /oracle/apps/pos/supplier/webui/QuickUpdatePG and /oracle/apps/pos/supplier/webui/ByrInvPG.
Change the Rendered property to false in Site level.
QuickUpadtePG Before Personalization
QuickUpadtePG After Personalization
View through Payables, Vision Operations (USA)
User Level Personalizations: OAF allows end users to create views on top of standard search regions. These type of views are called User Level Personalizations