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

Oracle Apps Form Personalization

Form personalization allows customizing Oracle form behaviors without code changes. It provides an interface to change form properties, add rules and conditions, display messages, and call other forms. Personalizations can be downloaded and uploaded between instances for migration. It offers benefits like reduced development and upgrade costs but has limitations like inability to create new form items.

Uploaded by

AamirKhan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
438 views

Oracle Apps Form Personalization

Form personalization allows customizing Oracle form behaviors without code changes. It provides an interface to change form properties, add rules and conditions, display messages, and call other forms. Personalizations can be downloaded and uploaded between instances for migration. It offers benefits like reduced development and upgrade costs but has limitations like inability to create new form items.

Uploaded by

AamirKhan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as 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 let’s 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 / non-
mandatory, 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: - It’s 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: It’s 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


Personalization’s 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  DiagnosticCustom 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 Object Property Name Value


Proper Type ALTERABLE TRUE/FAL
ty DISPLAYED SE
TRUE/FAL
ENABLED SE
TRUE/FAL
CONCEAL_DATA SE
TRUE/FAL
FOREGROUND_COLOR SE
LABLE
Item ENTERABLE TRUE/FAL
INITIAL VALUE SE
TRUE/FAL
INSERT ALLOWED SE
TRUE/FAL
QUERYABLE SE
TRUE/FAL
REQUIRED SE
TRUE/FAL
UPDATED ALLOWED SE
TRUE/FAL
VALUE SE
HEIGHT
WIDTH
Window
TITLE
VISIBLE TRUE/FAL
DEFAULT_WHERE SE
DELETE_ALLOWED TRUE/FAL
INSERT_ALLOWED SE
TRUE/FAL
NEXT_NAVIGATION_BLOC SE
Block K
ORDER_BY
PREVIOUS_NAVIGATION_B
LOCK
QUERY_ALLOWED TRUE/FAL
UPDATE_ALLOWED SE
TRUE/FAL
DISPLAYED SE
TRUE/FAL
Tab Page ENABLED SE
TRUE/FAL
LABLE SE
Canvas VISIBLE
HEIGHT
WIDTH
ENABLED TRUE/FAL
LABLE SE
Radio
WIDTH
Button
PROMPT
VISIBLE TRUE/FAL
VISIBLE SE
TRUE/FAL
View HEIGHT SE
WIDTH
Global INITIAL_VALUE
Variable VALUE
Parameter VALUE
GROUP_NAME
HEIGHT
LOV
WIDTH
TITLE
Local VALUE
Variable

Type Builtin Type Type Attribute Type Attribute 1 Type Attribute 2


Launch SRS Form Program Name
Launch a Function Function Code Function Name Parameter
Launch a URL Argument Target
Argument -
CLEAR_BLOCK
CLEAR_FORM
CLEAR_RECORD
COMMIT_FORM
CREATE_RECORD
DELETE_RECORD
ENTER_QUERY
EXECUTE_QUERY
DO_KEY
EXIT_FORM
LOCK_RECORD
NEXT_BLOCK
BuiltIn NEXT_ITEM
NEXT_KEY
NEXT_KEY
NEXT_RECORD
PREVIOUS_BLOCK
PREVIOUS_RECORD
Execute a Procedure Argument
GO_ITEM Argument
GO_BLOCK Argument
FORMS_DDL Argument
RAISE_FORM_TRIGGER_FAILURE
EXECUTE_TRIGGER Argument
SYNCHRONIZE
Call Custom Library
Create Record Group from Query Argument Group Name

You might also like