You are on page 1of 84

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

Declarative Menu Driven Tools


Business User Friendly
Survives patching

Reduce
Processing
Time

Adapt terminology to your


business without coding

Reduce
Audit Costs

Attach extensions
seamless processing power

Speed up data entry


move or eliminate fields

Add validations
reduced error correction
Implement security policies

Reduce
Upgrade Costs

Reduce
Training Time

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

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

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)

17

Tip: For initial


development, set
context to your user
id

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

36

Don t need to
know object
name

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

FND: Personalization
Region Link Enabled
= Yes

FND: Diagnostics
= Yes

48

Personalize
Self-Service
Defn = Yes

OA Framework Examples

49

Remove a button
Change prompts
Hide/reorder columns in a table
Set initial values
Display a field

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

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

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

64

Click
pencil
to edit

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

83

The Release 12 Primer


Shining a Light on the
Release 12 World

Questions and Answers

Thank You!
Susan Behn
susan.behn@infosemantics.com

84

You might also like