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.   Access Setup Form
2.   Enter Condition
3.   Enter Action
4.   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                     Enable or Disable
controlling prioritization




                                    Apply at the Form or Function Level
 Provide a clear description
                                    (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        Control if rule should be
 processed. Can leverage SQL functions,                 processed in Query-Mode
 operators, and bind variables

                                                                      Test your
                                                                      condition using
                                                                      data in current
                                                                      form




Insert variables that reference           Helps with inserting Bind
attribute values of objects (items,       Variables (BLOCK.ITEM)
windows, globals, ets)
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
                         Sequence that         Enable for a particular
  1.   Property          Actions take          language
                         order
  2.   Message
  3.   Builtin
  4.   Menu
               Select Type. This determines
                                                  Enable or Disable
               fields presented in region on
               the right.
Enter Action
Property
Set a Value for a particular Property on a
 Particular Object.
Ex. Make “Payment Terms” field required.
                                           Based on Object
  Example: Item,
                                           Type Selected,
  Block, Window,
                                           identify
  Canvas, etc
                                           particular Object



 The Property of the Object that   The new value to
 will be edited. Example:          assign to the property.
 Displayed, Value, Prompt, etc     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
 condition of Selection               What the user
                                      will see
    Assigned to an
    Unique Option
                                            Control in
                                            what blocks
                                            Menu Option
    Display or not a line                   is enabled
    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

personalization

  • 1.
    Enhance the User Experiencewith Form Personalizations Jeff Lollar, Lucidity Consulting Group September 2007
  • 2.
    Goals of thisPresentation 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
  • 3.
    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
  • 4.
    Limitations of FormPersonalizations 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
  • 5.
    How to Createa Personalization 1. Access Setup Form 2. Enter Condition 3. Enter Action 4. Save & Test
  • 6.
    Access Setup Form 1.Navigate to the Form you wish to implement a Personalization for 2. HELP > DIAGNOSTIC > CUSTOM CODE > PERSONALIZE
  • 7.
  • 8.
    Access Setup Form ImpactingSystem 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
  • 9.
    Enter Condition Provide theCondition that must be satisfied in order for the Action to take place The Header Triggering Event & Object Condition Statement Context
  • 10.
    Enter Condition Enter theHeader Use Sequence for Organization and Enable or Disable controlling prioritization Apply at the Form or Function Level Provide a clear description (A function is a particular instance of a form assigned to a Responsibility’s Menu)
  • 11.
    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)
  • 12.
    Enter Condition Condition Statement If Condition evaluates to TRUE then Actions are Control if rule should be processed. Can leverage SQL functions, processed in Query-Mode operators, and bind variables Test your condition using data in current form Insert variables that reference Helps with inserting Bind attribute values of objects (items, Variables (BLOCK.ITEM) windows, globals, ets)
  • 13.
    Enter Condition Context Region RestrictPersonalization to a particular User Responsibility Industry (reserved for future per Metalink Doc Id 395117.1) Example of restricting by user
  • 14.
    Enter Action Enter Action This is WHAT the Personalization does  Four Basic Types Sequence that Enable for a particular 1. Property Actions take language order 2. Message 3. Builtin 4. Menu Select Type. This determines Enable or Disable fields presented in region on the right.
  • 15.
    Enter Action Property Set aValue for a particular Property on a Particular Object. Ex. Make “Payment Terms” field required. Based on Object Example: Item, Type Selected, Block, Window, identify Canvas, etc particular Object The Property of the Object that The new value to will be edited. Example: assign to the property. Displayed, Value, Prompt, etc SQL may be used here
  • 16.
    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
  • 17.
    Enter Action Builtin  LaunchSRS 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
  • 18.
    Enter Action Menu Create MenuOptions Under Toolbar Headings Requires additional personalization at condition of Selection What the user will see Assigned to an Unique Option Control in what blocks Menu Option Display or not a line is enabled above Menu Option
  • 19.
    Save & Test 1.Save Work 2. Close Form Being Personalized 3. Reopen & Test
  • 20.
    Demonstration Several Form Personalizations Rangingfrom Simple to Advanced For each: Identify the Personalization Functionality Leveraged Walkthrough the Setups
  • 21.
    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
  • 22.
    More Examples Control aUsers 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
  • 23.
    Hide “Online” buttonon Release Form Demonstrate Set Property Value Simple! A Great Example of an Easy Personalization that is Very Effective!
  • 24.
    Hide “Online” buttonon Release Form Before After
  • 25.
    Hide “Online” buttonon Release Form Header Condition Accept Default
  • 26.
    Hide “Online” buttonon Release Form Actions •Type = Property •Object Type = Item •Target Object = RELEASE.ONLINE •Property Name = DISPLAYED •Value = False
  • 27.
    Pop Customer SpecificMsg at OE SQL-based Condition Pop a Message Box SQL-based Message Insert ‘Get’ Expression
  • 28.
    Pop Customer SpecificMsg at OE Customer Master Sales Order Form
  • 29.
    Pop Customer SpecificMsg 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
  • 30.
    Pop Customer SpecificMsg 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}
  • 31.
    Pop Customer Addressin 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
  • 32.
    Pop Customer Addressin a Web Map Sales Order Form Customer Address In Google Map
  • 33.
    Pop Customer Addressin a Web Map Header - Creating Menu Option Condition - Creating Menu Option Accept Default
  • 34.
    Pop Customer Addressin a Web Map Actions - Creating Menu Option •Type – Menu •Menu Entry – MENU1 •Menu Label – Map It! (or any name you prefer)
  • 35.
    Pop Customer Addressin a Web Map Header – Launch URL Condition – Launch URL •Trigger Event = MENU1 •Condition = ${item.order.ship_to_address1.value} IS NOT NULL
  • 36.
    Pop Customer Addressin 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
  • 37.
    Control a UsersDiscounting 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
  • 38.
    Control a UsersDiscounting Privileges Assign Discount Limit to Custom System Option Validate if User’s Discount of List Price is within her/his Limit
  • 39.
    Control a UsersDiscounting 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)
  • 40.
    Control a UsersDiscounting 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
  • 41.
    Control a UsersDiscounting Privileges Actions •Trigger Event = Builtin •Builtin Type = RAISE FORM_TRIGGER_FAILURE
  • 42.
    Open Supply/Demand Formfrom SO Launch Form Built-In Passing Form Parameters Create Menu Option Launch From Menu Option Insert ‘Get’ Expression
  • 43.
    Open Supply/Demand Formfrom SO From Sales Order Tools Menu, select “Open Item Demand” Supply/Demand Form opens passing item already queried on Sales Order Line
  • 44.
    Open Supply/Demand Formfrom 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
  • 45.
    Open Supply/Demand Formfrom SO Condition – Launching Form Trigger Event = MENU3
  • 46.
    Open Supply/Demand Formfrom 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
  • 47.
    Print AR Invoicefrom 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
  • 48.
    Print AR Invoicefrom the Sales Order From Sales Order form, Select TOOLS > PRINT AR INVOICE The AR Invoice SRS form will open with the Invoice Number defaulted
  • 49.
    Print AR Invoicefrom the Sales Order Header - Creating Menu Option Condition - Creating Menu Option Accept Default
  • 50.
    Print AR Invoicefrom the Sales Order Actions - Creating Menu Option •Type – Menu •Menu Entry – MENU2 •Menu Label – Print AR Invoice (or any name you prefer)
  • 51.
    Print AR Invoicefrom 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)
  • 52.
    Print AR Invoicefrom 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
  • 53.
    Print AR Invoicefrom the Sales Order Actions – Launch SRS Form •Type – Builtin •Builtin Type – Launch SRS Form •Program Name – Invoice Print Selected Invoices (select the desired request)
  • 54.
    Print AR Invoicefrom 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)
  • 55.
    Print AR Invoicefrom 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
  • 56.
    In Conclusion… Form Personalizationsprovide 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
  • 57.
    Additional Information  “FormPersonalizations 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”
  • 58.
    Q&A ContactInformation Jeff Lollar Lucidity Consulting Group jlollar@luciditycg.com www.luciditycg.com