Personalization and Extensibility Using Oracle Applications Framework
Oracle Form Personalization
Transcript of Oracle Form Personalization
© 2006 Oracle Corporation – Proprietary and Confidential
<Insert Picture Here>
Oracle Forms Personalization Without CodingBill SawyerSenior Principal Curriculum Developer
© 2006 Oracle Corporation – Proprietary and Confidential
Management ChallengesGlobalization creates unique challenges in managing…
CompetitorsThe Internet eliminated borders making all markets global markets
Compliance MandatesIncreased and varying regulatory / security requirements exert additional burdens on businesses
SuppliersMargin pressures force companies to search forgoods & services anywherein the world resulting incomplex supply networks
Customers & EmployeesManage employees and customers dispersed across geographic and cultural boundaries
© 2006 Oracle Corporation – Proprietary and Confidential
To Meet These Challenges, Businesses Must…
Think GloballyThink Globally to make the right decisions
Work GloballyWork Globally to be more productive
Manage Systems GloballyManage Systems Globally to lower cost and increase performance
© 2006 Oracle Corporation – Proprietary and Confidential
<Insert Picture Here>
Program Agenda
• User Overview• Technical Overview• Demonstrations
© 2006 Oracle Corporation – Proprietary and Confidential
<Insert Picture Here>
User Overview
© 2006 Oracle Corporation – Proprietary and Confidential
Have you ever wanted to …
• Remove fields, buttons, tabs, etc. from the screen because theyare not used in your implementation?
• Re-label fields, buttons, tips to match your corporate terminology?
• Change or set default value of fields?• Allow navigation from one form to another, passing context?• Add additional business logic/practices/messages?• Do any of the above for only a particular user or responsibility?• Do any of the above only if certain conditions are true?• Do all of the above in a upgradeable manner without writing
code, and without violating Support agreements?
© 2006 Oracle Corporation – Proprietary and Confidential
Has this been personalized?
© 2006 Oracle Corporation – Proprietary and Confidential
Menu changes
Add menu items, and shortcuts to other forms/URLs, with
data/parameter passing
© 2006 Oracle Corporation – Proprietary and Confidential
Icon changes
Add/enable icons
© 2006 Oracle Corporation – Proprietary and Confidential
Default values
Change default values, auto-fill or validate data based on business rules, make fields
mandatory
© 2006 Oracle Corporation – Proprietary and Confidential
Messages
Create pop-up messages generated for/with specific
conditions and/or data
© 2006 Oracle Corporation – Proprietary and Confidential
Field prompts
Modify prompt/field title, remove fields, change entry order.
© 2006 Oracle Corporation – Proprietary and Confidential
Business logic
Support of additional business logic/practices
(e.g. Hold Order)
© 2006 Oracle Corporation – Proprietary and Confidential
What are the benefits?
• Change the product to match your business processes instead of changing your processes to match the product.• Implement your Security, your Navigation, your Defaults, your
Terminology.• Changes can be built, tested and deployed in minutes.• Most changes can be entered by functional experts.• Actions can be associated with one language, or all languages
(multi-language support).• Form Personalizations are not customizations.• They are likely to survive upgrades (but not without testing).• Can be developed on one instance, and deployed to others.
© 2006 Oracle Corporation – Proprietary and Confidential
Navigation Example
Requirement: Navigate to the Supplier screen for the selected Supplier.
© 2006 Oracle Corporation – Proprietary and Confidential
Navigation Example
© 2006 Oracle Corporation – Proprietary and Confidential
Navigation Example
© 2006 Oracle Corporation – Proprietary and Confidential
Navigation Example
© 2006 Oracle Corporation – Proprietary and Confidential
Business Logic Example
Requirement: Place the line on hold if margin goes below 30%.
© 2006 Oracle Corporation – Proprietary and Confidential
Business Logic Example
Requirement: The Task Type should be used to determine Task Owner (and Owner Type)
© 2006 Oracle Corporation – Proprietary and Confidential
Business Logic Example
Requirement: If item cannot be shipped to a specific state (hazardous materials), place the line item on hold and warn the user.
© 2006 Oracle Corporation – Proprietary and Confidential
Business Logic Example
Requirement: Display Workflow status for PO.
© 2006 Oracle Corporation – Proprietary and Confidential
Business Logic Example
© 2006 Oracle Corporation – Proprietary and Confidential
Business Logic Example
Requirement: If the quantity for an item is over a defined limit, change the default shipping warehouse.
© 2006 Oracle Corporation – Proprietary and Confidential
Business Logic Example
Requirement: Map Address of Service Request
© 2006 Oracle Corporation – Proprietary and Confidential
Business Logic Example
© 2006 Oracle Corporation – Proprietary and Confidential
Business Logic Example
© 2006 Oracle Corporation – Proprietary and Confidential
Business Logic Example
Requirement: View the WIP Discrete Job linked to this sales order to make this item
© 2006 Oracle Corporation – Proprietary and Confidential
Business Logic Example
© 2006 Oracle Corporation – Proprietary and Confidential
Business Logic Example
Requirement (Part 2): View the material requirements for the WIP Job
© 2006 Oracle Corporation – Proprietary and Confidential
Business Logic Example
© 2006 Oracle Corporation – Proprietary and Confidential
Business Logic Example
© 2006 Oracle Corporation – Proprietary and Confidential
UI Changes ExampleRequirement: Make a number of cosmetic changes and add “Town of Birth” validation
Remove
Move up
Make Mandatory
Change prompt to“Marital Status”
Insure“Town of Birth” is entered if “Country of Birth” = “United
States”
Add a Zoom to “Personal Benefits Balance”(passing Employee
Number)
© 2006 Oracle Corporation – Proprietary and Confidential
UI Changes Example
© 2006 Oracle Corporation – Proprietary and Confidential
UI Changes Example
© 2006 Oracle Corporation – Proprietary and Confidential
External Websites Example
Requirement: Display tracking details from Shipping Carrier for order line
© 2006 Oracle Corporation – Proprietary and Confidential
External Websites Example
© 2006 Oracle Corporation – Proprietary and Confidential
External Websites Example
© 2006 Oracle Corporation – Proprietary and Confidential
Legacy Integration Example
Requirement: Lookup new account number based on number from Legacy system
© 2006 Oracle Corporation – Proprietary and Confidential
Legacy Integration Example
Note ‘Legacy’ account number is entered proceeded with a ‘!’
© 2006 Oracle Corporation – Proprietary and Confidential
Legacy Integration Example
Note ‘Legacy’ account number is entered proceeded with a ‘!’
© 2006 Oracle Corporation – Proprietary and Confidential
Query Capability Example
Requirement: Add additional item search/lookup capability
© 2006 Oracle Corporation – Proprietary and Confidential
Query Capability Example
© 2006 Oracle Corporation – Proprietary and Confidential
Query Capability Example
Any field of the Item Master can be used to query items
© 2006 Oracle Corporation – Proprietary and Confidential
Query Capability Example
Note fields are ‘grey’. No inserts or updates are allowed
© 2006 Oracle Corporation – Proprietary and Confidential
Query Capability Example
Closing Item Master returns item number to Order Entry
© 2006 Oracle Corporation – Proprietary and Confidential
<Insert Picture Here>
Technical Overview
© 2006 Oracle Corporation – Proprietary and Confidential
Technical Overview
• Allows you to make changes to a form without programming (declarative vs. coding).
• Changes are applied at runtime when the proper trigger event (e.g. field to field navigation) occurs.• Change object properties (e.g. name/title).• Display messages to the user.• Activate additional menu entries.• Execute certain Forms builtins (e.g. database procedure call,
‘Do’ key, open form/URL).• Change occurs based on a definable condition(s).• Changes can be defined to occur site-wide or for a given
responsibility, industry, or user.
© 2006 Oracle Corporation – Proprietary and Confidential
Technical Overview
• Form Personalizations occur as a result of identified navigation/form events.
• Forms Personalizations are accessed for a specific function (i.e., function security rules apply).
• Forms Personalizations have two components.• The personalization with it’s associated trigger event and
condition(s).• The actions to be performed for when it is triggered.
• Form Personalizations are documented in MetalinkNote 279034.1.
• Also see the ‘11i Form Personalization’ in the Oracle Education Online Library at www.oracle.com
© 2006 Oracle Corporation – Proprietary and Confidential
The Personalization UI
• You don’t have to think like a developer.• Objects with prompts, titles or labels can be selected by their current
on-screen text.• But, textual values and conditions offer powerful capabilities if
you do want to think like a developer.• :block.fields (current form and system values)• SQL functions/procedures• server-side functions• SELECT statements
• All changes can be applied and validated immediately to see their effect.
• Changes can be disabled at multiple levels, including all, rule, or action levels.
© 2006 Oracle Corporation – Proprietary and Confidential
Relationship to CUSTOM.PLL library
• CUSTOM.PLL is a stub library Oracle ships that receives certain form events. Customers are able to freely add any code they like to it.• It is an Oracle Forms library, so you must use Oracle
Developer to edit and generate it.
• CUSTOM .PLL can do more because it has complete access to PL/SQL and SQL.
• But Form Personalizations can and should handle the vast majority of your changes.
• Form Personalizations and changes to the CUSTOM .PLL library co-exist.
© 2006 Oracle Corporation – Proprietary and Confidential
Making Personalizations
© 2006 Oracle Corporation – Proprietary and Confidential
Making Personalizations
© 2006 Oracle Corporation – Proprietary and Confidential
Making Personalizations
© 2006 Oracle Corporation – Proprietary and Confidential
Making Personalizations
© 2006 Oracle Corporation – Proprietary and Confidential
Making Personalizations
© 2006 Oracle Corporation – Proprietary and Confidential
Making Personalizations
© 2006 Oracle Corporation – Proprietary and Confidential
Making Personalizations
© 2006 Oracle Corporation – Proprietary and Confidential
Making Personalizations
© 2006 Oracle Corporation – Proprietary and Confidential
Making Personalizations
© 2006 Oracle Corporation – Proprietary and Confidential
Making Personalizations
© 2006 Oracle Corporation – Proprietary and Confidential
Making Personalizations
© 2006 Oracle Corporation – Proprietary and Confidential
Making Personalizations
© 2006 Oracle Corporation – Proprietary and Confidential
Making Personalizations
© 2006 Oracle Corporation – Proprietary and Confidential
Making Personalizations
© 2006 Oracle Corporation – Proprietary and Confidential
Making Personalizations
© 2006 Oracle Corporation – Proprietary and Confidential
Making Personalizations
© 2006 Oracle Corporation – Proprietary and Confidential
Making Personalizations
© 2006 Oracle Corporation – Proprietary and Confidential
Handling ValuesHi there World!Constant:
='Hi there '||:po_headers.vendor_nameExpression:
=SOME_DATABASE_FUNCTION(:po_headers.vendor_id )
Expression (DB function):
=SELECT vendor_name "A" from po_vendorswhere vendor_id = :po_headers.vendor_id
SQL Statement:
Note: 2000 character limit (text length and return value)!
© 2006 Oracle Corporation – Proprietary and Confidential
Development Scenario
Scenario: Display a message when the Supplier is entered that indicates the supplier and how many open invoices they have.
PO_HEADERS.VENDOR_SITE_CODE
© 2006 Oracle Corporation – Proprietary and Confidential
Development Scenario
© 2006 Oracle Corporation – Proprietary and Confidential
Development Scenario
© 2006 Oracle Corporation – Proprietary and Confidential
Development Scenario
© 2006 Oracle Corporation – Proprietary and Confidential
Development Scenario
Note: Column alias of “A”and must be of type CHAR
© 2006 Oracle Corporation – Proprietary and Confidential
Development Scenario
© 2006 Oracle Corporation – Proprietary and Confidential
<Insert Picture Here>
Demonstrations
© 2006 Oracle Corporation – Proprietary and Confidential
<Insert Picture Here>
Appendix
© 2006 Oracle Corporation – Proprietary and Confidential
For More Information
http://search.oracle.com
orhttp://www.oracle.com/technology/products/applications/development_pesonalization/
Personalization and Extension of Apps
© 2006 Oracle Corporation – Proprietary and Confidential
© 2006 Oracle Corporation – Proprietary and Confidential