Download as pdf or txt
Download as pdf or txt
You are on page 1of 115

6i

a_alyahawi@hotmail.com

6i
Developer 6i

6- 5

)........................................................... (SQL , PL/SQL

).............................. (Role

..........................................

....................................................

...................................................................... Form Builder

).............................................. (From Builder

................................. Object Navigator

..................................... Developer 6i

................................................................ MODULE

............................................................................. Triggers

10

)........................................................... (Message & Alert

10

.............................................................. Data Blocks

12

.............................................. Visual Attribute

13

)............................................. Items(Input & Non_Input

13

).............. (Window & Block & Item

15

..........................................

16

...............

16

......................................................................... Relations

18

)....................................... (Formula & Summary

20

....................................................................................

22

)............ Program Units(Procedure & Function

23

6i
7

)............................................. List Item(Static & Dynamic


)LOVs(Static & Dynamic _ Manually & Wizrad

27

)...................... Radio Group(Radio Buttons

32

.............................................. Check Box

33

................................................................ Canvases
)(Content & Stacked & Tab & Vertical _ Horizontal Toolbar

10

11

12

25

34

.................................................................. Report Builder

37

)............................................ (Report Builder

40

................................. Object Navigator

40

)Data Model(System Parameters & User Parameters

41

).................. Layout Editor(Header & Body & Footer

44

............................................................................ Groups

45

( ........................................ ) Formula

46

( ........................................ ) SQL Query

47

............................................................... Summary

48

.................................................................................. Menu

49

.............................. Popup Menu

51

( (Forms ( (Form(....... (Report

52

..................................................................... Parameters

53

..............................................................

55

..............................................................

57

.........................................................................

58

..................................................................................... SQL

6i

Developer 6i (SQL , PL/SQL(

: DML


) delete - update - insert - select (
: DDL
) Database(
) drop - alter - create(
: DCL
. ) revoke - grant(

Functions

:
Sum( ) Max( ) Min( ) Avg ( ) Count( )
Abs( ) Mod( ) Sqrt( ) Power( ) Floor( ) Ceil( )

Round( )
Nvl( , )

:
Lower( ) Upper( ) Initcap( ) Concat( , ) Substar( , , )
Length( ) Instr( , ) Lpad( , , ) Rpad( , , ) Ltrim( ) Rtrim(
)

Sysdate

Months_Between(

Add_Months(

:
) Next_Day( , )
Last_Day( )

* , / , + , - , Not , And , Or , = , != , > , >= , < , <= , || , .. ,


In , Not In , Is Null , Is Not Null , Between X And Y , Not Between X
And Y ,
X Like Y , X Not Like Y
=======================================================================
=========

Role
4

6i

User
User
( ) Role
...
20
( - select - insert - update
) delete 4 * 20 = 80 320
....
( 80) ( ) Role
84 80 ( ) Role 4 ( ( ) Role
) .
=======================================================================
=========

PL / SQL

Declare
Cursor

Select into
( ) .
Begin
( ) SQL, PL/SQL Select
into Where .
Exception

( Compile ) Syntax () :

; End


: no_data_found
: too_many_rows
: zero_devided
: cursor_already_open
: others ( ) .

Start Programs Oracle - oracle


Application Development SQL Plus

6i
SQL Plus
SYSTEM (
) MANAGER

SYSTEM SQL
SQL> show user ;

user is "SYSTEM"
TAIZ UST
SQL> create user ust identified by taiz ;

User created.
UST ( Role [connect , resource])
SQL> grant connect , resource to ust ;

Grant succeeded.
UST ( Role [exp_full_database , imp_full_database])
SQL> grant exp_full_database , imp_full_database to ust ;

Grant succeeded.
UST
SQL> connect ust ;
Enter password : ****

Connected.
UST
SQL> show user ;

user is "UST"

6i
) ( UST

Table
name
Section

Lvl

Stu

Subject

Mark

Fields Name
Sec_No
number(2)
(P. K)
Lvl_No
number(1)
(P. K)

Sec_Name
varchar2(50)
(Not Null)
Lvl_Name
varchar2(50)
(Not Null)

Stu_No
number(3)
(P. K)

Stu_Name
varchar2(50)
(Not Null)

Stu_Sec
number(2)
(F.K)

Stu_Lvl
number(1)
(F.K)

Stu_Add
varchar2(50)

Stu_BrthDt
date

Stu_Avg
number(5,2)

Stu_CertType
number(1)

Sub_No
number(3)
(P. K)
Mark_Sec
number(2)
(F.K)

Sub_Name
varchar2(50)
(Not Null)
Mark_Lvl
number(1)
(F.K)

Sub_Lvl
number(1)
(F.K)
Mark_Sub
number(3)
(F.K)

Mark_Yj
number(5,2)

Mark_Ht
number(5,2)

(Check 0 .. 20)

(Check 0 .. 20)

Sub_Sec
number(2)
(F.K)
Mark_Stu
number(3)
(F.K)
Mark_Ft
number(5,2)
(Check 0 .. 60)

SQL> create table Section(Sec_No number(2) primary key ,


Sec_Name varchar2(50) not null) ;

Table created.

SQL> create table Lvl(Lvl_No number(1) primary key ,


Lvl_Name varchar2(50) not null) ;

Table created.

6i
SQL> create table Stu(Stu_No number(3) primary key ,
Stu_Name varchar2(50) not null ,
Stu_Sec number(2) constraint stusecfk references Section(Sec_no) ,
Stu_Lvl number(1) constraint stulvlfk references Lvl(Lvl_no) ,
Stu_Add varchar2(50) , Stu_BrthDt date ,
Stu_Avg number(5,2) , Stu_CertType number(1)) ;

Table created.

SQL> create table Subject(Sub_No number(2) primary key ,


Sub_Name varchar2(50) not null ,
Sub_Sec number(2) constraint subsec references Section(Sec_No) ,
Sub_Lvl number(1) constraint sublvl references Lvl(Lvl_No) ,
Sub_Stu number(3) constraint substu references stu(Stu_No) ) ;

Table created.

SQL> create table Mark(


Mark_Sec number(2) constraint marksec references Section(Sec_No) ,
Mark_Lvl number(1) constraint marklvl references Lvl(Lvl_No) ,
Mark_Stu number(3) constraint markstu references stu(Stu_No) ,
Mark_Sub number(2) constraint marksub references subject(Sub_No) ,
Mark_Yj number(5,2) constraint chkYj check(Mark_Yj between 0 and 20)
,
Mark_Ht number(5,2) constraint chkHt check(Mark_Ht between 0 and 20)
,
Mark_Ft number(5,2) constraint chkFt check(Mark_Ft between 0 and 60))
;

Table created.

6i
=======================================================================
=========

:
.a SYSTEM
(] ) Role [DBA .
.b UST
Create Session (] ) Role [connect .
.c UST
.

6i

: Developer 6i


( ) User
() :

Graphics Builder Report Builder Form Builder


... .
=====================================
=========

: Form Builder

(
.

) User

==============================================

Form Builder

Start Programs Oracle Forms 6i-orantf Form Builder



:
Data Block


.
:
( )
()
.
(
Data

Block ) OK

( Data Block )
:

10

6i
.
(
)

Data

Block


Browse
( ) User( ) Password

connect
:


(
)



.
( UST TAIZ
) STU
( ) List

> ( << < >> >> )

11

6i
congratulations
Data Block
Finish :
Data Block
( ) Layout
.
(
Layout )

(
) Layout
(
)

) Canvas

:
( ] [ )

Content
Stacked
Vertical Toolbar
Horizontal Toolbar
Tab
Content )

( ) List
> ( << < >>


No

Visible
)

12

6i

Prompt

W ( H )

:
: Form

List item Display item Text
... Radio Group Image item

: Tabular
.
Tabular
(

)
:
( ) Frame
( ) 1
( Pixcel. ) 0
( Students
( ) 5 ( ) 2

)

congratulations
(
( )
)

. Builder

Form

13

6i

Form
Builder

: Object Navigator .1
Form

Objects
F3 Tools
. Object Navigator
: Layout Editor .2
Canvas

F2 Tools
. Layout Editor
: Property Palette .3
Objects
F4 Tools . Property Palette
=======================================================================
=========

Object
Navigator

Forms
] .1 : [ MODULE1 ) ) Form

( (SQL , PL/SQL
: Triggers .2

: Alerts .3
: Attached Libraries .4 PL/SQL
: Data block .5 DB
( ) Database
NonDB ( ) Database
: Canvases .6 (
)
: Editor .7

: LOVs .8
( ) Database
: Object Groups .9


: Parameters .10 ( ) Form

: Popup Menus .11
: Programs Units .12 Procedure Function Package
: Property Classes .13

14

6i
LOVs : Record Groups .14
: Reports .15
: Visual Attributes .16
: Windows .17
) ( Menus
PL/SQL PL/SQL Libraries
Oracle Object Libraries
) Oracle( Builtin Packages
Database Objects

Developer 6i

Form Builder

*.FMB

Source

Save

Forms Runtime

*.FMX

Execute

Compile

Form Builder

*.MMB

Source

Save

Forms Runtime

*.MMX

Execute

Compile

Report Builder

*.RDF

Source

Save

Reports
Runtime

*.REP

Execute

Compile

Forms

Menu

Reports

Source Execute
.

15

6i

.a

() Canvas
.
:
Forms Runtime
. WINDOW1
( ) ( ) .
:
File Administration Compile File

.b
.c
.d

] (. [) *.FMX

16

6i

MODULE

: Menu Module .1

( Oracle
)
DEFAULT&SMARTBAR
. Forms Runtime

: Defer Required Enforcement .2


No Yes
. Items
: Direction .3

:

Form

: Default . a Registry
.
Start Run RegEdit
( ) Registry
:
HKEY_LOCAL_MACHINE
SOFTWARE
ORACLE

17

6i
HOME0

[National

NLS_LANG
Language
Standard_LANG]

) Value Data(
) NLS_LANG (
:
ARABIC_UNITED

ARAB
EMIRATES.AR8MSWI
N1256
ARABIC_SAUDI

ARABIA.AR8MSWIN1
256
) Right To Left(
Oracle ) ... (
:
AMERICAN_AMERICA.WE8ISO8859PI
. ) Left To Right(

. : Left To Right . b
. : Right To Left . c

Triggers

: (SQL ; PL/SQL( Code


: ) Module .1
. ) Form( : WHEN-NEW-FORM-INSTANCE
: ) Data Block .2
) Block( : WHEN-NEW-BLOCK-INSTANCE
: WHEN-NEW-RECORD-INSTANCE
) Block( : PRE-BLOCK
. ) Block( : POST-BLOCK
: ) Item .3
) Item( : WHEN-NEW-ITEM-INSTANCE
PUSH BUTTON : WHEN-BUTTON-PRESSED
List Item : WHEN_LIST_CHANGED
. Image : WHEN_IMAGE_PRESSED
=======================================================================
=========

18

6i

:
( message ) Alert
( . ) Trigger
:
) message .1 ( )

'( message ; )'

( ) Trigger
STU_NAME Smart Trigger WHEN-NEW-
ITEM-INSTANCE ?message(' Please Enter Name of Student
; )' Compile
( ) message
(. ) Alert

) Alert .2
( Stop Caution ) Note
( ) ...
:

19

6i
Oracle :
. a :
( ) Alert ( ) Object Navigator Create
F4 :

Value

Property

Del

Name

Title

Message

Stop

Alert Style

Button 1 Label

Button 2 Label

Button2

Default Alert Button

. b :
( ) Trigger ( Data
STU ) Block Data Block
Smart Trigger KEY-DELREC
:
Declare
N

; Number

Begin
; )'N := Show_Alert('Del
N = Alert_Button1 Then

If

; Delete_Record
; Commit
Else
; Null
; End If
; End

20

6i
Compile

Form Runtime
:
.1

( ) Canvas :

Value

Property

DL

Name

Label

Number of item displayed

.2 KEY-DELREC ( ) Push-Button
Smart Trigger WHEN-BUTTON-PRESSED :
.a DL Object Navigator
.b Layout Editor
.c DL . Program

Data Blocks

.a
.b
.c

( ) Data Block :
: Triggers ( ] ) Data Block ) [(Triggers
: Items (] ) Data Block : [
: Relations ( ) Data Block ) Data Block( ] : [ .
( : ) Data Block
Data Block :

21

6i

Name

Navigation Style

Previous Navigation Data


Block

Next Navigation Data Block

Number of Record display

Records Orientation

Database Data Block

Query Allowed

( ) Data Block
:
: Same Record (A


Enter
: Change Record ) B

Enter
: Change Data Block ) C ( ) Block

( ) Block ( ) Block.
( ) Block
F3
( ) Block
() Canvas
( )
( ) Data Block (Yes , No)
) Yes( : Database .1
(
...)
) No( : Non Database .2

(. ) DUMMY

)(Yes , No

22

6i
9

Insert Allowed

10

Update Allowed

11

Delete Allowed

12

WHERE Clause

13

ORDER BY Clause

(Yes ,
)No
(Yes
), No
(Yes ,
)No

( ) SQL Developer
:
; SQL> revoke delete on STU.Lvl from UST
( ) SQL
Lvl ust Developer
No Delete Allowed

Lvl
Lvl
Yes Delete Allowed
( ) SQL
( ) Yes (. ) No


:
: Lvl_Name

()
: Lvl_Name desc

: Lvl_Name Asc

23

6i

Visual Attribute
Stu

Current Record
Red

12

Arial

Cyan

:
: . a
Create ) Object Navigator( ) Visual Attribute(
: F4

Property

Value

Name

VA1

Visual Attribute Type

Common

Foreground Color

Red

Background Color

Cyan

Font Name

Arial

Font Size

12

: . b
: F4 STU ) Data Block(

Property

Value

Current Record Visual Attribute Group

VA1

=======================================================================
=========

Items

:
. Radio_Group Check_box List_Item Text_item :
. Images Push_Button Display_Item :

Input Items

Non_Input Items

24

a
b

6i

Text_Item
Name

( ) Text_item

Item Type

Enabled

)(Yes , No

Justification

)(Left ,Right ,Center ,Start ,End

Data Type

Maximum Length

Initial Value

Required

()

Format Mask

( ) 999.99:

10

Database Item

)(Yes , No

11

Query Allowed

)(Yes , No

12

Insert Allowed

)(Yes , No

13

Update Allowed

(Yes , No)

14

Visible

(Yes , No)

15

Canvas

16

X Position


Y Position

17

18

Width

19

Height

20

Font & Color

21

Prompt

) (Label )(Text_item

21

Prompt Font & Color

) (Label )(Text_item

23

Hint

) (Form

24

Tooltip

25

6i

List_Item
1
2

Element in List
Mapping of Other Values


=======================================================================
=========

Check_Box
1

Value When Checked

Value When Unchecked

Check box Mapping of Other Value

()

Initial Value

=======================================================================
=========

Radio_Group
Radio_Button Container

1
2

Mapping of Other Values


Initial Value

Radio_Button
1

Label

26

6i
2

Radio Button Value


=======================================================================
=========

Display_Item


Focus
=======================================================================
=========

Push_Button
1

Label

Iconic


)(Yes , No

Icon Filename


=======================================================================
=========

Image
1

Image Format

Image Depth

Sizing Style

( )

27

6i

Set ) (Window ) (Block ) (Item

Property Palette .
:
( Set_Window_Property , , )
;
( Set_Block_Property , , ; )

( Set_Item_Property , , ; )

: WHEN_NEW_FORM_INSTANCE
... : ... WHEN_BUTTON_PRESSED .

Window

1
:

)(Forms Runtime
;)Set_Window_Property(Forms_Mdi_Window , Window_State , Maximize

) (Forms Runtime Forms_Mdi_Window


.

)(Forms Runtime
;)Set_Window_Property('Window1' , Window_State , Maximize

600

800

;)Set_Window_Property('Window1' , Height , 600 , Width , 800


) (argument .

28

6i
(Forms Runtime)

'

'

'); Set_Window_Property(Forms_Mdi_Window , Title , '


.

'

'

'); Set_Window_Property('Window1' ,Title , '

(Forms Runtime)

Set_Window_Property('Window1' , Window_State, Minimize);


Set_Window_Property(Forms_Mdi_Window , Window_State, Minimize);

Block

2
:

Lvl

Set_Block_Property('Lvl' , Query_Allowed , Property_True);


. Yes property_True

Lvl

Set_Block_Property('Lvl' , Query_Allowed , Property_False);


. No property_False

Lvl

Lvl

Set_Block_Property('Lvl' , Order_By , 'Lvl_No');

Set_Block_Property('Lvl' , Order_By, 'Lvl_Name');


: Block
: Insert_Allowed
: Update_Allowed
: Delete_Allowed
Where : Defalut_Where
Set_Block_Property('Stu' , Defalut_Where , 'Stu_Sec >= 1');

Visual Attribute : Current_Record_Attribute


Set_Block_Property('Stu' , Current_Record_Attribute , 'VA1');

. ...

Item

3
:

29

6i
Lvl

Set_Item_Property('Lvl_Name' , Visible , Property_True);

Lvl

Set_Item_Property('Lvl_Name' , Visible , Property_False);

Lvl

Set_Item_Property('Lvl_Name' , Enabled , Property_True);

Lvl

Set_Item_Property('Lvl_Name' , Enabled , Property_False);


: Block
(X , Y) : Position
, 100 , 100); Set_Item_Property('MyButton' , Position
: Visual_Attribute
, 'VA1'); Set_Item_Property('Stu_No' , Visual_Attribute
. ...
=======================================================================
=========

Global Variables

1
) :Global.(

Function Procedure Trigger


WHEN_NEW_FORM_INSTANCE


. ) Forms(
:

:global.Variable := Value ;
:global.Variable := 'Value' ;

:
:Global.MyNo := 1 ;
:Global.MyName := 'Amerah';

Local Variable

( Function) ( Procedure) ( Trigger)

30

6i
) (Begin) (End .
:
; Variable DataType := Value
; 'Variable DataType := 'Value

:
; MyNo Number := 2
;'MyName Varchar2(20) := 'Gawaher
=======================================================================
=========

'

'

'
'

'

'
'

'

'

'

:
( )

( ) Form X ' '



( ) IF
' ' Visible ' '

WHEN_NEW_FORM_INSTANCE .1

31

6i
' ; :Global.X := '
Set_Item_Property('MyButton' , Label , :Global.X) ;

'

WHEN_BUTTON_PRESSED .2
then If :Global.X = '

Set_Item_Property('Lvl_Name' , Visible , Property_False);


' ;

:Global.X := '
Else

Set_Item_Property('Lvl_Name' , Visible , Property_True);


' ;

:Global.X := '
End if ;

Set_Item_Property('MyButton' , Label , :Global.X);


=======================================================================
=========
:

:=

=======================================================================
=========

Trigger

STU

Stu_No
:

) (

:
: Number

32

6i
)(Trigger : KEY_CREREC

Declare
; number

Counter


Begin
; Select Max(Stu_No) into Counter From Stu

; :Stu_No := Counter + 1


; End

33

6i

Relations


Details

Master

.1 Master Details
.2 ( )
.3 . Join Condition
-----------------------------------------------------------------------------------------------------------------------------------

Master
Details
STU
. MARK
( )
(
) n-1 :
Mark.Mark_Sec = Stu.Stu_Sec And
Mark.Mark_Lvl = Stu.Stu_Lvl And
Mark.Mark_Stu = Stu.Stu_No

.1 : Data Block Wizard


Form Data
Block STU
Tabular
Data Block
MARK Tabular
Data
Block MARK

34

6i
Data Block Wizard :

Auto-join Data Blocks
Create Relationship STU
MARK
Detail Item Master Item
.
( ) Data Block Wizard

( Relation )
F4 :
: Join Condition

Delete Record Behavior :
( : Non_Isolated .1 )
Master Details
: Isolated .2
Master Details

: Cascading .3
Master . Details

35

6i
.2 :
Form Data
Block STU
Tabular
Data Block
MARK Tabular

( ) Relations
( ) Object Navigator
STU Create

:

STU


Select LOVs
MARK Master Deletes :
Non_Isolated ) a
Isolated ) b
. Cascading ) c

