Enhance the User Experience with Form Personalizations Jeff Lollar

Reviews
Shared by: Self Esteem
Stats
views:
206
rating:
not rated
reviews:
0
posted:
2/25/2009
language:
pages:
0
Enhance the User Experience with Form Personalizations Jeff Lollar, Lucidity Consulting Group September 2007 Goals of this Presentation Know what Form Personalizations are Develop the mindset that Form Personalizations can offer Creative Solutions Position to Implement Solutions with some Trial and Error Demonstrate several popular and “inspiring” Forms Personalizations What are Personalizations  A means to build enhancements to Oracle Application Forms  Execute an ACTION when a CONDITION is satisfied  Form Personalizations, not Page/OAF Personalizations  Substitute for the CUSTOM.pll (with limitations)  Common Examples: Require Fields, Default Values, Pop Message Boxes,etc Limitations of Form Personalizations Not used by Pages/OAF (This is a different type of Personalization) Executed at Form Level (No impact on API’s or Table Validations) In most cases, only a few triggering events are available Limited Capabilities Ex. Cannot add new items (fields, buttons, etc) to the form How to Create a Personalization 1. 2. 3. 4. Access Setup Form Enter Condition Enter Action Save & Test Access Setup Form 1. Navigate to the Form you wish to implement a Personalization for 2. HELP > DIAGNOSTIC > CUSTOM CODE > PERSONALIZE Access Setup Form Access Setup Form Impacting System Options “Hide Diagnostics menu entry” No – Diagnostics menu is accessible (access Forms Personalizations) “Utilities:Diagnostics” No – Must provide APPS password in order to access Diagnostics Enter Condition Provide the Condition that must be satisfied in order for the Action to take place The Header Triggering Event & Object Condition Statement Context Enter Condition Enter the Header Use Sequence for Organization and controlling prioritization Enable or Disable Provide a clear description Apply at the Form or Function Level (A function is a particular instance of a form assigned to a Responsibility’s Menu) Enter Condition Triggering Event  WHEN-NEW-FORM-INSTANCE  WHEN-NEW-BLOCK-INSTANCE  WHEN-NEW-RECORD-INSTANCE  WHEN-NEW-ITEM-INSTANCE  WHEN-VALIDTE-RECORD  MENU(N) – 1-15  SPECIAL(N) – 1-45 Triggering Object  Required depending on Triggering Event  BLOCK.FIELD (validated) Enter Condition Condition Statement If Condition evaluates to TRUE then Actions are processed. Can leverage SQL functions, operators, and bind variables Control if rule should be processed in Query-Mode Test your condition using data in current form Insert variables that reference attribute values of objects (items, windows, globals, ets) Helps with inserting Bind Variables (BLOCK.ITEM) Enter Condition Context Region Restrict Personalization to a particular User Responsibility Industry (reserved for future per Metalink Doc Id 395117.1) Example of restricting by user Enter Action Enter Action  This is WHAT the Personalization does  Four Basic Types 1. 2. 3. 4. Property Message Builtin Menu Sequence that Actions take order Enable for a particular language Select Type. This determines fields presented in region on the right. Enable or Disable Enter Action Property Set a Value for a particular Property on a Particular Object. Ex. Make “Payment Terms” field required. Example: Item, Block, Window, Canvas, etc Based on Object Type Selected, identify particular Object The Property of the Object that will be edited. Example: Displayed, Value, Prompt, etc The new value to assign to the property. SQL may be used here Enter Action Message  Message Type  Show – A message with an “OK” button  Hint –Message Line (lower left corner)  Error – Aborts after message box  Debug – only if “Show Debug Messages” is checked  Warn – Aborts if user selects “Cancel”  Message Text  SQL  Bind Variables Enter Action Builtin  Launch SRS Form – Open the “Submit Concurrent Request” form  Launch a Function – Open a registered application function such as those assigned to responsibility menus.  Launch a URL  DO_KEY – Perform form actions, such as Clear Block, Duplicate Record, etc  Execute a Procedure – Call a procedure and pass arguments  GO_ITEM – Move to a particular item within the form  GO_BLOCK – Move to the first item of a particular block within the form  FORMS_DDL – (Data Dictionary Language) Always issues an implicit Commit.  Raise FORM_TRIGGER_FAILURE  EXECUTE_TRIGGER – Execute a trigger that is within the form  SYNCHRONIZE – Synchronize Client and middle-tier  Call Custom Library – Call an Event within the CUSTOM.pll Enter Action Menu Create Menu Options Under Toolbar Headings Requires additional personalization at What the user condition of Selection will see Assigned to an Unique Option Control in what blocks Menu Option is enabled Display or not a line above Menu Option Save & Test 1. Save Work 2. Close Form Being Personalized 3. Reopen & Test Demonstration Several Form Personalizations Ranging from Simple to Advanced For each: Identify the Personalization Functionality Leveraged Walkthrough the Setups Examples Hide the “Online” button on the Release Form Pop a Customer Specific Message when entering SO for Customer Open a Customers Address in a Google Map More Examples Control a Users Discounting Privileges Open the “Item Supply/Demand” form from the Sales Order and pass parameters Print the AR Invoice from within the Sales Order Form Hide “Online” button on Release Form Demonstrate Set Property Value Simple! A Great Example of an Easy Personalization that is Very Effective! Hide “Online” button on Release Form Before After Hide “Online” button on Release Form Header Condition Accept Default Hide “Online” button on Release Form Actions •Type = Property •Object Type = Item •Target Object = RELEASE.ONLINE •Property Name = DISPLAYED •Value = False Pop Customer Specific Msg at OE SQL-based Condition Pop a Message Box SQL-based Message Insert ‘Get’ Expression Pop Customer Specific Msg at OE Customer Master Sales Order Form Pop Customer Specific Msg at OE Condition •Trigger Event = WHEN-NEW-ITEM-INSTANCE •Trigger Object = ORDER.SOLD_TO •Condition = (select attribute6 from hz_cust_accounts where cust_account_id=${item.order.sold_to_org_id.value}) is not null Pop Customer Specific Msg at OE Actions •Type = Message •Message Type = Show •Message Text = =select attribute6 from hz_cust_accounts where cust_account_id=${item.order.sold_to_org_id.value} Pop Customer Address in a Web Map Create a Menu Option Launch From a Menu Option Launch SQL-based URL Insert ‘Get’ Expression Requires Two Personalization Records Create Menu Option Launch URL Pop Customer Address in a Web Map Sales Order Form Customer Address In Google Map Pop Customer Address in a Web Map Header - Creating Menu Option Condition - Creating Menu Option Accept Default Pop Customer Address in a Web Map Actions - Creating Menu Option •Type – Menu •Menu Entry – MENU1 •Menu Label – Map It! (or any name you prefer) Pop Customer Address in a Web Map Header – Launch URL Condition – Launch URL •Trigger Event = MENU1 •Condition = ${item.order.ship_to_address1.value} IS NOT NULL Pop Customer Address in a Web Map Actions – Launch URL •Trigger Event = Builtin •Builtin Type = Launch a URL •Argument = =SELECT ('http://maps.google.com/maps?f=q&hl=en&geocode=&q='||${item.order.sh ip_to_address1_mir.value}||','||${item.order.ship_to_address5_mir2.value}) FROM DUAL Control a Users Discounting Privileges Message Box Call Package to create Message Text Launch Multiple Actions “Raise Form_Trigger_Failure” Builtin Utilize PL/SQL package in Condition Insert ‘Get’ Expression Control a Users Discounting Privileges Assign Discount Limit to Custom System Option Validate if User’s Discount of List Price is within her/his Limit Control a Users Discounting Privileges Condition •Trigger Event = WHEN-VALIDATE-RECORD •Trigger Object = LINE •Condition = (1 (${item.line.unit_selling_price.value}/${item.line.unit_list_price.value})) > (XXLCG_FORMS_PERSON_UTIL_PKG.get_discount_limit(FND_GLOBAL.USER_I D)/100) Control a Users Discounting Privileges Actions •Trigger Event = Message •Message Type = Error •Message Text = =SELECT 'You do not have the permission to apply a discount greater than ' || XXLCG_FORMS_PERSON_UTIL_PKG.get_discount_limit(FND_GLOBAL.USE R_ID) || '% to the original list price of '||TO_CHAR(${item.line.unit_list_price_mir.value},'$9,999,999.99')|| '. Please contact your sales manager if the discount must be applied.' FROM DUAL Control a Users Discounting Privileges Actions •Trigger Event = Builtin •Builtin Type = RAISE FORM_TRIGGER_FAILURE Open Supply/Demand Form from SO Launch Form Built-In Passing Form Parameters Create Menu Option Launch From Menu Option Insert ‘Get’ Expression Open Supply/Demand Form from SO From Sales Order Tools Menu, select “Open Item Demand” Supply/Demand Form opens passing item already queried on Sales Order Line Open Supply/Demand Form from SO Condition - Creating Menu Option Accept Default Actions - Creating Menu Option •Type = Menu •Menu Entry = MENU3 •Menu Label = Open Item Demand (or whatever you choose) •Enabled in Block(s) = LINE Open Supply/Demand Form from SO Condition – Launching Form Trigger Event = MENU3 Open Supply/Demand Form from SO Actions – Launching Form •Type = Builtin •Builtin Type = Launch a Function •Function Code = INV_INVDVDSD •Parameters = =SELECT 'ITEM_NUMBER='||${item.line.inventory_item.value}||' ORG_ID = '||${item.line.ship_from_org_id.value} FROM DUAL Print AR Invoice from the Sales Order      “Launch SRS Form” Builtin Global Parameters Create Menu Option Launch From Menu Option Requires Three Personalizations 1. Create Menu Option 2. Launch SRS Form 3. Default Parameters in SRS Form Print AR Invoice from the Sales Order From Sales Order form, Select TOOLS > PRINT AR INVOICE The AR Invoice SRS form will open with the Invoice Number defaulted Print AR Invoice from the Sales Order Header - Creating Menu Option Condition - Creating Menu Option Accept Default Print AR Invoice from the Sales Order Actions - Creating Menu Option •Type – Menu •Menu Entry – MENU2 •Menu Label – Print AR Invoice (or any name you prefer) Print AR Invoice from the Sales Order Header – Launch SRS Form Condition - Launch SRS Form Trigger Event – MENU2 Condition (XXLCG_FORMS_PERSON_UTIL_PKG.get_line_invoice_num(${item.line.line_id.v alue}) IS NOT NULL) Print AR Invoice from the Sales Order Actions – Launch SRS Form •Type – Property •Object Type – Global Variable •Target Object – XX_PRINT_AR_INV_PARAM_VAR (or what value you chose) •Property Name – VALUE •Value - =SELECT 'Transaction Number...'||XXLCG_FORMS_PERSON_UTIL_PKG.get_line_invoice_num(${item.l ine.line_id.value})||'.'||XXLCG_FORMS_PERSON_UTIL_PKG.get_line_invoice_nu m(${item.line.line_id.value})||'......No.' FROM dual Print AR Invoice from the Sales Order Actions – Launch SRS Form •Type – Builtin •Builtin Type – Launch SRS Form •Program Name – Invoice Print Selected Invoices (select the desired request) Print AR Invoice from the Sales Order Header – Default Parameters in SRS Form Condition - Default Parameters in SRS Form •Trigger Event – WHEN-NEW-ITEM-INSTANCE •Trigger Object – WORK_ORDER.PARAMETERS •Condition - (${item.work_order.user_concurrent_program_name.value} = 'Invoice Print Selected Invoices') AND (${global.xx_print_ar_inv_param_var.value} IS NOT NULL) Print AR Invoice from the Sales Order Actions – Default Parameters in SRS Form •Type – Property •Object Type – Item •Target Object – WORK_ORDER.PARAMETERS •Property Name – VALUE •Value - =SELECT nvl(${global.XX_PRINT_AR_INV_PARAM_VAR.value},${item.work_order.para meters.value}) FROM dual In Conclusion… Form Personalizations provide the means to easily extend your forms with minimal technical development Goes beyond requiring fields and popping message boxes Get out there and try enhancing your users’ experience Additional Information  “Form Personalizations in Oracle Applications (Release 12) “ Metalink Doc Id: 395117.1  “Information About the Oracle Applications Form Personalization Feature in 11i “ Metalink Doc Id: 279034.1  Metalink in general  www.oaug.org  Google web search for “Oracle Form Personalization” Q&A Contact Information Jeff Lollar Lucidity Consulting Group jlollar@luciditycg.com www.luciditycg.com

