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 Form
Is a 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 in a web
browser as a web page.
They appear in the Forms Services Window
within the browser window.
The form specification is translated into Java
Applet (those are displayed in web browsers)
using a Web server process called OC4J
Instant (details: page 264, next slide too).
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
Using a Data Block Form
8
Using a Data Block Form
If you are asked to install the Jinitiator, click yes and accept
all default values.
Jinitiator application iniitializes the Java applet in the web
browser.
9
Expected Errors
10
Form Modes
When the form is running in the Forms Services window
in the web browser it can be one of two modes:
Normal Mode
You can view records and sequentially step through records and
change data.
Enter Query Mode
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 on the toolbar.
Execute the query or cancel it to return to Normal mode.
11
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
12
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
13
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
14
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
15
Scrolling Through Retrieved
Records
To view the next record, click the Next
Record button
To view the previous record, click the
Previous Record button
16
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
17
Data Block Form File Types
.fmb
Form design file, used by form
programmer in Form Builder
.fmx
Form executable file, run by form
users
18
Form Components
Form module: form application
Form window
Title bar on top
Horizontal and vertical scrollbars
Can be resized, maximized,
minimized
19
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
20
Form Components
Window
Name Canvas
21
Object Navigator
Forms Builder Toolbar.
Form Module. See Page 276, next
slde.
Hierarchical Display.
22
To create a new
Form module or
Data block..
23
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
24
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
25
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
26
Layout Styles
Form style
One record appears on the form at a
time
Tabular style
Multiple records display on the form in
a table
27
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
28
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 (the form
is presented as a top-level object, and then lists all form
object nodes on the next level) . (fig. 5-8, slide 23)
29
30
Guidelines For Configuring
Form Windows
1. Change the window title
2. Allow user to minimize the window
3. Do not allow the user to maximize the
window
4. Do not allow the user to resize the window
5. Include horizontal and vertical scrollbars if
items appear beyond window boundaries
6. Make the form window fill the Forms
Runtime window
31
Configuring Form Windows
1. Click on the Data Block node under the MODULE form node.
2. Click the + sign or choose create from Edit on the menu bar.
3. The following window appears:
4. Choose the first option, now
5. Then the Ok
6. A Welcome page might appear,
if so click next
7. The wizard window appears
as shown next slide:
33
34
Example: create a Data Block using
WIZARD
35
Example: create a Data Block using
WIZARD
15. The form layout specifies how a given form looks to the user. So a
welcome window might appear, click next.
16. Then a Canvas (the area where the form objects are located)
window appear, choose the canvas and its type. For details about the
types refer to page 285.
17. The Data block page appear
so you can choose the fields
that will be displayed in
the form. Fig. 5-18.
18. Then the items page appears,
where the specifications and
labels (prompts) can be
determined.
36
Example: create a Data Block using
WIZARD
19. You can change the prompts (labels that appears next to each field).
20. Then choose whether the layout style is FORM or Tabular.
21. If form is chosen, then determine the title that appears on the frame
of the data block, the number of rows that appear in the form style
is always one row at a time. If the tabular is chosen, then number
can be more. The distance between record is determined in a tabular
case. Choose whether to display the scroll bar.
22. Finish.
23. The window should appear as in next slide:
37
38
Example: create a Data Block using
WIZARD
24. You can import a static image to make your form looks better:
1. Click on the layout editor window shown in the previous slide.
2. From EDIT choose import image.
3. Select the image you like.
4. Adjust its place on the window.
25. To run the form so as to see the data of the table:
1. Run the form using the button
or from Program on the menu bar choose run form.
Important:
If the “FRM-10142” error appears, then run the OC4J instant of the form
If the HTML code appears instead of the form on your browser then do the
following”
from IE chose tools Internet Options Advanced Look for Security
value then Check the “allow active controls to run in files on my computer”.
39
Lesson B
40
Creating a Form Based on a
Database View
View can be derived from one or more database
tables
Form based on a view only 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.
How to do that ? Select Views from Figure 5-12,
see slide 35 when you create the form using the
wizard.
41
Modifying Form Properties
Every form object has a Property Palette that allows you to configure
form and its objects properties (page 322)
How to open the property palette? From the Object navigator chose
windows node, select your window and right click the mouse, choose
property palette. OR:
On the layout editor, right click and then select property palette. OR:
See page 323 for other two ways.
Context bar
Property
Nodes Property List
42
Intersection Property Palette
Used to change property of several items to the same value (page 328)
Select the objects together and open the property palette.
Intersection/Union button on the tool bar appears as
43
Frame Properties
The frame is that encloses a data block’s items.
Its update Layout can be:
Automatically
45
Multiple-Table Forms
1. When creating a form that contains a master-detail relationship,
you always use the Data Block Wizard to create the master
block, which is the block that displays the master records first.
2. Then start the wizard a second time, and create the detail block,
which displays the detail records.
When creating the detail block, the master-detail relationship
should be specified in the wizard on a page called Master_Detail
page.
That page appears only when you create a data block that already
contains one or more data blocks.
46
Master-Detail Forms
Master block
Detail block
47
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
48
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 student has an advisor and also enrolled in courses. page 342.
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
A faculty member can have many students and a student can be
enrolled in many classes. Page 342.
49
Complex Master-Detail
Relationship Example
Master
Detail
Detail Master
50
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.
51
Formatting Character Text
Items
Place embedded characters in double
quotes
52
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
53
Lesson C
54
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)
55
Using Form Triggers
Creating a trigger:
select the form or form item event
type the trigger code
56
Using Sequences in Forms
Create a block-level WHEN-CREATE-
RECORD trigger
57
Form Lists of Values (LOVs)
List of legal values that can be selected
for use in a form field
LOV
command
button
LOV
display
58
Creating an LOV Using the
LOV Wizard
1. Use the LOV Wizard to:
Specify the LOV display records using
a SQL query
Format the LOV display
Attach the LOV to a form text item
2. Change the LOV and record group
name in the Object Navigator
59
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’
60
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
61
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’);
62
Alternate Form Input Items
Radio buttons
Check boxes
63
Radio Buttons
Limits user to one of two or more
related, mutually exclusive choices
64
Radio Groups
Related radio
buttons are part of
a radio group
Radio group
Individual related
radio buttons
65
Creating a Radio Group
1. Create the form using the Data Block and
Layout Wizards
2. Open the item Property Palette, and change
the Item Type value to Radio Group
3. Draw and format the radio buttons on the
canvas
4. Modify the radio button properties
5. Modify the radio group properties
66
Important Radio Button
Properties
Name: how the
button is
referenced
within the form
67
Important Radio Group
Properties
68
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
69
Check Box Example
70
Creating a Check Box
1. Create the form using the Data Block
and Layout Wizards
2. Open the item Property Palette, and
change the Item Type value to Check
Box
3. Modify the item properties
71
Important Check Box
Properties
Label: description that
appears next to the check
box on the canvas
73