Join Condition
.


: Relation
.1 Trigger Form
.
.2 ) ( 2 Triggers
Data Block
. Master
Relation
.3

Data Block . Master


.4 ) ( 3 Procedure . Program Units

36

6i

( )
NULL Canvas
No Visible .

.1 Sec_NO
.2 Lvl_No
.3 Stu_No

37

6i


DB DataBlock Non_DB Item ) a
Non_DB DataBlock Non_DB Item ) b
. (Dummy)

Formula

Mark
Mark TDeg Non_DB
:

1
2
3
4
5
6
7
8
9

Property
Name
Item Type
Enabled
Data Type
Calculation Mode
Formula
Database Item
Canvas
Prompt

Value
TDeg
Text Item
No
Number
Formula
NVL(:Mark_Yj , 0) + NVL(:Mark_Ht , 0) + NVL(:Mark_Ft , 0)
No
Canvas2

Summary

: ( Dummy) Non_DB Block .a


Property
Value
1
Name Dummy
2
Database Data Block
No

: Total Non_DB
Property
Value
1
Name
Total
2
Item Type
Text Item
3
Enabled
No
4
Data Type
Number
5
Calculation Mode
Summary

38

.b

6i
6
7
8
9
10
11

Summarized Block
Summarized Item
Summary Function
Database Item
Canvas
Prompt

