Date post: | 04-Jan-2016 |
Category: |
Documents |
Upload: | madeline-carpenter |
View: | 213 times |
Download: | 0 times |
1
Enhanced Guide to Enhanced Guide to Oracle8iOracle8i
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
Subclassedobject groupSubclassed
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
ObjectLibrary window
Objectto bestored inlibrary
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 checkindicates objectis 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