Course Content
Introducing Oracle Forms Developer and Forms Services
- Grid Computing
- Oracle 10g Products
- Oracle Application Server Architecture
- Oracle Forms Services Architecture
- Benefits and Components of Oracle Developer Suite
- Running a Forms Developer Application
- Working in the Forms Developer Environment
Creating Forms Modules
- Creating a Basic Forms Module
- Creating a Master-Detail Forms Module
- Modifying the Data Block
- Modifying the Layout
Working with Data Blocks and Frames
- Using the Property Palette
- Managing Object Properties
- Creating and Using Visual Attributes
- Controlling the Behavior and Appearance of Data Blocks
- Controlling Frame Properties
- Creating Control Blocks
- Deleting Data Blocks
Working with Input Items
- Creating Text Items
- Controlling the Behavior and Appearance of Text Items
- Creating LOVs
- Defining Editors
- Creating Check Boxes
- Creating List Items
- Creating Radio Groups
Working with Non input Items
- Creating a Display Item
- Creating an Image Item
- Creating a Push Button
- Creating a Calculated Item
- Creating a Hierarchical Tree Item
- Creating a Bean Area Item
Creating Windows and Canvases
- Overview of Windows and Canvases
- Displaying a Form Module in Multiple Windows
- Creating a New Window
- Displaying a Form Module on Multiple Layouts
- Creating a New Content Canvas
- Creating a Stacked Canvas
- Creating a Toolbar
- Creating a Tab Canvas
Producing Triggers
- Grouping Triggers into Categories
- Defining Trigger Components: Type, Code, and Scope
- Specifying Execution Hierarchy
- Using the PL/SQL Editor
- Using the Database Trigger Editor
- Writing Trigger Code
- Using Variables and Built-ins
- Using the When-Button-Pressed and When-Window-Closed Triggers
Debugging Triggers
- The Debugging Process
- The Debug Console
- Setting Breakpoints
- Debugging Tips
- Running a Form in Debug Mode
- Stepping through Code
Adding Functionality to Items
- Coding Item Interaction Triggers
- Defining Functionality for Check Boxes
- Changing List Items at Run Time
- Displaying LOVs from Buttons
- Populating Image Items
- Populating and Displaying Hierarchical Trees
- Interacting with JavaBeans
Run-Time Messages and Alerts
- Built-Ins and Handling Errors
- Controlling System Messages
- The FORM_TRIGGER_FAILURE Exception
- Using Triggers to Intercept System Messages
- Creating and Controlling Alerts
- Handling Server Errors
Query Triggers
- Handling Server Errors
- SELECT Statements Issued During Query Processing
- WHERE and ORDER BY clauses and the ONETIME_WHERE property
- Writing Query Triggers
- Query Array Processing
- Coding Triggers for Enter-Query Mode
- Overriding Default Query Processing
- Obtaining Query Information at Run Time
Validation
- Validation Process
- Controlling Validation Using Properties
- Controlling Validation Using Triggers
- Performing Client-Side Validation with PJCs
- Tracking Validation Status
- Using Built-ins to Control When Validation Occurs
Navigation
- Navigation Overview
- Understanding Internal Navigation
- Using Object Properties to Control Navigation
- Writing Navigation Triggers: When-New--Instance, Pre- and Post- Triggers
- The Navigation Trap
- Using Navigation Built-Ins in Triggers
Transaction Processing
- The Commit Sequence of Events
- Characteristics and Common Uses of Commit Triggers
- Testing the Results of Trigger DML
- DML Statements Issued during Commit Processing
- Overriding Default Transaction Processing
- Running against Data Sources Other Than Oracle
- Getting and Setting the Commit Status
- Implementing Array DML
Writing Flexible Code
- What is Flexible Code?
- Using System Variables for Flexible Coding
- Using Built-in Subprograms for Flexible Coding
- Referencing Objects by Internal ID
- Referencing Items Indirectly
Sharing Objects and Code
- Benefits of Reusable Objects and Code
- Working with Property Classes
- Working with Object Groups
- Copying and Subclassing Objects and Code
- Working with Object Libraries
- Working with SmartClasses
- Reusing PL/SQL
- Working with PL/SQL Libraries
Using WebUtil to Interact with the Client
- Benefits of WebUtil
- Integrating WebUtil into a Form
- Interacting with the Client
Introducing Multiple Form Applications
- Multiple Form Applications Overview
- Starting Another Form Module
- Defining Multiple Form Functionality
- Sharing Data among Modules
Creating a Menu Module
- Introduction
- Components of the Menu Module
- The Default Menu
- The Menu Editor
- Creating a Menu Module
- Module Properties
- Menu Properties
- Menu Item Properties
- Menu Item Types
- Menu Item Command Types
- Implementing Menu Toolbars
- Storing the Menu Module
- Attaching the Menu Module
- Pop-up Menus
Managing Menu Modules
- Introduction
- Using PL/SQL in Menu Item Code
- Useful Built-in Menu Subprograms
- Showing and Hiding the Current Menu
- Managing Menu Security
- Defining Security Roles
- Assigning Access to Menu Items
Programming Function Keys
- Introduction
- Key Triggers
- Defining Key Triggers
- Characteristics of Key Triggers
- Classification of Key Triggers
- Using Key Triggers
- Association with Other Interface Controls
Responding to Mouse Events
- Introduction
- What Are Mouse Events?
- Responding to Mouse Movement
- Responding to Mouse Button Actions
Controlling Windows and Canvases Programmatically
- Introduction
- Using Window-Interaction Triggers
- Built-ins for Manipulating Windows
- Built-ins for Manipulating Canvases
- Working with Tab-Style Canvases
- Windows and Blocks
- Manipulating Window Properties Programmatically
- Closing Windows
- Manipulating Windows in Web-Deployed Forms
- Sizing Windows for Web-Deployed Forms
- Display Large Data Blocks in a Window
- Managing Images for Web-Deployed Forms
Defining Data Sources
- Introduction
- Data Source Types
- Basing a Data Block on a FROM Clause Query
- Basing a Data Block on a Stored Procedure
- Example of a Query Using a REF Cursor Procedure
- Example of Query Using a Table of Records Procedure
- Example of DML Using a Stored Procedure
- Deciding Whether to Use a REF Cursor or a Table of Records
- Data Block Wizard
- Data Block Properties
- Data Source Guidelines
Working with Oracle8i/9i Objects in Form Builder (Forms Migration from 8i/9i to 10g)
- Introduction
- What Are Object Types?
- Review of Objects
- Object REFs
- Supported Oracle8i Features