Stu
TDeg
Sum
No
Canvas2

.c
Mark ( Block) Query All Record
. Single Record Dummy ( Block)

1
2

39

Data Block
Mark
Dummy

Property
Query All Record
Single Record

Value
Yes
Yes

6i

1
2
3
4
5
6
7

: MARK ) a
Property
Value
Name
VALUATION
Database Item
No
Canvas
Canvas2
Prompt

Prompt Justification
Center
Prompt Attachment Edge
Top
Prompt Alignment
Center

) b
( Post_Change Code
: )
Declare
N

Number;

Begin
N := NVL(:Mark_Yj , 0) + NVL(:Mark_Ht , 0) + NVL(:Mark_Ft , 0);

If N Between 90 And 100 Then


';

:Mark_Valuation := '

Elsif N Between 80 And 89 Then


';

:Mark_Valuation := '

Elsif N Between 70 And 79 Then


';

:Mark_Valuation := '

Elsif N Between 50 And 69 Then


';

:Mark_Valuation := '

Else

40

6i
' =:Mark_Valuation :

;'
; End If

; End

41

6i

Master & Details


STU ( ) Stu_Sec
Foreign Key SECTION
STU
Stu_Sec .

:
. a STU :
Property
Value
1
Name
SEC_NAME
2
Database Item
No
3
Canvas
Canvas2
4
Prompt

5
Prompt Justification
Center
6
Prompt Attachment Edge
Top
7
Prompt Alignment
Center
. b ( ) Post_Change
STU STU_SEC:
Declare

Begin
Select Sec_Name Into :Sec_Name From Section
;Where Sec_No = :Stu_Sec

Exception
When No_Data_Found Then

