Form Personalization

17
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

description

Form Personalization

Transcript of Form Personalization

Page 1: 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

Page 2: 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.

Page 3: Form Personalization

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

Page 4: Form Personalization

• 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.

Page 5: Form Personalization

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.

Page 6: Form Personalization

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

Page 7: Form Personalization

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.

Page 8: Form Personalization

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.

Page 9: Form Personalization

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.

Page 10: Form Personalization

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

Page 11: Form Personalization

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.

Page 12: Form Personalization

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.

Page 13: Form Personalization

• 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.

Page 14: Form Personalization

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.

Page 15: Form Personalization

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.

Page 16: Form Personalization

• 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

Page 17: Form Personalization

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