1 / 50

Enhanced Guide to Oracle8i

Enhanced Guide to Oracle8i. Chapter 12: Form Builder Objects and Flexible Code. Object-Oriented Principles. Object Abstract representation of something in the real world Class Group of objects with the same structure and properties Class instance Object that belongs to a specific class

dempster
Download Presentation

Enhanced Guide to Oracle8i

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Enhanced Guide to Oracle8i Chapter 12: Form Builder Objects and Flexible Code

  2. Object-Oriented Principles • Object • Abstract representation of something in the real world • Class • Group of objects with the same structure and properties • Class instance • Object that belongs to a specific class • Inheritance • Specifies that when you create a new object, it inherits its structure and properties from its class

  3. Subclasses • Classes that have similar properties and structure of their parent class • Subclasses have specializations, which are properties that make them different than their parent class

  4. Form Builder Approaches For Creating Reusable Objects • Property Classes • Object Groups • Object Libraries • PL/SQL Libraries

  5. Property Classes • Top-level Form Builder objects that specify a collection of properties with specific values • Property classes can be associated with Form Builder objects to define object properties

  6. Creating a Property Class • Approaches: • Create the property class based on an existing object • Explicitly create the property class object, and then define its properties and associated values

  7. Creating a Property Class Based on an Existing Object • Create the object and configure its properties as desired • In the object’s Property Palette, select the desired properties and then click the Property Class button on the toolbar to create the property class

  8. Creating a Property Class Explicitly • Create the property class object in the Object Navigator and open its Property Palette • To add a property, click the Add Property button • To remove a property, select the property and then click the Remove Property button

  9. Using Property Classes to Subclass Form Objects • When you apply a property class to a form object, the form object is subclassed to the property class • To subclass a form object, open the object’s Property Palette, and the the property class name in the Subclass Information dialog box

  10. Using the Subclass Information Dialog box • Select whether you are subclassing from an object or a property class • Select the property class name

  11. Object Groups • Top-level form objects that contain groups of objects that can be reused in different forms • Examples of object types in object groups: • LOVs • Data blocks • Alerts • Object groups are created in a source from, and then subclassed into target forms

  12. Creating an Object Group • Create a new object group object in the form template • Rename the object group

  13. Adding Objects to an Object Group • Create the objects • Drag and drop the objects on the object group Object Group Children node

  14. Subclassing Object Groups in Target Forms • Select the object group in the source form • Drag the object group to the Object Groups node in the target form, drop the object group, and click the Subclass button

  15. Subclassing vs.Copying Objects • When you subclass an object, changes to original object are propagated to subclassed objects • When you copy an object, changes to original object do not affect subclassed objects

  16. Form With Objects Subclassed From Object Group Subclassed object group Subclassed objects

  17. Object Libraries • Top-level Form Builder objects that are independent of specific forms • Contain form objects that can be referenced in specific forms

  18. Creating an Object Library • Create a new object library object in Form Builder • Save the object library file • File has an .olb extension • Filename specifies object library name

  19. Object Library Structure • Consists of multiple library tabs • Tab pages that contain one or more similar object instances

  20. Creating and Configuring Tab Pages • To create a new tab page, select the Library Tabs node, and then click the Create button • Right-click the new tab page, and then click Property Palette to open the tab page Property Palette • Change the tab page Name and Label values

  21. Opening the Object Library • Double-click the object library icon to open the Object Library window Library tabs Object on tab page

  22. Adding Form Objects to Library Tab Pages • Create and configure the object in a source form • Open the source form Object Navigator and the Object Library window side-by-side • Maximize the Object Navigator window • Open the Object Library window, and then click the Restore button so the Object Library appears in a window • Reposition the windows as necessary • Drag and drop the object onto the Library Tab page

  23. Window Configuration For Adding Objects Object Navigator window Object Library window Object to be stored in library

  24. Using Object Library Objects in Forms • Open the target form Object Navigator and the Object Library window side-by-side • Drag and drop the object library object into the target form • Subclass the object into the target form

  25. SmartClasses • Object library objects that are defined as standard object types for an application • SmartClassed objects appear as selections on a pop-up menu when you create a new object and then right-click the object • Speeds up the process of using object libraries

  26. Creating a SmartClass • Select the object in the object library • Click Object on the menu bar, and then click SmartClass Green check indicates object is a SmartClass

  27. Selecting a SmartClass

  28. PL/SQL Libraries • Library of PL/SQL named program units that can be used in forms • Top-level Form Builder object that is not associated with a specific form • Specific program units can be attached to forms • Code is not part of form .fmb file • Code is only loaded when program unit is called

  29. Creating a PL/SQL Library in Form Builder • Select the PL/SQL Libraries node, and then click the Create button • Save the library in the file system • Library name is the same as the filename • File has a .pll extension

  30. Saving PL/SQL Library Files • In general, PL/SQL library files should be saved in the default PL/SQL library folder • Path: Developer_Home\TOOLS\OPEN60 • If you save a library file in a different location, that path and file must always be available when you open forms that reference the library

  31. Adding Program Units to PL/SQL Libraries • Select the library Program Units node, and then click the Create button • Select the named program unit type (procedure, function, package) • Type the program unit code in the PL/SQL Editor window

  32. Using PL/SQL Libraries in Forms • Attach the library to the form • Call the library program units from form triggers

  33. Attaching a PL/SQL Library to a Form • Select the form’s Attached Libraries node, and then click the Create button • Navigate to the library file and attach the file • If the library is saved in the default library folder, click Yes to discard path information • If the library is not saved in the default library folder, click No to save path information

  34. Calling a Library Program Unit From a Form Trigger • Reference the program unit and pass the required parameters as specified in the attached library specification in the Object Navigator

  35. Calendar Windows • Associated with a form text item that displays date values • Allows the user to select a date • The selected date value is returned to the form text item

  36. Creating a Calendar Window • Open the STNDRD20.OLB object library and copy or subclass the Calendar object group into the form • Attach the CALENDAR.PLL PL/SQL library to the form • Create a trigger associated with the form text item that calls a procedure in the CALENDAR.PLL PL/SQL library

  37. Subclassing the Calendar Object Group Into the Form • Open the target form • Open the STNDRD20.OLB object library • Subclass the CALENDAR object group into the target form

  38. Subclassing the Calendar Object Group Into the Form

  39. Attaching the CALENDAR.PLL PL/SQL Library to the Form • Create a new attached library object in the target form • Click Browser, select CALENDAR.PLL, click Open, and then click Attach to attach the library

  40. Creating a Trigger to Open the Calendar Window • Create a Show Calendar button next to the date text item • Create the trigger to call the GET_DATE procedure in the DATE_LOV package

  41. Creating a Trigger to Open the Calendar Window

  42. Flexible Code • Allows you to create objects that can be configured at runtime • Approaches • Use system variables to retrieve and set system values • Use built-in subprograms that dynamically retrieve and set form object properties

  43. Using Built-in Subprograms to Create Flexible Code • GET_ built-ins • Allow you to retrieve current object properties • SET_ built-ins • Allow you to dynamically set object properties

  44. GET_APPLICATION_PROPERTY Built-in • Returns information about the current Form Builder application • Syntax: GET_APPLICATION_PROPERTY(property_name);

  45. Retrieving Specific Object Properties • Syntax: return_value := GET_object_PROPERTY (object_id | ‘object_name’, property_name);

  46. Retrieving Object ID ValuesUsing the FIND_ Built-ins • Syntax: return_value := FIND_object(‘object_name’);

  47. Dynamically Setting Object Properties • Syntax: SET_object_PROPERTY(object_id | ‘object_name’, property_name, property_value);

  48. Using Indirect Referencing to Write Flexible Code • Direct referencing • Directly referencing a form object using the format :block_name.object_name • Indirect referencing • Specifying block and item names in single quotation marks • Allows you to reference objects that are not in the current form

  49. Commands For Indirect Referencing • COPY • Indirectly sets the value of a form item • Syntax: COPY(value, ‘destination’); • Value: desired value • Destination: form item • Format: block_name.item_name

  50. Commands For Indirect Referencing • NAME_IN • Indirectly retrieves the value of a form item • Syntax: return_value := NAME_IN(source); • Return_value: retrieved value • Is always a character string • Source: form item • Format: block_name.item_name

More Related