Chapter 8: Creating An Integrated Database Application Guide to Oracle 10g
Lesson A Objectives After completing this lesson, you should be able to: 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 Guide to Oracle 10g
Lesson A Objectives (continued) 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 Guide to Oracle 10g
Developing an Integrated Database Application Phases: Design Module development Module integration Testing Deployment Guide to Oracle 10g
The Northwoods University Integrated Database Application Main processes: Student and faculty services Data block forms for managing data in individual database tables Reports to help managers direct operations. Good practice to create separate form modules Enables team members to work independently Guide to Oracle 10g
The Northwoods University Integrated Database Application (continued) Project folder All application files Any graphic image files that applications display Guide to Oracle 10g
Integrating the Database Application Single entry point Users access all of component forms and reports Main form Integrate individual Oracle form and report modules into single application Can have splash screen Switchboard Guide to Oracle 10g
Integrating the Database Application (continued) Pull-down menus Provide access to features used less frequently than ones on switchboard Multiple levels of choices Stubs Programs or messages that handle undeveloped system features Guide to Oracle 10g
Creating a Splash Screen First image that appears when application run Guide to Oracle 10g
Creating the Splash Screen Window, Canvas, and Data Block Create and configure Splash screen window Adjust X and Y Position property values so that window appears centered on screen Canvas Block Canvas items Guide to Oracle 10g
Creating the Splash Screen Canvas Image Canvas usually displays boilerplate objects Text Shapes and lines Graphic images Approaches to display graphic image on form: Boilerplate image Cannot be displayed without block items Dynamic image item Use Image Item tool Guide to Oracle 10g
Loading the Splash Image READ_IMAGE_FILE built-in procedure syntax: READ_IMAGE_FILE('filename', 'file_type', 'item_name'); PRE-FORM trigger Use READ_IMAGE_FILE to load image Guide to Oracle 10g
Displaying the Splash Window Modify order of data blocks SPLASH_BLOCK first Guide to Oracle 10g
Hiding the Splash Window Form timer Form object Create using program commands Control how long splash image appears Signal when to hide splash window Specify time interval that elapses before timer expires WHEN-TIMER-EXPIRED trigger All timers fire same trigger Guide to Oracle 10g
Hiding the Splash Window (continued) Creating a Timer: DECLARE timer_id TIMER; timer_id := CREATE_TIMER('timer_name', milliseconds, iteration_specification); Guide to Oracle 10g
Hiding the Splash Window (continued) Hiding/showing a window: SHOW_WINDOW('window_name'); HIDE_WINDOW('window_name'); Guide to Oracle 10g
Commands to Create and Set the Splash Screen Timer Guide to Oracle 10g
Ensuring a Consistent Appearance Across Form Modules Important that all of forms have consistent look and feel Polished and integrated application Reduce user training time and frustration. Standardize appearance of multiple forms in application using: Template forms Visual attribute groups Guide to Oracle 10g
Template Forms Generic form Includes standard form objects that appear on every form in application Store in location accessible to all developers Base new forms on template form Speeds up form development process Guide to Oracle 10g
Template Forms (continued) Create new form based on template form Click File on menu bar Point to New Click Form Using Template Forms Builder prompts to save new form using different filename Guide to Oracle 10g
Visual Attribute Groups Ensure standard appearance for block items Form object defines object properties, such as: Text item colors Font sizes Font styles Assign visual attribute group to Visual Attribute Group property of form windows, canvases, and items Guide to Oracle 10g
Visual Attribute Groups (continued) To create: Create new visual attribute group object in Object Navigator Specify properties Group’s Property Palette Type property defines type of object attributes to which attribute properties apply Guide to Oracle 10g
Creating a Form Based on a Template Form Use Data Block and Layout Wizards to create new data block and layout Apply visual attribute group to form text items Guide to Oracle 10g
Referencing Application Components Main form application uses program commands to: Open other form modules Run report modules References files that provide graphic image data for images Guide to Oracle 10g
Using the Path Specification Approach Reference application components by specifying complete path to application file Include: Drive letter Folder path Works well for development team with standardized procedures Save all project files to specific location on file server Guide to Oracle 10g
Using the Path Specification Approach (continued) Makes it difficult to move application to different storage location Global path variable Variable that references a text string Specifies complete path to drive and folder where application files stored Needs to be visible to multiple forms Must be global variable Guide to Oracle 10g
Using the Path Specification Approach (continued) Syntax :GLOBAL.variable_name := variable_value; Reference global path variable :GLOBAL.project_path || 'NWsplash.tif' Add command to PRE-FORM trigger to create global path variable Guide to Oracle 10g
Referencing Forms and Reports Using Module Names Assign module name to form or report in Object Navigator Main application form can reference any form or report using module name when Developer stores form or report file in default form or report folder Or form or report available on Oracle Application Server (OAS) Guide to Oracle 10g
Referencing Forms and Reports Using Module Names (continued) Default form folder Folder on client workstation in which Developer10g always looks for form files Default report folder Folder on client workstation in which Developer10g always looks for report files Specified in system registry Guide to Oracle 10g
Opening and Closing Forms in an Integrated Database Application Main form serves as entry and exit point for all other application forms and reports Write commands for switchboard buttons and menu selections Call specific forms and reports Create form command buttons to allow users to close forms explicitly Guide to Oracle 10g
Opening Forms in an Integrated Database Application Built-in procedures to open one form from another Reference forms using: Path specifications Form module names For forms in default form folder CALL_FORM syntax: CALL_FORM('form_specification', display, switch_menu, query_mode, parameter_list_id); Guide to Oracle 10g
Built-in Procedures to Open a Child Form From a Parent Form Guide to Oracle 10g
Opening Forms in an Integrated Database Application (continued) OPEN_FORM syntax: OPEN_FORM('form_specification', activate_mode, session_mode,parameter_list_id); NEW_FORM syntax: NEW_FORM('form_specification', rollback_mode, query_mode, parameter_list_id); Guide to Oracle 10g
Closing Forms in an Integrated Database Application Built-in procedures Create form command button that allows user to close form in application CLOSE_FORM procedure Closes specific form Syntax: CLOSE_FORM('form_identifier'); Guide to Oracle 10g
Closing Forms in an Integrated Database Application (continued) EXIT_FORM procedure Closes the current form Syntax: EXIT_FORM(commit_mode, rollback_mode); Guide to Oracle 10g
Creating Triggers to Open Forms Create and test triggers for buttons on application switchboard Guide to Oracle 10g
Displaying a Report in an Integrated Database Application Reports can run as stand-alone applications Or can appear within integrated database applications Install and start local report server Configure main application form so it generates report as HTML file Display report in browser window Guide to Oracle 10g
Installing and Starting the Local Report Server Server process that runs on client workstation To install: -install server_name tcpip Start utility rwserver -install server_name tcpip Or create a shortcut Guide to Oracle 10g
Installing and Starting the Local Report Server (continued) Windows service Process that runs in main memory of workstation Accessible to all users who log onto workstation Open Services control panel on workstation Start service Guide to Oracle 10g
Creating a Report Object Top-level Forms Builder object in Object Navigator window Represents Reports Builder report file Select Reports node in Object Navigator tree Click Create button Setting properties: SET_REPORT_OBJECT_PROPERTY('object_name', property_name, value); Guide to Oracle 10g
Report Object Properties Guide to Oracle 10g
Report Object Properties (continued) Guide to Oracle 10g
Displaying the Report Object Create form trigger for button that user clicks to display report Contains commands to configure report filename and output filename dynamically Contains command to run report and generate an HTML output file Along with commands to display HTML file in browser window Guide to Oracle 10g
Displaying the Report Object (continued) Create trigger to specify report filename and destination filename dynamically Generate report: report_var := RUN_REPORT_OBJECT('report_object_name'); Display report: WEB.SHOW_DOCUMENT ('URL', 'target'); Guide to Oracle 10g
Lesson A Summary Integrate individual forms and reports into single application Place all module files in central project folder Template form Contains standard form objects that appear on every form in application Visual attribute group Form object that defines object properties Guide to Oracle 10g
Lesson A Summary (continued) Open one form from another Exit form programmatically View reports With local report server Guide to Oracle 10g
Lesson B Objectives After completing this lesson, you should be able to: Create custom pull-down menus Display custom pull-down menus in form modules Write program commands to control menu items Create context-sensitive pop-up menus Guide to Oracle 10g
Creating Custom Pull-down Menus Menu module Module independent of any specific form Saved in workstation’s file system as Design file with .mmb extension Executable file with .mmx extension Contains one or more menu items Attach executable to form module in form module Property Palette Guide to Oracle 10g
Creating Custom Pull-Down Menus (continued) Menu item Set of menu selections that appear horizontally on menu bar Menu module can have multiple menu items Guide to Oracle 10g
Creating a Menu Module and Menu Item Create menu module Select Menus node in Forms Builder Click Create button Create new menu item within menu module Select Menus node within menu module Click + Guide to Oracle 10g
Creating Menu Selections Within a Menu Item Specify pull-down menu selections that appear on menu item Main menu Menu item in Object Navigator Defines parent menu items Menu selections that appear horizontally on menu bar Guide to Oracle 10g
Creating Menu Selections Within a Menu Item (continued) Child menu items Choices that appear when user clicks parent menu item Can have associated child submenu Menu handle Detach menu and move to different location in Menu Editor Guide to Oracle 10g
Creating Menu Selections Within a Menu Item (continued) Menu code trigger PL/SQL program associated with child menu item Contains commands to perform actions such as: Calling another form Calling report Clearing form Guide to Oracle 10g
Creating Menu Selections Within a Menu Item (continued) Menu Editor Visually define menu bar structure Create underlying triggers Default parent menu item appears in top-left corner Create new parent menu items from left to right Create new child menu item Select associated parent menu item Click Create Down button Guide to Oracle 10g
Menu Item Properties Property Palette Item type values: Specify properties Customize item appearance and functionality Item type values: Plain Check Radio Separator Magic Guide to Oracle 10g
Functional Property Node Menu Item Properties Guide to Oracle 10g
Closing and Reopening Menu Module Files and Individual Menu Items Open menu module Retrieve from file system independently of form Guide to Oracle 10g
Creating Access Keys Pull-down menu selections have underlined letter in selection label Allows user to open or select menu item using keyboard Press Alt key plus access key to open parent menu items Select child menu item by pressing child item’s access key Guide to Oracle 10g
Creating Access Keys (continued) Default access key First letter of each menu item label Two menu selections have same first letter Access key opens first selection Override default access key choice Type ampersand (&) before desired access key letter in menu label Guide to Oracle 10g
Creating Menu Code Triggers Menu code triggers can contain: PL/SQL commands that call built-in procedures or functions Module navigation commands Reference global variable values Cannot contain commands that directly reference specific form items Guide to Oracle 10g
Creating Menu Code Triggers (continued) Create menu code trigger Select menu item in Menu Editor Right-click menu item Click PL/SQL Editor Specify trigger code Every lowest-level child menu item must have menu code trigger Can create stubs for child menu selections that do not yet have menu code Guide to Oracle 10g
Displaying a Menu Module in a Form First compile menu module Attach compiled menu module file to form by: Opening form module Property Palette Referencing compiled menu module file in form module’s Menu Module property value Guide to Oracle 10g
Compiling a Menu Module .mmx file extension Open menu module in Menu Editor Click Compile Module button Every time menu module modified recompile .mmb file into new .mmx file Guide to Oracle 10g
Attaching the Menu Module to the Form Attach custom pull-down menu module to form Open form module Property Palette Reference compiled menu module file in form module’s Menu Module property value DEFAULT&SMARTBAR Default value for form Menu Module property Smartbar Forms Services toolbar used for working with data block forms Guide to Oracle 10g
Attaching the Menu Module to the Form (continued) Approaches for referencing a menu module in form: Save compiled menu module in project folder Change Menu Module property to complete path to compiled menu module .mmx file Copy compiled menu module file to default form folder Change Menu Module property value to menu module filename Guide to Oracle 10g
Specifying Alternate Pull-down Menus in Called Forms Enable child form to display own menu module Rather than parent’s menu module Modify CALL_FORM command that calls child form Guide to Oracle 10g
Using Program Commands to Control Menu Items Built-in procedures to access and modify menu properties Reference menu items using system-assigned names View menu structure in Object Navigator SET_MENU_ITEM_PROPERTY built-in syntax: SET_MENU_ITEM_PROPERTY('menu_name', property, value); Guide to Oracle 10g
Forms Builder Menu Built-In Programs Guide to Oracle 10g
Pop-Up Menus Context-sensitive menus Top-level form objects Appear when user right-clicks specific item displayed on screen Top-level form objects Associated with specific form Guide to Oracle 10g
Creating a Pop-up Menu Select Popup Menus node in Object Navigator Click Create button Open object in Menu Editor Define menu items Change menu item labels Create menu code triggers Guide to Oracle 10g
Attaching a Pop-up Menu to a Form Object Open Property Palette of object Change Popup Menu property value to name of associated pop-up menu object Guide to Oracle 10g
Lesson B Summary Define custom pull-down menus in form Create menu module Specify full path to menu module’s compiled .mmx file Built-in procedures allow you to modify menu properties while form running Create context-sensitive pop-up menus Guide to Oracle 10g
Summary Assemble forms and reports into application Menu types Switchboard window launches forms and reports Use templates and visual attribute groups to control appearance Use local report server to display reports Menu types Pull-down Pop-up Guide to Oracle 10g