A Guide to Oracle9i 1
Creating an IntegratedDatabase Application
Chapter 8
A Guide to Oracle9i 2
Lesson A Objectives• Understand the steps for developing a database application
• Design a database application interface
• Use timers in a Forms Builder application to create a splash screen
• Create form templates to ensure consistency across application modules
• Learn how to reference application components in an integrated database application
• Understand how to open and close form modules in a multiple form application
• Learn how to display a report in a database application
A Guide to Oracle9i 3
Developing an Integrated Database Application
• Design– Creating the specifications for the application
components
• Module development– Creating the individual form and report modules
• Module integration – Integrating the individual modules into a single
application
A Guide to Oracle9i 4
Developing an Integrated Database Application
• Testing– Unit testing: testing the individual form and report
modules to confirm that they work correctly as single applications
– System testing: evaluates whether the modules work correctly when you integrate them into the rest of the system
• Deployment– Packaging the integrated modules in an installable
format that you can deliver to customers
A Guide to Oracle9i 5
Development Process
• Good practice to create separate form modules– Developers can each work on part of an
application– Easier to work with– Load faster in Web-based applications
• Files are integrated in project folder including– All fmb files– Graphic images
A Guide to Oracle9i 6
Integrated Application
• Single entry point• Single exit point• Create a main form module
– Splash screen– Switchboard - consists of command buttons that
enable users to access the most commonly used forms and reports
– Pull-down menus
A Guide to Oracle9i 7
Main Form Screen Design
A Guide to Oracle9i 8
Creating a Splash Screen
• First image that appears when you run an application
• Displays for limited time• Use PRE-FORM trigger to set a timer• Switch to main window when timer finishes
A Guide to Oracle9i 9
Splash Screen Sample
A Guide to Oracle9i 10
Creating a Splash Screen Timer
A Guide to Oracle9i 11
Ensuring a Consistent Appearance Across Form Modules
• Forms should have consistent look, feel and behavior• Template form
– Generic form that includes graphics, command buttons, and program units
– Store in a location that is accessible to all developers– Base new forms on the template form– Saves time– Ensures consistent look and behavior
• To use:– Select New --> Form Using Template from File menu when
creating new form
A Guide to Oracle9i 12
Template Form
A Guide to Oracle9i 13
Visual Attribute Group
• A form object that defines object properties, such as text item colors, font sizes, and font styles
• Assigned to Visual Attribute Group property of form windows, canvases, and items
A Guide to Oracle9i 14
Referencing Application Components
• Main form application uses program commands to open other form modules and to run report modules
• Application also references files that provide graphic image data for images
A Guide to Oracle9i 15
Path Specification Approach
• Specify the complete path, including the drive letter and folder path, to the application file
• Works well for a development team that has standardized on saving all of the project files to a specific location on a file server
• Difficult to move the application to a different storage location
• Can create a global path variable– References a text string specifying the complete path to the drive
and folder– Path information is stored in a single location– Set global variable in PRE-FORM trigger
A Guide to Oracle9i 16
Referencing Forms and Reports Using Module Names
• Assign a module name to the form or report in the Object Navigator
• Main application form can reference any form or report using the module name if file is stored:– In default form or report folder– Or available on Oracle Application Server
A Guide to Oracle9i 17
Opening and Closing Forms in an Integrated Database Application
• Use built-in procedures to open one form from another• Opening form is parent, new form is child
A Guide to Oracle9i 18
Closing Forms
A Guide to Oracle9i 19
Displaying a Report in an Integrated Database Application
• Report displays a summary view of database data at a specific point in time
• Can run as stand-alone applications or appear within integrated database applications
• To integrate with database application:– Install and start the local report server– Configure the main application form so it generates the
report as an HTML file – Display the report in a browser window
A Guide to Oracle9i 20
Installing a Local Report Server
• Run an Oracle9i utility named Rwserver• Pass parameters that instruct it to install a
new local report server and assign a name to the local report server
• Installed as Windows service• Start from control panel
A Guide to Oracle9i 21
Starting Local Report Service
A Guide to Oracle9i 22
Creating a Report Object
• Create a report object in the main application form
• Top-level Forms Builder object in the Object Navigator window that represents a Reports Builder report file
• Configure its properties using the report object Property Palette
A Guide to Oracle9i 23
Displaying the Report Object
• Create a form trigger for the button that the user clicks to display the report
• Trigger contains commands– To configure the report filename and output
filename dynamically– To run the report and generate an HTML output
file– To display the HTML file in a browser window
• 8
A Guide to Oracle9i 24
Displaying the Report in a Browser Window
A Guide to Oracle9i 25
Lesson B Objectives
• Learn how to create custom pull-down menus• Understand how to display custom pull-down menus
in form modules• Explore how to write program commands to control
menu items• Learn how to create context-sensitive pop-up menus
A Guide to Oracle9i 26
Creating Custom Pull-Down Menus
• Replace the default Forms Services pull-down menu choices with custom pull-down menu choices
• Create a menu module– Independent of any specific form– Attach the executable (.mmx) menu file to a form
module in the form module Property Palette– Contains one or more menu items
A Guide to Oracle9i 27
Menu Components
A Guide to Oracle9i 28
Creating Menus
• Use Menu Editor• Menu code trigger performs action when
menu selected• Menu properties are specified on Property
Palette
A Guide to Oracle9i 29
Menu Item Types
• Plain– Displays a text label and has an associated menu
code trigger that fires when the user selects the menu item
• Check– Specifies a property that users can enable or
disable
• Radio– Specifies a selection in a group of menu selections
that behave like radio buttons
A Guide to Oracle9i 30
Menu Item Types
• Separator– Specifies that the menu selection appears as a
separator bar
• Magic– Specify that the menu selection is one of the
following predefined magic types: Cut, Copy, Paste, Clear, Undo, About, Help, Quit, or Window
– Have built-in functionality supplied by Forms Builder
A Guide to Oracle9i 31
Menu Access Keys
• Pull-down menu selections have an underlined letter in the selection label
• Called the menu item’s access key• Allows user to open or select the menu item by using
the keyboard instead of the mouse pointer• First letter of each menu item label is the default
access key• To override the default access key choice
– Type an ampersand (&) before the desired access key letter in the menu label
A Guide to Oracle9i 32
Menu Code Triggers
• Perform actions like opening a form• Cannot reference specific form items• Right-click menu item to open PL/SQL editor
A Guide to Oracle9i 33
Displaying a Menu Module in a Form
• Compile the menu module• Attach to form:
– Open the form module Property Palette– Reference the compiled menu module file in the
form module’s Menu Module property value
• Copy the compiled menu module file to the default form folder
A Guide to Oracle9i 34
Using Program Commands to Control Menu Items
A Guide to Oracle9i 35
Using Program Commands to Control Menu Items
• To use built-ins, reference menu items using their system-assigned names
• Determine the system-assigned names of individual menu items by viewing the menu structure in the Object Navigator
• To dynamically change menu properties:– SET_MENU_ITEM_PROPERTY('menu_name',
property, value);
A Guide to Oracle9i 36
Menu Names
A Guide to Oracle9i 37
Pop-Up Menus
• Context-sensitive menus that appear when the user right clicks a specific screen display item
• Top-level form objects• Associate a pop-up menu with a specific form
— pop-up menu can appear only in that form
A Guide to Oracle9i 38
Creating a Pop-Up Menu
• Create in Object Navigator• Open in Menu Editor• Define menu items• Change menu labels• Create menu code triggers
A Guide to Oracle9i 39
Attaching a Pop-Up Menu to a Form Object
• Attach a pop-up menu object to a form canvas or to a data block item, such as a text item, command button, or check box
• Change the object’s Popup Menu property value to the name of the associated pop-up menu object
A Guide to Oracle9i 40
Summary
• Forms and reports can be integrated into a database application
• A splash screen introduces an application and loads a main “switchboard” screen with command buttons to access commonly used forms
• Form templates and visual attribute groups are used to maintain a common appearance between forms
• Pull-down and pop-up menus are used to launch windows and perform application tasks