ch5

57
1 Enhanced Guide to Enhanced Guide to Oracle 10g Oracle 10g hapter 5: ntroduction To Form Builder

description

HR

Transcript of ch5

Page 1: ch5

1

Enhanced Guide to Oracle Enhanced Guide to Oracle 10g10g

Chapter 5:Introduction To Form Builder

Page 2: ch5

2

Forms

Why Do We Use Form Builder? Why Don’t We Use SQL Only?!

Page 3: ch5

3

Forms

Application with a graphical user interface that looks like a paper form

Used to insert, update, delete and view database data

Page 4: ch5

4

Primary Form Uses

Viewing/retrieving records Inserting/updating/deleting

records Counting the number of

records a query will retrieve

Page 5: ch5

5

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

Page 6: ch5

6

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.

Page 7: ch5

7

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

Page 8: ch5

8

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

Page 9: ch5

9

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

Page 10: ch5

10

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

Page 11: ch5

11

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

Page 12: ch5

12

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

Page 13: ch5

13

Scrolling Through Retrieved Records To view the next record, click the

Next Record button To view the previous record, click

the Previous Record button

Page 14: ch5

14

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

Page 15: ch5

15

Data Block Form File Types

.fmb Form design file, used by form

programmer in Form Builder .fmx

Form executable file, run by form users

Page 16: ch5

16

Form Components

Form module: form application

Form window Title bar on top Horizontal and vertical

scrollbars Can be resized, maximized,

minimized

Page 17: ch5

17

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

Page 18: ch5

18

Form Components

Name

Cash

Check

Credit Card

Window

Canvas

Block of items

Page 19: ch5

19

Object Navigator

Forms Builder Toolbar. Form Module. Hierarchical Display.

Page 20: ch5

20

Creating a Data Block Form

Steps:1. Create the data block using

the Data Block Wizard2. Create the form layout using

the Layout Wizard

Page 21: ch5

21

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

Page 22: ch5

22

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

Page 23: ch5

23

Layout Styles

Form style One record appears on the form at

a time Tabular style

Multiple records display on the form in a table

Page 24: ch5

24

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

Page 25: ch5

25

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

Page 26: ch5

26

Guidelines For Configuring Form Windows

1. Change the window title2. Allow user to minimize the window3. Do not allow the user to maximize the

window4. Do not allow the user to resize the

window5. Include horizontal and vertical scrollbars if

items appear beyond window boundaries6. Make the form window fill the Forms

Runtime window

Page 27: ch5

27

Configuring Form Windows

Window Title

Minimize/Maximize buttons

Windowsize

Page 28: ch5

28

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.

Page 29: ch5

29

Modifying Form Properties Every form object has a Property

Palette that allows you to configure form properties

PropertyNodes Property List

Page 30: ch5

30

Intersection Property Palette Used to change property of several

items to the same value Intersection/Union button appears as Name appears as *****

Page 31: ch5

31

Frame Properties Update Layout

Automatically 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

Manually 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

Page 32: ch5

32

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

Multiple-Table Forms

Page 33: ch5

33

Master block

Detail block

Master-Detail Forms

Page 34: ch5

34

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

Page 35: ch5

35

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

Complex Master-Detail Relationships

Page 36: ch5

36

Master

Detail MasterDetail

Complex Master-DetailRelationship Example

Page 37: ch5

37

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.

Page 38: ch5

38

Formatting Character Text Items Place embedded characters in

double quotes

Page 39: ch5

39

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

Page 40: ch5

40

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)

Form Triggers

Page 41: ch5

41

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

Using Form Triggers

Page 42: ch5

42

Create a block-level WHEN-CREATE-RECORD trigger

Trigger PL/SQL code:SELECT sequence_name.NEXTVAL

INTO :block_name.item_name

FROM DUAL;

Using Sequences in Forms

Page 43: ch5

43

List of legal values that can be selected for use in a form field

LOVdisplay

LOVcommandbutton

Form Lists of Values (LOVs)

Page 44: ch5

44

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

Creating an LOV Using the LOV Wizard

Page 45: ch5

45

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’

Page 46: ch5

46

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

Creating a Command Button to Open the LOV Display

Page 47: ch5

47

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;

LOV Command Button Trigger

Page 48: ch5

48

Alternate Form Input Items Radio buttons Check boxes

Page 49: ch5

49

Limits user to one of two or more related, mutually exclusive choices

Radio Buttons

Page 50: ch5

50

Related radio buttons are part of a radio group

Radio group

Individual relatedradio buttons

Radio Groups

Page 51: ch5

51

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 properties5. Modify the radio group properties

Creating a Radio Group

Page 52: ch5

52

Name: how the button is referenced within the form

Name: how the button is referenced within the form

Label: description that appears next to the button on the canvas

Label: description that appears next to the button on the canvas

Radio Button Value: associated data value in the database

Radio Button Value: associated data value in the database

Important Radio Button Properties

Page 53: ch5

53

Name: how the radio group is referenced within the form

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

Initial Value: data value of the radio button within the radio group that is selected when the form first appears

Important Radio Group Properties

Page 54: ch5

54

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

Page 55: ch5

55

Check Box Example

Page 56: ch5

56

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

Creating a Check Box

Page 57: ch5

57

Value when Checked: data value of the item when the box is checked

Value when Checked: data value of the item when the box is checked

Important Check Box Properties

Label: description that appears next to the check box on the canvas

Label: description that appears next to the check box on the canvas

Value when Unchecked: 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

Check Box Mapping of Other Values: check box status when form first opens, or when new blank record is added