Apr 28, 2008

Forms Personalization

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!



No comments:

Post a Comment

Comments or feed backs please