Chapter5

advertisement
Enhanced Guide to Oracle 10g
Chapter 5:
Introduction To Form Builder
1
Forms


Why Do We Use Form Builder?
Why Don’t We Use SQL Only?!
2
Forms


Application with a graphical user
interface that looks like a paper
form
Used to insert, update, delete and
view database data
3
Primary Form Uses



Viewing/retrieving records
Inserting/updating/deleting
records
Counting the number of records a
query will retrieve
4
Data Block Forms
 Form associated with a specific
Oracle database table
 System automatically creates:
 Text fields associated with table
fields
 Programs for inserting, modifying,
deleting, and viewing data records
5
Data Block Forms
 ORACLE 10g forms are displayed
on web browser as a web page.
 They are displayed in Forms
Services Window.
 The form specification is
translated into Java Applet.
 They are Dynamic Web Pages.
6
Steps of running the form
 Design the form and write its code
(.fmb file)
 Compile the form (.fmx file)
When you run the form:
 OC4J Instance process converts
the compiled file into java applet
 Java applet form starts on the web
browser
7
Form Modes

Normal


You can view records and sequentially step
through records
Enter Query


You can enter search parameters in form
fields and then retrieve the associated
records
To place the form in Enter Query mode,
click the Enter Query button
8
Inserting New Records



In Normal mode, click the Insert Record
button
to insert a new blank record
Type the data values in the form fields
Click the Save button
to save the
values in the database
9
Retrieving Records



Click the Enter Query button
to
place the form in Enter Query mode
Type a search condition
Click the Execute Query button
to
retrieve selected records

If you click
, do not enter a search
condition, and then click
, all table
records will be retrieved
10
Form Search Types


Exact search: only retrieves records
that exactly match the entered search
condition
Restricted search: retrieves records
that fall within a range of values
11
Restricted Search Operators
 _: wildcard replacing a single character
 %: wildcard replacing multiple
characters
 >, <: greater than, less than
 >=, <=: greater than or equal to, less
than or equal to
 <> or !=: not equal to
12
Scrolling Through Retrieved
Records


To view the next record, click the Next
Record button
To view the previous record, click the
Previous Record button
13
Updating and Deleting
Records

Retrieve the record to be updated
or deleted


To update, change the data value and
click the Save button
To delete, click the Remove Record
button
14
Data Block Form File Types
 .fmb
 Form design file, used by form
programmer in Form Builder
 .fmx
 Form executable file, run by form
users
15
Form Components
 Form module: form application
 Form window
 Title bar on top
 Horizontal and vertical scrollbars
 Can be resized, maximized,
minimized
16
Form Components
 Canvas
 Surface that displays form items
 Block
 Object that contains form items
 Form items
 Command buttons, radio (option) buttons, text
items
 Items in the same block can appear on different
canvases
17
Form Components
Name
Cash
Window
Canvas
Block of items
Check
Credit Card
18
Object Navigator
 Forms Builder Toolbar.
 Form Module.
 Hierarchical Display.
19
Creating a Data Block Form
 Steps:
1. Create the data block using the
Data Block Wizard
2. Create the form layout using the
Layout Wizard
20
Data Block Wizard
 Welcome page
 Type page
 Select table or view on which to base the block
source
 Table page
 Select table associated with form
 Enforce Integrity Constraint Check Box
 Finish page
 Option to use the Layout Wizard to automate
creating the layout
21
Layout Wizard
 Canvas page
 Select the canvas where the block is displayed
 Data Block page
 Select the fields that are displayed on the layout
 Items page
 Specify the column labels, heights and widths
 Style page
 Specify to create a form- or tabular-style layout
22
Layout Styles
 Form style
 One record appears on the form at a
time
 Tabular style
 Multiple records display on the form in
a table
23
Form Builder Wizards
Are Re-entrant
 You can select a block or layout, then re-enter it
and modify its properties using the Wizard
 A Wizard is in re-entrant mode when its pages
appear as tabs
24
Form Builder
Object Navigator Window
 Shows form objects
 Allows developer to access form objects
 Object Navigator has 2 views
 Ownership view: shows form objects as a
flat list
 Visual view: hierarchical relationships
between objects
25
Guidelines For Configuring
Form Windows
1.
2.
3.
4.
5.
6.
Change the window title
Allow user to minimize the window
Do not allow the user to maximize the
window
Do not allow the user to resize the window
Include horizontal and vertical scrollbars if
items appear beyond window boundaries
Make the form window fill the Forms
Runtime window
26
Configuring Form Windows
Window
Title
Minimize/
Maximize buttons
Window
size
27
Creating a Form Based on a
Database View



View can be derived from one or more
database tables
Form based on a view allows you to
display data from table(s)
Form could be used to insert, update,
or delete data if the view is a simple
view only.
28
Modifying Form Properties

Property
Nodes
Every form object has a Property
Palette that allows you to configure
form properties
Property List
29
Intersection Property Palette

Used to change property of several
items to the same value


Intersection/Union button appears as
Name appears as *****
30
Frame Properties

