kaushikkumar11
26,442 views
84 slides
Aug 27, 2013
Slide 1 of 84
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
About This Presentation
No description available for this slideshow.
Size: 4.05 MB
Language: en
Added: Aug 27, 2013
Slides: 84 pages
Slide Content
Forms and OA Framework Personalization
Examples in R11i/R12
Presented By
Susan Behn
VP, Oracle Practice
Central States OAUG Spring 2011 St. Louis Conference
2
Agenda
• Why
– Business Benefit
• What
– Overview of Personalization Tools
• How
– Forms Personalization Examples
– OA Framework Personalization Examples
– Migration to other instances
• References
4
Overview
• Personalizations – declaratively alter
behavior or appearance using tools
provided by Oracle
• Personalization Tools
– Forms personalizations
• Professional Forms 6i or 10g
– OA Framework Personalizations
– CUSTOM.pll
• Programmatic tool prior to 11.5.10
• Professional forms only
5
Overview – Forms Personalization
• Requires superuser with some sql skills
• Survive patching and upgrades
– Includes post patch/upgrade validation process
• Most changes traditionally done using
CUSTOM.pll can be accomplished using Forms
Personalization
• Effective immediately – no coding, no compiling
• Forms Personalizations fire prior to CUSTOM.pll
for the same event
6
Overview – Forms Personalizations
What you can do?
• Speed up data entry and processing
– Hide fields, tabs
– Change order of fields
– Set default values
– Call other forms or web address from tool bar
– Execute processes from tool bar
• Improve security and audit controls
– Make fields required
– Restrict insert or update
• Adapt to your business rules/self training
– Change prompts and labels
– Alter List of Values (LOVs)
7
Overview – OA Framework Personalizations
• OA Framework Personalization is for self-
service applications
– Introduced with 11.5.9
• Apply Patch 3323690
– Standard with 11.5.10 and Release 12
• Requires functional superuser
– Minimal technical expertise required
8
Overview – OA Framework Personalizations
What you can do?
• Speed up data entry and processing
– Reorder Columns
– Hide Columns
– Set Initial Values
• Improve security and audit controls
– Remove Buttons
– Change Field Attributes – make fields required
• Adapt to your business rules/self training
– Change Page and Section Headers
– Change Field and Column Names
– Change Button Names
– Add Items (Buttons, Fields, Tips and more)
9
Forms 6i and10g Personalizations
Setup and Use
Examples
Tips
10
Setup – Profile Options – Form
Personalizations
• Hide Diagnostics menu entry
– Set to No to see the menu
• Utilities: Diagnostics
– Set to No to require apps password
11
Accessing Forms Personalization
• Access the form or function needing personalization
• Help ! Diagnostics ! Custom Code ! Personalize
12
Forms Personalization
'PSN'VODUJPO
%FGBVMU'VODUJPO
.PTUPGUFOTIPVMECF
'PSN
r
3FVTBCMF
13
Forms Personalization – Condition Tab
• Trigger event determines when the rule fires
– Use standard trigger events (next slide)
– Use specific events unique to the form (With Caution)
• Find additional events using Help !Diagnostics !Custom Code
!Show Custom Events
• Trigger object depends on trigger event
– WHEN-NEW-BLOCK-INSTANCE requires block name
14
Forms Personalization - Standard Trigger Events
• WHEN-NEW-FORM-INSTANCE
– Security rules, Navigation rules, Visual attributes
• WHEN-NEW-BLOCK-INSTANCE
– Same as WHEN-NEW-FORM-INSTANCE
– Message rules
• WHEN-NEW-RECORD-INSTANCE
– Default values
• WHEN-NEW-ITEM-INSTANCE
– Message rules
– Default values dependent on entry of another
item
15
Forms Personalization - Standard Trigger Events
• WHEN-VALIDATE-RECORD
– Populate hidden fields
– Additional validations
• SPECIALn
– Populate tools menu (SPECIAL 1-15)
– Populate reports menu (SPECIAL 16-30)
– Populate actions menu (SPECIAL 31-45)
• MENUn
– Populate tools menu (MENU1-15)
16
Forms Personalization – Condition Tab
• Condition
– Optional SQL code fragment to limit scope of rule
– Use bind variables (:block.field)
– Evaluates to true or false – use for complex
validation
17
Forms Personalization – Context
• Who does this rule apply to?
4JUF
3FTQPOTJCJMJUZ
6TFSr6TFUIJTGPS
UFTUJOHSVMFT
*OEVTUSZ 'PSGVUVSFVTF
5JQ'PSJOJUJBM
EFWFMPQNFOUTFU
DPOUFYUUPZPVSVTFS
JE
18
Forms Personalization - Property Actions
• Sequence – non unique (1 – 100)
• Type – property, message, built-in, menu
• Description – (Optional)
• Language – use to change prompts for language
1SPNQUTDIBOHF
EFQFOEJOHPO
BDUJPOUZQF
19
Example #1 – Display Message
• What
– GL Journal Entry – Remind users to change the
period name the first 20 days of the fiscal year
• Why
– During year end close, the final period is open
longer resulting in mistakes
– Save time and money by reducing errors
– Reduce time for training through use of
automated messages
20
Example #1 – Display Message
• How
.FTTBHFBQQFBST
'FCr'FCFWFSZ
ZFBS
$POEJUJPOJTDIFDLFEXIFOUIFVTFS
BDDFTTFTUIFKPVSOBMOBNFGJFME
&OUFS
IFBEFS
EFUBJMT
21
Example #1 – Display Message
• Message Types
– Show – Informational Message
– Hint – Appear on status bar
– Error – Requires user response – raises form_trigger_failure
– Debug – Only displays if debug mode is set to Show Debug
Messages
– Warn – Informational message with caution symbol – raises
form_trigger_failure
"DUJPOUZQF
NFTTBHF
22
Example #1 – Display Message
• Result
$MJDL0,UP
DPOUJOVF
23
Example #2 – Data Access Restrictions
• What
– Restrict users from entering or retrieving their
own invoice
• Why
– Audit control
– Theft prevention
• How
– Requires minimal SQL skills
24
Example #2 – Data Access Restrictions
• Enter header and condition tab details
– WHEN-NEW-BLOCK-INSTANCE for the invoice
block controls access at the invoice level.
25
Example #2 – Data Access Restrictions
• Change the default where clause to prevent
retrieval of employee invoices based on user id
WFOEPS@JE/05*/
4&-&$5WFOEPS@JE
'30.QP@WFOEPSTQW
GOE@VTFSGVTS
8)&3&GVTSVTFS@JEGOE@QSPGJMFWBMVF 64&3@*%
"/%GVTSFNQMPZFF@JEQWFNQMPZFF@JE
26
Example #3 – Menu Entries
• What
– Create a menu item to display the invoice id
• Why
– Access to invoice id makes workflow and
invoice approval troubleshooting faster
27
Example #3 – Menu Entries
• How - Step 1 – establish the menu entry
• Trigger Event = WHEN-NEW-FORM-INSTANCE
6TF8)&//&8'03.
*/45"/$&GPSWJTVBMDIBOHFT
4VDIBTFTUBCMJTIJOHNFOVFOUSJFT
28
Example #3 – Menu Entries
• Menu action type only displays the menu
/PUF.FOV
&OUSZGPS
TUFQ
29
Example #3 – Menu Entries
• Step 2 – create the action for the menu entry
– Trigger Event = MENU# chosen in step 1
30
Example #3 – Menu Entries
• Step 2 – create the action for the menu entry
6TFWBMJEBUFCVUUPOUP
DIFDLTRMGSBHNFOU
31
Example #3 – Menu Entries
• Result
$IPPTF
NFOVJUFN
32
Example #3 – Menu Entries
• Result
.FTTBHFJT
EJTQMBZFE
33
Another Example – Menu Entries
• What
– Create invoice tax distributions for use tax for invoices where
sales tax was not charged
• Why
– Less manual processing saves money
• Reduces data entry time
• Eliminates calculation errors
• How
– Create a PL/SQL procedure which uses Oracle standard APIs to
calculate and create distributions
– Call procedure from menu item with Execute a Procedure Builtin
34
Example #4 – Masking Data
• What
– Mask the tax id (11i)
• Supplier form has moved to OA Framework in R12
• Why
– Compliance
• Secure sensitive data
35
Example #4 – Masking Data
• How - Change form appearance at
WHEN-NEW-FORM-INSTANCE trigger
36
Example #4 – Masking Data
• CONCEAL_DATA = TRUE - replaces data with *
• DISPLAYED = FALSE – hides field completely
6TF4FMFDU#Z
5FYUCVUUPOUP
GJOEDPSSFDU
PCKFDUCZQSPNQU
%PO`UOFFEUP
LOPXPCKFDU
OBNF
37
Example #4 – Masking Data
• Result
38
Example #5 – Changing LOVs
• What
– Remove Taxpayer ID from List of Values
(LOVs) for find window
• Why
– Compliance
• Secure Sensitive Data
– Adapt to business/Reduce training time
• Limit LOVs to only display data applicable to
business
39
Example #5 – Changing LOVs
• Taxpayer ID is also on LOVs for find windows
40
Example #5 – Changing LOVs
• HOW – Use Create a new record group Builtin
.VTUIBWFUIFTBNF
OVNCFSPGGJFMETBT
FYJTUJOH3FDPSEHSPVQ
41
Example #5 – Changing LOVs
• Assign the new record group to the LOV used for
Supplier name
3FDPSEHSPVQ
DSFBUFEJO
QSFWJPVTTMJEF
42
Example #5 – Changing LOVs
• Result
• Additional steps
– Mask the tax id on the find window
– Replace the tax id with the end date for the supplier
number LOV
43
Other Process Improvement Features
• Utilize the following Builtins to improve process flows
– Launch SRS Form – runs concurrent request
– Launch a Function – call another form
– Launch a URL – call any web page
– DO_KEY
• DO_KEY(‘NEXT_BLOCK’) will force query execution for find window
– GO_ITEM, GO_BLOCK – change navigation
• Use to prevent update to a field where navigation is needed to populate
– EXECUTE_TRIGGER
• Execute form trigger, not database trigger
• Use after setting default values to ensure internal code executes
44
Forms Personalization – Tips
• Exit and re-open the form to see
personalization changes
• Use debug messages before and after
events
• Apply Now button - see the results
– Does not always work if dependant on the results
of another action
• Turn custom code off - Help ! Diagnostics
! Custom Code ! Off
45
Forms Personalization Maintenance
• After upgrades, go to the personalization for each form
and choose Tools ! Validate All
• Tools ! Administration will show personalized forms
– Press the Find button with the Form Name blank
46
OA Framework Personalizations
Setup and Use
Examples 6 - 10
47
Setup – Profile Options – OA Framework
Personalizations
• Personalize Self-Service Defn
– Yes to allow ‘Personalize’ button to appear at the top of the page
• FND: Personalization Region Link Enabled
– Yes to display all the regional links above each region
– Minimal to display key regional links
• Disable Self-Service Personal
– Yes will disable all personalizations at any level
• FND: Diagnostics
– Turns on ‘About this Page’
• FND: Personalization Document Root Path (new in 11.5.10)
– Required to migrate personalizations
– Set this profile option to a tmp directory with open (777) permissions
49
OA Framework Examples
• Remove a button
• Change prompts
• Hide/reorder columns in a table
• Set initial values
• Display a field
50
Example #6 – Remove a button
• What
– Remove the Import Spreadsheet button in iExpenses for a
separate responsibility where iExpenses is utilized for
procurement card transactions
• Why – Process Improvement
– Adapt to your own business processes without customization
• Importing Spreadsheets is not applicable to this business function
– No cash or out of pocket transactions for procurement cards
• More details: Using Personalizations to Give Your Self
Service Applications a Custom Look and Feel
– http://www.solutionbeacon.com/
PersonalizationsOpenWorld2008.pdf
51
Example #6 – Remove a button
• How – Click Personalize Page button
4UBSUXJUI
1FSTPOBMJ
[F1BHF
52
Example #6 – Remove a button
• Biggest challenge – finding the item to personalize
– Simple View
– Complete View
– Expand All
– <ctrl> F
– Collapse All
– Focus
53
Example #6 – Remove a button
• My favorite – expand all and use <crtl> F
$MJDLQFODJMUP
FEJU
54
Example #6 – Remove a button
• Set rendered = false and click Apply
button
56
Personalization Levels / Inheritance
• Personalizations at lower levels override
personalizations at higher levels
• Values inherit the definition from the level
immediately above unless changed
• Order of precedence from highest to lowest:
– Function
– Site
– Operating Unit
– Responsibility
57
Example #7 – Change Prompts
• What
– Change Id to Notification Id
• Why
– Clarify description of field
– Eliminate confusion
– Less training
5JQ$IBOHJOHQSPNQUTUPZPVSPXOCVTJOFTTUFSNJOPMPHZ
TQFFETVQUSBJOJOHPGOFXFNQMPZFFTBOESFEVDFTFSSPS
SBUFT
58
Example #7 – Change Prompts
• How
– Click the Personalize Page button and find the
Id using <ctrl> F
59
Example #7 – Change Prompts
• How - Click the pencil
$MJDLQFODJMUP
FEJU
60
Example #7 – Change Prompts
• How – Change the prompt at the site level
4JUF-FWFM
1FSTPOBMJ[BUJPO
61
Example #7 – Change Prompts
• Result – prompt changed
62
Example #8 – Hide/Reorder
Columns in a table
• What
– Hide the Duplicate column to prevent users from
duplicating expense reports
– Reorder columns
• Why
– Hastily duplicating expense reports increased
error rates
– For the procurement card usage of iExpenses,
this functionality did not apply
– Reorder columns to match desired data entry flow
for faster entry
63
Example #8 – Hide/Reorder
Columns in a table
• How
– Click the Personalize Page button
– Use strategies on next slide to find the
Duplicate column
64
Example #8 – Hide/Reorder
Columns in a table
• The button to duplicate is called a Switcher
– Switchers allow users to “switch” to another
function
• Finding tip
– Look for other columns in the table if searching
for a common word
• Report Total
• Purpose
$MJDL
QFODJM
UPFEJU
65
Example #8 – Hide/Reorder
Columns in a table
4FU3FOEFSFE
GBMTF
%VQMJDBUF
DPMVNOJTHPOF
66
Example #8 – Hide/Reorder
Columns in a table
• Find the table to reorder table columns
– Turn on region links to find tables easier
$MJDLUIFSFPSEFS
JDPOBUUIFUBCMF
MFWFM
67
Example #8 – Hide/Reorder
Columns in a table
• Check personalization level
• Use arrows to move fields up or down
68
Example #9 – Set Initial Values
• What
– Set the initial value for the Purpose at the
Responsibility level as follows:
• Expense report responsibilities
– Purpose = ‘Internet Expenses’
• Procurement card responsibilities
– Purpose = “Procurement card”
• Why
– Save time
• Streamline data entry
69
Example #9 – Set Initial Values
• How
– In the appropriate responsibility, click the
Personalize Page button
70
Example #9 – Set Initial Values
• Set the initial value based on the
responsibility
71
Example #10 – Add Item
• What
– Add Tips to provide additional instructions
– Add a tip to direct users to the corporate
receiving training application
• Why
– Make new users self sufficient
– Reduce training costs
– Reduce errors
72
Example #10 – Add Item
• How – First create the text for the Tip through
the Functional Administrator responsibility
73
Example #10 – Add Item
• Go to the receiving page where the tip is
to be added and click Personalize Page
74
Example #10 – Add Item
• Find the item for tips and click the create
item button
$MJDLUPDSFBUFOFXJUFNT
TVDIBTCVUUPOTUFYU
NFTTBHFTUJQTSBXUFYU
75
Example #10 – Add Item
• Enter the
item style,
id, Text to
identify the
tip and the
message
name for
the
message
created
76
Example #10 – Add Item
/FXUJQJTBEEFE
77
Customizations and Personalizations
$VTUPNJ[BUJPOTPS1FSTPOBMJ[BUJPOTXIFUIFSUIFZBSF
QSPUFDUFEPSOPOQSPUFDUFEBMMPXZPVUPGVOEBNFOUBMMZ
DIBOHFUIFCFIBWJPSPGUIFBQQMJDBUJPO
5IJTDPVMEJOUFSGFSFXJUIJOUFOEFE
GVODUJPOBMJUZ
6TFXJUIDBVUJPO
5&455&455&455&455&45
8"3/*/(
78
Customizations and Personalizations
…THEN TEST IT
AGAIN!
#65/05*/130%6$5*0/
79
Migration to Other Instances
Forms Personalizations
• Download for a specific form:
– FNDLOAD <userid>/<password> 0 Y DOWNLOAD $FND_TOP/
patch/115/import/affrmcus.lct <filename.ldt>
FND_FORM_CUSTOM_RULES form_name=<form name>
• Download all personalizations
– FNDLOAD <userid>/<password> 0 Y DOWNLOAD $FND_TOP/
patch/115/import/affrmcus.lct <filename.ldt>
FND_FORM_CUSTOM_RULES
• Upload
– FNDLOAD <userid>/<password> 0 Y UPLOAD $FND_TOP/
patch/115/import/affrmcus.lct <filename.ldt>
80
Migration to Other Instances
OA Framework Personalizations
• Migrate OA Framework Personalizations from the
Functional Administrator Responsibility
– Export to directory defined in FND: Personalization Document
Root Path
– FTP to target instance
– Import from Document Root Path directory
81
Summary
• Personalizations reduce customizations
• Personalizations are easy to implement
• Personalizations can save you money
– Less customizations result in lower maintenance
cost and lower patching/upgrade costs
– Increase compliance reducing audit cost
– Speed up data entry
– Decrease error rates
– Reduce training costs
– Make users self sufficient
82
References
• Oracle Application Framework Personalization Guide
• Oracle Applications User Interface Standards for Forms-
Based Products
• Oracle Applications Developer’s Guide
• Oracle Applications System Administrator’s Guide
• Oracle Applications User Guide
• My Oracle Support ID: 279034.1 – Forms
Personalization