Forms Personalization

download Forms Personalization

of 42

  • date post

    13-Oct-2015
  • Category

    Documents

  • view

    23
  • download

    2

Embed Size (px)

description

Forms Personalization

Transcript of Forms Personalization

  • Forms PersonalizationOracle ApplicationsRelease 11.5.10

    * Version 1.0

    Objectives of this sessionForms Personalization: Need and benefits.

    Understand Rules, Condition, Context and Actions.

    Build rules that fire conditionally.

    Understand Sequencing.

    Use string evaluation.

    Use Validate feature to confirm Conditions & Strings.

    Understand Multilingual Issues.

    Know the most commonly used Actions.

    Debugging features available in Personalization.

    Form Personalization v/s Form Customization.

    Personalization Database Tables

    * Version 1.0

    The Form Personalization feature allows you to declaratively alter the behavior of Forms-based screens, including

    Changing propertiesExecuting built-insDisplaying messagesAdding menu entries.

    Form Personalization is independent to each form. This means the personalization done on one form will not reflect on other form.

    The form mainly contains four sections. They are

    Rules, ConditionsContextActions

    The NeedMost of the customers wish to modify the way the forms look and behave. They want to change the labels on the form fields, hide fields, hide buttons, amend custom logic etc.

    The motives could beManaging un-necessary fields.To match the customer specific business requirements.To match the language (lingo) used by the customer.

    What is Forms Personalization ?

    * Version 1.0

    Form Personalizations 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 Personalizations on a production system directly. Form Personalizations should first be entered and thoroughly tested on a Test System before they are actually loaded to a production system.WarningImportant:

    By default the Personalize menu is visible to all the users; this can be controlled with help of profile options. By setting up the below profile options, the access to the Personalize menu can be limited for the authorized users. This will prevent unauthorized users from changing the look and behavior of the forms.

    The profile options are Utilities: Diagnostics = Yes/No Hide Diagnostics = Yes/NoW A R N I N G

    * Version 1.0

    How to Invoke Forms PersonalizationMenu Navigation: Help Diagnostics Custom Code Personalize

    * Version 1.0

    RulesRules administer the personalization needs to be implemented on the form.Each rule contains a sequence number and the description. The rule can be activated or de-activated using the Enabled checkbox.The rule can be deleted when no longer needed.Defining rules doesnt identify when the rule should get evaluated or applied. For each rule, there should be conditions attached which power the execution of the rule.

    For example: 1. A Rule can be Change the Order Number prompt to Claim Number. 2. Hide Customer field.

    * Version 1.0

    ConditionTrigger ObjectTrigger EventConditionProcessing ModeValidate

    * Version 1.0

    ConditionCondition decide the event the rule to be executed.

    Each condition mainly contains three sections. They are

    Trigger Event: Trigger Event specifies the occurrence where the rule should be executed. Trigger Object: Trigger Object is the object on the form to determine at what level the rule should be executed.

    The values can be , or

    Condition: Condition is any SQL statement to control the execution of rule when the mentioned criterion is met.

    * Version 1.0

    Condition : Trigger Event & Trigger Object

    * Version 1.0

    All E-Business Suite forms send the following events:

    WHEN-NEW-FORM-INSTANCE: Once, when the form starts up. Trigger Object does not apply.WHEN-NEW-BLOCK-INSTANCE: Each time the cursor moves to a new block. Trigger Object must contain the blockname of interest.WHEN-NEW-RECORD-INSTANCE: Each time the cursor moves to a new record. Trigger Object must contain the blockname of interest.WHEN-NEW-ITEM-INSTANCE: Each time the cursor moves to a new item. Trigger Object must contain the blockname.itemname of interest.Condition : Trigger Event & Trigger Object

    * Version 1.0

    Many forms send the following event:WHEN-VALIDATE-RECORD: each time the current record has any change that needed to be validated. Trigger Object must contain the blockname of interest.

    Some forms send custom eventsFor example, a form may send a message like REPRICE-ITEM at a specific event within its processing.We seed the Trigger Event item with the standard events, but you can type other events into the field too.

    Note: To Know what events a form sends :

    Menu Navigation: Help Diagnostics Custom Code Show Events

    Run the form of interest and a dialog will appear each time an event is sent

    Turn this mode off by selecting Help > Diagnostics > CustomCode > NormalCondition : Trigger Event & Trigger Object

    * Version 1.0

    Condition: Condition / Process Mode / Validate

    * Version 1.0

    Condition :

    The Condition field lets you create an expression in SQL.If it is empty or evaluates to TRUE at runtime, then the Actions are performed.If it evaluates to FALSE at runtime, then the Actions are skipped.The Condition is re-evaluated EACH time the rule is processed.

    The Condition expression can refer to:Bind variables, like :block.fieldSQL operators, such as || (Concatenation), TO_CHAR( ), DECODE( ) and NVL( )Server-side functions that do not have OUT parameters.

    Examples:

    1. :users.user_name is not null and :users.description is nullTRUE if the User Name has a value & the Description doesnt have value 2. sysdate >= to_date(1-1-2005, DD-MM-RRRR) TRUE if todays date is equal to or greater than January 1, 2005.Condition: Condition

    * Version 1.0

    Condition: Processing Mode & Validate Processing Mode:

    1. Not in Enter Query Mode: The Rule will not be executed in Enter Query Mode. 2. Only in Enter Query Mode: The Rule will be executed in Enter Query Mode only. 3. Both: The Rule will be executed in both the Enter & Execute query modes.

    Validate :

    1. When you press the Validate button, the Condition will process immediately and return either True, False, or an Error. 2. Errors are in standard ORACLE error format, with an ORA error number.

    * Version 1.0

    Context

    * Version 1.0

    Context manages to whom the personalization should apply.

    This is similar to the concept of using profile options in Oracle Applications with a slight difference. We will see this in next slide.

    The various levels are Site, Responsibility, Industry and User.

    During runtime, the values provided in the context are evaluated and personalization rules will be applied.

    Usage of context is very vital in implementing the personalization to prevent the inappropriate users accessing these personalization of the form.

    Example : Context = Responsibility Value = Customer Support

    The scope of 'Industry' is reserved for future.Context

    * Version 1.0

    If a Rule has a context of Site, it will be applied for everyone.

    A rule with a context of Responsibility does not override Site.

    A rule with a context of User does not override Site or Responsibility.

    If 2 rules have the same Trigger Event, and Actions that change the same property, the rule with the higher sequence number will be performed last, thus it will WIN.Context is not a hierarchy

    * Version 1.0

    Actions

    * Version 1.0

    ActionsActions decide the exact operation to be performed when the conditions and context return TRUE during the runtime.

    Usually each rule should be associated with at least one action.

    The types of actions available arePropertyMessageBuiltinSpecial

    Each Action contains a Sequence number, Description and Language.

    Based on the action type selected, the fields on the right sector of the actions tab will be refreshed where the action parameters are entered.

    Actions can be enabled, disabled or deleted.

    * Version 1.0

    Actions: SequenceBoth Rules and Actions have a Sequence that must be entered.

    It is there in case you need things to be processed in a specific order.

    The sequence does not have to be unique.

    For an Action, the Sequence is very important in various situations, for example:

    When using Builtins, you might first move the cursor to a particular block, then issue a query in that block.With Properties, if you are moving an item you might first have to make the canvas a different size.

    * Version 1.0

    Actions Type: PropertyThe action type Property is used to set the properties of the objects.

    The various objects include Item, Window, and Block etc.Actual object name defined in the form should be entered after selecting the object type.Property Name is the Property to be changed.Value is the new desired value for the property.The current value of the property will be displayed when clicked on the Get Value button.Example: Object Type = Item, Target Object = :ORDER.ORDER_NUMBER Property Name = PROMPT_TEXT Value = Claim NumberThe value can be interpreted at runtime, so you can use SQL functions and operators.Any value start with = operator will be interpreted at runtime, otherwise the value is treated as is entered in the value field. Example: Value => =Welcome to the Sales Order Entry Mr. ||user.

    * Version 1.0

    For Items (Fields):

    PROMPT_TEXT: The prompt of the item, typically next to or above the itemDISPLAYED: If False, the item is hiddenINITIAL_VALUE: The value