Beruflich Dokumente
Kultur Dokumente
Personalization
Feature
- New for 11.5.10
ODTUG KALEIDOSCOPE
June, 2006
Susan Behn
Solution Beacon, LLC
Real Solutions for the Real World.®
n Definitions
n History - CUSTOM.pll
n Forms Personalization
n Additional Resources
2
© 2006 Solution Beacon, LLC. All Rights Reserved.
Definitions
n Extensions are additional code or objects added to the
E-Business Suite
uA new form created from TEMPLATE.FMB
uNew reports
uInterfaces
3
© 2006 Solution Beacon, LLC. All Rights Reserved.
Definitions
n Personalizations are changes to existing 6i forms or
OA Framework forms using tools provided by Oracle
to alter appearance and behavior of the form or
function
n Personalization Methods
u CUSTOM.pll – generally protected during patching
4
© 2006 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – What is it?
n Library available in $AU_TOP/resource
5
© 2006 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – What you can do?
n Hide fields, tabs
n Alter LOVs
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’)
7
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization
n Forms Personalizations declaratively alter the behavior
of Forms delivered with the E-Business Suite
n User must understand Forms and PL/SQL
n Most changes traditionally done using CUSTOM.pll can
be accomplished using Forms Personalization
n Forms Personalizations are effective immediately – no
compiling
n Forms Personalizations fire prior to CUSTOM.pll for the
same event
8
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Profile
Options
n Environment – 11.5.10.2
(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
9
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Access
n Accessthe form or function needing personalization
n Help à Diagnostics à Custom Code à Personalize
10
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization
11
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Rule
Header
n Debug mode
uOff
uStep-by-Step – shows events impacted by rule
(CU1 patch)
uShow Debug Messages – shows messages with
type = debug
12
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Rule
Header
n Sequence
u Rules run in sequence
uSequence numbers (1-100) are not unique
13
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Condition
Tab – Trigger Event
Trigger Events
14
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Condition
Tab – Trigger Event
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
n WHEN-NEW-ITEM-INSTANCE
uMessage rules
15
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Condition
Tab – Trigger Event
Trigger Events – Generic to almost all forms
n WHEN-VALIDATE-RECORD
uPopulate hidden fields
uAdditional validations
n SPECIALn
uPopulate tools menu (SPECIAL 1-15)
n MENUn
uPopulate tools menu (MENU1-15) (CU1 patch)
16
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Condition
Tab – Trigger Object
Trigger Object
uWHEN-NEW-RECORD-INSTANCE
uWHEN-VALIDATE-RECORD
17
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Condition
Tab – Condition
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
18
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Condition
Tab – Context
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)
19
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Property
Actions
20
© 2006 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
21
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Property
Actions
n Choose Object Type
uItem , Window, Block,
***These
prompts will
uTab Page, Parameter
vary for each
uRadio Button, View, action type***
u:GLOBAL Variable, Canvas
22
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Property
Actions
n Use Select by Text button to select the target object
by prompt name
n Optionally use LOV to choose by object name
23
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Property
Actions
n PropertyName – Use the LOV to choose which
property to personalize
24
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Property
Actions
n Use Get Value button to get the current value if
needed
n Change the value if desired
25
© 2006 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
26
© 2006 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)
27
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Property
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
28
© 2006 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
29
© 2006 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
30
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Strings
n Rulesfor fields that accept strings
uStart with =
variables
tPrior to CU1 patch, SQL statements starting with
31
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Property
Actions Example
n :GLOBAL Variable
32
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Messages
n Message Type Fields
uMessage Type
form_trigger_failure
tDebug – Only displays if debug mode is set to
33
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Message
Example
n Message to display global variable to show email
address when form opens
34
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – More
Message Examples
n Debugmessage – Debug mode must be set to Show
Debug Messages
n Training reminders
35
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Menu
Example
Create a menu entry to submit Supplier 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
36
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Menu
Example
Create a menu entry to submit Supplier Payment
History report
n Use Add Block Button to choose blocks
37
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Menu
Example
Create a menu entry to submit Supplier Payment
History report
n Note – this action only displays the menu entry –
functionality behind the menu entry is the next step
38
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
Example
Activate the menu entry to execute the concurrent
request Supplier Payment History
n Trigger Event = MENU1
39
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
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
40
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
Example
Supplier Payment History Report – How to pass
parameters
n Create rule with a sequence before menu execute
n Trigger event = MENUn or SPECIALn
n Set :GLOBAL variable to value of parameters for report
41
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
Example
Supplier Payment History Report – Passing Parameters
n Create a new rule for the Requests: Submit form
n Set the condition to only apply the rule when the
global variable is not null
42
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
Example
Supplier Payment History Report – Passing Parameters
n Create the action for the new rule for the Requests:
Submit form to set the parameters to the global
variable
n Note: work_order.parameters separates parameters
with a period therefore if the data you are trying to
pass includes a period it will not pass correctly
43
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
Example
Open a url
n Trigger Event = WHEN-NEW-FORM-INSTANCE
n Establish menu entry
CU1 Patch
44
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
Example
Launch a function (CU1 patch) to view payment history
form
n Establish the Menu entry
uTrigger Event = WHEN-NEW-FORM-INSTANCE
45
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
Example
Launch a function to view payment history form
n Trigger Event = MENU3
n Set the :GLOBAL Variable
n Launch a Function
46
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
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
47
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
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
48
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
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
49
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Other
Built-ins
n GO_BLOCK
n GO_ITEM
n RAISE_FORM_TRIGGER_FAILURE
n FORMS_DDL
50
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Tips
n If you disable a tab page, make sure the user cannot
still navigate to the items on the tab page
n You may need to exit and re-open the form to see
personalization changes
n Use Help à Diagnostics à Custom à Show Custom
Events to determine what events are firing
n See MetaLink note 279034.1 for special rules for forms
with folders
n After upgrades, go to the personalization for each
form and choose Tools à Validate All
n Use debug message before and after events
n Initialize global variables to null in the navigator form
using the WHEN-FORM-NAVIGATE trigger event
51
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Tips
n Use the Validate button to validate strings
uConditions will return true, false or error
52
© 2006 Solution Beacon, LLC. All Rights Reserved.
Customizations / Personalizations
WARNING
53
© 2006 Solution Beacon, LLC. All Rights Reserved.
Customizations / Personalizations
54
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Moving
to Another Instance
n 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>
n Download all personalizations
FNDLOAD <userid>/<password> 0 Y DOWNLOAD
$FND_TOP/patch/115/import/affrmcus.lct
<filename.ldt> FND_FORM_CUSTOM_RULES
n Upload
FNDLOAD <userid>/<password> 0 Y UPLOAD
$FND_TOP/patch/115/import/affrmcus.lct
<filename.ldt>
55
© 2006 Solution Beacon, LLC. All Rights Reserved.
Other Sources of Information
n Oracle Applications User Interface Standards for
Forms-Based Products
n Oracle Applications Developer’s Guide
n Oracle Applications System Administrator’s Guide
n Oracle Applications User Guide
n MetaLink note 279034.1 – Forms Personalization
n Configuring, Reporting and System Administration in
HRMS
n Oracle Self Service Web Applications Implementation
Manual
n www.solutionbeacon.com – newsletters, free tools,
white papers and presentations, Vision access
56
© 2006 Solution Beacon, LLC. All Rights Reserved.
Thank you!
www.solutionbeacon.com