Forms Personalization is a technique by which we can personalize the various functions of our form based on our requirements.
What functions can we control?
- Enable/disable certain buttons
- Enable/disable certain menu entries
- Enable/disable certain fields
- Re-label buttons, fields, tips etc
- Change the default value of fields
- Allow easy access from one form to another, passing context
- Display Messages
- Execute certain form built-ins
- Do any of the above for only a particular user or responsibility
- Do any of the above only if certain conditions are true
- Do all of the above without writing code, and without violating Support agreements
How quickly can this be done?
Changes made using forms Personlization are reflected at run-time and does not need any compilation or re-logging criterias.
Invoking the Personalization Screen:
- Run the form that you want to modify
- Navigate to Help-> Diagnostics-> Custom Code-> Personalize (Profiles ‘Utilities: Diagnostics’ and ‘Hide Diagnosticsmenu entry’ control access to this entry)
- Let us take an example of disabling the Actions button in the Sales Order form when we navigate to the Lines tab
- As you can see changes are applied at run time and requires no additional time to take effect
- As you wish you can also disable the personalization when you wish using Help-> Diagnostics-> Custom Code-> Off
Limitations
Although it is faster than a speeding bullet, it is not able to leap over tall buildings:
- You can only change what Forms allows at runtime:
– Cannot create new items
– Cannot move items between canvases
– Cannot display an item which is not on a canvas
– Cannot set certain properties
– Cannot change frames, graphics, boilerplate
- You can only respond to certain Trigger Events:
– WHEN-NEW-FORM-INSTANCE, WHEN-NEW-BLOCKINSTANCE, WHEN-NEW-RECORD- INSTANCE, WHEN_NEW_ITEM_INSTANCE
– WHEN-VALIDATE-RECORD (not in all forms)
– Product-specific events
- May interfere with, or be overridden by, base product code
- Expected user is an Admin/Developer
– Knowledge of Oracle Developer is extremely desirable
– Knowledge of PL/SQL, Coding Standards and/or APIs required in some cases
- Normal rules for customizations apply
– Extensive testing in a Test environment is required!