Sie sind auf Seite 1von 40

ORACLE WHITE PAPER

Form Personalization
1
FORM PERSONALIZATION
IMPLEMENTATION
White Paper
Product: FormsMinimumVersion: R12
? Mp_a|c Uf grc N_ncp
?`qrp_ar
[The Form Personalization provides flexibility to the users to customize
Oracle applications .It provides easier and faster mechanism to achieve the
business needs and requires minimum technical knowledge. This white
paper demonstrates the ways form personalization can be used to
implement the customers business needs using custom library without
modifying the forms code.]
Document History
Author: Kalyani Pasupulaty
Create Date: 23-J un-2009
Last Update Date 15-Sep-2012
Expiration Date: [Not Applicable]
Other Information: [Not Applicable]
ORACLE WHITE PAPER
Form Personalization
2
Table of Contents
Introduction
Form Personalization Vs Custom.pll
Profiles used in Form personalization
Sections of Form Personalization
Limitations
Best Practices
1. Trigger Event
2. Triggers
3. Global/Local Variables
4. Messages
5. LOV (Record Groups)
6. Builtin Type (Execute a Procedure)
7. Property Type
8. Evaluation of Strings
9. Defaulting a parameter in Concurrent program
ZOOM
Upgrade Considerations
Securing Access to Form Personalization
Deployment
Troubleshooting
Tables
Forms Personalization Maintenance
Relationship to Folders
Examples of typical Customizations
1. Masking Data
2. Changing LOVs
3. Recursion Example
Other Process Improvement Features
FAQ
References
ORACLE WHITE PAPER
Form Personalization
3
G rpmbsargm
Form Personalization isa standard feature provided and supported by Oracleto
customize the forms and gives user the ability to customize Forms in a very easy manner.
It allows to Pass data from one form to another through global variables, we can change
LOV values dynamically, Enable/Disable/Hide fields dynamically Execute PL/SQL
programs through FORM_DDL package and allows displaying informative/error
messages to the user. This document can be used as a Trouble Shooter guide while
emphasizing more on the Best Practices.
Form Personalization Vs Custom.pll
Keep in mind that Forms Personalization code fires prior to CUSTOM.pll code [in
case you have the same form extended in both the places].
Form Personalization Custom.pll
Personalization are stored in tables Personalization are stored in files
Not muchimpact when you upgrade or
apply patches
There is an impact when you upgrade or
apply patches
Can be restricted at site/responsibility/user
level
The personalization effects at site level
Easy to disable/enable with click of a
button.
Not user friendly to enable/disable
personalization.
Npmdg|cqSqcb g Dmpk Ncpqm _|gx_rgm
The following profiles are used in Form Personalization.
1 Utilities: Diagnostics =Yes/No
This profile option controls whether users can use the examine utility.
2 Hide Diagnostics Menu entry =Yes/No
This profile option controls the availability of Diagnostics utility.
3. FND: Enable Industry Editing =Yes/No
This profile option is used to enable Key field in the form personalization window.
ORACLE WHITE PAPER
Form Personalization
4
Ocargm qmdDmpk Ncpqm _|gx_rgm
To create personalizations for a particular function, first invoke that function from the
Navigationmenu. While in the form, choose Help->Diagnostics->Custom Code->
Personalize from thepull down menu. This menu entry is secured by the
FND_HIDE_DIAGNOSTICS (Hide Diagnosticsmenu entry) and DIAGNOSTICS
(Utilities: Diagnostics) profiles, as are most other entries on theDiagnostics menu.
Form Personalization has the following four sections:
Rules
Conditions
Context
Actions
Rules and Conditions
Function Name: Personalization is made for a function/form.
But based on the requirement sometimespersonalizations arealso made on form.
Example: The form personalization on sales order form should be done at form level, so
that the same form personalization gets reflected in Quick Sales order form also.
Seq: An ordering from 1 (first) to 100 (last)
Key (Rule_Key): Enabled/Disabled based on the profile option FND: Enable Industry
Editing. Used for industry translations. Value is a combination of the industry id and
language.
Description: To record usage of that personalization
Enabled: used to temporarily disable a rule
Trigger Event: The event within the form that causes invocation of the rule
The following are standard Trigger Events.
WHEN-VALIDATE-RECORD
Populate hidden fields
Additional validations
SPECIALn
Populate tools menu (SPECIAL 1-15)
Populate reports menu (SPECIAL 16-30)
Populate actions menu (SPECIAL 31-45)
ORACLE WHITE PAPER
Form Personalization
5
MENUn
Populate tools menu (MENU1-15)
Trigger Object: The context for the trigger event, such as a particular block/item.
For example, if Trigger Event WHEN-NEW-ITEM-INSTANCE is selected, then you
must enter a specificblock.field for that trigger to be processed.
Item Condition: An optional SQL fragment, when it evaluates to TRUE, allows the rule
to execute. It specifies the conditions when the action should be executed. The entire
fragment must be syntactically correct, and can be tested with the 'Validate' button, which
will evaluate it in the current context of the target form.
You can get the syntax to read the item value property usingInsert Get Expression
button. It automatically constructs the expression.
Example: ${objectType.objectName.Property}
It is strongly recommended using the window to build it to reduce mistakes.
Processing Mode: Specify whether the Rule(s) should be applied while not in Enter-
Query mode (the default), only in Enter-Query mode, or in Both modes
There are 3 kinds of processing modes.
Not in Enter-Query Mode
Only in Enter-Query Mode
Both
Context
Context controls where the personalization applies to:
Level: Site, Responsibility, Industry, or User
Value: The specific value when level is Responsibility, Industry, or User
At runtime, if the users context matches any context of a rule, that rule is executed.
ORACLE WHITE PAPER
Form Personalization
6
Actions
Actions determine what personalization does.
Each Action consists of one of the following:
Setting a Property, such as making a field Required or hiding a Tab page
Executing a Builtin, such as GO_BLOCK, DO_KEY or
FND_FUNCTION.EXECUTE
Displaying a Message
Enabling a menu entry
Seq: An ordering from 1 (first) to 100 (last)
Type: There are 4 different Action Types
1. Property: Allows selecting a specific object, a property of that object, and
specify a new value for that property
ORACLE WHITE PAPER
Form Personalization
7
2.Message: Displays a message in one of several styles
3.Builtin: Allows execution of a standard Forms Builtin, such as
GO_ITEM
DO_KEY
GO_BLOCK
RAISE FORM_TRIGGER_FAILURE
ORACLE WHITE PAPER
Form Personalization
8
FORMS_DDL
4. Menu: Enables a special menu entry, defining its label, icon name and
which blocks it applies to
Depending on the Type selected, the panel will change to show additional fields
ORACLE WHITE PAPER
Form Personalization
9
Description: To record usage of that action
Language: a list of installed languages, and ALL. An action associated with a specific
language will only be executed in the context of that language
Enabled: used to temporarily disable actions.
Property
For a Type of Property, the following fields are available
Object Type: The type of objects available is Item, Window, Block, Tab page, Canvas,
Radio Button, View, Global Variable, and Parameter.
Target Object: It Should be Block. Field Name. It is based on the Object Type, in case
of GLOBAL and PARAMETER, the Target Object name must not include GLOBAL.
For example, to refer toGLOBAL.XXXX, only enter XXXX.
Property Name: Based on the Object Type, the properties that can be personalized. The
Object Type of Item supports a vast array of properties described as follows.
Item-level properties: Used to set the property for all instances of that object.
Item-instance properties: Used to set the property for the current record of that block
using set_item_instance_property ().
Applications cover properties: They are hybrid of multiple item and item-instance level
properties. These are fully documented in the OracleApplications Development Guide.
Value: The new value, the appearance and validation of this field changes based on
whether the property accepts Boolean values (True/False), numbers, a restricted set of
values, or a string.
Message
For a Type of 'Message':
Message Type: The message types are 'Show', 'Hint', Warn, 'Error', or Debug.
Error/Warn: If the user selects the Cancel button, then this message types will raise a
form_trigger_failure after executing, and stop all further processing.
Debug: will only be displayed if the Show Debug Messages checkbox is checked.
Show/Hint: Display just an informative message to the user.
Message Text: Text to be displayed in the screen
ORACLE WHITE PAPER
Form Personalization
10
Builtin
For a Type of 'Builtin':
Builtin Type: The name of the builtin, such as GO_ITEM, DO_KEY, GO_BLOCK,
RAISE FORM_TRIGGER_FAILURE, FORMS_DDL, FND_UTILITIES.OPEN_URL
or FND_FUNCTION.EXECUTE.
Argument: The argument for the currently selected builtin, if applicable.
Depending on the specific builtin, other argument fields may appear.
Menu
For a Type of 'Menu':
Menu Entry: One of 45 menu entries can be activated. The menus are arranged in 3 sets
of 15 each under the Tools, Reports and Actions pull down menus. On selecting a menu
that the base form is already using, the functionality will override the form's
functionality.
Menu Label: The textual label that is needed for the menu entry.
| gk gr_rgm q
Use of the Apply Now button does not always work if dependent on the results of
another action.
The argument (sql) length for creating a record group must be within 2000
Characters.
Populating LOV dynamically from a Record Group must be against the WHEN-
NEW-ITEM-INSTANCE of that LOV item.
The use of the action RAISE FORM_TRIGGER_FAILURE may not work
properly in some triggers.
Use of Builtin Action "Raise Form_Trigger_Failure" and pressing the button
"Apply Now" will show the message "One or more required fields are missing
values".
Even though FND Load Command is available tomove the form personalization
from one instance to another instance, but care should be taken that it will not
override the existing form personalization setups in target instance.
ORACLE WHITE PAPER
Form Personalization
11
@cqr Np_argacq
The following are the best practices to be followed when working with form
personalization.
1.Trigger Event:
It is not necessary that you should use only the events provided in the form
personalization. You can override the available events.
Example: If there is a need to throw a message whenever an update occurs in a particular
block of form.
Enable the custom events as follows
Navigate to Help->Diagnostics->Custom Code->Show custom events.
Check if pre-update custom event is fired when you are saving the transaction
By enabling help->diagnostics->customcode->show custom events.
If the pre-updateevent is fired, then the trigger event can be override with pre-update
event and necessary action can be performed.
ORACLE WHITE PAPER
Form Personalization
12
2. Triggers:
It is always advisable to provide the form personalization on MENU triggers rather than
SPECIAL triggers.
SPECIAL triggers are used by Oracledevelopment, so form personalization should be
provided to customer using MENU triggers as they are guaranteed that they will not to be
used by Oracleand are exclusively for customer use.
3. Global/Local Variables:
Make use of global/Local variables, which can be used to store and later use the
value.
Ensure that while defining global/local variables, an initial value is set at WHEN-
NEW-FORM-INSTANCE Trigger level to avoid any variable not defined or
syntax error problems.
If a variable scope is limited to single form which is being personalized, then do
not unnecessarily create a GLOBAL Variable
Make sure you clear off the GLOBAL Variables after their usage is finished. This
will ensurethat screen works under normal scenarios too.
ORACLE WHITE PAPER
Form Personalization
13
Global Variable are very tricky to work with as they are often used to pass item
values to another form. You can use SQL statements to generate the value of the
Global Variance but again your SQL statement needs to be precise. So use the
"Validateall" from the menu bar to help you validate your statement. The initial
value of NULL of the Global Variable is set at the destination form and the
trigger object needs to match the menu item used to trigger the Global Variable,
so use caution when using Global Variance. Using many Global Variances within
the same Rules is not a good idea, it is best to use different Rule sequences.
4. Messages:
Use fnd_message.set_name and fnd_message.get methods to display user messages.
5. LOV (Record Groups):
As there is a limitation of 2000 characters of sql length for creating a record .You can
create a view and use that view in creating the record group.
6.Builtin Type (Execute a Procedure):
When a Builtin Type ExecuteProcedure is used, Ensure sure that all the
parameters passed to the procedure takes some value otherwise it throws syntax error
messages when the particular trigger is raised.
7. Property Type:
In order to make a displayed item on the form mandatory, First enable the item using
Object type-Item and set the property to ENABLED and then make it mandatory by
setting property to REQUIRED. Directly you cannot make a displayed item a
mandatory item.
8: Evaluation of Strings
If a string has space in between then the form personalization throws error as
follows
ORACLE WHITE PAPER
Form Personalization
14
Example: If a string is name=ADB CORP and you want to pass this
string as a parameter then you should enclose the string with one single
quote followed by double quotes and then a sing single quote.
Example: =||name||
A string should be preceded with = to evaluate the text immediately after that
character.
To use SELECT statements the text must start with =SELECT. The columns
returned by the select statement should evaluate to character otherwise the form
personalization throws error as follows.
The SELECT statement should return only one row, incase more than one row is
selected the value of the first row is considered.
ORACLE WHITE PAPER
Form Personalization
15
Using to_char in select statement will resolve the problem.
ORACLE WHITE PAPER
Form Personalization
16
9. Defaulting a parameter in Concurrent program
The following steps and screenshots show how to default the parameters in concurrent
programs using forms personalization. You can call the concurrent program in SRS
window through a menu click and default one parameter from the base form.
1. Define the menu to call the concurrent program through SRS window
ORACLE WHITE PAPER
Form Personalization
17
3. Define sequence for action on click of the menu
4. Define an action sequence of type property to capture the required field data
in global variable.
ORACLE WHITE PAPER
Form Personalization
18
5. Define sequence of type Builtin to launch SRS window with the desired
concurrent program.
ORACLE WHITE PAPER
Form Personalization
19
2. Define form personalization on FNDRSRUN form as follows
Go to condition tab
Trigger Event--WHEN-NEW-ITEM-INSTANCE
Trigger Object--WORK_ORDER.PARAMETERS
3. Go to Action tab
Action Type: Property
Object Type: Item
Target Object: WORK_ORDER.ATTRIBUTE1
Here the target object depends on which parameter value you want to default.
Example: For first parameter we can use ATTRIBUTE1, for second parameter
ATTRIBUTE2 and so on, but itsalways advisable to check which parameter
goes into which attribute.
Property Name: VALUE
Value: ${global.g_test.value}
ORACLE WHITE PAPER
Form Personalization
20
XMMK8 Fmu rmgk n|ck c r XMMK Ds argm _|grwsqg e ncpqm _|gx_rgm =
A common scenario is to open another function and have that form query a specific row
of data associated with the source form. For example, consider the Users form which
allows entry of Responsibilities for each user. A possible zoom would be to carry the
current responsibility key tothe Responsibilities form and have it query that record
automatically. Some strategies toaccomplish this type of functionality are:
The target function may already accept the value as an input parameter. Simply
passingthe parameter name and value as the argument to the Function may
accomplish thedesired result.
In forms that have Find windows, it may be possible to populate the appropriate
field inthe Find window, then issue DO_KEY('NEXT_BLOCK') which should
simulate pressingthe Find Window. Pass the value(s) between forms by using
global variables.
You could modify the DEFAULT_WHERE clause of the appropriate block, then
query it usingDO_KEY('EXECUTE_QUERY'), then reset the
DEFAULT_WHERE clause back toits original value. Pass the value(s) between
forms by using global variables.
Put the form into enter-query mode using DO_KEY('ENTER_QUERY'), populate
thedesired fields, then issue DO_KEY('EXECUTE_QUERY'). Pass the value(s)
betweenforms by using global variables. This is a complex technique though
because invokingenter-query mode will suspend processing of that rule;
ORACLE WHITE PAPER
Form Personalization
21
populating the fields and issuingthe DO_KEY('EXECUTE_QUERY') would
need to be done in the WHEN-NEW-RECORD-INSTANCE event that fires as a
result of entering query-mode.
With any technique that uses global variables, be aware that they may not exist yet. You
shouldalways initialize them before referring to them by setting the Initial Value to null,
which will createthe variable if it does not yet exist, otherwise it will leave it unchanged.
You should also code Conditions to account for situations where the value you want to
passbetween forms has not yet been entered, for example when the cursor is sitting on a
brand newrow
Snep_bc Am qgbcp_rgm q
A form may change after an upgrade or patch to OracleApplications. You should test
anypersonalization logic that you have defined to confirm that it still operates as
intended beforeusing it in a production environment.
It is common for object names within a form to change after a applying a patch. To assist
you withthis, there is a function which will confirm the existence of objects that your
personalizationsreference. You should perform the following for each form that is
changed during a patch and haspersonalizations:
Run that form. If the form fails to run due to personalizationsthat are now in
error, first turn Custom Code to Off then re-run the form.
Invoke the Personalization screen from that form
In the Tools pull down menu, select Validate All. This will process every rule
for that function, checking for the validity of references to objects in the form.
Only rules that areenabledare processed.
For each Rule or Action identified as having an error, you can then quickly locate
that rowand make corrections.
Note that this function only checks for object existence; it still may be the case
that certainpersonalizations that previously worked no longer do. Note that
pressing the Validate All buttonwill first create any GLOBAL variables
referred to in Property settings of either Value or Initial Value; this will reduce
missing bind variable references to them if the code that creates them hasnot yet
run.
Ocaspg e ?aacqqrmDmpk Ncpqm _|gx_rgm
ORACLE WHITE PAPER
Form Personalization
22
Whileusing Form Personalization, it is recommended to takesome precautions when
implementing it.
Use the system profiles: 'Hide Diagnostics menu entry' and 'Utilities: Diagnostics' to
control the visibility of the menu and the direct access to the feature (user requires Apps
password or not?);
Bcn|mwk c r
Form Personalization can be moved easily through FNDLOAD from one instance to
other.
FNDLOADapps/apps 0 Y DOWNLOAD FND_TOP/patch/115/import/affrmcus.lct
file_name.ldt FND_FORM_CUSTOM_RULES function_name=FUNCTION_NAME
Rpms`|cqf mmrg e
1. If any personalization results in preventing a form from opening or running then
disable all personalization by invoking the pull down menu and selecting Help-
>Diagnostics->Custom Code->Off. This menu entry is secured by the
FND_HIDE_DIAGNOSTICS and DIAGNOSTICS profiles. This will allow you
to open the form and invoke the Personalization screen so you can correct the
problem.
2. Check the errors in form personalization by navigating to Tools pull down menu
and then select Validate All. This will process every rule for that function,
checking for the validity of references to objects in the form.
3. If a missing bind variable or any syntax problem occurs then check if the global
variable is initialized properly by clicking on apply button/validate all in the
corresponding global variablesetup.
R_`|cq
The following are the tables used in forms personalization.
FND_FORM_CUSTOM_RULES (The Rules for the form customizations)
A rule must have 1 or more FND_FORM_CUSTOM_SCOPES and a rule may
have 1 or more FND_FORM_CUSTOM_ACTIONS.
ORACLE WHITE PAPER
Form Personalization
23
FND_FORM_CUSTOM_SCOPES(The Scopes for which the
FND_FORM_CUSTOM_RULES apply) RULE_ID link
FND_FORM_CUSTOM_ACTIONS (Holds the Actions for a specified Rule - used
by FNDCUSTM.fmb and APPCORE to apply customizations) RULE_ID
FND_FORM_CUSTOM_PARAMS (Parameters to Pass to a CP when executed using
Form Customizations) FK to the FND_FORM_CUSTOM_ACTIONS table
RULE_ID RULE_ID
ACTION_ID
Dmpk qNcpqm _|gx_rgm K_g rc _ ac
After upgrades, go to the personalization for each formand choose Tools
Validate All
Tools ->Administration will show personalized forms
FND_FORM_CUSTOM_RULES
FND_FORM_CUSTOM_SCOPES FND_FORM_CUSTOM_ACTIONS
FND_FORM_CUSTOM_PARAMS
ORACLE WHITE PAPER
Form Personalization
24
Press the Find button with the Form Name blank
ORACLE WHITE PAPER
Form Personalization
25
Pc|_rgm qf gn rmDm|bcpq
Folders allow an end-user to 'customize' a screen by changing the fields and records
displayed. For the most part, folder blocks are identifiable by an enabled Folder menu
entry, and an OpenFolder icon above the block. In a few cases, folder technology may
be used by base code todynamically alter a block, but no folder functionality is exposed
to the end user.
Folder blocks are constructed differently than regular Forms blocks they include an
extra blockthat renders the prompts for the fields, and many properties of the block are
dynamicallymanaged by the folder code as it receives events. As a result, when using the
FormPersonalization feature on a folder block, you must be aware of certain restrictions:
The following properties of a folder block can only be set at form startup (WHEN-NEW-
FORM-INSTANCE). More specifically, they must be set before any folder code attempts
toread the values otherwise unexpected results may occur.
PROMPT_TEXT
DISPLAYED
WIDTH
DEFAULT_WHERE
ORDER_BY
X_POSITION and Y_POSITION, in a single-row folder block.
The following properties also have special considerations:
ENABLED: within a folder block, it is invalid to set this property to FALSE. The
cursor must be able to navigate to every item in a folder block. Consider setting
ALTERABLE toFALSE instead.
NEXT_ NAVIGATION_ITEM and PREVIOUS_NAVIGATION_ITEM: These
propertieshave no effect in a Folder block. In a single-row folder block, the
navigation sequence iscomputed based on X_POSITION and Y_POSITION. The
navigation sequence of amulti-row folder block cannot be changed.
ORACLE WHITE PAPER
Form Personalization
26
Af _ eg e | MTq
The following example shows how to modify the LOV query for Tax Classification code
on Receivable-Transactions screen.
1.Remove Tax Type from List of Values
ORACLE WHITE PAPER
Form Personalization
27
ORACLE WHITE PAPER
Form Personalization
28
Cv_k n|cqmdRwnga_| Asqrmk gx_rgm q
K_q g e B_r_
The following example shows how to mask data. The screenshots shows how the
comments section in Receivable Transaction form is concealed.
ORACLE WHITE PAPER
Form Personalization
29
Change form appearance at WHEN-NEW-FORM-INSTANCE Trigger.
CONCEAL_DATA =TRUE - replaces data with *
DISPLAYED =FALSE hides field completely
Select the item
field to be
concealed
Select the
trigger event
ORACLE WHITE PAPER
Form Personalization
30
Pcaspqgm Cv_k n|c8 Loop through the records
The following Example Shows How to loop through records via recursion .In this
Example the lookup description is automatically populated with the lookup meaning
when the user clicks on Detail Block of Lookup Values.
1. Create Global Variable with Value NO when entering HEADER BLOCK
In the header block, assign value NO to a global variable.
Each time cursor navigates to header block, the global variable will be reset to NO
Comments
concealed
ORACLE WHITE PAPER
Form Personalization
31
ORACLE WHITE PAPER
Form Personalization
32
2. Assign value: Assign the value of meaning to description field if description is
blank.
Also navigate to NEXT_RECORD to re-trigger WHEN-NEW-RECORD-INSTANCE
As below, set the value of Lookup Description field.
=SELECT nvl('' || ${item.fnd_lookup_values.description.value}
|| '' ,'' || ${item.fnd_lookup_values.meaning.value} || '')
FROM dual
ORACLE WHITE PAPER
Form Personalization
33
Now, call next_record to force the WHEN-NEW-RECORD-INSTANCE event to fire
again.
ORACLE WHITE PAPER
Form Personalization
34
3. Go to next record if description field already has a value
We are going to the next record in case description field already has a value. Doing so
will again fire WHEN-NEW-RECORD-INSTANCE
ORACLE WHITE PAPER
Form Personalization
35
4. Send Back To First Record
Now we check if the LAST_RECORD has been reached, then reset the global variable
ORACLE WHITE PAPER
Form Personalization
36
Mrf cpNpmacqqGk npmtck c r Dc_rspcq
Utilize the following Built-insto improve process flows
1. Launch SRS Form runs concurrent request
2. Launch a Function call another form
3. Launch a URL call any web page
4. DO_KEY
DO_KEY(NEXT_BLOCK) will force query execution for find window
5. GO_ITEM, GO_BLOCK change navigation
Use to prevent update to a field where navigation is needed to populate
6. EXECUTE_TRIGGER
Execute form trigger, not database trigger
Use after setting default values to ensure internal code executes
ORACLE WHITE PAPER
Form Personalization
37
Examples of Typical Customizations:
Form personalization helps in Speed up of data entry and processing
Hide fields, tabs
Change order of fields
Set default values
Call other forms or web address from tool bar
Execute processes from tool bar
D?Oq
Uf _r gqDmpk qNcpqm _|gx_rgm =Uf cpc gr gqsqcb=Uf _r Dmp=
Forms Personalization is a standard feature provided andsupported by Oracleto
customize the forms. With Forms personalization you can hide fields, make fields
mandatory, create zoom functionality, change lov dynamically e.t.c
Uf _r _pc bgddcpc r rpgeecpqrf _r a_ `c sqcb g ncpqm _|gx_rgm =
WHEN-NEW-FORM-INSTANCE WHEN-NEW-BLOCK-INSTANCE WHEN-
NEW-RECORD-INSTANCE WHEN-NEW-ITEM-INSTANCE WHEN-
VALIDATE-RECORD MENUS SPECIAL EVENTS
Uf _r gqrf c bgddcpc ac `crucc f _tg e ncpqm _|gx_rgm _r ds argm |ctc| p_rf cp
rf _ dmpk |ctc|=
A Form can have multiple functions. Having the personalization at function level
limits the scope of the personalization. For example in Inventory for both Master
Item form and Organization Item form uses same form named INVIDITM
where as both have different functionslinked to them.
A_ wms rp_ qdcprf c b_r_ dpmk m c dmpk rm_ mrf cpdmpk sqg e ncpqm _|gx_rgm =
Wcq, Sqg e e|m`_| T_pg_`|cq,
?r uf _r |ctc| wms a_ pcqrpgar ncpqm _|gx_rgm ambc=
ORACLE WHITE PAPER
Form Personalization
38
FORM level and FUNCTION level
Uf c wms bgqn|_w_ cppmpk cqq_ec _r UFCL+T?| GB?RC Rpgeecpug|| rf c b_r_ ug||
`c q_tcb g rmb_r_`_qc=
No. If it is normal message or warning data then it will be saved but NOT for
error message.
Fmu a_ wms pcqrpgar rf c _aacqq&rmMp_a|c _nnq' rm? EPMSNMDsqcpqsqg e
ncpqm _|gx_rgm =
A. Node or Responsibility Trust Level : is profile option, to restrict access to set
of responsibilities based on Web Server from which user logs in.
This profile option can take one of three values
Administrative
Normal (Default Value)
External
Fmu rmNcpqm _|gxc DMPKOugrf msr ?nnqN_qqumpb=
Using below Profile option, you can perform FORMS Personalization without knowing
APPS Password.
Profile option: Utilities: Diagnostics
Set to Yes at Responsibility level. This can be set at User Level also.
Fmu rmk _ c _ dmpk Oscpwm |w
1.Go to the form which needs to be personalized
2.Open the personalization screen
3.create a rule at when new form instance level
4.Set update, delete, insert allowed property to false to the block you want to provide read
only functionality.
4. Save the record
Fmu rmk _ c rf c _rr_af k c r ds argm g qncagdgapcqnm qg`g|grgcqrm_ar _qpc_b+
m |wk mbc qmrf _r sqcpquf m|me g rmrf cqc qncagdgapcqnm qg`g|grgcqa_ m |w
ORACLE WHITE PAPER
Form Personalization
39
tgcu _rr_af k c rq*uf g|c dmprf c pcqr mdrf c pcqnm qg`g|grgcq_||mu sqcpqrm_bb*
snb_rc _ b bc|crc _rr_af k c rq=
Set_iem_property(SEQ_NUM,ENABLED,PROPERTY_FALSE);
Set_iem_property(CATEGORY_DESCRIPTION,ENABLED,PROPERTY_FALSE);
Set_iem_property(DOCUMENT_DESCRIPTION,ENABLED,PROPERTY_FALSE);
Set_iem_property(DATATYPE_NAME,ENABLED,PROPERTY_FALSE);
Set_iem_property(FILE_NAME_DISPLAY,ENABLED,PROPERTY_FALSE);
Fmu rmgbc rgdwuf gaf rpgeecpgqk mqr qsgr_`|c dmpupgrg e wmsp`sqg cqq|mega=
An easier way to check for the suitable triggers isYou can navigate to
Help/Diagnostics/Custom Code/Show Custom Events.
ORACLE WHITE PAPER
Form Personalization
40
You can alsoopen the FMB itself, and see the triggers which are calling CUSTOM.pll.
In some cases, the desired WHEN-NEW-BLOCK-INSTANCE or WHEN-NEW-ITEM-
INSTANCE are not beingfired. Then?
It should always be possible to trap these events in CUSTOM.pll .
Sometimes the forms are built in such a way that, these triggers are written at block/field
level, and the trigger property is set toOVERRIDE. Due to this, the corresponding form
level triggersdo not fire.
Pcdcpc acq
How To Call Code Logic Or Procedure In CUSTOM.PLL Using Form
Personalization - Builtin 'Call Custom Library'
Doc ID: 747508.1
How To Insert Or Update A Database Column Using Forms Personalization?
Doc ID: 421999.1
How to Use Parameters in Forms Personalization?
Doc ID: 429604.1
Note: For any queries please write to kalyani.pasupulaty@Oracle.com
Form
name
Block
name
Item
name
Event Name
to be captured

Das könnte Ihnen auch gefallen