Forms and OA Framework Personalization Examples in R11i/R12
Presented By
Susan Behn
VP, Oracle Practice
Central States OAUG Spring 2011 St. Louis Conference
Agenda
Why
Business Benefit
What
Overview of Personalization Tools
How
Forms Personalization Examples OA Framework Personalization Examples Migration to other instances
References
Business Benefit $aves Money!
Less Development Time Reduce Processing Time Declarative Menu Driven Tools Business User Friendly Survives patching Adapt terminology to your business without coding Speed up data entry move or eliminate fields Attach extensions seamless processing power Add validations reduced error correction Implement security policies Reduce Training Time Reduce Upgrade Costs
Reduce Audit Costs
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
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
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)
Overview OA Framework Personalizations OA Framework Personalization is for selfservice applications
Introduced with 11.5.9
Apply Patch 3323690
Standard with 11.5.10 and Release 12
Requires functional superuser
Minimal technical expertise required
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)
Forms 6i and10g Personalizations
Setup and Use Examples Tips
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
10
Accessing Forms Personalization
Access the form or function needing personalization Help Diagnostics Custom Code Personalize
11
Forms Personalization
1 100 Reusable
Form/Function Default = Function Most often should be Form
12
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
13
Forms Personalization - Standard Trigger Events
WHEN-NEW-FORM-INSTANCE
WHEN-NEW-BLOCK-INSTANCE
Security rules, Navigation rules, Visual attributes Same as WHEN-NEW-FORM-INSTANCE Message rules Default values
WHEN-NEW-RECORD-INSTANCE WHEN-NEW-ITEM-INSTANCE
Message rules Default values dependent on entry of another item
14
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)
15
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
16
Forms Personalization Context
Who does this rule apply to?
Site Responsibility User Use this for testing rules Industry (For future use)
Tip: For initial development, set context to your user id
17
Forms Personalization - Property Actions
Sequence non unique (1 100) Type property, message, built-in, menu Description (Optional) Language use to change prompts for language
Prompts change depending on action type
18
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
19
Example #1 Display Message
How
Enter header details
Condition is checked when the user accesses the journal name field
Message appears Feb 1 Feb 20 every year
20
Example #1 Display Message
Action type = 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
21
Example #1 Display Message
Result
Click OK to continue
22
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
23
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.
24
Example #2 Data Access Restrictions
Change the default where clause to prevent retrieval of employee invoices based on user id
vendor_id NOT IN (SELECT vendor_id FROM po_vendors pv , fnd_user fusr WHERE fusr.user_id = fnd_profile.value('USER_ID') AND fusr.employee_id = pv.employee_id )
25
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
26
Example #3 Menu Entries
How - Step 1 establish the menu entry
Trigger Event = WHEN-NEW-FORM-INSTANCE
Use WHEN-NEW-FORMINSTANCE for visual changes Such as establishing menu entries
27
Example #3 Menu Entries
Menu action type only displays the menu
Note Menu Entry # for step 2
28
Example #3 Menu Entries
Step 2 create the action for the menu entry
Trigger Event = MENU# chosen in step 1
29
Example #3 Menu Entries
Step 2 create the action for the menu entry
Use validate button to check sql fragment
30
Example #3 Menu Entries
Result
Choose menu item
31
Example #3 Menu Entries
Result
Message is displayed
32
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
33
Example #4 Masking Data
What
Mask the tax id (11i)
Supplier form has moved to OA Framework in R12
Why
Compliance
Secure sensitive data
34
Example #4 Masking Data
How - Change form appearance at WHEN-NEW-FORM-INSTANCE trigger
35
Example #4 Masking Data
CONCEAL_DATA = TRUE - replaces data with * DISPLAYED = FALSE hides field completely
Use Select By Text button to find correct object by prompt
Don t need to know object name
36
Example #4 Masking Data
Result
37
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
38
Example #5 Changing LOVs
Taxpayer ID is also on LOVs for find windows
39
Example #5 Changing LOVs
HOW Use Create a new record group Builtin
Must have the same number of fields as existing Record group
40
Example #5 Changing LOVs
Assign the new record group to the LOV used for Supplier name
Record group created in previous slide
41
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
42
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
43
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
44
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
45
OA Framework Personalizations
Setup and Use Examples 6 - 10
46
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
47
OA Framework Personalizations
Personalize Self-Service Defn = Yes
FND: Personalization Region Link Enabled = Yes
FND: Diagnostics = Yes
48
OA Framework Examples
Remove a button Change prompts Hide/reorder columns in a table Set initial values Display a field
49
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
50
Example #6 Remove a button
How Click Personalize Page button
Start with Personali ze Page
51
Example #6 Remove a button
Biggest challenge finding the item to personalize Simple View Complete View Expand All <ctrl> F Collapse All Focus
52
Example #6 Remove a button
My favorite expand all and use <crtl> F
Click pencil to edit
53
Example #6 Remove a button
Set rendered = false and click Apply button
Options for personalization change based on object type
54
Example #6 Remove a button results
Click the Return to Application button
Shown column is now null since rendered = false
Button is gone
55
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
56
Example #7 Change Prompts
What
Change Id to Notification Id
Why
Clarify description of field Eliminate confusion Less training Tip: Changing prompts to your own business terminology
speeds up training of new employees and reduces error rates!
57
Example #7 Change Prompts
How
Click the Personalize Page button and find the Id using <ctrl> F
58
Example #7 Change Prompts
How - Click the pencil
Click pencil to edit
59
Example #7 Change Prompts
How Change the prompt at the site level
Site Level Personalization
60
Example #7 Change Prompts
Result prompt changed
61
Example #8 Hide/Reorder Columns in a table
What
Hide the Duplicate column to prevent users from duplicating expense reports Reorder columns 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
Why
62
Example #8 Hide/Reorder Columns in a table
How
Click the Personalize Page button Use strategies on next slide to find the Duplicate column
63
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
Click pencil to edit
64
Example #8 Hide/Reorder Columns in a table
Set Rendered = false
Duplicate column is gone
65
Example #8 Hide/Reorder Columns in a table
Find the table to reorder table columns
Turn on region links to find tables easier
Click the reorder icon at the table level
66
Example #8 Hide/Reorder Columns in a table
Check personalization level Use arrows to move fields up or down
67
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
68
Example #9 Set Initial Values How
In the appropriate responsibility, click the Personalize Page button
69
Example #9 Set Initial Values Set the initial value based on the responsibility
70
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
71
Example #10 Add Item
How First create the text for the Tip through the Functional Administrator responsibility
72
Example #10 Add Item Go to the receiving page where the tip is to be added and click Personalize Page
73
Example #10 Add Item Find the item for tips and click the create item button
Click to create new items such as buttons, text, messages, tips, raw text
74
Example #10 Add Item
Enter the item style, id, Text to identify the tip and the message name for the message created
75
Example #10 Add Item
New tip is added
76
Customizations and Personalizations
WARNING
Customizations or Personalizations, whether they are protected or non protected, allow you to fundamentally change the behavior of the application.
This could interfere with intended functionality.
Use with caution! TEST! TEST! TEST! TEST! TEST!
77
Customizations and Personalizations
THEN TEST IT AGAIN!
***BUT NOT IN PRODUCTION**
78
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>
79
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
80
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
81
References
Oracle Application Framework Personalization Guide Oracle Applications User Interface Standards for FormsBased Products Oracle Applications Developers Guide Oracle Applications System Administrators Guide Oracle Applications User Guide My Oracle Support ID: 279034.1 Forms Personalization
82
The ABCs of Workflow for Oracle E-Business Suite Release 11i and Release 12
The Release 12 Primer Shining a Light on the Release 12 World
83
Questions and Answers
84