Anda di halaman 1dari 57

Forms 6i

Personalization
Feature
- New for 11.5.10
ODTUG KALEIDOSCOPE
June, 2006
Susan Behn
Solution Beacon, LLC
Real Solutions for the Real World.®

© 2006 Solution Beacon, LLC. All Rights Reserved.


Agenda
n Introduction

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

uOther new objects

n Customizations are changes to forms, reports or any


other objects delivered with the E-Business Suite
NOTE: Direct modification of forms, reports,
packages, or other objects is not supported or
protected during patching and not recommended

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

u Forms Personalization for 6i forms – generally

protected during patching


u OA Framework Personalization – generally

protected during patching (not covered in this


presentation)

4
© 2006 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – What is it?
n Library available in $AU_TOP/resource

n Allowsmodifications to provide personalizations for


Oracle Application 6i forms (not self service)

n Use forms builder 6i to modify package body

n Supported by Oracle **with limitations

n Documented: Application Developer Guide –


Chapter 28

5
© 2006 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – What you can do?
n Hide fields, tabs

n Make fields required

n Restrict update or insert

n Change prompts, tab labels

n Alter LOVs

n Create zooms and tool bar menu selections

n Almost anything you can do in PL/SQL


6
© 2006 Solution Beacon, LLC. All Rights Reserved.
CUSTOM.pll – Examples

\*Force Upper Case for Supplier Name*\

APP_ITEM_PROPERTY2.SET_PROPERTY(‘VNDR.VENDOR_NAME_MIR',CASE_RESTRICTION,UPP
ERCASE);

\* Hide the tax payer id*\

APP_ITEM_PROPERTY2.SET_PROPERTY(‘VNDR.NUM_1099_MIR',DISPLAYED,PROPERTY_OFF)

\*Change the prompt*\

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

n Description – free form entry


n Level – Form or Function (CU1 patch)
n Enabled – checked

13
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Condition
Tab – Trigger Event
Trigger Events

n Use generic trigger events available in most forms


n Use specific events unique to the form (with caution)
n Find events using Help àDiagnostics àCustom Code
àShow Custom Events
n Trigger Events are not validated from the LOV

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

u Default values dependent on entry of another item

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)

uPopulate reports menu (SPECIAL 16-30)

uPopulate actions menu (SPECIAL 31-45)

n MENUn
uPopulate tools menu (MENU1-15) (CU1 patch)

n ZOOM– recommend using MENUn or SPECIALn rather


than zoom
n KEY-Fn

16
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Condition
Tab – Trigger Object
Trigger Object

n Required if LOV is available


n Requires Block Name
uWHEN-NEW-BLOCK-INSTANCE

uWHEN-NEW-RECORD-INSTANCE

uWHEN-VALIDATE-RECORD

n Requires Block.field name


uWHEN-NEW-ITEM-INSTANCE

n May be required for other events specific to form

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

uGL Journal Entry – Remind users to change the

period name the first 20 days of the fiscal year

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)

n Value – choose from LOV

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

uLOV, Local Variable (CU1 patch)

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 =

tString evaluated at run time

tCan use bind variables, operators, etc

tCan use server side functions without out

variables
tPrior to CU1 patch, SQL statements starting with

=Select require “A” alias (=Select meaning A


from fnd_lookups where…_
uDoes not start with =

tString is taken as a literal exactly as you type it

31
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Property
Actions Example
n :GLOBAL Variable

n Use the Validate button to validate your string

32
© 2006 Solution Beacon, LLC. All Rights Reserved.
Forms Personalization – Messages
n Message Type Fields
uMessage Type

tShow – Informational Message

tHint – Appear on status bar

tError – Requires user response – raises

form_trigger_failure
tDebug – Only displays if debug mode is set to

Show Debug Messages


tWarn – Informational message with caution

symbol – raises form_trigger_failure


uMessage Text

n Do not use messages for WHEN-NEW-FORM events

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

n Note: Parameters are not automatically passed

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

n Trigger Event = MENU2

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

uAction Type = Menu

uMENU3 = Payment History

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

uTrigger Object = use the first item on the form

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

uAction Type = Property

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

uAction Type = Builtin

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

n EXECUTE_TRIGGER (CU1 patch)

n SYNCHRONIZE (CU1 patch)

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

uValues will return the resulting string or an error

n Use the Apply Now button to apply the action now


and see the results (does not always work if
dependant on the results of another action)
n Use the Insert ‘Get’ Expression button to get any
property of an item (CU1 patch)
n Turn custom code off to confirm any form problem is
due to custom code Help à Diagnostics à Custom
Code à Off

52
© 2006 Solution Beacon, LLC. All Rights Reserved.
Customizations / Personalizations
WARNING

Customizations or Personalizations, whether they are


protected or non protected, allow you to
fundamentally change the behavior of the application.

This could interfere with intended functionality.

Use with caution!

TEST! TEST! TEST! TEST! TEST!

53
© 2006 Solution Beacon, LLC. All Rights Reserved.
Customizations / Personalizations

…THEN TEST IT AGAIN!

***BUT NOT IN PRODUCTION***

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!

If you have any questions or comments please contact:

Susan Behn sbehn@solutionbeacon.com

For free Release 11i Tools and helpful information,


please visit our website at:

www.solutionbeacon.com

Real Solutions for the Real World.


57
© 2006 Solution Beacon, LLC. All Rights Reserved.

Anda mungkin juga menyukai