4 .Certain personalization must be performed at specific events:
- To specify the Initial Value of an Item, user must perform that action in the WHEN-NEW-RECORD-INSTANCE event of the block that contains the item.
- Special menu entries can only be created at form start up (WHEN-NEW-FORM INSTANCE)
5. Both the Personalization form and the runtime-processing engine will report errors for these cases and skip processing of them.
6. Certain objects may not be available to user to change, or cannot be validated:
6. Certain objects may not be available to user to change, or cannot be validated:
- If a Tab within a form has no items directly rendered on it, that Tab will not appear in the list of objects that user can modify. In some cases, making that Tab the active tab before invoking the Personalization feature may cause it to be detected.
- The object types GLOBAL and PARAMETER cannot be detected, thus these fields have no LOVs to restrict their input. Use the 'Validate' or 'Apply Now' buttons to determine if the values users have entered actually exist. Note that GLOBAL variables are dynamically created, so whether they exist or not can be a matter of timing.
[7. Most significantly, this may interfere with, or be overridden by, base product code; any change user make might interfere with the normal operation of the form. This can manifest itself in several ways, such as:
- User may make a personalization but it does not take effect, because there is code in the form that overrides it. In some cases user may be able to perform user personalization by moving the Trigger Event to a 'lower' level, such as block or item-level.
- User personalization may simply produce the wrong result, because user change interacted with the base code in unexpected and untested ways. At best this error will occur immediately upon the personalization being applied; at worst it could affect some later processing which does not appear to be directly related to the object or event.
- In extreme cases, user changes may prevent the form from running at all, making it difficult to open the Personalization screen to remove the offending personalization unless user turn off Custom Code. Because of this, it is critical that any change be thoroughly tested in a Test environment. See the 'Troubleshooting, Support, and Upgrade considerations' section later in this chapter for more information.