Introduction To Form Personalization
Introduction To Form Personalization
1-1
Objectives
After completing this module, you should be able to do the following: Invoke the personalization form Understand the basic structures : Rules, Context, and Actions Make simple changes like changing prompts and hiding objects Select objects by their current on-screen text Get the current value for properties Apply changes immediately to test their effect Disable personalization
1-2 Copyright 2004, Oracle. All rights reserved.
1-3
Agenda
Overview of Form Personalization Rules and Conditions Context Actions Working with Strings Getting it right Putting it all Together Limitations Relationship to CUSTOM library Summary
1-4
WARNING!
Form personalization allows you to fundamentally alter the behavior of the product that Oracle ships, and access any and all data. Therefore, This feature should only be made available to trusted users. Avoid building personalization on a production system. Form personalization should first be entered and thoroughly QAed on a test system before they are loaded to a production system
1-7 Copyright 2004, Oracle. All rights reserved.
Profiles Utilities: Diagnostics and Hide Diagnostics menu entry control access to this entry It will automatically query any rules if they exist for that function
1-8
1-9
Context
1-11
Context , continued
Context controls who personalization apply to: Level: Site, Responsibility, Industry, or User Value: The specific value when level is Responsibility, Industry, or User At runtime, if the users context matches any context of a rule, that rule is executed.
1-12
Actions determine what the personalization does: Seq: an ordering from 1 (first) to 100 (last) Type: Property, Message, Builtin, or Special Depending on the Type, the panel will change to show additional fields Description: allows you to record why you are making the change Language: a list of installed languages, and ALL An action associated with a specific language will only be executed in the context of that language Enabled: used to temporarily disable an action
1-13 Copyright 2004, Oracle. All rights reserved.
Actions , continued
Actions: Property
This action:
To this:
1-15
Actions: Message
Used to display a popup message Message Type: Error, Warning, Hint, Question, Debug Message Text: the text of the message
1-16
1-17
Actions: Builtin
Used to perform processing by calling Forms and AOL functions Builtin Type:
1-19
Actions: Special
This action:
Activates the Tools menu and creates the menu entry, for all blocks of the form:
1-21 Copyright 2004, Oracle. All rights reserved.
bind variables, like :block.field SQL operators, such as ||, TO_CHAR(), DECODE(), and NVL() Server-side functions that do not have OUT parameters
1-22
1-23
Getting it right
Various features and functions are available to assist you: Trigger and Target Objects are validated Add <object> buttons: allow you to select objects within the form using lists Apply Now: applies the current action immediately so you can see its effect Validate: for fields that support string evaluation, processes it immediately:
Condition will return True, False, or an Error Value will return the resulting string, or an Error They will only display when Show Debug Messages is checked
1-24
This will disable all callouts to Forms Personalization It should run now, because your changes were skipped
Invoke the Personalization screen and correct the problem On the pulldown menu, choose Help > Diagnostics > Custom Code > Normal to re-enable processing of personalization
1-25
Accept the defaults for all other values of the Rule and Context
1-26
Seq: 1 Press the Select By Text button and choose the User Name row from the LOV Property Name: PROMPT_TEXT Value: Clerk Name
5. 6. 7. 8.
Accept the defaults for all other values of the Actions Save Activate the Users form, then close it. Re-open the Users form. You should see that the prompt is now Clerk Name. To disable this Rule, set Enabled to unchecked (at either the Rule or Action level), or just delete the Rule, then Save.
Copyright 2004, Oracle. All rights reserved.
1-27
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 WHEN-NEW-FORM-INSTANCE, WHEN-NEW-BLOCKINSTANCE, WHEN-NEW-RECORD-INSTANCE, WHENNEW-ITEM-INSTANCE WHEN-VALIDATE-RECORD (not in all forms) Product-specific events
1-28
Limitations, continued
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!
1-29
Form Personalization are processed first, then the event is sent to CUSTOM
CUSTOM can do more because it has complete access to all PL/SQL and SQL But for most changes, Form Personalization is adequate and is significantly simpler.
1-30 Copyright 2004, Oracle. All rights reserved.
Summary
In this module, you should have learned how to: Invoke the Personalization form Build a Rule and Action Select objects by their current on-screen text Make simple changes like changing prompts and hiding objects Get the current value for properties Apply changes immediately to test their effect Disable personalization
1-31