42

6i
'( Message ;)'
;Raise Form_Trigger_Failure
; End
... .
=======================================================================
=========

Alert Message :
Property
Value
1
Name
Msgbox
2
Title

3
Message

4
Alert Style
Caution
5
Button 1 Label

6
Default Alert Button
Button1
Exception:
; )'N := Show_Alert('Msgbox
Declare:

; N Number
.

43

6i

DB Non_DB Non_DB
Dummy
SEC_Name Non_DB Dummy :
Property
Value
Database Data Block
No
List Item ( List_Item_Sec
STU
)
( ) :
)(Trigger : WHEN_LIST_CHANGED
''Default_Where
,
'Stu_Sec
=
; )':Dummy.List_Item_Sec

'Set_Block_Property('Stu

List_Item_SEC STU
STU List_Item_SEC
( ) :
; )'Go_Block('Stu
; Execute_Query
=======================================================================
=========

Program Units

Procedure
Function Package Spec
( ) Program Units ( Object
) Navigator Create :

:

)(Name

Procedure
Function
( Package Spec
)
Package Body
( Code . ) Package Spec
-----------------------------------------------------------------------------------------------------------------------------------

44

6i
Mark

a
Procedure
b

Function

Stu

-----------------------------------------------------------------------------------------------------------------------------------

) Non_DB TDeg :
Value
TDeg
Text Item
No
Number
No
Canvas2

Property
Name
Item Type
Enabled
Data Type
Database Item
Canvas
Prompt

1
2
3
4
5
6
7

) ( ) Program Units ( ) Object Navigator Create


Name ProTDeg
Procedure Ok :
PROCEDURE ProTDeg IS
BEGIN
;):Tdeg := NVL(:Mark_Yj , 0) + NVL(:Mark_Ht , 0) + NVL(:Mark_Ft , 0
;END
) Procedure
Code Post_Change (
):
; ProTDeg
-----------------------------------------------------------------------------------------------------------------------------------

) Non_DB SEC_NAME .:

45

6i
Property
Value
1
Name
SEC_NAME
2
Item Type
Text Item
3
Enabled
No
4
Data Type
Char
5
Database Item
No
6
Canvas
Canvas2
7
Prompt

) ( ) Program Units ( ) Object Navigator Create
Name FunSec
Function Ok :
FUNCTION FunSec RETURN Char IS
;)X Varchar2(50
BEGIN
Select Sec_Name Into X From Section
; Where Sec_No = :Stu_Sec

; Return X
;END
) Function
:

Code

)(Trigger : WHEN_NEW_RECORD_INSTANCE
; :Sec_Name := FunSec
=======================================================================




:
FUNCTION FunSec RETURN _ IS
:
FUNCTION FunSec RETURN Char IS


46

6i

List Item

List Item :
() : Static
() : Dynamic
. Query
) (List Item .
-----------------------------------------------------------------------------------------------------------------------------------

List Item

Stu

a
b
-----------------------------------------------------------------------------------------------------------------------------------


Form Data Block Stu :
( Stu_No Stu_Name Stu_Sec Stu_Lvl
Stu_Avg ) Stu_Certtype
Item :

Value
LVL_NAME
List Item
More
4
2
STU_LVL
STU_LVL
No
Canvas2

Property
Name
Item Type
Element in List
Mapping of Other Values
Initial Value
Copy Value from Item
Synchronize with Item
Database Item
Canvas

1
2
3
4
5
6
7
8
9

47

6i
:

LVL_Name

List Elements


List Item Values

() :
List Elements
1. List Item Values

=======================================================================
=========


) STU_LVL
( STU_LVL Canvas

( Copy Value from Item

LVL_NAME )
Synchronize with Item List
Item
(Trigger :
( STU_LVL

)Post_Change
) STU_LVL

List Item Decode . SQL PLUS

48

6i
: Item )

1
2
3
4
5
6
7
8
9

Property
Name
Item Type
Element in List
Mapping of Other Values
Initial Value
Copy Value from Item
Synchronize with Item
Database Item
Canvas

Value
LVL_NAME
List Item
More

STU_SEC
STU_SEC
No
Canvas2
:
Element In List ) a
. Mapping of Other Values & Initial Value ) b

Record ( Dynamic ) ( Record Group )


Based Create ) Object Navigator( ) Group
OK on the Query Below
select Sec_Name , to_char(Sec_No) from section ;

(
to_char()
Record Group
)
Char

Property
Value
Data Type
Char
) Record Group (
F4
RG_SEC_DYNAMIC Name
.

) Code Form List Item


:
(Trigger : WHEN_NEW_FORM_INSTANCE)

49

6i
Declare
;Number

N
Begin

;)'N := Populate_Group('RG_SEC_DYNAMIC
;)'Populate_List('Sec_Name','RG_SEC_DYNAMIC
; End

)LOVs (List Of Values

) (Form
:
) a Form ...
) b

50

6i
) c Search () . Filter
=======================================================================
=========

)LOVs (List Of Values

LOVs :
() : Static
() : Dynamic
. Query
) (LOVs Text Item
] LOVs Wizard ) . [) Form Builder 6i

LOVs Record Group


Record Group LOVs
-----------------------------------------------------------------------------------------------------------------------------------

LOVs

Mark

c
d

Manually
Wizard

-----------------------------------------------------------------------------------------------------------------------------------


Form Data Block Mark :
( Mark_Sec Mark_Lvl Mark_Stu Mark_Sub
Mark_Yj Mark_Ht ) Mark_Ft :
) Item :
Property
Value
1
Name
Lvl_Name
2
Database Item
No
3
Canvas
Canvas2
4
Prompt

) Record Group () Static ( Record
) Group ( ) Object Navigator Create Static
Values OK :

51

6i
( LVL_NO Column Names Number Data Type
]Column [1,2,3,4
Length
) Values
:
( LVL_NAME Column Names Cheterar Data Type
30 Length ] , , , [ Column
) Values
()
1

( ) Record Group
F4
NameRG_LVL_STATIC

) LOVs
Record Group ] () [Static
( ) LOVs (Object
) Navigator
Create



( Build a new LOV manually )
:

Value
LOV_LVL_STATIC

RG_LVL_STATIC

Property
Name
Title
Record Group

1
2
3

52

6i
4
5
6
7

Column Mapping Properties


Filter before Display
Automatic Display
Automatic Skip

More
Yes
Yes
Yes
:

Return MARK.MARK_LVL Column Names LVL_NO (


LOVs 50 Browse Item
: ) Column Title
MARK.LVL_NAME Column Names LVL_NAME (
LOVs 100 Browse Return Item
. ) Column Title

: MARK_LVL LOVs )
Property
List of Values

Value
LOV_LVL_STATIC


: Item )
Property
Value
1
Name
Sec_Name
2
Database Item
No
3
Canvas
Canvas2
4
Prompt

(Trigger : Post_Change) ( Trigger))
: Mark_Sec

53

6i
Declare

Begin
Select Sec_Name Into :Sec_Name From Section
Where Sec_No = :Mark_Sec;

Exception
When No_Data_Found Then
'); Message('
Raise Form_Trigger_Failure;
End ;
Record ( Dynamic ) ( Record Group )
Based Create ) Object Navigator( ) Group
OK on the Query Below
select Sec_Name , to_char(Sec_No) from section ;

(
to_char()
Record Group
)
Char