Related docs
jeff gordon divorce papers
Views: 194  |  Downloads: 0
What Is User Experience Design
Views: 361  |  Downloads: 51
The experience evolution
Views: 321  |  Downloads: 41
THE-THEATRICAL-EXPERIENCE
Views: 0  |  Downloads: 0
Jeff Phillips
Views: 0  |  Downloads: 0
How to Enhance Market Liquidity
Views: 39  |  Downloads: 4
HOW TO ENHANCE YOUR INTERNET EXPERIENCE
Views: 2  |  Downloads: 0
research_experience
Views: 4  |  Downloads: 0
How to Enhance Access with Browser Extensions
Views: 0  |  Downloads: 0
Other docs by Self Esteem
Board Resolution Setting Record Date
Views: 187  |  Downloads: 2
Form T (Timber) (PDF) Forest Activities Schedule
Views: 258  |  Downloads: 1
I Have A Dream Speech
Views: 417  |  Downloads: 8
Non-Discrimination Policy
Views: 333  |  Downloads: 23
Board Resolution Filling Vacancy on Board
Views: 212  |  Downloads: 6
Directors Agree to Meeting Without Notice
Views: 150  |  Downloads: 1
Board Resolution approving new property lease
Views: 287  |  Downloads: 5
Articles of IncorporationCalifornia Simple
Views: 158  |  Downloads: 1
Learning 1
Views: 420  |  Downloads: 4
Customer Product Thank You Letter
Views: 939  |  Downloads: 21