Forms Personalization
Forms Personalization
Type: BULLETIN
Status: PUBLISHED
In this Document
Purpose
Scope and Application
Customization in Oracle Applications
Overview of Customizing Oracle Applications
Tools for Customizing Oracle Application
Why to use Customization?
Customizing Oracle Applications Using CUSTOM Library
What is CUSTOM Library?
Events Passed to the CUSTOM Library
How to customize using CUSTOM library Preliminary setup
Steps To Do
Library Details
CUSTOM Library Architecture
How CUSTOM Library works?
Sample Test cases
Troubleshooting Customization
Customizing using Form personalization
Overview of Form Personalization
Profiles Used in Form Personalization
Sections of Form Personalization
Some Test Cases
Limitations of Form Personalization
Moving Personalizations between instances
Relationship between Form Personalization and CUSTOM library
Comparison between Form personalization and custom library
Similarities
Differences
Limitations
Apps check showing Customization details
Other Sources
References
Applies to:
Oracle Order Management - Version: 11.5.9 to 12.0.6
Information in this document applies to any platform.
Purpose
This note explains how CUSTOM library and form personalization can be used in Oracle Applications forms processing, provides an understanding of different methods of
customizations, troubleshooting, sample examples and Limitations.
d.Copy the following required files to local directory say D:\Custom Library
APPCORE.pll
APPCORE2.pll
FNDSQF.pll
Steps To Do
Steps involved in Customization:
1. File name is CUSTOM.pll, located in the $AU_TOP/resource directory
2. Edit with Forms library editor after attaching the APPCORE2.pll, FNDSQF.pll
3. Move the file to server
4. Generate to CUSTOM.plx executable library
Login as APPLMGR user and set up the Applications environment using the file
. ./APPSORA.env
found under $APPL_TOP
Compile the file using below mentioned command
f60gen module=CUSTOM.pll userid=apps/<apps_pwd> module_type=library
Library Details
Generic Libraries
Library details are below:
Set FORMS60_PATH on desktop to location of local libraries (D:\Custom Library)
1. APPCORE.pll Application Standards, toolbar
APPCORE.pll contains
VERT.pll Specific industry features
GLOBE.pll Global or regional features
JA.pll Asia/Pacific features
JE.pll Europe/Middle East/Africa features
JL.pll Latin America Code
CUSTOM.pll Customizations of standard forms
2. FNDSQF.pll Flexfields, Profiles, Currency, Concurrent Request Submission, Record History, Message Dictionary
3. APPDAYPK.pll Calendar
4. APPFLDR.pll Packages for Folder Blocks
Libraries specific to Modules
There are some libraries specific to application modules. Additional libraries attached to TEMPLATE.fmb are:
1 FV.pll Federal Financials
2 HRKPI.pll Human Resources Knowledge Provider
3 GHR.pll Global Human Resources
4 GMS.pll Encumbrances
5 IGILUTIL.pll International Public Sector
6 IGILUTIL2.pll International Public Sector
7 PSAC.pll Public Sector Applications
8 PQH_GEN.pll Public Sector Human Resources
9 PSA.pll Public Sector Applications
10 PSB.pll Public Sector Budgeting
11 OPM.pll Process Manufacturing
All libraries are available in $AU_TOP/resource
12 APPCORE2.pll Application standards (for CUSTOM.pll)
Why APPCORE2 when APPCORE is already available?
APPCORE.pll calls CUSTOM.pll and hence we cannot attach APPCORE directly to CUSTOM , lest this will cause a cyclic reference and hence APPCORE2.pll
This pll contains same routines as in corresponding APPCORE library.
Execution will be in the following manner
APPCORE-->CUSTOM-->APPCORE2
APPCORE2 has most of the APPCORE built-ins in the following packages:
*APP_ITEM_PROPERTY2
*APP_DATE2
*APP_SPECIAL2
The CUSTOM library comes with FNDSQF library already attached. FNDSQF provides Oracle Applications routines for function security (for opening forms), flexfields, and
other utility routines.
Troubleshooting Customization
Generate the FRD trace to debug the Custom Code.
From 11.5.10 this method enables users to run FRD tracing through the Personal Home Page by setting debugging to true using the profile option 'ICX: Forms Launcher'.
To start tracing in this way, modify Profile Option 'ICX: Forms Launcher' at USER level to include the Forms parameters required for FRD logging as follows:
1. Copy the value for profile option 'ICX: Forms Launcher' from the SITE level to the USER level.
The value should look as follows:
http://<machine.domain>:<port>/dev60cgi/f60cgi
This is an optional SQL code statement, when the Event occurs; if it returns TRUE the Actions are executed. The condition contains the following:
SQL functions and operators, such as AND, OR, TO_CHAR, DECODE, and NVL
References to bind variables like :block.field, :system, :global and :parameter
values can be used.
Example:
:LINE.ORDERED_QUANTITY is not null
:LINE. ORDER_QUANTITY_UOM is null
:sysdate >= to_date(01-10-2008, DD-MM-RRRR) and :ORDER.ORDERED_DATE >= sysdate+1
Context
Context controls where the personalization applies 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.
Actions
Actions determine what 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: To record usage of that action
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 actions
Object Type: the type of object, including Item, Window, Block, Tab, Canvas, Radio button, View, GLOBAL, or PARAMETER.
Target Object: Should be Block.Field Name. It is based on the Object Type, in case of GLOBAL and PARAMETER, the Target Object name must not include GLOBAL. For
example, to refer to GLOBAL.XXXX, only enter XXXX
Property Name: based on the Object Type, the properties that can be personalized. The Object Type of Item supports a vast array of properties including:
Item-level properties, which set the property for all instances of that object.
Item-instance properties, which set the property for the current record of that block using set_item_instance_property ()
Applications cover properties, which are a hybrid of multiple item and item-instance level properties. These are fully documented in the Oracle Applications Development
Guide.
Value: the new value. The appearance and validation of this field changes based on whether the property accepts Boolean values (True/False), numbers, a restricted set of
values, or a string
Message
For a Type of 'Message':
Message Type: either 'Show', 'Hint', Warn, 'Error', or Debug. Error and Warn if the user selects the Cancel button will raise a form_trigger_failure after executing, and
stop all further processing. Messages of type Debug will only be displayed if the Show Debug Messages checkbox is checked.
Message Text: Text to be displayed in the screen.
Builtin
For a Type of 'Builtin':
Builtin Type: The name of the builtin, such as GO_ITEM, DO_KEY, GO_BLOCK, RAISE FORM_TRIGGER_FAILURE, FORMS_DDL, FND_UTILITIES.OPEN_URL or
FND_FUNCTION.EXECUTE.
Argument: The argument for the currently selected builtin, if applicable.
Depending on the specific builtin, other argument fields may appear.
Menu
For a Type of 'Menu':
Menu Entry: One of 45 menu entries can be activated. The menus are arranged in 3 sets of 15 each under the Tools, Repot is needed for the menu entry.
Form Personalization allows responding to a Zoom event - it does not allow enabling Zoom on a form. To enable ZOOM functionality CUSTOM library - CUSTOM.pll is
required
Below is the list of the properties available for Block and Window
For BLOCK
ALLOW_NON_SELECTIVE_SEARCH
DEFAULT_WHERE
DELETE_ALLOWED
EXPORT_HIDDEN_CANVASES
INSERT_ALLOWED
NEXT_NAVIGATION_BLOCK
ORDER_BY
PREVIOUS_NAVIGATION_BLOCK
QUERY_ALLOWED
SCROLLBAR_X_POS
SCROLLBAR_Y_POS
UPDATE_ALLOWED
For WINDOW
HEIGHT
TITLE
VISIBLE
WIDTH
WINDOW_STATE
X_POS
Y_POS
Differences
Form Personalization allows personalizations that is possible using CUSTOM library, but it does not require using Oracle Forms Builder to edit and compile the file.
Depending on the complexity of business needs, it may still require a degree of coding skills. The CUSTOM library is able to support more complex personalizations because
it gives access to all of the capabilities of PL/SQL programming language, including calling client-side program units, all Oracle Forms built-ins, and issuing any SQL.
Once a menu has been enabled using Forms Personalization, it then cannot be conditionally disabled. But using CUSTOM Library this can be done.
Form Personalization is an alternate way to do the same task as done in the custom library. Form Personalization has all the commonly used activities of CUSTOM library.
However form personalization has its own limitations, does not allow achieving complex business logics.
CUSTOM library still can be used for forms customization to implement the complex business logic.
Limitations
1 SQL is not allowed
-No Select, update, delete and insert
-Should use record cursors
2 Overwritten during upgrades
3 Use FND_FUNCTION while using ZOOM feature instead of call form
4 Loaded only for one session
5 Custom Specification cannot be modified
6 Cannot create new items
7 Cannot move items between canvases
8 Cannot display an item which is not on a canvas (thus, individual flexfield segments cannot be displayed)
9 Cannot set certain properties such as the Datatype of an Item.
10 Cannot change frames, graphics, or boilerplate
11 Cannot hide the item that currently has focus
Other Sources
Oracle Applications Developers Guide - A8370503
http://download-uk.oracle.com/docs/cd/B25516_17/current/html/docset.html
References
Note 744065.1 - Sample CUSTOM Library Code To Customize Applications
Keywords