Your SlideShare is downloading. ×
Personalizations v2
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Personalizations v2

4,149
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
4,149
On Slideshare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 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 •  References2
  • 3. Business Benefit – $aves Money! Less Declarative Menu Driven Tools Development Business User Friendly Time Reduce Survives patching Upgrade Costs Reduce Adapt terminology to your Processing business without coding Time Speed up data entry ‒ Reduce move or eliminate fields Training Time Reduce Attach extensions ‒ Audit Costs seamless processing power Add validations ‒ reduced error correction Implement security policies3
  • 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 only4
  • 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 event5
  • 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)6
  • 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 required7
  • 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)8
  • 9. Forms 6i and10g Personalizations Setup and Use Examples Tips9
  • 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 password10
  • 11. Accessing Forms Personalization •  Access the form or function needing personalization •  Help à Diagnostics à Custom Code à Personalize11
  • 12. Forms Personalization 1 ‒ 100 Reusable Form/Function Default = Function Most often should be Form12
  • 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 name13
  • 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 item14
  • 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)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 validation16
  • 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 id17
  • 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 type18
  • 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 messages19
  • 20. Example #1 – Display Message •  HowEnterheaderdetails Condition is checked when the user accesses the journal name field Message appears Feb 1 ‒ Feb 20 every year 20
  • 21. 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_failure21
  • 22. Example #1 – Display Message •  Result Click OK to continue22
  • 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 skills23
  • 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.24
  • 25. Example #2 – Data Access Restrictions •  Change the default where clause to prevent retrieval of employee invoices based on user idvendor_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
  • 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 faster26
  • 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 entries27
  • 28. Example #3 – Menu Entries •  Menu action type only displays the menu Note Menu Entry # for step 228
  • 29. Example #3 – Menu Entries •  Step 2 – create the action for the menu entry –  Trigger Event = MENU# chosen in step 129
  • 30. Example #3 – Menu Entries •  Step 2 – create the action for the menu entry Use validate button to check sql fragment30
  • 31. Example #3 – Menu Entries •  Result Choose menu item31
  • 32. Example #3 – Menu Entries •  Result Message is displayed32
  • 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 Builtin33
  • 34. Example #4 – Masking Data •  What –  Mask the tax id (11i) •  Supplier form has moved to OA Framework in R12 •  Why –  Compliance •  Secure sensitive data34
  • 35. Example #4 – Masking Data •  How - Change form appearance at WHEN-NEW-FORM-INSTANCE trigger35
  • 36. Example #4 – Masking Data •  CONCEAL_DATA = TRUE - replaces data with * •  DISPLAYED = FALSE – hides field completely Don t need to know object Use Select By name Text button to find correct object by prompt36
  • 37. Example #4 – Masking Data •  Result37
  • 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 business38
  • 39. Example #5 – Changing LOVs •  Taxpayer ID is also on LOVs for find windows39
  • 40. Example #5 – Changing LOVs •  HOW – Use Create a new record group Builtin Must have the same number of fields as existing Record group40
  • 41. Example #5 – Changing LOVs •  Assign the new record group to the LOV used for Supplier name Record group created in previous slide41
  • 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 LOV42
  • 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 executes43
  • 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 à Off44
  • 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 blank45
  • 46. OA Framework Personalizations Setup and Use Examples 6 - 1046
  • 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) permissions47
  • 48. OA Framework Personalizations Personalize FND: Personalization Self-Service Region Link Enabled Defn = Yes = Yes FND: Diagnostics = Yes48
  • 49. OA Framework Examples •  Remove a button •  Change prompts •  Hide/reorder columns in a table •  Set initial values •  Display a field49
  • 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.pdf50
  • 51. Example #6 – Remove a button •  How – Click Personalize Page button Start with Personali ze Page51
  • 52. Example #6 – Remove a button •  Biggest challenge – finding the item to personalize –  Simple View –  Complete View –  Expand All –  <ctrl> F –  Collapse All –  Focus52
  • 53. Example #6 – Remove a button •  My favorite – expand all and use <crtl> F Click pencil to edit53
  • 54. Example #6 – Remove a button •  Set rendered = false and click Apply button Options for personalization change based on object type54
  • 55. Example #6 – Remove a button results •  Click the Return to Application button Shown column is now null since rendered = false Button is gone55
  • 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 –  Responsibility56
  • 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!57
  • 58. Example #7 – Change Prompts •  How –  Click the Personalize Page button and find the Id using <ctrl> F58
  • 59. Example #7 – Change Prompts •  How - Click the pencil Click pencil to edit59
  • 60. Example #7 – Change Prompts •  How – Change the prompt at the site level Site Level Personalization60
  • 61. Example #7 – Change Prompts •  Result – prompt changed61
  • 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 entry62
  • 63. Example #8 – Hide/Reorder Columns in a table •  How –  Click the Personalize Page button –  Use strategies on next slide to find the Duplicate column63
  • 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 Click pencil •  Purpose to edit64
  • 65. Example #8 – Hide/Reorder Columns in a table Set Rendered = false Duplicate column is gone65
  • 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 level66
  • 67. Example #8 – Hide/Reorder Columns in a table •  Check personalization level •  Use arrows to move fields up or down67
  • 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 entry68
  • 69. Example #9 – Set Initial Values •  How –  In the appropriate responsibility, click the Personalize Page button69
  • 70. Example #9 – Set Initial Values •  Set the initial value based on the responsibility70
  • 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 errors71
  • 72. Example #10 – Add Item •  How – First create the text for the Tip through the Functional Administrator responsibility72
  • 73. Example #10 – Add Item •  Go to the receiving page where the tip is to be added and click Personalize Page73
  • 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 text74
  • 75. Example #10 – Add Item •  Enter the item style, id, Text to identify the tip and the message name for the message created75
  • 76. Example #10 – Add Item New tip is added76
  • 77. 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
  • 78. Customizations and Personalizations …THEN TEST IT AGAIN! ***BUT NOT IN PRODUCTION**78
  • 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>79
  • 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 directory80
  • 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 sufficient81
  • 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 Personalization82
  • 83. The ABCs of Workflow for Oracle The Release 12 Primer ‒ E-Business Suite Release 11i and Shining a Light on the Release 12 Release 12 World83
  • 84. Questions and Answers Thank You! Susan Behn susan.behn@infosemantics.com84