0% found this document useful (0 votes)
175 views

Basics of Form Personalization

Basics of Form Personalization
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
175 views

Basics of Form Personalization

Basics of Form Personalization
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

Oracle Apps Form Personalization

Form Personalization is a feature in Oracle E-Business Suite 11.5.10 onwards that allows you
to change the behavior of Forms-based screens. Prior to this release if we need to change
the behavior of Oracle Forms we need to change the "custom.pll". That's indeed requires lot
of effort and time compared to Forms Personalization which gives you an interactive user
interface to implement the changes needed on the forms.
With the help of Form Personalization we can change properties of form, executing built-ins
functions, display custom messages, add menu entries to call another forms, add rules,
conditions and actions.
To enable Form Personalization:
Set these profile options at the user level:
Hide Diagnostics menu entry -- Set to No to see this menu
Utilities:Diagnostics Set to No to require apps password
To open form personalization go to Help -> Diagnostics -> Custom Code -> Personalize

Now lets understand when and where we can take benefit of forms personalization: Calling another form from current form.
Changing / Hiding the label/fields from the form.
Trigger custom program at particular forms event.
Changing property of field on form. Like make a particular field mandatory / nonmandatory, editable / non-editable, change query of List of Values etc.

Components of Forms Personalization


Header/Rule Section: This section contains the basic information about the form on which
personalization is being done. It has:

Function Name :- Name of the form function


Form Name: - Name of the form in use.
Sequence: - Sequence is the field where we provide sequence number. Forms
personalization is executed sequentially in the sequence. Lower sequence value
executed first.
Description: - Allow to enter details about personalization being done. Its good
practice to enter description related to what you are doing in the personalization as it
helps later in debugging issue to identify the personalization.
Level: - Its the level that defines at what level the forms personalization is being
applied. If Level is 'Forms' then all the functions under that forms will be impacted. If
Level is function then the forms personalization will have its impact only when you
are working on that function inside the form.
Enabled Checkbox: - To enable / disable forms personalization.

Condition: - The condition determines the when a particular personalization will perform its
action. You can write sql query to determine if it will be triggered or call pl/sql function as
well.

Trigger Event: Its nothing but the forms event. Based on the value chosen here the
function will execute only when that particular event triggers on the form. Trigger
event are predefined.

Trigger Object: Trigger object is the object on the form upon which an event is
triggering. If you write a condition having trigger event and trigger object then when
that event happens on that object of the form then only the condition will be checked
and action will be performed.

Condition: The box is the place where we put SQL validation query. If the condition
returns true then action will be performed.
Syntax: ${objectType.objectName.Property} to get various property of an item

Processing Mode: Defined the mode in which the condition will be applicable

Context: Context plays the same role as does the profile options. It gives us
flexibility that at what level the forms personalization will be used. We can choose
level as 'Site/Responsibility/User' and it will impact only at the responsibility / user /
site level.

Action: Action determines actual operation that needs to be performed when


a particular trigger event satisfies condition. We can define multiple action to be triggered
on one condition and it will execute in sequence. There are 4 different types of action
available:-

Property: This action type is used to set the property of the objects. These objects
could be Item / Window / Forms Block etc. Property has 4 sections : Object Type: This determines which type of object will be impacted.

Target Object: Actual object that will be impacted.


Property Name: It determines the attribute of the object that you
want to change.
Value: The target value that the object property will change to. You
can enter hard coded text or write custom SQL query or call function to
set the values. SQL query / function will provide result at run time.
Message: It is used to show custom message at runtime. You can set different type
of message that can show. Different message types are :

Show: This will show a pop message as note to user when condition is
satisfied. User need to press 'OK' to continue processing.
Hint: This will not show any pop up and will not stop processing.
Message will be displayed at the bottom left corner of the form, can be
called task bar where you generally see messages when you save data
on a form.
Error: It display pop as error and stop the processing.
Debug: It displays message pop as debug.
Warn: Show pop window as warning window. Upon hitting 'OK' you can
continue transaction.

Builtin: It allow to call oracle standard builtin APIs and functions. Using this you can
call a Form / Function / Open URL / Execute a trigger and many other function.
Builtin Type: List all the builtin functions type that are available.

Program Name: Based on the builtin type chosen, enter respected


program to be executed.

