Oracle forms personalization

kaushikkumar11 26,442 views 84 slides Aug 27, 2013
Slide 1
Slide 1 of 84
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69
Slide 70
70
Slide 71
71
Slide 72
72
Slide 73
73
Slide 74
74
Slide 75
75
Slide 76
76
Slide 77
77
Slide 78
78
Slide 79
79
Slide 80
80
Slide 81
81
Slide 82
82
Slide 83
83
Slide 84
84

About This Presentation

No description available for this slideshow.


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

3
Business Benefit – $aves Money!
*NQMFNFOUTFDVSJUZQPMJDJFT
-FTT
%FWFMPQNFOU
5JNF
3FEVDF
"VEJU$PTUT
3FEVDF
1SPDFTTJOH
5JNF
"EBQUUFSNJOPMPHZUPZPVS
CVTJOFTTXJUIPVUDPEJOH
"UUBDIFYUFOTJPOTr
TFBNMFTTQSPDFTTJOHQPXFS
4QFFEVQEBUBFOUSZr
NPWFPSFMJNJOBUFGJFMET
"EEWBMJEBUJPOTr
SFEVDFEFSSPSDPSSFDUJPO
3FEVDF
6QHSBEF$PTUT
3FEVDF
5SBJOJOH5JNF
%FDMBSBUJWF.FOV%SJWFO5PPMT
#VTJOFTT6TFS'SJFOEMZ
4VSWJWFTQBUDIJOH

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

48
OA Framework Personalizations
1FSTPOBMJ[F
4FMG4FSWJDF
%FGO:FT
'/%1FSTPOBMJ[BUJPO
3FHJPO-JOL&OBCMFE
:FT
'/%%JBHOPTUJDT
:FT

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



0QUJPOTGPS
QFSTPOBMJ[BUJPO
DIBOHFCBTFEPO
PCKFDUUZQF

55
Example #6 – Remove a button results
• Click the Return to Application button

#VUUPOJTHPOF
4IPXODPMVNOJT
OPXOVMMTJODF
SFOEFSFEGBMTF

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

83
5IF3FMFBTF1SJNFSr
4IJOJOHB-JHIUPOUIF
3FMFBTF8PSME

5IF"#$TPG8PSLGMPXGPS0SBDMF
&#VTJOFTT4VJUF3FMFBTFJBOE
3FMFBTF

84
2VFTUJPOTBOE"OTXFST

5IBOL:PV

4VTBO#FIO
TVTBOCFIO!JOGPTFNBOUJDTDPN