Update Layout

Automatically


Manually



Frame items are automatically repositioned based on
their order in the Data Blocks list when you move or
resize a frame, or modify the form layout using the
Layout Wizard in reentrant mode
Items are automatically when layout is modified in
Layout Wizard in reentrant mode
Items are not repositioned if you move or resize the
frame
Locked

Items are never automatically repositioned
31
Multiple-Table Forms
 Data block forms can display data from
multiple tables that have a master-detail
relationship
 Master record has multiple related detail
records
 Examples:
 One ITEM record has multiple related INVENTORY
records
 One CUSTOMER might have multiple CUST_ORDER
records
32
Master-Detail Forms
Master block
Detail block
33
Creating a Master-Detail Form


Create the
master block
first
Specify the
relationship
on the Data
Block Wizard
Master-Detail
page of the
detail block
34
Complex Master-Detail
Relationships
 A master block can have multiple detail blocks
 An item can be in multiple customer orders, and have
multiple shipment records
 A detail block can be a master block in a second
master-detail relationship
 A customer can have multiple CUST_ORDER records
 One CUST_ORDER record can have multiple
ORDER_LINE records
35
Complex Master-Detail
Relationship Example
Master
Detail
Detail
Master
36
Formatting Text Items

Specify desired format mask in text
item Format Mask property

If format mask makes value wider than
text item Data Width property, data
appears as #####

E.g: make the format mask for the empno field
in the form builder: 99”- - “ 99 and make the
data length for the field 4.
37
Formatting Character Text
Items

Place embedded characters in double
quotes
38
Format Mask Examples

Value
Format Mask
Result
7945
999
###
7945
9999$
7945$
7945
99”-”99
79-45
34.28
99.9
34.3
34.28
99.999
34.280
SYSDATE Day-MON-YY Friday-NOV-06
39
Form Triggers
 PL/SQL procedure that runs in response to a
user or system action
 Clicking a button
 Loading a form
 Exiting a form
 Triggers can be associated with:
 An entire form (form level)
 A block (block level)
 A specific form item (item level)
40
Using Form Triggers
 Creating a trigger:
 select the form or form item event
 type the trigger code
 Referencing a form item in PL/SQL code:
 :block_name.item_name
 Triggers are compiled before a form is run
41
Using Sequences in Forms
 Create a block-level WHEN-CREATERECORD trigger
 Trigger PL/SQL code:
SELECT sequence_name.NEXTVAL
INTO :block_name.item_name
FROM DUAL;
42
Form Lists of Values (LOVs)
 List of legal values that can be selected
for use in a form field
LOV
command
button
LOV
display
43
Creating an LOV Using the
LOV Wizard
1.
Use the LOV Wizard to:



2.
Specify the LOV display records using
a SQL query
Format the LOV display
Attach the LOV to a form text item
Change the LOV and record group
name in the Object Navigator
44
Opening the LOV Display


Place the insertion point in the text item
to which the LOV is attached
Press CTRL+L, or from Edit menu of the
form choose the option ‘Display List’
45
Creating a Command Button
to Open the LOV Display
 Create a command button on the
canvas
 Iconic button
 Displays an icon image from an .ico file
 Complete path to .ico file must be specified
in button’s ICON property
46
LOV Command Button Trigger
 Create a trigger for the button that
does the following:
1.
Places the form insertion point in the text
item to which the LOV is attached:
GO_ITEM(‘IN_VID’);
2.
Executes the LIST_VALUES command:
LIST_VALUES;
47
Alternate Form Input Items


Radio buttons
Check boxes
48
Radio Buttons
 Limits user to one of two or more
related, mutually exclusive choices
49
Radio Groups
 Related radio
buttons are part of
a radio group
Radio group
Individual related
radio buttons
50
Creating a Radio Group
1.
2.
3.
4.
5.
Create the form using the Data Block and
Layout Wizards
Open the item Property Palette, and change
the Item Type value to Radio Group
Draw and format the radio buttons on the
canvas
Modify the radio button properties
Modify the radio group properties
51
Important Radio Button
Properties
Name: how the
button is
referenced
within the form
Label: description that
appears next to the
button on the canvas
Radio Button Value:
associated data value
in the database
52
Important Radio Group
Properties
Name: how the
radio group is
referenced
within the form
Initial Value: data value
of the radio button
within the radio group
that is selected when
the form first appears
53
Check Boxes


Used to represent fields that can
have one of two values
Check box caption is interpreted as
TRUE or FALSE


If checked, caption is true
If cleared, caption is false
54
Check Box Example
55
Creating a Check Box
1.
2.
3.
Create the form using the Data Block
and Layout Wizards
Open the item Property Palette, and
change the Item Type value to Check
Box
Modify the item properties
56
Important Check Box
Properties
Label: description that
appears next to the check
box on the canvas
Value when Checked: data
value of the item when the
box is checked
Value when Unchecked:
data value of the item when
the box is checked
Check Box Mapping of
Other Values: check
box status when form
first opens, or when new
blank record is added
57
Download