SlideShare ist ein Scribd-Unternehmen logo
1 von 27
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 properties
Executing built-ins
Displaying messages
Adding 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 be
Managing 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…
Property
Message
Built-in
Special
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_URL
Argument = 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

Weitere ähnliche Inhalte

Andere mochten auch (6)

Dengue
DengueDengue
Dengue
 
Youth CareerConnect Parent Night
Youth CareerConnect Parent NightYouth CareerConnect Parent Night
Youth CareerConnect Parent Night
 
conjunctivitis
conjunctivitis conjunctivitis
conjunctivitis
 
Child trafficking
Child traffickingChild trafficking
Child trafficking
 
10 diets to b avoided n consumed by kidney patients
10 diets to b avoided n consumed by kidney patients10 diets to b avoided n consumed by kidney patients
10 diets to b avoided n consumed by kidney patients
 
Ekaaa
EkaaaEkaaa
Ekaaa
 

Ähnlich wie ISC APPS FORMS BY SWAROOP

Apps 11i10 Forms Personalization
Apps 11i10 Forms PersonalizationApps 11i10 Forms Personalization
Apps 11i10 Forms Personalization
Hossam El-Faxe
 
Personalize the forms how to oracle applications release 11.5.10 a technica...
Personalize the forms   how to oracle applications release 11.5.10 a technica...Personalize the forms   how to oracle applications release 11.5.10 a technica...
Personalize the forms how to oracle applications release 11.5.10 a technica...
FITSFSd
 
Apps 11i10 forms_personalization
Apps 11i10 forms_personalizationApps 11i10 forms_personalization
Apps 11i10 forms_personalization
Vinod Reddy
 
2.business object repository
2.business object repository2.business object repository
2.business object repository
Ajay Kumar ☁
 
#42 green lantern framework
#42   green lantern framework#42   green lantern framework
#42 green lantern framework
Srilu Balla
 

Ähnlich wie ISC APPS FORMS BY SWAROOP (20)

Apps 11i10 Forms Personalization
Apps 11i10 Forms PersonalizationApps 11i10 Forms Personalization
Apps 11i10 Forms Personalization
 
Personalize the forms how to oracle applications release 11.5.10 a technica...
Personalize the forms   how to oracle applications release 11.5.10 a technica...Personalize the forms   how to oracle applications release 11.5.10 a technica...
Personalize the forms how to oracle applications release 11.5.10 a technica...
 
Oracle 11i forms personalization
Oracle 11i forms personalizationOracle 11i forms personalization
Oracle 11i forms personalization
 
Apps 11i10 forms_personalization
Apps 11i10 forms_personalizationApps 11i10 forms_personalization
Apps 11i10 forms_personalization
 
Form personalization 395117_r12_updated1212
Form personalization 395117_r12_updated1212Form personalization 395117_r12_updated1212
Form personalization 395117_r12_updated1212
 
Form personalization
Form personalization Form personalization
Form personalization
 
personalization
personalizationpersonalization
personalization
 
Getting Started with React, When You’re an Angular Developer
Getting Started with React, When You’re an Angular DeveloperGetting Started with React, When You’re an Angular Developer
Getting Started with React, When You’re an Angular Developer
 
Variables, Arguments & Imports.pptx
Variables, Arguments & Imports.pptxVariables, Arguments & Imports.pptx
Variables, Arguments & Imports.pptx
 
Oaf personaliztion examples
Oaf personaliztion examplesOaf personaliztion examples
Oaf personaliztion examples
 
Oaf personalization examples
Oaf personalization examplesOaf personalization examples
Oaf personalization examples
 
Code decoupling from Symfony (and others frameworks) - PHP Conference Brasil ...
Code decoupling from Symfony (and others frameworks) - PHP Conference Brasil ...Code decoupling from Symfony (and others frameworks) - PHP Conference Brasil ...
Code decoupling from Symfony (and others frameworks) - PHP Conference Brasil ...
 
Programming Building Blocks for Admins
Programming Building Blocks for Admins Programming Building Blocks for Admins
Programming Building Blocks for Admins
 
.Net template solution architecture
.Net template solution architecture.Net template solution architecture
.Net template solution architecture
 
2.business object repository
2.business object repository2.business object repository
2.business object repository
 
Variables Arguments and control flow_UiPath.ppt
Variables Arguments and control flow_UiPath.pptVariables Arguments and control flow_UiPath.ppt
Variables Arguments and control flow_UiPath.ppt
 
WOdka
WOdkaWOdka
WOdka
 
Flex3 Deep Dive Final
Flex3 Deep Dive FinalFlex3 Deep Dive Final
Flex3 Deep Dive Final
 
#42 green lantern framework
#42   green lantern framework#42   green lantern framework
#42 green lantern framework
 
20 tips and tricks with the Autonomous Database
20 tips and tricks with the Autonomous Database20 tips and tricks with the Autonomous Database
20 tips and tricks with the Autonomous Database
 

Kürzlich hochgeladen

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Kürzlich hochgeladen (20)

%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 

ISC APPS FORMS BY SWAROOP

  • 1. Copyright @ Immense Source Institutes, 2011. All rights reserved
  • 2. Copyright @ Immense Source Institutes, 2011. All rights reserved  New Form Development  Form Customization  Form Personalization Oracle Application Forms
  • 3. 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
  • 4. 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 properties Executing built-ins Displaying messages Adding 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
  • 5. 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 be Managing un-necessary fields. To match the customer specific business requirements. The Need
  • 6. Copyright @ Immense Source Institutes, 2011. All rights reserved Menu Navigation: Help  Diagnostics  Custom Code  Personalize
  • 7. Copyright @ Immense Source Institutes, 2011. All rights reserved Condition Trigger Object Trigger Event Condition Processing Mode Validate
  • 8. 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
  • 9. Copyright @ Immense Source Institutes, 2011. All rights reserved Condition : Trigger Event & Trigger Object
  • 10. 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
  • 11. 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
  • 12. Copyright @ Immense Source Institutes, 2011. All rights reserved Context
  • 13. 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
  • 14. 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
  • 15. Copyright @ Immense Source Institutes, 2011. All rights reserved Actions
  • 16. 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… Property Message Built-in Special 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
  • 17. 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.
  • 18. 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
  • 19. 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
  • 20. 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”
  • 21. 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
  • 22. 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_URL Argument = http://dms.dell.com
  • 23. 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
  • 24. 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 ?
  • 25. 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.
  • 26. 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
  • 27. Copyright @ Immense Source Institutes, 2011. All rights reserved Thank You