Property
Value
Data Type
Char
) Record Group (
F4
RG_SEC_DYNAMIC Name
.

[ Dynamic ) ( ] Record Group LOVs )


) Object Navigator( ) LOVs(
Create
) (

54

6i
Use the LOV Wizard
LOVs
Record Group:

.
( ] [ RG_SEC_DYNAMIC
)

Wizards
( ) :
Tools Preference Wizard
LOV Wizard Welcome Page
:
Record Group
.
( )

Record Group SQL Query


Statement Build SQL Query
Import SQL Query Connect

( ) ( Check Syntax )

55

6i
Record Group
( LOVs >> )

Title Width
SEC_NAME
( Lock Up Return Item

& MARK.SEC_NAME ICRGGQ_0 MARK.MARK_SEC )

Title width

height
( ,

)
:


LOVs

. LOVs
( )


( >> )
( )

56

6i

57

6i
( ) LOVs

. LOV_LVL_STATIC

F4

Name

:
Title LOVs
Record Group RG_SEC_DYNAMIC LOVs
Column Mapping Properties LOVs .
List of Values LOV_SEC_DYNAMIC MARK_SEC
( SEC_NAME SEC_NAME
. ) NULL
=======================================================================
=========

)LOVs (List Of Values

.1 : Filter before Display LOVs


. Yes
.2 : Automatic Display
Yes LOVs MARK_SEC
:

F9
Code :
)(Trigger : WHEN_NEW_ITEM_INSTANCE
Declare
;J Boolean
Begin
;)'J := Show_Lov('LOV_SEC_DYNAMIC
; End

.3 : Automatic Skip Yes LOVs


No ( ) .
=======================================================================
=========

) a List Item LOVs LOVs Find


.
) b List Item Static Values
LOVs . Dynamic Values
) c Static Values Query Query
Database Server .

58

6i

Radio Group & Radio Button

( ...)
Container
Oracle
Container :
Radio Gruop Radio Buttons

Stu
Form


SQL:
alter
Table
Stu
;))Add(Stu_Sex number(1

>SQL

(
Form Data Block
) (STU
Data Block Wizard
Table Refresh STU_SEX )
Form Data Block STU STU_SEX
Text Item Radio Buttons Radio Group
:

Value

Property

STU_SEX

Name

Radio Group

Item Type

Mapping of Other Values

59

6i
4

Initial Value

Radio Group Layout Editor


Radio Group (STU_SEX) Radio Buttons
: Create Radio Buttons

Property

Value

Property

Value

Name

MALE

Name

FEMALE

Label

Label

Radio Button Value

Radio Button Value

Canvas Canvas2 Radio Group


Text
. Item

60

6i

Check Box

( ...)
.

Stu
Form


SQL:
alter
Table
Stu
;))Add(Stu_Nat number(1

>SQL

(
Form Data Block
) (STU
Data Block Wizard
Table Refresh STU_NAT )
Form Data Block STU STU_NAT
Text Item Check Box
:

Value

Property

STU_NAT

Name

Check Box

Item Type

Label

Value when Checked

Value when Unchecked

Checked

Check Box Mapping of Other Values

Initial Value

61

6i
Check Box
. Text Item

Value when Checked




STU_NAT
Value when Unchecked


STU_NAT
Check Box Mapping of
Other Values
Checked
( Unchecked
)
STU_NAT
.

62

6i

Canvases

() Items
:
: Content .1
Form . Window
: Stacked .2 Content Canvas .
: Vertical Toolbar .3 .
: Horizontal Toolbar .4 .
:Tab .5 .
-----------------------------------------------------------------------------------------------------------------------------------

Form Data Block STU Content


(Canvas2) Canvas
( Canvas)
CANVAS_CONTENET
( ) Canvases
( ) Object Navigator Create F4
:

Value

Property

CANVAS_STACKED_SEC

Name

Stacked

Canvas Type

25

Viewport X Position

150

Viewport Y Position

375

Viewport Width

150

Viewport Height

Section Canvas ( ) Data Block


( ) Object Navigator Data Block Wizard
CANVAS_STACKED_SEC
. Canvas

63

6i

Canvas
:
) a
CANVAS_STACKED_LVL
Lvl ) b
Canvas
) c
.

Content Canvas Push_Button

Canvases
) Content Canvas Satcked Canvas (

) ( Label
) (
:
(Trigger : WHEN_NEW_FORM_INSTANCE)
Hide_View('CANVAS_STACKED_SEC') ;
Hide_View('CANVAS_STACKED_LVL') ;

:
(Trigger :
WHEN_BUTTON_PRESSED)
Hide_View('CANVAS_STACKED_LV
L') ;
Show_View('CANVAS_STACKED_SE
C') ;
Go_Block('Section');
Execute_Query;
:
(Trigger : WHEN_BUTTON_PRESSED)
Hide_View('CANVAS_STACKED_SEC') ;
Show_View('CANVAS_STACKED_LVL') ;

64

6i
Go_Block('Lvl');
Execute_Query;

. Data Block Canvas

()
Non_DB ]
Object ( ) Canvases( STU [
: Create ) Navigator

Property

Value

Property

Value

Name

CANVAS_VERTICAL

Name

CANVAS_HORIZONTAL

Canvas Type

Vertical Toolbar

Canvas Type

Vertical Toolbar

Width

50

Height

50

) - (
Label ) (
: WHEN_BUTTON_PRESSED

(PUSH_BUTTON_SAVE)

(PUSH_BUTTON_FIRST)

(PUSH_BUTTON_PREVIOUS)

Commit_Form ;

Go_Block('Stu') ;

Go_Block('Stu') ;

First_Record ;

Previous_Record ;

Go_Block('Stu') ;

(PUSH_BUTTON_NEXT)

(PUSH_BUTTON_LAST)

Execute_Query ;

Go_Block('Stu') ;

Go_Block('Stu') ;

Next_Record ;

Last_Record ;

(PUSH_BUTTON_QUERY)

65

6i
)(PUSH_BUTTON_EXIT
; Exit_Form

Canvas Tab ( ) Canvases


( ) Object Navigator Create F4 :

Value

Property

CANVAS_TAB

Name

Tab

Canvas Type

Top

Tab Attachment Edge

( )
( ) Canvases ( ) Object Navigator
] -
) (Tab Pages Create F4
- - [ .

Property
Name

Enabled

Label

Visible

66

6i


Section Canvas
( ) Data Block
( ) Object Navigator
Data Block Wizard

CANVAS_TAB

Tab Pages PAGE_SECTION
( )

. Canvas
Data Block
Tab Canvas .

Data Block Canvas


Data Block SECTION SECTION1 Data Block
SECTION1
:

Value

Property

Yes

Database Data Block

SECTION

Query Data Source Name

Data Block :

Value

Property

Yes

Database Item

SEC_NAME

Column Name

Value

Property

Yes

Database Item

SEC_NO

Column Name

Data Block DB

( Data Block )
=======================================================================
=========

67

6i

Canvas :
' ( Set_Canvas_Property ' , ,; )


:
' ( Set_Tab_Page_Property ' , ,; )
:
;) Set_Tab_Page_Property( 'PAGE_MARK' , Visible , Property_False

Tab
Canvas

Data Block Canvas . Canvas

Toolbar Canvas
Width Vertical Toolbar Height . Horizontal Toolbar

Item Canvas Canvas


Canvas Canvas .

Icon Push_Button :
. a Yes Iconic
. b *.ico . Icon Filename

Tab Attachment Edge


. (Top _ Bottom _ Left _ Right _ Start _ End)

68

6i

: Report Builder
( ) User

Report Builder
:
Save Source *.RDF Report Builder
Compile Execute *.REP . Reports Runtime
=======================================================================
=========

Report Builder

Start Programs Oracle Reports


6i-orantr Report Builder


:



:
( )
() .
(
) OK
(
)

:

69

6i
( )


:
SQL
( Express
. ) Server/Client
(
SQL )


SQL Query

Statement
Build SQL Query
Import SQL Query

Connect

(
)...
( ) User( ) Password

( ) STU

:

70

6i

: SQL .

(
SQL Query
Statement )
( ) List > < >>
<<
( >> )

(
)

( )
Prompt W H
( )

71

6i

Template
:


( . )
congratulations ( )
( ) . Report Builder

=======================================================================
=========

72

6i

Database
Server ( Client Client Activity
) Client
Ctrl+A
) Arial(Arabic 12
( )
.

73

6i

Report
Builder

: Object Navigator .1
Report
Objects
F3 Tools
. Object Navigator
: Data Model .2

Data Block Wizard Form
. Builder
: Layout Model .3
Layout Wizard Form
. Builder
: Property Palette .4
Objects
F4 Tools . Property Palette

Data Model Layout Model . Report Editor


=======================================================================
=========

Object
Navigator

Reports
.1
.2
.3
.4
.5
.6

.7

] : [ MODULE1 ) ) Report

