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

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

84

You might also like