Menu: This is used to call another form from current form. You can create a form
menu link and call. This will be used to implement ZOOM functionality that will we
discuss later.
Menu Entry: Oracle provided 45 special menu entries that can be used to
call another form from one form.

Menu Label: Custom name that you can provide while you try to create a
new call to form.

Moving Personalization between Instances


Personalizations can be extracted by the FND loader on a per-function basis or per-form
basis and then uploaded to other instances. Below are the commands can be used
download/upload personalization.
To download rules for a particular function:
FNDLOAD <userid>/<password> 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct
<filename.ldt> FND_FORM_CUSTOM_RULES function_name=<function name>
To download rules for a particular form:
FNDLOAD <userid>/<password> 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct
<filename.ldt> FND_FORM_CUSTOM_RULES form_name=<form name>
Upload:
FNDLOAD <userid>/<password> 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.lct
<filename.ldt>
Troubleshooting
You may use below functions to get the various custom events that are fired automatically
by application:

Help DiagnosticCustom Code Show Custom Events


You can disable all personalizations by invoking the pulldown menu and selecting
Help->Diagnostics->Custom Code-> Off.

Pros & Cons


Pros:
Less development time menu driven user friendly coding
Reduce processing time speed up data entry
Reduce audit cost added validations reduced error correction and implement security
Reduce upgrade cost survives patching
Cons:
Cannot create new items
Cannot move items between canvases
Cannot display an item which is not on a canvas
Cannot set certain properties such as the Datatype of an Item.
Cannot change frames, graphics, or boilerplate
Cannot hide the item that currently has focus
Certain objects may not be available to you to change, or cannot be validated
Actions
Type
Proper
ty

Object
Type

Item

Window

Block

Tab Page
Canvas

Property Name
ALTERABLE
DISPLAYED
ENABLED
CONCEAL_DATA
FOREGROUND_COLOR
LABLE
ENTERABLE
INITIAL VALUE
INSERT ALLOWED
QUERYABLE
REQUIRED
UPDATED ALLOWED
VALUE
HEIGHT
WIDTH
TITLE
VISIBLE
DEFAULT_WHERE
DELETE_ALLOWED
INSERT_ALLOWED
NEXT_NAVIGATION_BLOC
K
ORDER_BY
PREVIOUS_NAVIGATION_B
LOCK
QUERY_ALLOWED
UPDATE_ALLOWED
DISPLAYED
ENABLED
LABLE
VISIBLE

Value
TRUE/FAL
SE
TRUE/FAL
SE
TRUE/FAL
SE
TRUE/FAL
SE
TRUE/FAL
SE
TRUE/FAL
SE
TRUE/FAL
SE
TRUE/FAL
SE
TRUE/FAL
SE
TRUE/FAL
SE

TRUE/FAL
SE
TRUE/FAL
SE
TRUE/FAL
SE

TRUE/FAL
SE
TRUE/FAL
SE
TRUE/FAL
SE
TRUE/FAL
SE

Radio
Button

View
Global
Variable
Parameter
LOV
Local
Variable

Type

HEIGHT
WIDTH
ENABLED
LABLE
WIDTH
PROMPT
VISIBLE
VISIBLE
HEIGHT
WIDTH
INITIAL_VALUE
VALUE
VALUE
GROUP_NAME
HEIGHT
WIDTH
TITLE
VALUE

Builtin Type
Launch SRS Form
Launch a Function
Launch a URL

DO_KEY

BuiltIn

Execute a Procedure
GO_ITEM
GO_BLOCK
FORMS_DDL
RAISE_FORM_TRIGGER_FAILURE
EXECUTE_TRIGGER
SYNCHRONIZE
Call Custom Library
Create Record Group from Query

TRUE/FAL
SE

TRUE/FAL
SE
TRUE/FAL
SE

Type Attribute
Program Name
Function Code
Argument
Argument CLEAR_BLOCK
CLEAR_FORM
CLEAR_RECORD
COMMIT_FORM
CREATE_RECORD
DELETE_RECORD
ENTER_QUERY
EXECUTE_QUERY
EXIT_FORM
LOCK_RECORD
NEXT_BLOCK
NEXT_ITEM
NEXT_KEY
NEXT_KEY
NEXT_RECORD
PREVIOUS_BLOCK
PREVIOUS_RECORD
Argument
Argument
Argument
Argument

Type Attribute 1

Type Attribute 2

Function Name
Target

Parameter

Argument

Argument

Group Name

You might also like