: Live Preview
: Data Model
: Layout Model
: Parameter Form Form

.
: Reports Trigger ( (SQL , PL/SQL
:
Before Parameter Form
After Parameter Form
Before Report
Between Pages
. After Report
: Programs Units Procedure Function Package

74

6i
: Attached Libraries .8 PL/SQL
Templates
External SQL Queries SQL
PL/SQL Libraries PL/SQL
Debug Actions
Stack
Builtin Packages ( ) Oracle
Database Objects .
=======================================================================
=========

File Save

( )
( )
PL/SQL
(
)

Open
.

75

6i

Data Model

Object
) Data Model (
(
) Navigator F2 (
) Q_1



. Group

Data Model
a

System Parameters

(
) F4 Initial Value :

.1 : Background
( ) No Yes

.2 : Copies
( ) 1

.3 : Currency
( Y.R )
.4 : Decimal
( , ).

.5 : DesFormat
( html Pdf
... Rtf)

76

6i
.6 : DesName
(
)
.7 : DesType
Screen ... Printer (


)

.8 : Mode
Bitmap Character
.9 : Orientation
Landscape Portrait

.10 : PrintJob
(
) Yes
.11 : Thousands
( . ) 99.999

User Parameters
.b

( ) Data Model
Object
(
) Navigator :

SQL Query Statement

F2
(
) Q_1

Queries
F2 .

( ) Q_1
Where STU_SEC = :SECN
SECN
!!..

77

6i
SECN :

Value

Property

Number

Data Type

Initial Value

List of Values

More

Data Type SECN


Number 4 Initial Value
List of Value

( ) Select

; Select * From Section

Section

Enter
SECN
Parameter Form F2
. Form

:
.1
Where LVL_SEC = :LVLN
LVLN
.2 (
[ . )

78

6i

System Parameters
...
Tools Parameter Form Builder
System Parameters
User Parameters

(
)

SECN
()

Parameter Form
.

79

6i
=======================================================================
=========



(
) .

:
. a SQL Query Statement
And STU_Lvl Between :No1 and :No2
No2 No1
!!..

. b :

Value

Property

Number

Data Type

Initial Value

Value

Property

Number

Data Type

Initial Value

( ) No1 ( ) No2
Tools Parameter Form Builder ...
User
System Parameters

Parameters No1 ( ) No2 (
) .

Layout Model
80

6i
( ) Layout Model ( ) Object Navigator F2
( ) Fields
Label Layout Model ( ) Object Navigator
( ) Layout Model
:
.1 : Header

.2 : Body

Groups
Repeating Frame
Frame

( ) Group
.
.3 : Footer

.4 : Margin
.
=======================================================================
=========

( ... -)
All Pages Print Job On .

.1
.2
.3
.4
.5
.6

Print Job On :
: All Pages
: All But First Page
: All But Last Page
: Default Registry
: First Page
: Last Page .

:
( ) ( ) Object Navigator
F2 Form Display Item
( )
...
.

81

6i

82

6i

Groups

:
.1 : Frame


.2 : Repeating Frame

(
) .


Groups Frame
Repeating Frame :
Group Repeating Frame
=

83

6i
-----------------------------------------------------------------------------------------------------------------------------------

Relation (
) Subject ( )
Stu ( ) :
Select Sub_No , Sub_Name , Sub_Sec , Sub_Lvl , Stu_No , Stu_Name From
; Subject , Stu Where Sub_Sec = Stu_Sec And Sub_Lvl = Stu_Lvl



( )

.

1
2

.

84

6i
) (
(
) Navigator
:

Object

( : )
( : ) .

:
G_SUB_NO G_STU_NO
( ) Source
Manually
Canvas
.
=======================================================================
=========

Formula


Subject Stu Lvl
Formula:

)
) (
( ) Object Navigator
F2
( ) Q_1

G_SUB_NO

(
) CF_1

) CF_1
F4 :

Value

Property

Char

Data Type

PL/SQL Formula

More

85

6i

Data Type Char PL/SQL Formula:


FUNCTION CF_1FORMULA RETURN CHAR IS
;)X Varchar2(50
BEGIN
Select Lvl_Name Into X From Lvl
; Where Lvl_No = :Sub_Lvl

; Return X
;END
)
( ) Layout Model
:
: Field

G_SUB_NO


Source

F4

Value

Property

CF_1

Source

: Display
( . )

86

6i

SQL Query


Subject Stu Section
SQL Query:

) ( ) ( ) Object Navigator F2
( ) Q_1 SQL
(Q_2)
Build SQL Query
SQL Query Statement
Connect
Import SQL Query
:
; Select * From Section

) ( ) Layout Model :
: Field

:
G_SUB_NO ) Q_1 ( G_STU_NO
) Q_2 ( G_SEC_NO :
=
( ) Repeating Frame
( ) Layout Model Filed
Source F4

Value

Property

SEC_NAME

Source

: Display
( ) .

) ( ) ( ) Object Navigator F2
( ) Q_1 & Q_2
Data Link ( ) Q_2
( ) Q_1
( ) SEC_NO & SUB_SEC
.

87

6i
()
() ( ) .
=======================================================================
=========

Formula
:
.1 SQL
.2 Repeating Frame
.3 . Data Link

Summary

(
- % )

:

) ( ) ( ) Object Navigator F2
( ) Q_1 & Q_2
G_SUB_NO
( ) CS_1

88

6i
) CS_1 F4 :

Value

Property

Function

Sub_No

Source

Page

Reset act

Counter Sub_No
Page ( Report

)

) ( ) Layout Model :
: Field
G_SUB_NO
Source
F4

Value

Property

CS_1

Source

: Display
( ) .
=======================================================================

89

6i

Menus

Oracle
:
Save Source *.MMB Form Builder
Compile Execute *.MMX Forms Runtime
MODULE

-----------------------------------------------------------------------------------------------------------------------------------

( ) Menus ( ) Object Navigator Create



:

90

