Professional Documents
Culture Documents
Tim Sharpe
Susan Behn
Solution Beacon, LLC Ohio Valley OAUG
October 21, 2005
Cincinnati, Ohio
www.solutionbeacon.com
2
© 2005 Solution Beacon, LLC. All Rights Reserved.
Agenda
n Definitions/Overview
u Extensions
u Customizations
n CUSTOM.pll
3
© 2005 Solution Beacon, LLC. All Rights Reserved.
Overview – Extensions
n Extensionsare defined as additional code or objects
added to the E-Business Suite
uA new form created from TEMPLATE.FMB
uNew reports
uInterfaces
n Forms
6i extensions paper/presentation
Developing Form Extensions for E-Business Suite
Customers
www.solutionbeacon.com/industry_presentations.htm
4
© 2005 Solution Beacon, LLC. All Rights Reserved.
Overview – Customizations
n Customizations are changes to forms, reports or any
other objects delivered with the E-Business Suite
n Methods for customizing applications
u CUSTOM.pll – generally protected during patching
patching
u Direct modification of forms, reports, packages, or
5
© 2005 Solution Beacon, LLC. All Rights Reserved.
Overview – Customizations
WARNING
6
© 2005 Solution Beacon, LLC. All Rights Reserved.
Overview – Customizations
7
© 2005 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll
n Libraryavailable in $AU_TOP/resource is modified to
provide customizations to Oracle Application forms
n Use forms builder 6i to modify package body
n Examples
uHide fields, tabs
uAlter LOVs
8
© 2005 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – Methodology
n Challenges
uTraditional implementation of customizations in
CUSTOM.pll only allows one developer at a time to
make modifications
uSize limitations can be an issue
9
© 2005 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – Methodology
Multi-Developer Solution – Supplier Form Example
n Create
a separate library (.pll) for each form to be
customized
Package Spec
PACKAGE XXXXXAPXVDMVX IS
Procedure event(event_name VARCHAR2);
END;
Package Body
10
© 2005 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – Methodology
Multi-Developer Solution – Supplier Form Example
Navigator view of
CUSTOM.pll
11
© 2005 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – Methodology
Multi-Developer Solution – Supplier Form Example
12
© 2005 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – More Examples
APP_ITEM_PROPERTY2.SET_PROPERTY(‘VNDR.VENDOR_NAME_MIR',CASE_RESTRICTION,UPP
ERCASE);
APP_ITEM_PROPERTY2.SET_PROPERTY(‘VNDR.NUM_1099_MIR',DISPLAYED,PROPERTY_OFF)
APP_ITEM_PROPERTY2.SET_PROPERTY(‘VNDR.
END_DATE_ACTIVE_MIR',PROMPT_TEXT,’Inactive Date’)
13
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization
n Forms Personalizations declaratively alter the behavior
of Forms
n User must understand Forms and PL/SQL
n Most changes traditionally done using CUSTOM.pll can
be accomplished using Forms Personalization
uMust use CUSTOM.pll to alter LOVs
and SQL.
n Forms Personalizations are effective immediately - no
compiling
n Forms Personalizations fire prior to CUSTOM.pll for the
same event
14
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization
Profile Options
n Today’s Demo environment – 11.5.10 with CU1 patch
applied
(Forms Personalization in CU1 changed significantly
with CU1 patch)
n Set Profile Option Hide Diagnostics menu entry to No
Yes will hide the diagnostics menu.
n Profile Option Utilities: Diagnostics – if set to No, apps
password is required
15
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Access
n Accessthe form or function needing personalization
n Help à Diagnostics à Custom Code à Personalize
16
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization
17
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Rules
n Personalization Rule Header
uSequence
tRules run in sequence
uDebug mode
tOff
(CU1 patch)
tShow Debug Messages – shows messages with
type = debug
uEnabled – checked
18
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Conditions Tab
Trigger Events
n Find
events using Help àDiagnostics àCustom Code
àShow Custom Events
19
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Conditions Tab
Trigger Events – Generic to almost all forms
n WHEN-NEW-FORM-INSTANCE
uSecurity rules
uNavigation rules
uVisual attributes
n WHEN-NEW-BLOCK-INSTANCE
uSame as WHEN-NEW-FORM-INSTANCE
uMessage rules
n WHEN-NEW-RECORD-INSTANCE
uDefault values
20
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Conditions Tab
Trigger Events – Generic to almost all forms
n WHEN-NEW-ITEM-INSTANCE
uMessage rules
n WHEN-VALIDATE-RECORD
uPopulate hidden fields
uAdditional validations
n SPECIALn
uPopulate tools menu (MENU1-15) (CU1 patch)
21
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Conditions Tab
Trigger Events – Generic to almost all forms
22
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Conditions Tab
Trigger Object
uWHEN-NEW-RECORD-INSTANCE
uWHEN-VALIDATE-RECORD
23
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Conditions Tab
Conditions
n Optional SQL code fragment to limit scope of rule
n References bind variables (:block.field)
n Examples
uUse to limit scope based on profile option values
24
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Conditions Tab
Context – who does this rule apply to?
n Multiple scope rows are allowed
n Level at which the rule will apply Tip: For initial
uSite development,
uResponsibility set scope to
uUser – Use this for testing rules
your user id
uIndustry (For future use)
25
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Property Actions
n Sequence
u Rules will run in sequence
uSequence number not unique
n Type
uProperty
uMessage
uBuilt-in
uMenu
n Description
n Language – use when changing prompts for a specific
language
n Enabled – checked
26
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Property Actions
n Property Type Fields
uObject Type
most types
uProperty Name – LOV available
uValue
27
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Property Strings
n Rulesfor fields that accept strings
uStart with =
variables
tPrior to CU1 patch, SQL statements starting with
28
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Property Actions Example
Force Upper Case for the Vendor Name
n Type = Property
n Object Type = Item
n Target Object = VNDR.VENDOR_NAME_MIR
n Property Name = CASE_RESTRICTION
n Value = UPPERCASE
29
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Property Actions Example
Change the window title
n Type = Property
n Object Type = Window
n Target Object = VENDOR
n Property Name = TITLE
n Value = Suppliers (Oracle Open World)
30
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Actions Example
Prevent Insert in the Bank Accounts Tab
(require users to do this in Bank setup)
n Type = Property
n Object Type = Block
n Target Object = VNDR_USES
n Property Name = INSERT_ALLOWED
n Value = False
31
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Variables
Global Variables
n Used to pass values between forms
n Max length is 255 bytes
n Prepend the name of the variable with XX
Local variables
n Used when you need to refer to a variable multiple
times
n Specific to local form
n Max length is 4000 bytes
n Prepend the name of the variable with XX
32
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Property Actions Example
Set a global variable to the value of the email address in
FND_USERS and display this value in a message
n Type = Property
n Object Type = :GLOBAL Variable
n Target Object = XX_USER_EMAIL
n Property Name = VALUE
n Value = =SELECT Nvl(Email_Address,'NO_EMAIL')
FROM fnd_user
WHERE user_id = fnd_global.user_id
33
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Property Actions Example
n :GLOBAL Variable
n Message
34
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Messages
n Message Type Fields
uMessage Type
symbol
uMessage Text
35
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Message Examples
n Debug message
n Training reminders
36
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Menu Example
Create a menu entry to submit payment history report
n Type = Menu (Prior to CU1 patch, Type = Special)
n Menu Entry = MENU1 – MENU15 or SPECIAL1-45
n Menu Label = Supplier Payment History
n Icon = null
n Enabled in Blocks = VNDR, SITE
uSeparate by comma
37
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Built-ins Example
Activate the menu entry to execute the concurrent
request Supplier Payment History
n Trigger Event = MENU1
38
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Built-ins Example
Activate the menu entry to run Supplier Payment
History Report
n Type = Builtin
n Builtin Type = Launch SRS Form (CU1 patch)
n Program Name = Supplier Payment History
39
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Built-ins Example
Supplier Payment History Report – Passing Parameters
n Create a new rule with a sequence before menu
execute
n Trigger event = MENUn or SPECIALn
40
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Built-ins
Supplier Payment History Report – Passing Parameters
n Create a new rule for the Requests: Submit form
Different syntax
required
41
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Built-ins Example
Open a url
n Trigger Event = WHEN-NEW-FORM-INSTANCE
n Establish menu entry
CU1 Patch
42
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Built-ins Example
Launch a function (CU1 patch) to view payment history
form
n Establish the Menu entry
uTrigger Event = WHEN-NEW-FORM-INSTANCE
43
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Built-ins Example
Launch a function to view payment history form
n Trigger Event = MENU3
n Set the :GLOBAL Variable
n Launch a Function
44
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Built-ins Example
Launch a function – target function rules
n Populate query find variable if the global variable is
not null
uTrigger Event = WHEN-NEW-ITEM-INSTANCE
45
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Built-ins Example
Launch a function – target function rules
n Populate query find variable if the global variable is
not null
uTrigger Event = WHEN-NEW-BLOCK-INSTANCE
CU1 Patch
46
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Built-ins Example
Launch a function – target function rules
n Execute the DO_KEY(‘NEXT_BLOCK’) built in to force
query execution
uTrigger Event = WHEN-NEW-BLOCK-INSTANCE
47
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization –
Built-ins
Other Builtins
n GO_BLOCK
n GO_ITEM
n RAISE_FORM_TRIGGER_FAILURE
n FORMS_DDL
49
© 2005 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Tips
n Use the Validate button to validate strings
uConditions will return true, false or error
n Upload
FNDLOAD <userid>/<password> 0 Y UPLOAD
$FND_TOP/patch/115/import/affrmcus.lct <filename.ldt>
51
© 2005 Solution Beacon, LLC. All Rights Reserved.
Other Sources of Information
n Oracle
Applications User Interface Standards for
Forms-Based Products
www.solutionbeacon.com