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

Forms and OA Framework Personalization Examples in R11i/R12Oracle Personalization

  • Upload
    lucky76

  • View
    61

  • Download
    5

Embed Size (px)

DESCRIPTION

Forms and OA Framework PersonalizationExamples in R11i/R12

Citation preview

Page 1: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

Forms and OA Framework Personalization Examples in R11i/R12

Presented By Susan Behn

VP, Oracle Practice

Central States OAUG Spring 2011 St. Louis Conference

Page 2: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

2

Agenda •  Why

– Business Benefit •  What

– Overview of Personalization Tools •  How

– Forms Personalization Examples – OA Framework Personalization Examples – Migration to other instances

•  References

Page 3: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

3

Business Benefit – $aves Money!

Implement security policies

Less Development Time

Reduce Audit Costs

Reduce Processing Time

Adapt terminology to your business without coding

Attach extensions ‒ seamless processing power

Speed up data entry ‒ move or eliminate fields

Add validations ‒ reduced error correction

Reduce Upgrade Costs

Reduce Training Time

Declarative Menu Driven Tools Business User Friendly

Survives patching

Page 4: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 5: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 6: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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)

Page 7: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 8: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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)

Page 9: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

9

Forms 6i and10g Personalizations Setup and Use

Examples Tips

Page 10: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 11: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

11

Accessing Forms Personalization •  Access the form or function needing personalization •  Help à Diagnostics à Custom Code à Personalize

Page 12: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

12

Forms Personalization

Form/Function Default = Function Most often should be Form

1 ‒ 100 Reusable

Page 13: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 14: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 15: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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)

Page 16: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 17: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

17

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

Page 18: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Prompts change depending on action type

Page 19: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 20: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

20

Example #1 – Display Message

•  How

Message appears Feb 1 ‒ Feb 20 every year

Condition is checked when the user accesses the journal name field

Enter header details

Page 21: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Action type = message

Page 22: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

22

Example #1 – Display Message

•  Result

Click OK to continue

Page 23: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 24: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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.

Page 25: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

25

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 )

Page 26: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 27: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

27

Example #3 – Menu Entries

•  How - Step 1 – establish the menu entry •  Trigger Event = WHEN-NEW-FORM-INSTANCE

Use WHEN-NEW-FORM-INSTANCE for visual changes Such as establishing menu entries

Page 28: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

28

Example #3 – Menu Entries

•  Menu action type only displays the menu Note Menu Entry # for step 2

Page 29: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

29

Example #3 – Menu Entries

•  Step 2 – create the action for the menu entry – Trigger Event = MENU# chosen in step 1

Page 30: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

30

Example #3 – Menu Entries

•  Step 2 – create the action for the menu entry

Use validate button to check sql fragment

Page 31: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

31

Example #3 – Menu Entries

•  Result

Choose menu item

Page 32: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

32

Example #3 – Menu Entries

•  Result Message is displayed

Page 33: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 34: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 35: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

35

Example #4 – Masking Data

•  How - Change form appearance at WHEN-NEW-FORM-INSTANCE trigger

Page 36: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

36

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

Page 37: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

37

Example #4 – Masking Data

•  Result

Page 38: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 39: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

39

Example #5 – Changing LOVs

•  Taxpayer ID is also on LOVs for find windows

Page 40: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

40

Example #5 – Changing LOVs •  HOW – Use Create a new record group Builtin

Must have the same number of fields as existing Record group

Page 41: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

41

Example #5 – Changing LOVs •  Assign the new record group to the LOV used for

Supplier name

Record group created in previous slide

Page 42: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 43: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 44: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 45: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 46: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

46

OA Framework Personalizations Setup and Use

Examples 6 - 10

Page 47: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 48: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

48

OA Framework Personalizations

Personalize Self-Service Defn = Yes

FND: Personalization Region Link Enabled = Yes

FND: Diagnostics = Yes

Page 49: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

49

OA Framework Examples

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

Page 50: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 51: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

51

Example #6 – Remove a button

•  How – Click Personalize Page button

Start with Personalize Page

Page 52: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

52

Example #6 – Remove a button •  Biggest challenge – finding the item to personalize

–  Simple View –  Complete View –  Expand All –  <ctrl> F –  Collapse All –  Focus

Page 53: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

53

Example #6 – Remove a button

•  My favorite – expand all and use <crtl> F

Click pencil to edit

Page 54: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

54

Example #6 – Remove a button

•  Set rendered = false and click Apply button

Options for personalization change based on object type

Page 55: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

55

Example #6 – Remove a button results

•  Click the Return to Application button

Button is gone

Shown column is now null since rendered = false

Page 56: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 57: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

57

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!

Page 58: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

58

Example #7 – Change Prompts

•  How – Click the Personalize Page button and find the

Id using <ctrl> F

Page 59: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

59

Example #7 – Change Prompts

•  How - Click the pencil

Click pencil to edit

Page 60: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

60

Example #7 – Change Prompts

•  How – Change the prompt at the site level

Site Level Personalization

Page 61: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

61

Example #7 – Change Prompts

•  Result – prompt changed

Page 62: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 63: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 64: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Click pencil to edit

Page 65: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

65

Example #8 – Hide/Reorder Columns in a table

Set Rendered = false

Duplicate column is gone

Page 66: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

66

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

Page 67: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

67

Example #8 – Hide/Reorder Columns in a table

•  Check personalization level •  Use arrows to move fields up or down

Page 68: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 69: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

69

Example #9 – Set Initial Values

•  How –  In the appropriate responsibility, click the

Personalize Page button

Page 70: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

70

Example #9 – Set Initial Values

•  Set the initial value based on the responsibility

Page 71: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 72: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

72

Example #10 – Add Item

•  How – First create the text for the Tip through the Functional Administrator responsibility

Page 73: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

73

Example #10 – Add Item

•  Go to the receiving page where the tip is to be added and click Personalize Page

Page 74: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

74

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

Page 75: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

75

Example #10 – Add Item •  Enter the

item style, id, Text to identify the tip and the message name for the message created

Page 76: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

76

Example #10 – Add Item

New tip is added

Page 77: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

77

Customizations and Personalizations

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!

WARNING

Page 78: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

78

Customizations and Personalizations

…THEN TEST IT AGAIN!

***BUT NOT IN PRODUCTION**

Page 79: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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>

Page 80: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 81: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 82: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

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

Page 83: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

83

The Release 12 Primer ‒ Shining a Light on the Release 12 World

The ABCs of Workflow for Oracle E-Business Suite Release 11i and

Release 12

Page 84: Forms and OA Framework Personalization  Examples in R11i/R12Oracle Personalization

84

Questions and Answers

Thank You!

Susan Behn

[email protected]