6i
( )
Create Down Menu
( )
( ) ( )
( ) ( )
Create Right Menu
()
Create Down Menu
(
) ( )
) (Menus
.

Code
=======================================================================
=========

Menu Items
Value
Yes
Plain
None
More
Yes
No
No
No

Property
Enabled
Menu Item Type
Magic Item
Menu Item Code
Visible in Menu
Visible in Horizontal Menu Toolbar
Visible in Vertical Menu Toolbar
Icon in Menu
Icon Filename

1
2
3
4
5
6
7
8
9

Menu Item Type :


: Plain . a ( Code)
: Check . b ( )
Code
: Radio . c ( )
Code
: Separator . d Code
: Magic . e Magic Item
) (Cut , Copy , Paste , Clear , Undo , Help , About , Quit , Window
. Edit

91

6i

( ) SEPARATOR_ITEM
() Separator Menu Item Type
.

Menu Item Code Trigger


Code
; Execute_Query
. Forms

No Visible in Menu
.


( ) Canvas
. a Visible in Horizontal Menu Toolbar
. b Visible in Vertical Menu Toolbar
Yes Icon in
Yes
. Menu

Icon Filename
Yes . Icon in Menu

Form Builder
Menu Module MODULE:
Property
Value
Menu Module
C:\MAIN_MENU.MMX

Switch Orientation
Down Create Right Create Right. Create Down

File Save
. File Administration Compile File

( ) Window

Create

; )''( Close_Form
argument .

92

6i

Popup Menus

Menus :
. a Form Builder

. b Create Down
Create Right
.
. c . Form Builder
-----------------------------------------------------------------------------------------------------------------------------------

( ) Popup Menus ( ) Object Navigator Create



:


()
Create Right Menu
)
(
( ) ( )

93

6i
() ( )
Create Down Menu

() Create Right Menu

( ) ( )
) (Menus

.
Code
=======================================================================
=========

Popup Menu Items

Menu
. a Popup Menu (
Items ) Canvas
Display Item :
Property
Value
1
Popup Menu SECONDARY_MENU
2
Database Item
No
. b
Visible in Vertical Menu Visible in Horizontal Menu Toolbar
Toolbar
. c ( ) Window
.
Display Item
:
Value
_MENU
No

Property
Popup Menu
Database Item

1
2

Value
_MENU
No

Property
Popup Menu
Database Item

1
2

94

6i
((Forms

((Form

((Report

Parent
Child Calling MDI(Multi
) Documents Interface

:

1. OPEN_FORM(Form_Name , Active_Mode , Session_Mode , Data_Mode ,


; )Paramlist_Name Or Paramlist_Id
2. CALL_FORM(FormModule_Name , Display , Switch_Menu , Query_Mode ,
; )Data_Mode , Paramlist_Name Or Paramlist_Id
3. RUN_PRODUCT(Product , Module , Comm_Mode , Exec_Mode , Location ,
; ) Paramlist_Name Or Paramlist_Id , Display

( (Form( (Report . Run_Product


=======================================================================
=========

Open_Form

arguments :
.1 : Form_name

.2 : Active_Mode
Activate (
) Non_ Activate
.3 : Session_Mode
NO_Session
( )
Session
.
.4 : Data_Mode
No_Share_Library_Data
( ) Share_Library_Data
.
.5 : Paramlist_Name Or Paramlist_Id
() .

95

6i
Examples :
;)'Open_Form('C:\Prog4.Fmx
;)Open_Form('C:\Prog4.Fmx' , , , , PL_ID
=======================================================================
=========

Call_Form

arguments :
.1 : FormModule_name
.
.2 : Display
Hide ( )No_Hide
( )

.3 : Switch_Menu
No_Replace
( ) Do_Replace .
.4 : Query_Mode
NO_Query_Only
Query_Only
... ( )
.
.5 : Data_Mode
.
.6 : Paramlist_Name Or Paramlist_Id
.
Examples :
;)'Call_Form('C:\Prog4.Fmx
;)Call_Form('C:\Prog4.Fmx' , Hide , No_Replace , No_Query_Only

Run_Product

arguments :
.1 : Product
] Forms Reports [ Graphics

] 1 2 [ 3

96

6i
: Module .2

: Comm_Mode .3
Synchronous
. Asynchronous
: Exec_Mode .4
Batch ) Form Builder & Report Builder & Graphics Builder ( Runtime
. ) Builder & Graphics Builder (
: Location .5
. Database File System
: Paramlist_Name Or Paramlist_Id .6
.
: Display .7
. Graphics
Examples :
Run_Product(1 , 'C:\Prog4.Fmx' , Synchronous , Runtime , Filesystem ,
'' , '');
Run_Product(2 , 'C:\Rep4.Rep');
=======================================================================
=========
:

Forms
Code
: Menu item Code F4

Open_Form('C:\Prog1.Fmx');

)(

)(
Call_Form('C:\Prog2.Fmx' , Hide , No_Replace , Query_Only);
)(
Call_Form('C:\Prog3.Fmx' , Hide , Do_Replace , No_Query_Only);

) (
Run_Product(2 , 'C:\Rep1.Rep' , Synchronous , Runtime , Filesystem , ''
, '');

97

6i
( )
'' Run_Product(2 , 'C:\Rep2.Rep' , Synchronous , Runtime , Filesystem ,
;)'' ,
=======================================================================
=========

Parameters

()
Relations
( : ... )
:
.1 :
Parameter

.
.2 :
Parameter Parameter
Parameter
.

STU

Form
Forms

Form

Push_Button

MARK
Parameters

Parameter

98

6i
:
.1 Parameter
) (WHEN_BUTTON_PRESSED :
Declare
;PL_ID Paramlist

Begin
;)'PL_ID := Get_Parameter_List('Student_Number

If Id_Null(PL_ID) Then

;)'PL_ID := Create_Parameter_List('Student_Number

Else
;)'Delete_Parameter(PL_ID,'Student_Number


; End If

;)Add_Parameter(PL_ID,'Student_Number',Text_Parameter,:Stu.Stu_No
( )

Run_Product(1,'C:\Mark\Module1.Fmx',Synchronous,Runtime,Filesystem,PL_I
;)D

; End

99

6i
.2 ( ) Parameters ( ) Object Navigator Create
F4 :
Property
Value
Name
Student_Number
) (WHEN_NEW_FORM_INSTANCE :
Set_Block_Property('MARK',Default_Where,'Mark_Stu:=Parameter.Student_Nu
;)'mber



;Execute_Query

=======================================================================
=========

( )

. Add_Parameter
Parameters ) (Text Parameters ) (Data Parameters
. Record Group
Parameter Form Builder
Report Builder User Parameters .

100

6i

:
System File

.1
Non_DB
.2 Database . DB
( )

-----------------------------------------------------------------------------------------------------------------------------------

System File
Layout Editor Image Item :

Value

Property

TEST_IMAGE

Name

BMP

Image Format

Original

Image Depth

Minimum

Compression Quality

High

Display Quality

Popup Menu

Yes

Show Palette

Adjust

Sizing Style

Popup Menu

Database Item

10

No

Image Format BMP Image Depth


Original Compression Quality Minimum Display Quality
High ( )
Yes Show Palette Sizing Style Crop

101

6i
Adjust
.

:
)(Trigger : WHEN_IMAGE_PRESSED
Declare
;)FileName Varchar2(50

Begin
; 'FileName := 'C:\Img_Stu\Amerah.Bmp

; )'Read_Image_File(FileName,'Bmp','Test_Image


;End
( )
:
; FileName := Get_File_Name
( )

FileName := Get_File_Name('C:\Img_Stu\' , 'Amerah.Bmp' ,'Bitmap


;)'|Files(*.Bmp)|*.Bmp

FileName := Get_File_Name('C:\Img_Stu\' , 'Amerah.Bmp' ,'Bitmap


Files(*.Bmp)|*.Bmp|', 'Jpg Files(*.Jpg)|*.Jpg|','Gif
;)'|*Files(*.Gif)|*.Gif|','All Files(*.*)|*.

'|: 'Bitmap Files(*.Bmp)|*.Bmp

102

6i
Bitmap Files
) (*.Bmp List Item
) (|*.Bmp .

Get_File_Name
arguments
.6 Directory_File
.7 File_Name
.8 Filter
.9 Message
.10 OPEN . SAVE AS

:
)(Trigger : WHEN_BUTTON_PRESSED
Declare
;)FileName Varchar2(50
Begin
FileName := Get_File_Name('C:\Img_Stu\' , 'Amerah.Bmp' ,'Bitmap
;)Files(*.Bmp)|*.Bmp|', Save_File

; )'Write_Image_File(FileName,'Bmp','Test_Image


;End



Primary Key :

103

6i
FileName := Get_File_Name('C:\Img\' ||:Stu_Sec ||:Stu_Lvl ||:Stu_No
||'.Bmp');

:
(Trigger : WHEN_NEW_RECORD_INSTANCE)
Declare
FileName Varchar2(50);
Begin
FileName := Get_File_Name('C:\Img\' ||:Stu_Sec ||:Stu_Lvl ||:Stu_No
||'.Bmp') ;
Read_Image_File(FileName,'Bmp',' Test_Image ') ;
End ;
. System File
-----------------------------------------------------------------------------------------------------------------------------------

Database
: SQL .1
SQL> alter Table Stu Add(Stu_Img Long Row);
Data Block (STU) Form ( .2
Refresh Table Data Block Wizard
) STU_IMG
STU_IMG .3

Property

Value

Database Item

Yes

: STU_IMG ) ( .4
(Trigger : WHEN_NEW_ITEM_INATANCE)
Declare
FileName Varchar2(50);

104

6i
Begin
FileName := Get_File_Name('C:\Img\' ||:Stu_Sec ||:Stu_Lvl ||:Stu_No
||'.Bmp') ;
Read_Image_File(FileName,'Bmp',' Stu.Stu_Img ') ;
End ;

:
Non_DB System File .1

. DB Database .2
) (
-----------------------------------------------------------------------------------------------------------------------------------

System File
: Sound Item Layout Editor

105

Property

Value

Sound Format

WAV

Audio Channels

Automatic

Compress

Automatic

Sound Quality

Automatic

Popup Menu

Database Item

No

Show Play Button

Yes

Show Record Button

No

Show Rewind Button

No

10

Show Fast Forward

No

11

Show Volume Control

Yes

12

Show Time Indicator

Yes

6i
13

Show Slider

Yes

Audio Channels WAV Sound Format



Sound Quality Automatic Compress Automatic
) ... ( Automatic
Show Time Show Volume Control Show Play Button ( Yes
. ) Show Slider Indicator


:
(Trigger : WHEN_NEW_RECORD_INSTANCE)
Declare
FileName Varchar2(50);
Begin
FileName := Get_File_Name('C:\Snd\' ||:Stu_Sec ||:Stu_Lvl ||:Stu_No
||'.Wav') ;
Read_Sound_File(FileName,'Wav',' Test_Sound ') ;
End ;
-----------------------------------------------------------------------------------------------------------------------------------

Database
: SQL .1
SQL> alter Table Stu Add(Stu_Snd Long Row);

Data Block (STU) Form ( .2


Refresh Table Data Block Wizard
) STU_SND
STU_SND .3

106

Property

Value

Database Item

Yes

6i
: STU_SND ) ( .4
(Trigger : WHEN_NEW_ITEM_INATANCE)
Declare
FileName Varchar2(50);
Begin
FileName := Get_File_Name('C:\Snd\' ||:Stu_Sec ||:Stu_Lvl ||:Stu_No
||'.Wav') ;
Read_Sound_File(FileName,'Wav', ' Stu.Stu_Snd ') ;
End ;

107

6i

( ) Popup Menus ( ) Object Navigator


Create
( )
Create Right Menu

( )
() () Menu Item
Code :

) (Item :
; )Image_Zoom('Stu_Img' , Zoom_In_Factor , 3

) (Item :
; )Image_Zoom('Stu_Img' , Zoom_Out_Factor , 2

) (Item :
; )Image_Zoom('Stu_Img' , Adjust_To_Ft
Stu_Img:

Value

Property

_MENU

Popup Menu

Long Row
( ) :
( )
. Database

108

6i

:
)(
; )'Host('Exp UserId = Ust/Taiz File = C:\Expdat.Dmp

; )'Host('Exp UserId = Ust/Taiz File = C:\Expdat.Dmp Full = Y


)(
; )'Host('Imp UserId = Ust/Taiz File = C:\Expdat.Dmp

; )'Host('Imp UserId = Ust/Taiz File = C:\Expdat.Dmp Full = Y



