ISC APPS FORMS BY SWAROOP
-
Upload
anil-kumar -
Category
Software
-
view
183 -
download
0
description
Transcript of ISC APPS FORMS BY SWAROOP
Copyright @ Immense Source Institutes, 2011. All rights reserved
Copyright @ Immense Source Institutes, 2011. All rights reserved
New Form Development
Form Customization
Form Personalization
Oracle Application Forms
Copyright @ Immense Source Institutes, 2011. All rights reserved
Contents in Oracle Application Forms
• Oracle 11i Product top• Architecture for Forms• Standard form vs Custom form• Standard Library file• Template.fmb• Query find• Custom.pll• New form Development process• Step to Resister the New Form • Form Customization Process• Form Personalization• Form Personalization vs CUSTOM.pll
Copyright @ Immense Source Institutes, 2011. All rights reserved
What is Form Personalization
The Form Personalization feature allows you to declaratively alter the behavior of Forms-based screens, including…
Changing propertiesExecuting built-insDisplaying messagesAdding menu entries.
Form Personalization is independent to each form. This means the personalization done on one form will not reflect on other form.
The form mainly contains four sections. They are…Rules, Conditions, Context, Actions
Copyright @ Immense Source Institutes, 2011. All rights reserved
Most of the customers wish to modify the way the forms look and behave. Like changing the labels on the form fields, hiding fields, hiding buttons, etc.
The motives could beManaging un-necessary fields.To match the customer specific business requirements.
The Need
Copyright @ Immense Source Institutes, 2011. All rights reserved
Menu Navigation: Help Diagnostics Custom Code
Personalize
Copyright @ Immense Source Institutes, 2011. All rights reserved
Condition
Trigger Object
Trigger Event
Condition
Processing Mode
Validate
Copyright @ Immense Source Institutes, 2011. All rights reserved
» Each condition mainly contains three sections. They are…
» Trigger Event: Trigger Event specifies the occurrence where the rule should be executed.» Trigger Object: Trigger Object is the object on the form to determine at what level the rule should be executed. The values can be “<Form Name>”, ‘<Block Name>” or “<Item Name>”
» Condition: Condition is any SQL statement to control the execution of rule when the mentioned criterion is met.
Condition
Copyright @ Immense Source Institutes, 2011. All rights reserved
Condition : Trigger Event & Trigger Object
Copyright @ Immense Source Institutes, 2011. All rights reserved
All E-Business Suite forms send the following events: WHEN-NEW-FORM-INSTANCE: Once, when the form starts up. Trigger Object does not apply.WHEN-NEW-BLOCK-INSTANCE: Each time the cursor moves to a new block. Trigger Object must contain the blockname of interest.WHEN-NEW-RECORD-INSTANCE: Each time the cursor moves to a new record. Trigger Object must contain the blockname of interest.WHEN-NEW-ITEM-INSTANCE: Each time the cursor moves to a new item. Trigger Object must contain the blockname.itemname of interest.WHEN-VALIDATE-RECORD: each time the current record has any change that needed to be validated. Trigger Object must contain the blockname of interest.
Form Personalization
Copyright @ Immense Source Institutes, 2011. All rights reserved
Processing Mode:
1. Not in Enter Query Mode: The Rule will not be executed in Enter Query Mode.
2. Only in Enter Query Mode: The Rule will be executed in Enter Query Mode only.
3. Both: The Rule will be executed in both the Enter & Execute query modes.
Validate :
1. When you press the Validate button, the Condition will process immediately and return either True, False, or an Error.
2. Errors are in standard ORACLE error format, with an ORA error number.
Condition: Processing Mode & Validate
Copyright @ Immense Source Institutes, 2011. All rights reserved
Context
Copyright @ Immense Source Institutes, 2011. All rights reserved
Context manages to whom the personalization should apply.
This is similar to the concept of using profile options in Oracle Applications with a slight difference. We will see this in next slide.
The various levels are Site, Responsibility, Industry and User.
During runtime, the values provided in the context are evaluated and personalization rules will be applied.Usage of context is very vital in implementing the personalization to prevent the inappropriate users accessing these personalization of the form.
Example : Context = Responsibility Value = Customer Support
Context
Copyright @ Immense Source Institutes, 2011. All rights reserved
If a Rule has a context of ‘Site’, it will be applied for everyone.
A rule with a context of Responsibility does not ‘override’ Site.
A rule with a context of User does not ‘override’ Site or Responsibility.
If 2 rules have the same Trigger Event, and Actions that change the same property, the rule with the higher sequence number will be performed last, thus it will ‘WIN’.
Context
Copyright @ Immense Source Institutes, 2011. All rights reserved
Actions
Copyright @ Immense Source Institutes, 2011. All rights reserved
Actions decide the exact operation to be performed when the conditions and context return TRUE during the runtime.
The types of actions available are…PropertyMessageBuilt-inSpecial
Each Action contains a Sequence number, Description and Language.
Based on the action type selected, the fields on the right sector of the actions tab will be refreshed where the action parameters are entered.
Actions can be enabled, disabled or deleted.
Actions
Copyright @ Immense Source Institutes, 2011. All rights reserved
The action type “Property” is used to set the properties of the objects.The various objects include “Item, Window, and Block etc”.Property Name is the Property to be changed.Value is the new desired value for the property.
Example: Object Type = “Item”, Target Object = “:ORDER.ORDER_NUMBER” Property Name = “PROMPT_TEXT” Value = “Claim Number”
The value can be interpreted at runtime, so you can use SQL functions and operators.Any value start with “=” operator will be interpreted at runtime, otherwise the value is treated as is entered in the value field. Example: Value => =’Welcome to the Sales Order Entry Mr. ‘||user.
Copyright @ Immense Source Institutes, 2011. All rights reserved
For Items (Fields):• PROMPT_TEXT: The prompt of the item, typically next to or above the item• DISPLAYED: If False, the item is hidden• INITIAL_VALUE: The value to default on a new record. This can only be set in the
WHEN-NEW-RECORD-INSTANCE event• LABEL: The label of a button, checkbox or radio button• REQUIRED: If True, the user must enter a value.• TOOLTIP_TEXT: The bubble tip on the item. X and Y_POS: The location on the
canvas, in inches.
Common Actions of type Property
Copyright @ Immense Source Institutes, 2011. All rights reserved
For Tab Pages:• DISPLAYED: If False, the tab page is hidden. Note that keyboard navigation may
need to be changed to prevent access to items on the page• LABEL: the title of the tab
For Canvases:• TOPMOST_TAB_PAGE: Determines the currently selected Tab Page.
For Windows:• TITLE: the title of the window• X and Y_POS: the location within the MDI window, in inches For Blocks:• DEFAULT_WHERE: the WHERE clause of the SQL statement controlling queried
records• ORDER_BY: the ORDER_BY clause of the SQL statement of the queried records• INSERT_ALLOWED: if False, prevents the user from creating new records• UPDATE_ALLOWED: if False, prevents the user from updating any item in a
queried record• DELETE_ALLOWED: if False, prevents the user from deleting queried records
Common Actions of type Property
Copyright @ Immense Source Institutes, 2011. All rights reserved
Actions Type: Message
• The action type “Message” is used to display custom messages during runtime.• Message Type and Description should be entered after selecting the action type as
“Message”. • The available message types are
Show Hint Error Debug Warn• Depending on the response expected from the user, the appropriate message type should
be selected. Example: Message Type = “Hint”
Message Text = “Please Follow the Date format DD-MON-YYYY”
Copyright @ Immense Source Institutes, 2011. All rights reserved
Show: Displays a message of type Note, with an OK button.
Hint: Displays text on the message line
Error: Displays a message of type Error, with an OK button. Processing is aborted afterwards.
Debug: Displays a message of type Note, with an OK button. Only displays when ‘Display Debug messages’ is checked.
Warn: Displays a message of type Question, with OK and Cancel buttons.
If the user selects Cancel, processing is aborted.
Common Actions of type Message
Copyright @ Immense Source Institutes, 2011. All rights reserved
Actions Type: Builtin
The action type “Builtin” is used to execute the form and AOL API’s.
Depending on the API type selected, the parameters should be entered.
Example: Builtin Type = FND_UTILITIES.OPEN_URLArgument = http://dms.dell.com
Copyright @ Immense Source Institutes, 2011. All rights reserved
• GO_ITEM and GO_BLOCK: Move the cursor to a specific item or the first item in a block
• DO_KEY: Acts like a macro, simulating user actions. • Common Arguments:
• ENTER_QUERY: invoke QBE mode• EXECUTE_QUERY: execute the query• NEXT and PREVIOUS_BLOCK: move to another block• NEXT and PREVIOUS_ITEM: move to another item
• FND_UTILITIES.OPEN_URL: Launch a URL. Can be as simple as ‘www.yahoo.com’, or as complex as a Discoverer page
• FND_FUNCTION.EXECUTE: Open a function, applying security rules. Parameters can be passed if the target accepts them.
Common Actions of type Builtin
Copyright @ Immense Source Institutes, 2011. All rights reserved
A rule or action may not run for a variety of reasons:
• The Rule or Action is not enabled .• The Condition has evaluated to FALSE .• The Trigger Event and/or Trigger Object were not what you expected • The scope of the rule only consists of Responsibility, Industry and/or
User, and none is true for the current context • An action is executing the Builtin 'RAISE
FORM_TRIGGER_FAILURE' . That will abort all further processing for that event.
• The Language of the Action, if not ‘All’, is different than what you are currently running
• You have set Custom Code to ‘Off’ or ‘Core code only’ in the pulldown menu.
• Rules are created for a Function. You might be running the same form, but as a different function.
Debugging: Why isn’t it running ?
Copyright @ Immense Source Institutes, 2011. All rights reserved
Personalization Customization
Not Require CUSTOM library Mainly use CUSTOM library
For a limited functionality like hiding columns, changing labels and showing custom messages etc. (Look & Feel)
To Implement the complex business logic
Easy, faster and requires minimum development effort.
Depends on the complexity of business logic and require considerable development effort.
Doesn’t violate the support from Oracle and these rules also conceded with the future upgrades without any additional effort.
Copyright @ Immense Source Institutes, 2011. All rights reserved
Form Personalization: Database Tables
Some of the Important Database tables for personalization
FND_FORM_CUSTOM_RULES
FND_FORM_CUSTOM_ACTIONS
FND_FORM_CUSTOM_PARAMS
FND_FORM_CUSTOM_PROP_LIST
FND_FORM_CUSTOM_PROP_VALUES
FND_FORM_CUSTOM_SCOPES
Copyright @ Immense Source Institutes, 2011. All rights reserved
Thank You