Forms 6i Personalization
Forms 6i Personalization
Personalizations
- From CUSTOM.pll to
Forms Personalization
in 11.5.10
Susan Behn
Solution Beacon, LLC
Real Solutions for the Real World.®
Release 11i Workshops
Orlando, FL • Chicago, IL • St. Louis, MO • Los Angeles, CA
San Ramon, CA • Worcester, MA • Atlanta, GA • Dallas, TX
www.solutionbeacon.com
3
© 2006 Solution Beacon, LLC. All Rights Reserved.
Agenda
Personalized and Custom Security Options
Past – CUSTOM.pll
Present – Logical Apps AppsRules
Future – Forms Personalization in 11.5.10
Additional Resources
4
© 2006 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – What is it?
Library available in $AU_TOP/resource
5
© 2006 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – What you can do?
Hide fields, tabs
Alter LOVs
Size limitations
7
© 2006 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – Methodology
8
© 2006 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – Methodology
Multi-Developer Solution – Supplier Form Example
9
© 2006 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – Methodology
Supplier Form Example-Make vendor type required
PACKAGE XXXXXAPXVDMVX IS
Procedure event(event_name VARCHAR2);
END;
Package Body
10
© 2006 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – Methodology
Multi-Developer Solution – Supplier Form Example
Navigator view of
CUSTOM.pll
11
© 2006 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – Methodology
Multi-Developer Solution – Supplier Form Example
12
© 2006 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
© 2006 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – NIH Requirements
and Solutions
BankAccount Type is required and must be S for
Savings or C for Checking
14
© 2006 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – NIH Requirements
and Solutions
Do not allow entry of ACH banking information for
patients
15
© 2006 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – NIH Requirements
and Solutions
Onthe enter person form, default the employee
number based on a custom profile option
16
© 2006 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – NIH Requirements
and Solutions
Prevent update of descriptive flexfield
17
© 2006 Solution Beacon, LLC. All Rights Reserved.
Logical Apps AppsRules
Configurable Security for 6i forms
Centralized Rules Repository
Front end interface to CUSTOM.pll
Recommended for pre 11.5.10 installations
18
© 2006 Solution Beacon, LLC. All Rights Reserved.
Logical Apps AppsRules
Examples of National Institutes of Health Security Rules
Implemented using AppsRules
Security
Prevent update to fields and blocks
Profile Option
Email Address
User
19
© 2006 Solution Beacon, LLC. All Rights Reserved.
Logical Apps AppsRules
AppsRules Security Tab
20
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization
Personalizations are declarative changes to forms
delivered with the E-Business Suite
Forms Personalizations declaratively alter the behavior
of Forms
User must understand Forms and PL/SQL
Most changes traditionally done using CUSTOM.pll can
be accomplished using Forms Personalization
Must use CUSTOM.pll to alter LOVs
and SQL
Forms Personalizations are effective immediately – no
compiling
Forms Personalizations fire prior to CUSTOM.pll for the
same event
21
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Profile
Options
Environment – 11.5.10.2
(Forms Personalization in CU1 changed significantly
with CU1 patch)
Set Profile Option Hide Diagnostics menu entry to No
(Yes will hide the diagnostics menu)
Profile Option Utilities: Diagnostics – if set to No, apps
password is required
22
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Access
Accessthe form or function needing personalization
Help Æ Diagnostics Æ Custom Code Æ Personalize
23
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization
24
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Rule
Header
Sequence
Rules run in sequence
Sequence numbers (1-100) are not unique
25
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Rule
Header
Debug mode
Off
Step-by-Step – shows events impacted by rule
(CU1 patch)
Show Debug Messages – shows messages with
type = debug
Enabled – checked
26
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Condition
Tab – Trigger Event
Trigger Events
27
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Condition
Tab – Trigger Event
Trigger Events – Generic to almost all forms
WHEN-NEW-FORM-INSTANCE
Security rules
Navigation rules
Visual attributes
WHEN-NEW-BLOCK-INSTANCE
Same as WHEN-NEW-FORM-INSTANCE
Message rules
WHEN-NEW-RECORD-INSTANCE
Default values
28
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Condition
Tab – Trigger Event
Trigger Events – Generic to almost all forms
WHEN-NEW-ITEM-INSTANCE
Message rules
WHEN-VALIDATE-RECORD
Populate hidden fields
Additional validations
SPECIALn
Populate tools menu (MENU1-15) (CU1 patch)
29
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Condition
Tab – Trigger Event
Trigger Events – Generic to almost all forms
30
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Condition
Tab – Trigger Object
Trigger Object
WHEN-NEW-RECORD-INSTANCE
WHEN-VALIDATE-RECORD
31
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Condition
Tab – Condition
Conditions
Optional SQL code fragment to limit scope of rule
References bind variables (:block.field)
Examples
Use to limit scope based on profile option values
32
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Condition
Tab – Context
Context – who does this rule apply to?
Multiple scope rows are allowed
Level at which the rule will apply
Tip: For initial
Site
development,
Responsibility
set scope to
User – Use this for testing rules your user id
Industry (For future use)
33
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Property
Actions
34
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Property
Actions
Sequence
Rules will run in sequence
Sequence number not unique
Type
Property
Message
Built-in
Menu
Description
Language – use when changing prompts for a specific
language
Enabled – checked
35
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Property
Actions
Choose Object Type
Item , Window, Block,
***These
prompts will
Tab Page, Parameter
vary for each
Radio Button, View, action type***
:GLOBAL Variable, Canvas
36
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Property
Actions
Use Select by Text button to select the target object
by prompt name
Optionally use LOV to choose by object name
37
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Property
Actions
PropertyName – Use the LOV to choose which
property to personalize
38
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Property
Actions
Use Get Value button to get the current value if
needed
Change the value if desired
39
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Property
Actions Example
Force Upper Case for the Vendor Name
Type = Property
Object Type = Item
Target Object = VNDR.VENDOR_NAME_MIR
Property Name = CASE_RESTRICTION
Value = UPPERCASE
40
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Property
Actions Example
Change the window title
Type = Property
Object Type = Window
Target Object = VENDOR
Property Name = TITLE
Value = Suppliers (Oracle Open World)
41
© 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)
Type = Property
Object Type = Block
Target Object = VNDR_USES
Property Name = INSERT_ALLOWED
Value = False
42
© 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
Type = Property
Object Type = :GLOBAL Variable
Target Object = XX_USER_EMAIL
Property Name = VALUE
Value = =SELECT Nvl(Email_Address,'NO_EMAIL')
FROM fnd_user
WHERE user_id = fnd_global.user_id
43
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Variables
Global Variables
Used to pass values between forms
Max length is 255 bytes
Prepend the name of the variable with XX
Local variables
Used when you need to refer to a variable multiple
times
Specific to local form
Max length is 4000 bytes
Prepend the name of the variable with XX
44
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Strings
Rulesfor fields that accept strings
Start with =
variables
Prior to CU1 patch, SQL statements starting with
45
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Property
Actions Example
:GLOBAL Variable
46
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Messages
MessageType Fields
Message Type
47
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Message
Example
Message to display global variable to show email
address when form opens
48
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – More
Message Examples
Debug message – Debug mode must be set to Show
Debug Messages
Training reminders
49
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Menu
Example
Create a menu entry to submit Supplier Payment
History report
Type = Menu (Prior to CU1 patch, Type = Special)
Menu Entry = MENU1 – MENU15 or SPECIAL1-45
Menu Label = Supplier Payment History
Icon = null
Enabled in Blocks = VNDR, SITE
Separate by comma
50
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Menu
Example
Create a menu entry to submit Supplier Payment
History report
Use Add Block Button to choose blocks
51
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Menu
Example
Create a menu entry to submit Supplier Payment
History report
Note – this action only displays the menu entry –
functionality behind the menu entry is the next step
52
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
Example
Activate the menu entry to execute the concurrent
request Supplier Payment History
Trigger Event = MENU1
53
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
Example
Activate the menu entry to run Supplier Payment
History Report
Type = Builtin
Builtin Type = Launch SRS Form (CU1 patch)
Program Name = Supplier Payment History
54
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
Example
Supplier Payment History Report – How to pass
parameters
Create rule with a sequence before menu execute
Trigger event = MENUn or SPECIALn
Set :GLOBAL variable to value of parameters for report
55
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
Example
Supplier Payment History Report – Passing Parameters
Create a new rule for the Requests: Submit form
Set the condition to only apply the rule when the
global variable is not null
56
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
Example
Supplier Payment History Report – Passing Parameters
Create the action for the new rule for the Requests:
Submit form to set the parameters to the global
variable
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
57
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
Example
Open a url
Trigger Event = WHEN-NEW-FORM-INSTANCE
Establish menu entry
CU1 Patch
58
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
Example
Launch a function (CU1 patch) to view payment history
form
Establish the Menu entry
Trigger Event = WHEN-NEW-FORM-INSTANCE
59
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
Example
Launch a function to view payment history form
Trigger Event = MENU3
Set the :GLOBAL Variable
Launch a Function
60
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
Example
Launch a function – target function rules
Populate query find variable if the global variable is
not null
Trigger Event = WHEN-NEW-ITEM-INSTANCE
61
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
Example
Launch a function – target function rules
Populate query find variable if the global variable is
not null
Trigger Event = WHEN-NEW-BLOCK-INSTANCE
CU1 Patch
62
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Built-in
Example
Launch a function – target function rules
Execute the DO_KEY(‘NEXT_BLOCK’) built in to force
query execution
Trigger Event = WHEN-NEW-BLOCK-INSTANCE
63
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Other
Built-ins
GO_BLOCK
GO_ITEM
RAISE_FORM_TRIGGER_FAILURE
FORMS_DDL
64
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Tips
If you disable a tab page, make sure the user cannot
still navigate to the items on the tab page
You may need to exit and re-open the form to see
personalization changes
Use Help Æ Diagnostics Æ Custom Æ Show Custom
Events to determine what events are firing
See MetaLink note 279034.1 for special rules for forms
with folders
After upgrades, go to the personalization for each
form and choose Tools Æ Validate All
Use debug message before and after events
Initialize global variables to null in the navigator form
using the WHEN-FORM-NAVIGATE trigger event
65
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Tips
Use the Validate button to validate strings
Conditions will return true, false or error
66
© 2006 Solution Beacon, LLC. All Rights Reserved.
Customizations / Personalizations
WARNING
67
© 2006 Solution Beacon, LLC. All Rights Reserved.
Customizations / Personalizations
68
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Moving
to Another Instance
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>
Download all personalizations
FNDLOAD <userid>/<password> 0 Y DOWNLOAD
$FND_TOP/patch/115/import/affrmcus.lct
<filename.ldt> FND_FORM_CUSTOM_RULES
Upload
FNDLOAD <userid>/<password> 0 Y UPLOAD
$FND_TOP/patch/115/import/affrmcus.lct
<filename.ldt>
69
© 2006 Solution Beacon, LLC. All Rights Reserved.
Other Sources of Information
Oracle Applications User Interface Standards for
Forms-Based Products
Oracle Applications Developer’s Guide
Oracle Applications System Administrator’s Guide
Oracle Applications User Guide
MetaLink note 279034.1 – Forms Personalization
Configuring, Reporting and System Administration in
HRMS
Oracle Self Service Web Applications Implementation
Manual
www.solutionbeacon.com – newsletters, free tools,
white papers and presentations, Vision access
70
© 2006 Solution Beacon, LLC. All Rights Reserved.
Thank you!
www.solutionbeacon.com
72
© 2006 Solution Beacon, LLC. All Rights Reserved.