=======================================================================
=========

Host Start Run EXP


( IMP )
.
.

109

6i
SQL
(( DML & DDL & DCL ))

selectfrom;
selectfromwhere;
selectfromorder by;
selectfromgroup by;
selectfromhavinggroup by;
selectfromwhere[in or =] selectfromwhere;
------------------------------------------------insert into...values...;
insert into...select...;
------------------------------------------------update...set...;
update...set...where...;
------------------------------------------------delete from...;
delete from...where...;
------------------------------------------------create...;
create...as select...;
------------------------------------------------alter...add...;
alter...modify...;

110

6i
alter...drop...;
------------------------------------------------drop...;
drop...cascade;
------------------------------------------------grant...to...;
grant...on...to...;
------------------------------------------------revoke...from...;
revoke...on...from...;

111

Fields of Emp Table


Empno
Ename

Job

Fields of Dept Table


Deptno
Dname

Mgr

Loc

Fields of Bonus Table


Ename
Job
Sal

Fields of Salgrade Table


Grade
LoSal
HiSal

Comm

Hiredate

Sal

Comm

Deptno

6i
- select * from Tables_name ;
- select Fileds_name from Tables_name ;
- select Fileds_name from Tables_name where Conditions ;

- select Fileds_name from Tables_name order by Filed_name Sort type [Asc or Desc] ;
- select Fileds_name from Tables_name order by Filed_name i Sort type , ,
Filed_name n Sort type ;

- select Fileds_name from Tables_name group by Fileds_name ;


- select Fileds_name from Tables_name group by Fileds_name having Conditions ;

- select Fileds_name from Tables_name


where Conditions [in or =] select Fileds_name from Tables_name where Conditions ;
------------------------------------------------------------------------------------------------------------------------ insert into Table_name (Fileds_name) values (Values by Fields Sort [Serial] ) ;
- insert into Table_name values (Values by Table Description) ;
- insert into Table_name (Fileds_name) values (& message ,'& message (string)' , ) ;

- insert into Table_name select Fileds_name from Tables_name where Conditions ;


- insert into Table_name (Fileds_name) select Fileds_name from Tables_name
where Condition ;
------------------------------------------------------------------------------------------------------------------------ update Table_name set Filed_name = New value ;
- update Table_name set Filed_name = New value where Conditions ;

112

6i
------------------------------------------------------------------------------------------------------------------------ delete from Table_name ;
- delete from Table_name where Conditions ;
------------------------------------------------------------------------------------------------------------------------ create user User_name identified by Password ;
- create role Role_name ;
- create role Role_name identified by Password ;

- create table Table_name (Filed_name i Filed_type i constraint Constraint_type , ,


Filed_name n Filed_type n constraint Constraint_type) ;

- create table Table_name (Filed_name i Filed_type i constraint Constraint_type references


Table_name(Filed_name i), ,
Filed_name n Filed_type n constraint Constraint_type references Table_name(Filed_name n))
;

- create view View_name as select Fileds_name from Tables_name where Conditions ;


- create synonym Synonym_name for User_name.Table_name ;

- create index Index_name on Table_name (Filed_name i , ,Filed_name n) ;


- create unique index Index_name on Table_name (Fileds_name) ;

- alter table Table_name add (Filed_name Filed_type) ;

113

6i
- alter table Table_name modify (Filed_name Filed_type) ;
- alter table Table_name drop (Filed_name Filed_type) ;

- alter user User_name identified by New Password ;


------------------------------------------------------------------------------------------------------------------------ drop user user_name cascade ;
- drop role role_name ;

- drop table table_name ;


- drop view view_name ;
- drop synonym synonym_name ;

- drop index index_name ;


- drop unique index index_name ;
------------------------------------------------------------------------------------------------------------------------ truncate table Table_name ;
------------------------------------------------------------------------------------------------------------------------ grant Role_name to User_name ;
- grant Role_name to Role_name ;
- grant privileges on Table_name to User_name ;
- grant privileges to Role_name ;
------------------------------------------------------------------------------------------------------------------------ revoke Role_name from User_name ;
- revoke Role_name from Role_name ;

114

6i
- revoke privileges on Table_name from User_name ;
- revoke privileges from Role_name ;

- revoke privileges on Table_name from public ;


- revoke all on Table_name from public ;

115

You might also like