Download - Form Personalization
Let Us Understand Form Personalization
Wednesday, July 04, 2012 Oracle Apps R12 By Satish K Yellanki (SkyEss Techno Solutions Pvt. Ltd.) Slide : 1
Let Us Understand Form Personalization
• Form Personalization Allows Declarative Changes ThatAlter The Behavior of Oracle Forms-Based Screens,Including• Changing Properties• Executing Built-ins• Displaying Messages• Adding Menu Entries
• Form Personalization Allows For Fundamental Alterationsin The Behavior of Forms.
Precautions When Implementing Form Personalization• Allow Only Trusted Users To Access The Forms
Wednesday, July 04, 2012 Oracle Apps R12 By Satish K Yellanki (SkyEss Techno Solutions Pvt. Ltd.) Slide : 2
• Allow Only Trusted Users To Access The FormsPersonalization Feature.
• Thorough Plan And Analysis Should Be Conducted BeforeConducting The Forms Personalization.
• Test All Form Personalization Components on A TestSystem Before Moving Them To The Production Server.
• The Form Personalization Feature is Declarative, HenceThe Developer Should Be Familiar With Oracle FormsIncluding The PL/SQL Programming Language, And TheOracle Applications Development Process.
• Any Changes Made Will Interfere With The Base Code ofA Form Which is Shipped From Oracle Corporation.
Basic Concepts in Forms Personalization• Rules
• Event• Condition• Scope
• Actions• Set A Property• Execute A Built-in• Display A Message• Enable A Special Menu Entry
Point of Concentration
Wednesday, July 04, 2012 Oracle Apps R12 By Satish K Yellanki (SkyEss Techno Solutions Pvt. Ltd.) Slide : 3
Point of Concentration• A Form Running in A Particular Context Will Have A
Function Associated To it, Based on Parameters Passedto it, We Can Specify One OR More Rules.
• Each Rule Consists of• An Event• An Optional Condition• The Scope For Which it Applies• One OR More Actions To Perform
• An Event is A Trigger Point Within A Form, Such As• Startup of The Form• Focus Moving To A New Record
• The Start With Can Be Associated With WHEN-NEW-FORM-INSTANCE And The Focus To A New Record Will BeAssociated With WHEN-NEW-RECORD-INSTANCE Trigger.
• There Are Standard Events That Almost Every FormSends, And Certain Forms Send Additional Product-Specific Events As Per Necessity.
• The Condition is An Optional SQL Code Fragment That isEvaluated When The Event Occurs, if The Condition isEvaluated To TRUE Then The Actions Are Processed.
• The Scope is Evaluated Based on The Current RuntimeContext To Determine if The Rule Should Be Processed
Wednesday, July 04, 2012 Oracle Apps R12 By Satish K Yellanki (SkyEss Techno Solutions Pvt. Ltd.) Slide : 4
Context To Determine if The Rule Should Be ProcessedOR Not.
• The Scope Can Be Set At The• Site• Responsibility• User• Industry Level
• Each Rule Can Have One OR More Scopes AssociatedWith it, The Scope of 'Industry' is Reserved For FutureUse.
• The Scope of A Rule Actually Decides When The ActualFunction Associated To The Event Should Fire.
Each Action Consists of One OR More ComponentsSetting The Property• Setting of The Property Can Be Such As Making A Field
Required OR Hiding A Tab Page.Executing A Built-in• Executing A Built-in Decides Exactly The Kind of Action
That Should Happen When The Action is Initiated.• Executing A Built-in Can Be Such As
• GO_BLOCK• DO_KEY• FND_FUNCTION
Wednesday, July 04, 2012 Oracle Apps R12 By Satish K Yellanki (SkyEss Techno Solutions Pvt. Ltd.) Slide : 5
• FND_FUNCTION• EXECUTE
Displaying A Message• Displaying A Message is As Action That Displays A
Message As Per The NecessityEnabling A Special Menu Entry• Enabling A Special Menu Entry Will Enable Any One of
The Special Menu’s From Special1 To Special45.Point of Concentration• Once Rules Are Defined, When The Target Function is
Run, The Rules Are Automatically Applied As EventsOccur Within That Form.
Creating a Form Personalization• Run The Form For Which We Want To Create A Form
Personalization.• Select Help ���� Diagnostics ���� Custom Code ���� Personalize
Option From The Menu.• The Form Personalization Screen Will Open, And Any
Existing Rules For The Current Form Will Be Queried.
Wednesday, July 04, 2012 Oracle Apps R12 By Satish K Yellanki (SkyEss Techno Solutions Pvt. Ltd.) Slide : 6Rules Screen
Rules To Be Followed About Rules• Rules Govern When Form Personalization Process Will
Get Applied.The Fields Associated With The RuleFunction Name• The Name of The Function We Are Currently Running.• Form Personalization is Made For A Function But Not For
A Form.Sequence Number• An Ordering of Sequence Number From 1 Treated As First
To 100 Treated As Last Sequence Number.
Wednesday, July 04, 2012 Oracle Apps R12 By Satish K Yellanki (SkyEss Techno Solutions Pvt. Ltd.) Slide : 7
To 100 Treated As Last Sequence Number.Description• Description is An Optional Entry That Allows The
Developer To Record Why The Personalization is Done.Enabled• Enabled Flag is Used To Enable OR Disable A RuleTrigger Event• The Event Within The Form That Causes Invocation of
The Rule.Trigger Object• The Context For The Trigger Event, Such As A Particular
Block OR Item.
Condition• An Optional SQL Fragment Defined By The Developer,
When The SQL Fragment is Evaluated To TRUE, it AllowsThe Rule To Execute.
• The Condition Can Contain• SQL Functions And Operators, Such As AND, OR,
TO_CHAR, DECODE, And NVL• References To Bind Variables Like
:BlockName.FieldName, Which Can Include :SYSTEM,:GLOBAL And :PARAMETER Values.
• Calls To Server-Side Functions That Do Not Have Out
Wednesday, July 04, 2012 Oracle Apps R12 By Satish K Yellanki (SkyEss Techno Solutions Pvt. Ltd.) Slide : 8
• Calls To Server-Side Functions That Do Not Have OutParameters
• Use The 'Add Item...' Button To Get Assistance With ItemNames.
Fire in Enter-Query Mode• Checkbox That Controls Whether Rules Should Be
Processed During Enter-Query Mode Processing That isWhen The Form is in Query By Example Mode.
Context• Context Controls Actually To Whom The Form
Personalization is Applied. At Runtime, if The UserMatches Any Context of The Rule, The Rule is Applied.
Level
• The Level At Which The Rule Should Be Applied isDecided in This Field.
• The Level Can be
• Site
• Responsibility
• User
• Industry
Value
• Value is Based on The Level That is Chosen.
• Value Can Be Either Disabled OR Enabled And Required,
Wednesday, July 04, 2012 Oracle Apps R12 By Satish K Yellanki (SkyEss Techno Solutions Pvt. Ltd.) Slide : 9
• Value Can Be Either Disabled OR Enabled And Required,in Which Case it Will Validate Against A List of Values.
Note
• Each Rule Consists of One OR More
• Context Rows (Scope)
• One OR More Actions
• If A Rule Has No Context OR Action Rows, it is NotProcessed.
• Upon Saving A Rule, If No Context Rows Have BeenEntered The Form Will Automatically Create A Row AtThe Site Level.
Actions• Actions Govern, What The Form Personalization Process
Will Do When The Action is Applied.
Wednesday, July 04, 2012 Oracle Apps R12 By Satish K Yellanki (SkyEss Techno Solutions Pvt. Ltd.) Slide : 10
Action Fields• Sequence• Type• Description• Language• Enabled
Sequence Field• The Sequence Field Defines The Sequence in Which
Actions Will Be Processed Within That Rule.• The Sequence Value Should Be A Value Between 1 And
100, With 1 Being Processed First.• The Sequence Does Not Have To Be Unique.• All of The Actions Associated With A Particular Rule Are
Processed As A Group, Then The Next Rule If Any isProcessed.
• The Sequence Feature is Particularly Useful When MovingItems, in Which Case A Canvas May Have To Be Resized
Wednesday, July 04, 2012 Oracle Apps R12 By Satish K Yellanki (SkyEss Techno Solutions Pvt. Ltd.) Slide : 11
Items, in Which Case A Canvas May Have To Be ResizedFirst Before An X Position Can Be Altered.
Type Field• The Type Field Defines The Type of Action To Be Taken
Specific To That Sequence.Property• Property Allows Us To Select A Specific Object, A
Property of That Object, And Specify A New Value ForThat Property.
Built-in• Built-in Allows The Execution of A Standard Forms Built-
in, Such As GO_BLOCK OR DO_KEY.
Message• Displays A Message in One of Several Styles As Provided
By Oracle Apps Environment.Special• Enables A Special Menu Entry, Defining its Label, Icon
Name And Which Blocks it Applies To.Description Field• Optional Entry Which Allows Us To Record Why We Are
Making The Personalization.Language Field• An Action Associated With A Specific Language Will Only
Wednesday, July 04, 2012 Oracle Apps R12 By Satish K Yellanki (SkyEss Techno Solutions Pvt. Ltd.) Slide : 12
• An Action Associated With A Specific Language Will OnlyBe Executed in The Context of That Language.
• Specify 'All' To Have The Action Processed For AnyLanguage, OR Select A Specific Language.
• Generally Text-Related Personalization Should BeApplied For A Specific Language.
Enabled Field• Enabled Flag is Used To Enable OR Disable An Action,
Check The Box As Per The Need That Arises.Apply Now Button• For Several Type Fields, The “Apply Now” Button Will Be
Enabled.
• The “Apply Now” Button Allows Us To Apply The ChangeImmediately To The Target Form To Test its Effect.
Note• The Actual Effect That Will Occur During Normal Runtime
Execution of Rules May Be Different, Due To Timing ofTriggers And Other Considerations.
Buttons That Are Enabled Conditionally• Few Buttons in The Actions Tab Are Enabled
Conditionally Based on The Type FieldAdd Parameter Button• List of Values That Displays Currently Used Parameters.
Wednesday, July 04, 2012 Oracle Apps R12 By Satish K Yellanki (SkyEss Techno Solutions Pvt. Ltd.) Slide : 13
• List of Values That Displays Currently Used Parameters.• Applies To The Built-in “FND_FUNCTION.EXECUTE” Only.Add Block Button• List of Values That Displays Block Names.Add Item Button• List of Values That Displays Item Names.Validate Button• Used To Test if The Syntax of The String is Valid OR Not.• If The Evaluation Fails, The Processing Engine Returns
An ORA Error With String As Part of An SQL Expression.• If No Error Occurred it Displays The Text Exactly As It
Would Appear At Runtime in The Current Context.
Actions ���� Property
Wednesday, July 04, 2012 Oracle Apps R12 By Satish K Yellanki (SkyEss Techno Solutions Pvt. Ltd.) Slide : 14
• The Action ���� Property Section is Used To Set TheProperty of An Item.
Select By Text Button• “Select By Text” Button Allows Us To Select An Object
Based on Text Appearing on The Screen At The Point inTime That Invoked The Personalization Form.
• The Object is Displayed Including Any Changes ThatCurrent Rules Might Have Performed.
• Selecting The Object Will Automatically Fills The ObjectType And Target Object Fields.
Object Type• Object Type Section Defines The Type of Object Being
Applied With Action, Which Can Include• Item• Window• Block• Tab• Canvas• Radio Button• View• Global
Wednesday, July 04, 2012 Oracle Apps R12 By Satish K Yellanki (SkyEss Techno Solutions Pvt. Ltd.) Slide : 15
• Global• Parameter
Target Object• The Target Object Defines The Internal Name of The
Object, Based on The Object Type.• For Object Types of GLOBAL And PARAMETER, The Target
Object Name Must Not Include The “GLOBAL” And“PARAMETER” Keywords.
Property Name• Property Name Defines The Properties That Can Be
Personalized Based on The Object Type That Has BeenSelected in The Previous Step.
• The Object Type of Item Supports A Vast Array ofProperties Which IncludeItem-Level Properties• Item-Level Properties Set The Property For All
Instances of That Object.Item-Instance Properties• Item-Instance Properties Set The Property For The
Current Record of That Block UsingSET_ITEM_INSTANCE_PROPERTY()
Applications Cover Properties• Applications Cover Properties Are A Hybrid of
Wednesday, July 04, 2012 Oracle Apps R12 By Satish K Yellanki (SkyEss Techno Solutions Pvt. Ltd.) Slide : 16
• Applications Cover Properties Are A Hybrid ofMultiple Item And Item-Instance Level Properties.
Value• Value Defines The New Value That Should Be Applied To
The Object.• The Appearance And Validation of This Field Changes
Based on Whether• The Property Accepts Boolean Values Which Can Be
Only TRUE OR FALSE.• NUMBERS,• A Restricted Set of Values• A String
Get Value• Get Value Button Gets The Current Property Value of The
Object.
Wednesday, July 04, 2012 Oracle Apps R12 By Satish K Yellanki (SkyEss Techno Solutions Pvt. Ltd.) Slide : 17