Vous êtes sur la page 1sur 61

BANKING-FINANCIAL CONSULTANCY

Kha o to Oracle Developer

O ra c le Fo rm D e s ig n e r

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Mc lc
1 Gii thiu.............................................................................................5 2 Cc bc to mt Form c bn.............................................................6 2.1 Khi to Oracle Forms Designer............................................................................6 2.2 To, xo Form ......................................................................................................6 2.3 Lu tr v thc hin.............................................................................................6 3 Cc thnh phn c bn ca mt Form.....................................................7 3.1 Windows v Canvas-Views...................................................................................8 3.1.1 Windows.....................................................................................................8 3.1.2 Canvas-View...............................................................................................9 3.2 Bocks.................................................................................................................11 3.2.1 Khi nim..................................................................................................11 3.2.2 To, xo mt block.....................................................................................11 3.2.3 Cc thuc tnh c bn ca block...............................................................12 3.3 Items13 3.3.1 Text item..................................................................................................14 3.3.2 Display item..............................................................................................16 3.3.3 List item...................................................................................................16 3.3.4 Button.......................................................................................................17 3.3.5 Check box.................................................................................................17 3.3.6 Radio Group..............................................................................................18 3.3.7 Chart item.................................................................................................18 3.3.8 image........................................................................................................18 3.3.9 OLE container............................................................................................19 3.4 Relations...........................................................................................................20 3.5 Record group, LOVs v Editors...........................................................................20 3.5.1 Record group............................................................................................20 3.5.2 Editors......................................................................................................20 3.5.3 LOVs.........................................................................................................21 3.6 Triggers.............................................................................................................21 3.6.1 Pre - Triggers............................................................................................22 3.6.2 When - Triggers.........................................................................................22 3.6.3 Post - Triggers...........................................................................................23 3.6.4 Key - Triggers...........................................................................................23 3.6.5 On-Triggers...............................................................................................23 3.7 Messages v Alerts............................................................................................23 3.7.1 Messages..................................................................................................23 3.7.2 Alerts........................................................................................................24 3.8 Mt s th tc, hm, bin h thng hay dng...................................................24 4 To ng dng vi Form Designer...........................................................28 4.1 To Form............................................................................................................28 4.2 To menu...........................................................................................................31 4.3 Gi cc sn phm khc ca Oracle t Oracle Form.............................................32 5 Cc tnh nng mi trong Oracle form 6i.................................................33 5.1 Forms Developer ...............................................................................................33 5.2 Cc tnh nng mi..............................................................................................33 5.2.1 Smart Server v h tr WebDB Listener......................................................33 5.2.2 HTTP v SSL Support ................................................................................33 5.2.3 OEM Integration .......................................................................................33 5.2.4 CGI-BIN Load Balancing ............................................................................34 5.3 Xy dng ng dng chy ti nhiu ni..............................................................35 5.3.1 Li th pht trin ......................................................................................35 5.3.2 Vit mt ln, dng nhiu ni.....................................................................35
Oracle Form Designer - Trang 2/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

5.3.3 Cu hnh Form Builder theo Web-based...................................................35 5.3.4 Cu hnh Graphic Builder theo Web-based...............................................35 5.3.5 Middle Tier................................................................................................35 5.3.6 Forms Server.............................................................................................36 5.4 Xy dng Form dng bng i tng (object table).............................................37 6 Bi tp thc hnh...............................................................................38 6.1 BI thc hnh 1: lm quen vi developer/2000..................................................38 6.1.1 Ni dung...................................................................................................38 6.1.2 Cc bc thc hnh......................................................................................38 6.2 BI thc hnh 2: chy ng dng form................................................................38 6.2.1 Ni dung...................................................................................................38 6.2.2 Cc bc thc hnh......................................................................................38 6.3 BI thc hnh 3: Lm vic trong mI trng Form buider...................................39 6.3.1 Ni dung...................................................................................................39 6.4 BI thc hnh 4: To form c bn.....................................................................39 6.4.1 Ni dung...................................................................................................39 6.4.2 Cc bc thc hnh......................................................................................40 6.5 BI thc hnh 5: Lm vic vi Data Blocks v Frames........................................41 6.5.1 Ni dung...................................................................................................41 6.5.2 Cc bc thc hnh......................................................................................41 6.6 BI thc hnh 6: Lm vic vi text item.............................................................42 6.6.1 Ni dung...................................................................................................42 6.6.2 Cc bc thc hnh......................................................................................42 6.7 BI thc hnh 7: To LOVs v Editors.................................................................44 6.7.1 Ni dung...................................................................................................44 6.7.2 Cc bc thc hnh......................................................................................44 6.8 BI thc hnh 8: To Input Items b sung..........................................................44 6.8.1 Ni dung...................................................................................................44 6.8.2 Cc bc thc hnh......................................................................................45 6.9 BI thc hnh 9: To NonInput Items.................................................................45 6.9.1 Ni dung...................................................................................................45 6.9.2 Cc bc thc hnh......................................................................................45 6.10 BI thc hnh 10: To Window v Content Canvases........................................47 6.10.1 Ni dung.................................................................................................47 6.10.2 Cc bc thc hnh....................................................................................47 6.11 BI thc hnh 11: Lm vic vi cc Canvase khc.............................................48 6.11.1 Ni dung.................................................................................................48 6.11.2 Cc bc thc hnh....................................................................................48 6.12 BI thc hnh 12: Gii thiu v Triggers..........................................................52 6.13 BI thc hnh 13: Xy dng Triggers..............................................................52 6.13.1 Ni dung.................................................................................................52 6.13.2 Cc bc thc hnh....................................................................................52 6.14 BI thc hnh 14: To NonInput Items.............................................................53 6.14.1 Ni dung.................................................................................................53 6.14.2 Cc bc thc hnh....................................................................................53 6.15 BI thc hnh 15: To NonInput Items.............................................................53 6.15.1 Ni dung.................................................................................................53 6.15.2 Cc bc thc hnh....................................................................................53 6.16 BI thc hnh 16: To NonInput Items.............................................................54 6.16.1 Ni dung.................................................................................................54 6.16.2 Cc bc thc hnh....................................................................................54 6.17 BI thc hnh 17: Truy vn Triggers................................................................54 6.17.1 Ni dung.................................................................................................54 6.17.2 Cc bc thc hnh....................................................................................54 6.18 BI thc hnh 18: Kim tra tnh hp l............................................................55 6.18.1 Ni dung.................................................................................................55 6.18.2 Cc bc thc hnh....................................................................................55
Oracle Form Designer - Trang 3/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

6.19 BI thc hnh 19: To NonInput Items.............................................................56 6.19.1 Ni dung.................................................................................................56 6.19.2 Cc bc thc hnh....................................................................................56 6.20 BI thc hnh 20: X l cc giao dch (Transaction Processing).......................56 6.20.1 Ni dung.................................................................................................56 6.20.2 Cc bc thc hnh....................................................................................56 6.21 BI thc hnh 21: Vit mt on m ng (Flexible Code)..............................58 6.21.1 Ni dung.................................................................................................58 6.21.2 Cc bc thc hnh....................................................................................59 6.22 BI thc hnh 22: Chia s cc Objects v Code.................................................59 6.22.1 Ni dung.................................................................................................59 6.22.2 Cc bc thc hnh....................................................................................59 6.23 BI thc hnh 23: To Multiple Form Applications.............................................60 6.23.1 Ni dung.................................................................................................60 6.23.2 Cc bc thc hnh....................................................................................60

Oracle Form Designer - Trang 4/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Gii thiu

Oracle forms l mt trong nhng sn phm quan trng trong b Developer/2000. N cung cp cc phng tin pht trin giao din, cc x l, cc thao tc vi thng tin c lu tr trong c s d liu, to kh nng kt ni v trao i thng tin vi cc ng dng khc nh Oracle reports, Oracle graphics. Ta c th s dng Oracle Forms Designer thit k cc ng dng, s dng Oracle Forms Runform chy cc ng dng c bng Oracle Forms Designer. Oracle forms modules Mt ng dng Oracle forms gm nhiu modules (files). Oracle forms modules gm 3 loi: Form: i din cho cc i tng v d liu m ngi s dng c th nhn thy hoc thc hin cc thao tc( *.FMB, *.FMT, *.FMX) Menu: L cu trc phn cp cc chc nng m ta c th chn thc hin (*.MMB, *.MMT, *.MMX) Library: L tp hp cc on m chng trnh PL/SQL nh procedures, functions, pakages ...(*.PLL, *.PLD, *.PLX) Thnh phn ca Oracle forms Oracle forms gm ba thnh phn chnh l:

Designer

Generate Definitions

Runform

Runfiles Oracle Forms Runform: L chng trnh thc thi ng dng forms bin dch v cc module trong n. N ch thc thi c cc file c sinh bi Oracle Form Generate. Oracle Form Generate: Bin dch cc file to bi Oracle Form Designer thnh cc file m Oracle Forms Runform c th thc thi c. Oracle Form Designer: Cho php ta thit k (v d nh giao din, cc th vin ... ) v lu tr cc thng tin nh form, menu, library mudules.

Oracle Form Designer - Trang 5/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Cc bc to mt Form c bn

2.1 Khi to Oracle Forms Designer


C 2 cch gi Oracle Forms Designer Tm n biu tng Forms Designer v nhy p con tr trn biu tng vo Forms Designer; hoc Gi file F45DES32.EXE [username/pasword] trong th mc bin ca th mc ci b Oracle developer/2000 (v d: C:\ORAWIN95\BIN\).

2.2 To, xo Form


To mt Form trong Oracle Forms Designer phi : Vo chc nng File/New/Form ;hoc t con tr vo biu tng forms trn Object Navigator sau nhn vo biu tng Create (hnh du [+] ).

Mun xo form t hp chn vo tn form cn xo sau nhn phm del hoc nhn vo biu tng delete trn Object Navigator

2.3 Lu tr v thc hin


Mun lu tr chn chc nng file/save hoc File/Save As sau a ng dn v tn file cn lu tr. File ngm nh s c ui *.FMB. chy form vo chc nng File/Run hoc nhn vo biu tng Run chy. Trong trng hp login vo CSDL, Form Designer s hi tn user v mt khu (c th vo chc nng file/connect login vo CSDL). Khi chn chc nng chy form, form s t ng c bin dch v t sinh ra file chy. Nu c li s c thng bo hin ln. bin dch form chn chc nng File/Compile hoc File/Compile All. sinh File thc hin vo chc nng File/Administration/Generate. File ngm nh c ui l *.FMX v cng tn vi file c to bi Oracle Form Designer.

Oracle Form Designer - Trang 6/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Cc thnh phn c bn ca mt Form

Thnh phn c bn ca mt Form module gm Form Module

Form Object

Visual Structure

Logical Structure

Blocks Records Items

Button Check Box Radio Group Text Image Chart Display

Windows Canvas Alert Editor LOV Name Visual Attribute

Trigger PL/SQL Routine Global Variable Parameter Timer Relation Record Group

List Cc thuc tnh c bn ca form Name: Tn ca form Class: Lp m form tha hng cc thuc tnh Display properties Coordinate information: Ch n v dng t kch thc cc object v v tr. C th l character hoc real units (centimeters, inches, pixels, or points). Title: L dng tiu ca form

Current record attribute: t Visual Attribute cho cc record hin thi trong form Horiz/vert. MDI toolbar: Ch nh canvas-view no s hin th di dng horizontal toolbar hoc vertical toolbar trn window ng dng MDI. Canvas-view ch nh phi c kiu Horizontal Toolbar. Functional properties

Oracle Form Designer - Trang 7/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Cursor mode: Xc nh trng thi ca cursor trong cc giao dch. C 2 gi tr Open tc cursor vn m trong cc giao dch. Close tc cursor s ng li sau mi ln commit. Savepoint mode: Ch ra rng Oracle Forms s t savepoints cho ng dng ang chy ti lc khi ng form hay trc mi qu trnh post hay commit. Firt navigation block: L tn ca block m Oracle Forms s nh hng ti ngay khi khi ng v sau cc thao tc CLEAR_FORM. Console window: Ch nh tn ca window m s c hin th bi Oracle Forms. Console bao gm dng trng thi v dng message c hin th di y ca window. Menu properties Menu module: Ch nh tn ca menu c s dng vi form. Khi thuc tnh ny c t l ngm nh (Default) th Oracle Forms chy form vi menu ngm nh. Nu t l NULL th form s khng c menu khi chy. Menu style: Ch nh kiu m Oracle Forms s s dng chy cc menu ch nh bi Menu Module (gm pull-down, full-screen hoc bar). Use file: Cho php ta ch nh v tr ca file .MMX khi gn menu ti form module. Starting menu: Ch nh tn ca mt menu trong menu module m Oracle Forms s s dng lm menu chnh hoc top-level. Menu role: Ch ra role cn thit Oracle Forms s dng c menu. Vi thuc tnh ny th c th cho php hoc khng cho php ngi s dng thc hin cc chc nng trn ng dng.

3.1 Windows v Canvas-Views


3.1.1 Windows Khi nim Window l mt ca s mn hnh ging nh mt khung bc tranh rng ( cha c ni dung). Window c cc chc nng cho php phng to, thu nh, cun ln-xung, di chuyn v ch. Mt form c th c nhiu window. Tt c cc form khi to mi s t ng to mt window ngm nh vi tn l WINDOW0. C th to cc window bng cch chn thm (insert) t Object Navigator. Mi mt window c to hu nh ng thi vi vic to mt canvas-view. Canvas-view s l nn cho giao din t cc i tng (nh item,boilerplate text v graphics). Cng c th t tng ng canvas-view vi window bng cch t thuc tnh trong canvas-view. Ti thi im chy ng dng, window s c hin th khi c li gi t chng trnh hoc khi c s nh hng xut hin (Navigation) ca mt item trn mt canvas-view m c gn ti window. Oracle Forms hin th window vi nn canvas-view tng ng Trong ca s thuc tnh ca window ta c th t cc thuc tnh ca window. Cch to, xo mt window to mi mt window ta chuyn hp chn trn ca s Object Navigator vo i tng windows sau nhn vo biu tng Create. Ta c th nhy p chut vo window gi
Oracle Form Designer - Trang 8/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

ca s thuc tnh c th thay i tn ngm nh ca window hoc cc thuc tnh khc. Mun xa mt window t con chut vo biu tng window cn xo sau nhn phm del hoc nhn vo biu tng delete trn Object Navigator Cc thuc tnh c bn ca window Name: Tn ca Window Class: Thuc lp no ngm nh l <null> Display properties X pos: Ta ngang ca window Y pos: Ta ng ca window Width: rng ca window Height: Chiu cao ca window Bevel: Kiu khung hin th ca window Title: Tiu hin th ca window

Font, Background, Foreground color : Xc nh font, mu nn, mu ch hin th Functional properties View: Ch nh canvas-view c hin th khi c lnh hin th window t trong chng trnh. Vertical/Horizontal toolbar: Xc nh xem toolbar no s hin th trong window. Window Style: Xc nh kiu window hin th l document hay dialog. Modal: Xc nh xem window l modal hay modeless.

Remove on exit: Xc nh modeless window s b ng khi ra khi window Biu tng name/ title: Biu tng/ tiu s hin th khi minimized window GUI hint properties 3.1.2 Canvas-View Khi nim Canvas-View l vng s c hin th lc chy ng dng. Quan h gia canvas v view (khung nhn) ca n l mt khi nim c bn trong Oracle Forms. View ging nh mt Closeable: Cho php ng window t window manager Fixed Size: Window c kch thc c nh v khng th thay i Inherit Menu: Window hin th vi form menu hin thi Moveable: Cho php di chuyn window t window manager Zoomable: Cho php thay i kch thc window t window manager

Oracle Form Designer - Trang 9/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

hnh ch nht trn canvas m nhng g cha trong view s c hin th trn window khi chy ng dng. C th dng view ca canvas thay i kch thc vng hin th. Khi view cng kch thc vi canvas th tt c ni dung trn canvas s c hin th. Khi view nh hn th ch c mt phn canvas trong view c hin th. Canvas-View lun hin th trn window m ta gn ti. C 3 loi Canvas-View: l content, stacked, toolbar Vi content hoc toolbar canvas-view: khung nhn c xc nh bi window ti canvas hin th trong n. Vic thay i kch thc window ti thi im chy s nh hng n vic hin th ni dung trong canvas. Vi stacked canvas-view: kch thc ca view c th c ch nh ti lc thit k bng cch gi tr cho cc thuc tnh tng ng. C th cho n hay hin cc stacked canvas-view khi thit k chng trnh. C th t thuc tnh hin th cc thanh cun (c chc nng hin th cc vng khc trn canvas cha c hin th). Cch to, xa mt canvas-view to mi mt canvas-view: vo ca s Object Navigator, vo i tng canvas-views sau nhn vo biu tng Create. Ta c th gi ca s thuc tnh thay i cc thuc tnh ca canvas-view. Xo mt canvas-views: t con chut vo tn canvas-views cn xo sau nhn phm del hoc nhn chut vo biu tng Delete xo. Cc thuc tnh c bn ca canvas-view Name: Tn ca canvas-view Class: Lp m canvas-view k tha cc thuc tnh Type properties Canvas-view Type: Xc nh kiu ca canvas-view c th l Content, Stacked, Vertical Toolbar hoc Horizontal Toolbar, cch canvas-view c hin th trong window. Display properties Functional properties Window: Tn window m canvas-view s hin th Width: rng ca Canvas-view Height: Chiu cao ca Canvas-view Bevel: Kiu khung hin th ca Canvas-view

Raise on entry: Xc nh th t hin th ca Canvas-view trong window. X position on canvas: To ngang ca canvas-view trong window Y position on canvas: To ng ca canvas-view trong window

Stacked view properties View width: Xc nh rng ca stacked canvas-view View hieght: Xc nh chiu cao ca stacked canvas-view Display X position: Xc nh to ngang ca stacked canvas-view

Oracle Form Designer - Trang 10/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Display Y position: Xc nh to ng ca stacked canvas-view

View horizontal/vertical scroll bar: Hin th cc thanh cun ngang hoc ng.

3.2 Bocks
3.2.1 Khi nim Block l mt khi c cha cc Item. Tt c cc Item d c quan h ti cc bng hoc khng u phi nm trong cc Block. Base table blocks l khi c quan h ti cc table ( hoc view) trn c s d liu. Base table blocks c th cha cc base table item v control item. Base table item s tng ng vi column. Control block l khi m khng c quan h ti cc bng trn c s d liu v n ch gm cc control item. Tt c Base table blocks c th l single-record blocks hoc multi-record blocks. Mt single-record block ch hin th mt bn ghi ti mt thi im. Mt multi-record block hin th nhiu bn ghi ti mt thi im. Mt base table block c th l master block hoc detail block. Master block hin th cc master record. Detail block hin th cc detail record. Ta c th to thm mt block bng cch chn thm i tng t Object Navigator v c th thay i cc thuc tnh ca block bng cch thay i cc gi tr tng ng trong ca s thuc tnh ca block. 3.2.2 To, xo mt block to mt Block, chn chc nng tools/new block hoc t hp chn vo blocks trn Object Navigator v nhn vo biu tng Create. xo mt block t hp chn vo tn block cn xo sau nhn phm del hoc nhn vo biu tng delete trn Object Navigator General tab Base table: Ly thng tin t table no trn c s d liu. C th t nh vo hoc nhn vo button Select ... chn. Nu mun to mt Control block th khng cn nhp. Block name: Tn ca block.

Cavas: Tn cavas m block s hin th trong n. Nhn vo Select .. chn nhng cavas c hoc g tn to mi. Items tab Items tab trong ca s New Block cho php xc nh cch thc th hin ca cc item trong base table block. Select column: Nhn vo chn cc column cn hin th. Ngm nh l chn ton b. Mun b mt column no th ta nhy p vo du [+], hoc b nh du bng cch nhn vo include. Khi column chuyn sang du - tc l n khng c a vo block. Lable: L nhn s hin th cnh item.
Oracle Form Designer - Trang 11/61

Sequence ID: V tr ca block trn Navigator.

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Layout tab

Width: rng ca Item hin th. Type: Kiu Item s hin th.

Layout tab trong ca s New Block cho php xc nh cch b tr cc item trong base table block. Style: cc item th hin trn canvas l Tabular hoc form. Tabular hnh thc cc Item nh dng theo chiu ngang trn cng mt dng khi Orientation c t l vertical, hoc trn cng mt ct khi Orientation c t l Horizontal Form: t cc Item trn hai ct vi lable t bn tri mi Item.

Orientation: Ch v tr cc record hin th theo hng ngang hay hng dc. Records: Ch s record s hin th trong block. Spacing: Ch khong cch gia cc Item.

Integrity Constraints: t cc rng buc d liu cho cc item v block da trn cc nh ngha ca cc bng trong t in d liu (data dictionary). Master-Detail tab Master-Detail tab cho php xc nh cc quan h master-detail gia base table block v detail block. Master Block: Ch ra tn ca Block l master trong quan h masterdetail. Block ny phi ang tn ti trong form hin thi. Select: Hin th cc block trong form c th chn. Button Palette: Oracle Forms s gm cc button ngm nh. Scroll Bar: Oracle Forms a thanh scroll bar vo base table block.

Join Condition: Ch iu kin kt ni gia detail record v master record. xo mt block t hp chn vo tn block cn xo sau nhn phm del hoc nhn chut vo biu tng hnh du X xo. 3.2.3 Cc thuc tnh c bn ca block Cc thuc tnh ca block gm nhm cc thuc tnh sau: Display, Records, Navigation, Database, Micellaneous Display properties Scroll bar: C hai gi tr true hoc false. Nu chn true tc l cho php hin th scroll bar th mt lot cc thuc tnh s xut hin cho php in cc thng tin vo (nh cavas canvas-view, Scroll Bar Orientation, Scroll Bar X Position, Scroll Bar Y Position, Scroll Bar Width... Current Record attribute: t Visual Attribute cho cc record hin thi trong block. Record properties

Oracle Form Designer - Trang 12/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Records displayed: S record hin th trong block.

Record orientation: nh hng hin th ca cc item theo hng ngang hay dc. Navigation properties: Navigation style: t thuc tnh xc nh item tip theo m con tr s chuyn ti khi item u tin hoc cui cng (same record, change record, change block) Next/Previous Navigation block: Ch tn ca block tip theo hoc trc block hin thi. Database properties: Base table: L table hoc view m block tham chiu ti. Query only: Ch cho php thc hin query d liu.

Primary key: C gi tr true hoc false. Thuc tnh ch ra Oracle form c kim tra tnh duy nht ca cc primary key hay khng trc khi thc hin thm s liu vo table. Delete/Insert/Update/Query allowed: C gi tr true hoc false. Cho php hay khng cho php Delete, Insert, Update, Query d liu trn table Update Changed Columns: C gi tr true hoc false. Nu l true ch cc column thc s thay i mi xut hin trong cu lnh Update. Where clause: Xc nh iu kin ly d liu, tng ng mnh where trong cu lnh SQL Order by clause: Sp xp d liu hin th theo trnh t mong mun. Records Fetched: Xc nh s lng ti a cc bn ghi s c a vo trn mi thao tc ly d liu t bng.

3.3 Items
Items l cc i tng giao din m hin th thng tin thc hin cc thao tc v cc tng tc vi ngi s dng. Oracle Forms cung cp cc kiu giao din item m ta c th s dng xy dng cc giao din ng dng. Gm: button, chart item, check box, display item, image item, list item, radio group, text item, OLE container, VBX control. Mi mt item trong form u thuc vo mt block no . Cc item trong mt block c th nm trn cc canvas-views khc nhau v c th hin th trn cc window khc nhau. Cc item trn thanh toolbar ca mn hnh layout ( Tools/Layout Editer)

Text Check box Text item Chart item VBX control List item Button Radio button Image item OLE2 Object Display tem

Oracle Form Designer - Trang 13/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Cch to, xo mt item Trong mn hnh layout to mt item, ta phi nhn chut vo biu tng ca item tng ng, sau ko th chut vo mn hnh layout. Thuc tnh canvas ch ra canvas no item ang hin th v block ch ra item thuc block no. C th thay i cc gi tr ny. Cng c th vo Object Nevigator chn i tng blocks/[tn block]/items mun t item, sau nhn vo biu tng Create. Nhy p con tr chut ln trn item va to s hin ln mn hnh thuc tnh cho php thay i cc thuc tnh ca item. Mun xo mt text item, t hp chn vo item cn xo sau nhn phm del hoc biu tng Delete trn ca s Object Navigator xo. Ly gi tr item: <bin>:=:<tn block >.<tn item>

Gn gi tr cho item: :<tn block >.<tn item>:=<Gi tr> Mt s thuc tnh chung ca item 3.3.1 Text item Khi nim Text item L i tng dng text hin th cc gi tr dng string. Text item cho php thc hin cc thao tc son tho. L kiu ngm nh ca oracle forms. Cch to, xo mt text item Ging cch to xo mt item trn, nhng kiu item l Text item Cc thuc tnh c bn Name: Tn ca item Class: Lp m item k tha cc thuc tnh Type properties Display properties Canvas: Tn canvas m item s hin th trong n. Item type: Mang gi tr Text item

Displayed: C gi tr true hoc false. Cho php hoc khng cho php hin th trn mn hnh. thng X Position: To ngang ca item Y Position: To ng ca Item Width: rng ca item Height: Chiu cao ca item Space between records: Khong cch gia cc record Bevel: Kiu khung th hin xung quanh item Font name: Tn font dng hin th ngm nh l ly font h Font size: Kch thc font
Oracle Form Designer - Trang 14/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Font style: Loi font Font width: rng ca font Font height: Chiu cao ca font Foreground color: Mu ch Background color: Mu nn Fill patterm: Kiu nn ca item White on black: Ch hin th mu en trng

Current Record attribute: t Visual Attribute cho cc record hin thi trong block Visual attribute name: Ch cch t thuc tnh font l ngm nh hay ca ngi s dng Data properties Mirror item: Ch tn ca item m item hin thi s ly gi tr t n. t tnh cht ny cho php vic ng b gi tr d liu gia 2 item. Data type: Kiu d liu ca item Maximum length: Chiu di ti a ca gi tr m item nhn.

Fixed length: Ch ra rng item phi c gi tr vi di bng gi tr Maximum length. Required: Item phi c gn gi tr cho n khi nhp s liu. Format mask: t khun dng hin th cho item

Range low value: Gi tr nh nht cho php vi d liu kiu alpha, char, date, datetime, int, number Range low value: Gi tr ln nht cho php. Default value: Gi tr ngm nh

Copy value from: Ch nh gi tr m Oracle Forms tham chiu ti. N thng c dng khi ta nh ngha cc quan h master-detail, Oracle Forms t ng t thuc tnh ny trn cc foreign key item(s) trong cc detail block. Records properties Navigation properties Enabled: Cho php nh hng ti item bng chut Items displayed: S item s c hin th.

Navigable: cho php vic nh hng ti item bng cc thao tc ngm nh. Khi t gi tr l false th oracle forms trt qua item v chuyn n item tip theo. Database properties Base table item: Item c quan h ti column trn table
Oracle Form Designer - Trang 15/61

Next navigation item: Ch nh item tip theo. Previous navigation item: Ch nh item trc n.

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Primary key: C gi tr true hoc false. Thuc tnh xc nh item l primary key ng vi column trn table. Delete/Insert/Update/Query allowed: C gi tr true hoc false. Cho php hay khng cho php Delete, Insert, Update, Query d liu trn column. Case insensitive query: Xc nh vic phn bit cc gi tr dng ch hoa hoc ch thng trong qu trnh x l query hay khng. Update only if null: Xc nh vic ch thc hin update d liu trn cc column mang gi tr null. Functional Properties Case restriction: Xc nh vic cc gi tr l ch hoa, ch thng, hoc c hai loi ( Upper, lower, mixed ) Alignment: Xc nh kiu cn l ca ni dung item ( v d left, right,center) Multi-line: Cho php text item gm nhiu dng Keep position: Gi li v tr con tr cho ln sau. Auto skip: Xc nh con tr t nhy n item tip theo

Vertical scroll bar: gi tr true hoc false. Xc nh hin th ca vertical scroll bar Miscellaneous properties Lov: Ch tn lov (list of values) gn ti the text item. Lov x/y position: Ch to ngang/ng hin th lov

Editor: Cho php xem v son tho text item bi chng trnh son tho h thng (v d: notepad) 3.3.2 Display item Khi nim Display item l i tng dng hin th cc gi tr di dng string. Display item khng cho php nh hng con tr ti v son tho ni dung trong n. Cch to, xo Display item Ging cch to xo mt item trn nhng kiu item l Display item Cc thuc tnh c bn Xem phn thuc tnh ca text item. Type properties 3.3.3 List item Khi nim List item l mt i tng dng hin th mt danh sch cc gi tr di dng string cho php chn mt gi tr. Item type: Mang gi tr display item Editor x/y : ch to ngang/ng hin th editor

Oracle Form Designer - Trang 16/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Cch to, xo List item Ging cch to xo mt item trn nhng kiu item l list item Cc thuc tnh c bn Xem phn thuc tnh ca text item Type properties Navigation properties Mouse navigation: Oracle Forms s cho php thc hin nh hng ti item bng chut. Functional Properties List elements: Danh sch cc phn t ca nhm cc gi tr v danh sch cc gi tr tng ng vi n. list). List style: Kiu hin th ca list item ( poplist, combo box hoc TItem type: Mang gi tr List item

Other values: Gi tr m c gn ng vi cc gi tr khng c trong danh sch. 3.3.4 Button Khi nim L mt ci hp c nhn bn trong hoc l mt biu tng m c th nhn vo thc hin cc hnh ng Cch to, xo mt button Ging cch to xo mt item trn nhng kiu item l button Cc thuc tnh c bn Xem phn thuc tnh ca text item Type properties Functional Properties 3.3.5 Check box Khi nim L mt nhn hin th vi mt hp nh du trng thi. Cch to Ging cch to xo mt item trn nhng kiu item l check box Cc thuc tnh c bn
Oracle Form Designer - Trang 17/61

Item type: Mang gi tr button

Lable: L nhn ca button Biu tng: Ch nh button dng biu tng hay kiu thng thng. Biu tng name: Tn ca biu tng Default button: Xc nh button l button ngm nh.

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Xem phn thuc tnh ca text item Type properties Functional Properties Lable: L nhn ca check box Checked value: Gi tr m hp chn s nh du Unchecked value: Gi tr m hp chn s khng nh du Item type: Mang gi tr check box

Check box other values: Trng thi ca hp chn ng vi cc gi tr khc vi gi tr trong checked, v unchecked. 3.3.6 Radio Group Khi nim L mt nhm gm hai hay nhiu radio button trong c mt radio button c chn trong danh sch. Thay i gi tr ca n bng cch thay i cc la chn radio button. Cch to Ging cch to xo mt item trn nhng khiu item l radio group Cc thuc tnh c bn Xem phn thuc tnh ca text item Trong mi radio group s c mt hoc nhiu radio button Type properties Functional Properties 3.3.7 Chart item Khi nim L mt hnh hp hnh ch nht c th hin th cc biu to bi Oracle graphics. Mun hin th ni dung ca n ta phi vit cc on m chng trnh trong cc trigger. Cch to, xo mt chart item Ging cch to xo mt item trn nhng kiu item l Chart item Cc thuc tnh c bn Xem phn thuc tnh ca text item 3.3.8 image Khi nim L mt hnh hp hnh ch nht vi mt kch thc no m c th hin th cc nh c lu trong c s d liu hoc trn file. Cc nh ny ch xut hin trn mn hnh trong lc chy chng trnh v nh cc lnh. Cch to, xo mt image
Oracle Form Designer - Trang 18/61

Item type: Mang gi tr radio button

Lable: L nhn ca radio button Value: Gi tr ca tr li cho radio group ca radio button.

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Ging cch to xo mt item trn nhng item y l Image Cc thuc tnh c bn Xem phn thuc tnh ca text item Type properties Functional Properties Compression: Xc nh nh c c t file c c nn khi chuyn sang khun dng ca Oracle hay khng. Quanlity: Xc nh cht lng hin th hnh nh (high, medium, low). Item type: Mang gi tr image

Sizing style: Xc nh kiu hin th bc nh khi kch thc ca n khng ph hp vi kch thc bc nh tht. Horizontal/Vertical scroll bar: Xc nh s hin th ca cc thanh cun ng hoc ngang. 3.3.9 OLE container Khi nim L vng c cha v hin th mt OLE object. OLE object c to t mt ng dng OLE server. OLE object c th c nhng hoc c link trong OLE container. Cch to Ging cch to xo mt item trn nhng kiu item l OLE container. Cc thc tnh c bn Xem phn thuc tnh ca text item Type properties Functional Properties OLE in-place activation: Ch ra rng OLE container c c c s dng son tho cc i tng nhng v lin kt n vi i tng bn ngoi hay khng. OLE activation style: Ch s kin kch hot OLE container item OLE Resize style: Cch hin th mt OLE object trong OLE container OLE tenant Types: Ch ra Ole object no s s hu OLE container Item type: Mang gi tr OLE container.

Show OLE popup menu: Xc nh xem c dng chut phi hin th popup menu trong OLE object hay khng. OLE popup menu items: Xc nh popup menu c hin th trong OLE object Show OLE tenant type: Xc nh xem c hin th ng vin xung quanh OLE container hay khng. Kiu ca ng vin ph thuc vo kiu object. OLE class: Xc nh class ca OLE object

Oracle Form Designer - Trang 19/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

OLE tenant aspect: Ch ra kiu xut hin ca OLE object trong OLE container

3.4 Relations
Relation l mt i tng logic ch ra mi quan h gia mt bn l master block v mt bn l detail block. Trong Object Navigator quan h ny s xut hin master block. Khi to relation th Oracle Forms s t sinh ra cc trigger v cc m PL/SQL m bo quan h gia master v detail blocks. Phn m ny ph thuc vo kiu quan h m ta chn. To mt Relation to mt Relation c th to t khi to mi block (Xem phn trn) Hoc vo ca s Object Navigator chn vo Relations ca master block sau nhn biu tng Create to -> hin ln mn hnh New relation Cc thng tin cn in: Relation name: Tn ca relation Master block: Block cha Detail block: Block con

No-isolated: Thuc tnh ngm nh. Khng cho xo master record nu detail records vn cn tn ti trong database. Isolated: Cho php xo master record khng chu nh hng ca detail records Cascading: Cho php xo master record ng thi t ng xa ht cc detail record tng ng. Thao tc ny khng dng c cho quan h nhiu mc (Ln hn 2). Join conditon: iu kin kt ni gia master block v detail block

3.5 Record group, LOVs v Editors


3.5.1 Record group Record group l mt object trong form module m cha mng cc gi tr gm cc hng v ct ging nh table. Ni dung d liu ca n c ly nh cu lnh SQL tng ng. to mt record group vo ca s Object Navigator chn vo mc Record groups sau nhn vo biu tng Create -> hin ln mn hnh new record group. Ti ta c th chn: Based on query below: Sau g cu lnh SQL tng ng. Static values: S hin ln cc column v danh sch cc gi tr ca mi column. 3.5.2 Editors Cho php xem v son tho text item vi nhiu chc nng khc nhau. Editors cung cp chc nng son tho ngm nh v mt chc nng son tho bi chng trnh son tho h thng (bn ngoi). C th to chc nng ny bng cc thay i thuc tnh trong Miscellaneous properties ca text item c th t editor bng null (ngm nh) hoc SYSTEM_EDITOR

Oracle Form Designer - Trang 20/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

3.5.3 LOVs Lov l mt object trong form module cho php to mt danh sch cc gi tr ly t record group, dng h tr cho cc text item hoc cc bin trong bt k mt block no ca form module. To mt LOV mi Trong ca s Object Navigator chn object LOVs v nhn biu tng Create -> hin ln mn hnh new LOV vi cc tu chn: Existing record group: Cho php chn cc record group V2-Style Table.column values: Cho php ly t cc version c ca SQL * form New record based on query below: Cho php a lnh SQL trc tip. Mt s thuc tnh c bn Functional properties LOV type: Kiu lov tham chiu ti cc i tng record group Record group: Ch tn ca record group m lov tham chiu ti

Column mapping: Ch cc column trn lov s tr li gi tr vo cc bin no hoc cc column thuc block no. Auto confirm: T ng ng v tr li gi tr khi thao tc chn cn li mt dng trn lov theo Auto display: T ng hin th khi con tr nh hng ti text item. Auto refresh: T ng thc hin li lnh Query Long list: hn ch hin th ca cc gi tr trc khi hin th lov Auto skip: Sau khi tr li gi tr th t ng chuyn n item tip

Mun LOV c hiu lc trn text item no th trong thuc tnh LOV Miscellaneous properties v gn thuc tnh lov bng tn ca LOV va to.

3.6 Triggers
Triggers l mt khi cha cc m lnh nhm thc hin mt chc nng no trong chng trnh ng dng. Tt cc cc trigger u c tn v cha mt hoc nhiu dng lnh PL/SQL tng ng vi s kin m n phi x l. Tn Trigger thng tng ng vi s kin (v d When-Button-Pressed trigger s tng ng vi s kin nhn vo Button. Mt trigger phi c gn vi mt object xc nh trn form: item, block hoc chnh trn form. Trigger gm cc mc (level) tng ng: FORM FORM Trigger BLOCK BLOCK Trigger ITEM ITEM Trigger
Oracle Form Designer - Trang 21/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Vic xc nh mc t cc trigger l rt quan trng bi v n xc nh phm vi hot ng ca trigger ng vi cc s kin (events). V d Item-level trigger ch bt ln (fire) ng vi cc s kin trn item. N khng c bt ln ng vi s kin nh vy trn item khc cng hay khng cng thuc mt block. Block-level trigger ch bt ln nu c s kin xut hin trong block nhng n khng bt ln khi xut hin cc s kin ging nh vy thuc block khc. Mt khc nu nh ngha cc trigger cc mc khc nhau cng x l mt s kin, m x kin ny u nm trong phm vi ca cc trigger th trigger mc thp nht s c thc hin. V d ta t trigger When-New-Item-Instance ti mt block v mt trigger WhenNew-Item-Instance khc ti text item trong block ny, khi s kin xut hin trn text item th trigger mc item s c bt ln cn trigger mc block b b qua. cng mt mc cc trigger cng xut hin v x l vi cc cch khc nhau. C cc loi trigger sau: Pre-, Post-,When-, On-, Key-. To mt trigger Trn ca s Object Navigator ng vi mi object (item, block, form) s c mc Triggers. Ta chuyn hp chn vo Triggers sau nhn vo biu tng Create to mi v chn s kin tng ng ( v d when-button-pressed ) sau hin ln ca s vit m. 3.6.1 Pre - Triggers c bt ln trn s kin v xut hin trc khi thc hin mt hnh ng (v d insert, update). Mt s Pre - Triggers hay dng liu Pre-form: c thc hin ti thi im khi ng form Pre-insert: c thc hin trc khi thc hin thao tc insert mt row s

Pre-update: c thc hin trc khi thc hin thao tc update mt row s liu Pre-delete: Thc hin trc khi xo mt row

3.6.2 When - Triggers c bt khi thc hin hnh ng v c thm vo cng vi qu trnh x l ngm nh ca Orcale form Mt s When-Trigger hay dng When-button-pressed: c thc hin khi c thao tc nhn button bng phm hoc chut sch. When-clear-block:Thc hin khi xo d liu t block hin thi When-create-record: Thc hin khi to mt bn ghi mi When-checkbox-change: Thc hin khi check box thay i trng thi When-radio-change: Thc hin khi c thay i chn cc radio button When-list-change: Thc hin khi thay i chn gi tr trong danh

Oracle Form Designer - Trang 22/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

When-new-block-instance: c thc hin khi di chuyn input focus t mt block t block khc When-new-item-instance: c thc hin khi con tr chuyn ti Item

When-validate-item: Xut hin khi c nhng thay i gi tr ca item t ngi s dng hoc t cc trigger v khi con tr di chuyn ra khi item. 3.6.3 Post - Triggers c bt trn s kin xut hin sau khi thc hin hnh ng. Mt s Post-Trigger hay dng Post-Change: Thc hin khi d liu ca item c thay i vi gi tr chp nhn khng phi l gi tr null. khc. Post-form: Xut hin trong khi thot khi form Post-query: Thc hin sau khi d liu c in vo cc record Post-record: Xut hin khi ri input focus t bn ghi ny ti bn ghi

3.6.4 Key - Triggers c bt ln ng vi cc hnh ng thao tc keys standard V d Key-up: ng vi vic nhn phm Page-up Key-down: ng vi vic nhn phm Page-down Key-enter: ng vi nhn phm enter Key-next-item: ng vi vic nhn phm tab 3.6.5 On-Triggers c bt khi thc hin hnh ng v thay th qu trnh x l ngm nh ca Oracle form Cc On-Triggers hay dng On-error: Thc hin khi c mt li no xut hin On-mesage: Thc hin khi hin cc mesage

3.7 Messages v Alerts


3.7.1 Messages L dng thng bo xut hin ti dng trng thi ca Window ch ra trng thi ca qu trnh x l no hoc khi c li. hin th message ta dng lnh MESSAGE(message_string, user_response); message_string: Chui hin th cn thng bo user_response: Ch hnh thc hin th ca message. Thng hai trigger l: on-error v on-message hay lin quan n qu trnh hin th v x l cc message. V d: Thng bo li on-error DECLARE

Oracle Form Designer - Trang 23/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

err_code CONSTANT NUMBER := ERROR_CODE; err_type CONSTANT VARCHAR2(3) := ERROR_TYPE; BEGIN if (err_type = 'FRM' AND err_code = 40508 ) then message(to_char(err_code)||': '||'Trng m hy kim tra li!'); elsif (err_type = 'FRM' AND err_code = 40100 ) then message(to_char(err_code)||': '||''ang bn ghi u'); else message(err_type||'-'||to_char(err_code)||': '||ERROR_TEXT); end if; END; 3.7.2 Alerts Hin th di dng mt modal window cha cc thng tin cn thng bo v i tr li t pha ngi s dng. Tu theo tr li m c th thc hin cc x l tip theo. To mt Alerts Trong ca s Object Navigator chn mc Alerts sau nhn biu tng Create, sau t thuc tnh theo yu cu. Cc thuc tnh c bn ca Alert Functional properties Alert style: Ch kiu hin th ca alert (stop, caution, note)

Button 1, Button 2, Button 3: Nhn cho cc button. Phi c t nht mt button c gi tr Hin th Alert hin th alert dng lnh Show_alert( <Tn alert>) thay i ni dung thng bo ca Alert dng lnh: set_alert_properties(<tn alert>, properties, mesage) V d: ghi ); Set_Alert_Property('My_Error_Alert', alert_message_text, C li xut hin khi Bt:=Show_Alert( al_id ); Default alert button: Button ngm nh Messeage: Ni dung thng bo cn hin th

3.8 Mt s th tc, hm, bin h thng hay dng


Mt s th tc hay dng DO_KEY(built-in_subprogram_name) Thc hin key trigger tng ng vi cc th tc c sn trong form Built-in_subprogram_name: Ch nh tn ca built-in subprogram. Built-in Key Trigger ABORT_QUERY BLOCK_MENU CLEAR_BLOCK CLEAR_FORM CLEAR_RECORD COMMIT_FORM Associated Function Key Key-EXIT [Exit/Cancel] Key-MENU [Block Menu] Key-CLRBLK [Clear Block] Key-CLRFRM [Clear Form] Key-CLRREC [Clear Record] Key-COMMIT [Commit]
Oracle Form Designer - Trang 24/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

COUNT_QUERY Key-CQUERY [Count Query Hits] CREATE_RECORD Key-CREREC [Insert Record] DELETE_RECORD Key-DELREC [Delete Record] DOWN Key-DOWN [Down] DUPLICATE_ITEM Key-DUP-ITEM [Duplicate Item] DUPLICATE_RECORD Key-DUPREC [Duplicate Record] EDIT_TEXTITEM Key-EDIT [Edit] ENTER Key-ENTER [Enter] ENTER_QUERY Key-ENTQRY [Enter Query] EXECUTE_QUERY Key-EXEQRY [Execute Query] EXIT_FORM Key-EXIT [Exit/Cancel] HELP Key-HELP [Help] LIST_VALUES Key-LISTVAL [List] LOCK_RECORD Key-UPDREC [Lock Record] NEXT_BLOCK Key-NXTBLK [Next Block] NEXT_ITEM Key-NEXT-ITEM [Next Item] NEXT_KEY Key-NXTKEY [Next Primary Key Fld] NEXT_RECORD Key-NXTREC [Next Record] NEXT_SET Key-NXTSET [Next Set of Records] PREVIOUS_BLOCK Key-PRVBLK [Previous Block] PREVIOUS_ITEM Key-PREV-ITEM [Previous Item] PREVIOUS_RECORD Key-PRVREC [Previous Record] PRINT Key-PRINT [Print] SCROLL_DOWN Key-SCRDOWN [Scroll Down] SCROLL_UP Key-SCRUP [Scroll Up] UP Key-UP [Up] V d: Mun thc hin thm mt bn ghi mi ti block hin thi BEGIN Do_Key('Create_record'); END; BEGIN Create_record; END; Xo d liu trn block BEGIN Do_Key('clear_block'); END; EXECUTE_TRIGGER(trigger_name); Thc hin cc trigger built-in GO_BLOCK(block_name) Thc hin nh hng vo ra ti block ch nh (navigate). Nu khng c block ny th li s xut hin. Block_name: BEGIN END; Tn block Hoc

V d: Go_Block('Main'); Execute_Query;

Oracle Form Designer - Trang 25/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

GO_ITEM(item_name); Cho php nh hng ti mt item. Item_name: Tn ca item BEGIN

V d:

Go_Item('emp.name'); END; SET_ITEM_PROPERTY(item_name, property, value) t thuc tnh cho mt item item_name: property: Value: Tn ca item Thuc tnh Gi tr cn gn

V d: t nhn hin th cho cancel button l hu b Begin Set_item_properties('emp.Cancel', lable, 'Hu b'); End; SET_VIEW_PROPERTY(VIEW_name, property, value) t thuc tnh cho view SET_WINDOW_PROPERTY(window_name, property, value) t thuc tnh cho window Hm GET_ITEM_PROPERTY(item_name, property) Hm tr li thuc tnh ca item. Gi tr tr li c dng char Hm GET_VIEW_PROPERTY(View_name, property) Hm tr li thuc tnh ca view. Gi tr tr li c dng char Hm GET_WINDOW_PROPERTY(Window_name, property) Hm tr li thuc tnh ca window. Gi tr tr li c dng char Mt s bin h thng hay dng Oracle Forms cung cp mt s bin h thng ghi li cc trng thi trong qu trnh thc thi ng dng. Ta c th c cc bin ny ly thng tin cn thit. SYSTEM.BLOCK_STATUS SYSTEM.CURRENT_BLOCK SYSTEM.CURRENT_DATETIME SYSTEM.CURRENT_ITEM SYSTEM.CURRENT_FORM SYSTEM.CURRENT_VALUE SYSTEM.CURSOR_BLOCK SYSTEM.CURSOR_ITEM SYSTEM.CURSOR_RECORD SYSTEM.CURSOR_VALUE SYSTEM.FORM_STATUS SYSTEM.LAST_QUERY
Oracle Form Designer - Trang 26/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

SYSTEM.LAST_RECORD SYSTEM.MODE SYSTEM.MOUSE_BUTTON_PRESSED SYSTEM.MOUSE_CANVAS SYSTEM.MOUSE_FORM SYSTEM.MOUSE_ITEM SYSTEM.MOUSE_RECORD SYSTEM.MOUSE_WINDOW SYSTEM.MOUSE_X_POS SYSTEM.MOUSE_Y_POS SYSTEM.RECORD_STATUS $$DATE$$ $$DATETIME$$ $$TIME$$

Oracle Form Designer - Trang 27/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

To ng dng vi Form Designer

4.1 To Form
V d: To mt form nh sau:

1. Gi form Designer 2. Thc hin chc nng File/connect: G tn Scott/tiger sau nhn OK 3. Thc hin chc nng File/New/Form 4. Thc hin chc nng Tools/New block 5. Ti Base table: Nhn select -> Nhn OK -> Chn bng DEPT -> Nhn OK 6. i tn canvas thnh DEPT_EMP 7. Chuyn sang Item tab -> Nhn Select column 8. Chuyn sang Layout tab ->Ti Style chn Form-> nh du Button Palette -> Nhn OK 9. Thc hin chc nng Tools/New block 10. Ti Base table: Nhn select -> Nhn OK -> Chn bng EMP 11. Nhn OK 12. Chuyn sang Item tab -> Nhn Select column

Oracle Form Designer - Trang 28/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

13. Chuyn sang Layout tab ->Ti Records gn thnh 5-> nh du Scrollbar 14. Chuyn sang Master/Detail tab ->Nhn select -> chn DEPT->Nhn OK 14. Nhn OK 15. Vo ca s Object Navigator-> Chn windows -> Chn WINDOW0 -> Nhy p vo gi a s thuc tnh -> i tn (Name) thnh WDEPT_EMP -> Ti thuc tnh Title g vo "V d to form Master/Detail" 16. Quay sang mn hnh layout (Tools/Layout editor) 17. Chuyn tools bar ti block EMP sang bn phi. 18. Thc hin File/save ghi li file vi tn dept_emp 19. Nhn vo Biu tng Run hoc File/Run chy

Nh vy mun to Form ta phi to mt form mi, sau to cc i tng khc nh: Cc block, Convas-view, window, item. Mun cc block hin th th phi t n vo trong mt canvas-view. Ngm nh khi to block, s t to canvas-view nu canvas-view cha c. Cn nu tn ti c th chn trong danh sch Convas-view c to phi c gn vi mt window tng ng. Ta c th to thm cc item trong mi block nhm thc hin chc nng no . (Xem phn Item) V d: Trong v d trn, to thm mt button Delete cho php xo bn ghi ti DEPT (master). Php xo c thc hin ngay c khi bn ghi emp (detail) c record. Ta phi thay i thuc tnh ca quan h DEPT_EMP 1. Vo ca s Object Navigator 2. Chn Blocks/DEPT/Relations/DEPT_EMP 3. Nhy p gi ca s thuc tnh i thuc tnh Functional/Master deletes thnh Cascading 4. Quay sang ca s Layout editor -> Chn push button -> t vo v tr kch thc nh hnh di 5. Nhy p vo item va to gi ca s thuc tnh -> Gn Name: DELETE, Gn Functional/lable: Delete 6. Nhn tr phi ti item va to (DELETE) chn PL/SQL editor -> chn When-button-presed ->OK 7. Ti ca s son tho nh vo dng lnh sau: go_block('dept'); do_key('delete_record'); 8. Nhn Close 9. Nhn biu tng Run chy ng dng

Oracle Form Designer - Trang 29/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Gi chy mt form trong ng dng vi nhiu form Trong mt ng dng khng ch c mt form m cn c nhiu form. gi mt form chy t menu hoc t mt trigger ca form khc ta dng cc th tc Open_form, Call_form. OPEN_FORM OPEN_FORM(form_name,activate_mode,session_mode, paramlist); Th tc ny khng th c gi trong Enter query mode. N s khi ng mt form trong modeless window Form_name: Tn form. Activate_mode: C t form ny activate hay khng Session_mode: Mng gi tr NO_SESSION ch ra form mi m s cng mt session vi form hin thi. SESSION Ch ra to mt session mi. Paramlist: Danh sch bin c chuyn ti form gi.

V d: Gi form stocks Open_Form('stocks',NO_ACTIVATE); CALL_FORM CALL_FORM(formmodule_name, display, switch_menu, query_mode,paramlist); Gi chy mt form bt k lc no. Trong khi gi vn gi form cha active. Oracle Forms gi form vi cng cc tham chiu nh form cha (Parent form). Formmodule_name: Tn form c gi
Oracle Form Designer - Trang 30/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Display: Kiu hin th. HIDE s xo form gi trc khi hin th form c gi. NO_HIDE hin th form c gi m khng xo form gi. switch_menu: Xc nh menu ca form c gi. NO_REPLACE c ngha form vn gi menu ngm nh ca ng dng. DO_REPLACE c ngha Oracle Forms thay th menu ngm nh ca ng dng bng menu ca form c gi. Query_mode: Gm cc gi tr sau. NO_QUERY_ONLY c ngha Oracle Forms chy form trong normal mode cho php thc hin cc thao tc nh inserts, updates v deletes. QUERY_ONLY c ngha Oracle Forms ch chy trong Query Only mode vi form c gi. Paramlist: Danh sch bin c gi ti form c gi.

V du: DECLARE pl_id ParamList; theFormName VARCHAR2(20) := 'addcust'; BEGIN pl_id := Get_Parameter_List('tempdata'); IF Id_Null(pl_id) THEN Call_Form(theFormName); ELSE Call_Form(theFormName, HIDE, NO_REPLACE, NO_QUERY_ONLY, pl_id); END IF; Call_Form('lookcust',NO_HIDE,DO_REPLACE,QUERY_ONLY); END;

4.2 To menu
Mun to mt menu, chn chc nng File/New/Menu hoc vo ca s Object Navigator chn Menus sau nhn biu tng Create to mi. Di con tr vo menu va to v nhy kp ti tn menu vo mn hnh layout editor. Ti y ta c th thit k cy menu theo yu cu ca ng dng. Nhn vo biu tng Create Down to menu bn di vi menu hin thi. Nhn vo biu tng Create Right to menu ngang vi menu hin thi. Nhn vo biu tng Delete xo menu hin thi. Ta c th thay i Nhn hin th theo yu cu. C th thay i cc thuc tnh ca mi phn t trn menu: thc hin chc nng no theo yu cu ta phi vit cc th thc tng ng vi yu cu . Thc hin bng cch nhn tr phi ti tn menu sau chn PL/SQL editor vit cc lnh x l. ghi li ta chn chc nng File/Save ghi li menu ( Ngm nh *.mmb). menu c th s dng c trong form module ta phi Generate ra file dng .mmx (File/Administration/Generate). Sau gn file ny (*.mmx) vo trong phn thuc tnh form. (xem phn thuc tnh ca form) t quyn hn truy nhp cho tng mc trn menu ta c th t thuc tnh trn Security/Menu item roles gn cc role. V d: ta ch mun ngi c quyn trn role Abc th mi thc hin c chc nng ny th trong Security/Menu item roles ta a role ny vo.

Oracle Form Designer - Trang 31/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM Create down Create right Delete

4.3 Gi cc sn phm khc ca Oracle t Oracle Form


chy mt sn phm (products) khc t Oracle Forms ta dng th tc RUN_PRODUCT c xy dng trong b Oracle Forms. RUN_PRODUCT(product, document, commmode, execmode, location, list, display); Product: Ch sn phm Oracle c gi: FORMS, REPORTS, GRAPHICS, hoc BOOK. Document: Ch nh document hoc module c m thc hin. Commmode: Ch nh cch thc s dng trao i thng tin vi Product gm hai gi tr l Synchromous v Asynchromous. Synchromous: Xc nh iu khin c tr li Oracle Forms ch sau khi product c gi kt thc. Cc hot ng khc ca chng trnh gi s khng c thc hin. Asynchromous: Xc inh iu khin c tr li ngay chng trnh gi.

Execmode: Ch nh cch thc s dng gi chy product. Gm cc gi tr sau BATCH hoc RUNTIME. khi gi form lun l RUNTIME. Location: Ch nh v tr ca document hoc module mun thc thi. List Ch nh tn hoc danh sch bin c gi ti product c gi. Display: Ch tn Oracle Forms chart item s cha display sinh bi Oracle Graphics.

V d: Gi Oracle Reports 2.5 DECLAREd pl_id ParamList; rep_name char(100); BEGIN pl_id := Get_Parameter_List('tmpdata'); IF NOT Id_Null(pl_id) THEN Destroy_Parameter_List( pl_id ); END IF; pl_id := Create_Parameter_List('tmpdata'); rep_name := C:\report\baocao.rep; Add_Parameter(pl_id,'VarX',TEXT_PARAMETER,Bao cao demo); Add_Parameter(pl_id,'PARAMFORM',TEXT_PARAMETER,'NO'); run_product(REPORTS,rep_name,SYNCHRONOUS,RUNTIME,FILESYSTEM,pl_id, :baocao.daura); END;

Oracle Form Designer - Trang 32/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Cc tnh nng mi trong Oracle form 6i

5.1 Forms Developer


Forms Developer l mt cng c ca ORACLE dng pht trin ng dng nhanh c kh nng m rng cao, h tr cc ng dng internet, cho php: a ng dng ln Internet. X l hiu qu, m rng ng dng Xy dng cc ng dng ln, nht qun, c kh bo tr nhanh Dng li cc cng c ca third-party v database servers.

Forms Developer l mt tp hp cc cng c h tr xy dng ng dng, trong cng c chnh l Form Builder. Trong cn c cc cng c pht trin khc nh: Graphics Builder: dng xy dng ng dng cho php ngi dng hin th s liu trong CSDL di dng th, ho. dng. Project Builder: dng qun l cc thnh phn nhau ca mt ng

Procedure Builder: Dng son tho, dch, kim tra, tm li cc on ln PL/SQL Schema Builder: dng to, copy, sa, xo cc i tng CSDL v cc mi lin h gia chng dng. Query Builder: dng lp cc cu hi truy vn CSDL dng trong ng

Translation Builder : dng dch ng dng sang hn 40 ngn ng khc nhau.

5.2 Cc tnh nng mi


5.2.1 Smart Server v h tr WebDB Listener Ci t Smart Server cho php ci t Forms Server vi cu hnh thp nht so vi bn trc. Khi ci t Smart Server c t ng ci. Smart Server cn h tr la chn ci t v cu hnh WebDB Listener nh l Web server. 5.2.2 HTTP v SSL Support Forms Server c th cu hnh HTTP lin kt gia my trm v my ch. Vi phng thc ny. cc Forms messages c th i qua firewalls. Web server cu hnh chy ch HTTP socket c th cu hnh dng cc lp Secure Sockets Layer (SSL) cho ni b, m ho ng truyn. Ch s dng SSL vi Forms, Web server cn phi t ch SSL-ready, my trm cng cn t ch SSL-ready. 5.2.3 OEM Integration Oracle Enterprise Manager (OEM) l cc cng c qun l h thng bng cc cng c qun l ca Oracle. OEM Forms administrator cung cp cc chc nng c s T ng tm kim Form, dch v vfa hin th chng trong cy Navigator

Oracle Form Designer - Trang 33/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Cho php kim sot cc Form, dch v t cc ca s n Cho php gim st cc Form, dch v. Nu c li xut hin, OEM s bo hiu cho ngi qun tr h thng hoc c gng t ng cha li . 5.2.4 CGI-BIN Load Balancing Forms Server chy ch load balancing ch khi dng Oracle Application Server (OAS). Qu trnh thc hin i hi thm mt s cartridge. Hin nay, dng CGI-BIN, c th load balancing m khng cn n OAS v cartridge

Oracle Form Designer - Trang 34/61

CONG TY CO PHAN TAI NGAN -BFC TRNH AO TAO ORACLE FORM

GIAO

5.3 Xy dng ng dng chy ti nhiu ni


5.3.1 Li th pht trin Forms Developer dng mi trng pht trin 3 lp threetier, ngha l Web-based, hoc two-tier (ngha l client/server). iu ny cho php ngi pht trin la chn S dng thng tin nhng lc v nhng ni cn. Cu hnh x l li trong qu trnh pht trin hoc chun i hp Qun l thng tin vi chi ph ph

5.3.2 Vit mt ln, dng nhiu ni Trong mi trng three-tier, cu hinhg Web-based mt chng trnh trong application server (middle tier) thc thi ng dng dch v ni kt vi database server. Application server ni kt vi ngi dng cui hin th mn hnh trnh duyt v chp nhn cc gi tr nhp vo ca ngi s dng 5.3.3 Cu hnh Form Builder theo Web-based Ti u ho cc Java applet c dng trong form. Phng thc ny l ti thiu ho ti nguyn my trm, v ti thiu s giao lu trn mng, cho php pht trin ng dng vi chi ph thp trn mi trng WAN. Forms Server ti cc Java applet ti my trm thc hin vic trnh duyt vi ngi dng cui. Bn c th cung cp cc lp Java ngi dng chnh sa 5.3.4 Cu hnh Graphic Builder theo Web-based Graphic Builder dng mt kt ni HTTP kt ni ti trnh duyt ca ngi dng cui. Khi gi Graphic Server a ra trang HTML ti trnh duyt ca ngi dng cui v trang HTML ny cha cc yu cu v hin th. Graphic Server cho php nhiu ngi dng m ng thi. 5.3.5 Middle Tier Lp gia bao gm: Oracle WebDB Listener Oracle Application Server Cc Web server khc

Oracle Form Designer - Trang 35/61

CONG TY CO PHAN TAI NGAN -BFC TRNH AO TAO ORACLE FORM 5.3.6 Forms Server

GIAO

Forms Server dng pht trin ng dng trn internet, cho php chuyn i cc ng dng client/server trc y ln mi trng mi

Oracle Form Designer - Trang 36/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

khng cn phi thay i m ngun. Cho php ng dng chy trn bt k loi mng no. Khi cp nht Forms Server ng dng t ng chuyn i khng cn vit thm m ngun.

5.4 Xy dng Form dng bng i tng (object table)


Trong Oracle 8i h tr s dng i tng t nh ngha - user-defined object. Cc i tng nh bng, ct, v cc ct c bit khc c hiu nh REF column. Trong : Object tables: l mt i tng do ngi dng nh ngha. Trong bng ny ta nh ngha c cc thnh phn, thuc tnh ca cc thnh phn da trn c s cc kiu d liu Oracle 8 hiu c. Mt i tng c nh ngha c th c dng li trong vic nh ngha mt i tng khc, nhng phn cn li phi c nh ngha bng cc kiu d liu khc ca Oracle 8. V mi ct trong bng i tng nh l mt mc d liu c bit, c th coi l cc ct trong mt relational table. Column objects trong relational tables: Lp trnh vin cng c th t cc ct trong bng

Oracle Form Designer - Trang 37/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Bi tp thc hnh

6.1 BI thc hnh 1: lm quen vi developer/2000


6.1.1 Ni dung Lm quen vi Layout editor v Object Navigator trong Form Builder Chnh sa cc file truy nhp tham chiu To cc file thc thi sn sng cho bI tip theo dng Project Builder

6.1.2 Cc bc thc hnh 1. Gi Project Builder v chn `Go to the Project Navigator`. 2. Gi Form Builder, v chn `Open an existing form` t Welcome page. 3. M Orders.fmb. 4. Thay i preferences v khi m v ghi li, Form Builder t ng t danh nh file c thnh ch c phn m rng l.FMB. 5. Th m Customers.fmb. Ch loi file b i. Nhn Cancel. 6. ng Orders form. 7. M Summit.fmb form. 8. M rng cc nhnh ca Data Blocks node. 9. M rng cc nhnh ca Database Objects node. Nu khng th m rng, cn truy nhp vo CSDL trc khi m rng cc nhnh 10. ng Data Blocks node.

6.2 BI thc hnh 2: chy ng dng form


6.2.1 Ni dung CSDL Chy ng dng form Thc hin cc truy vn khng iu kin truy vn cc bng trong

Thc hin cc truy vn c Iu kin v cc iu kin tm kim c bit Thc hin cc thao tc insert, update, v delete trong ng dng form Ghi li cc thay i vo trong CSDL

6.2.2 Cc bc thc hnh 1. Khi ng form runtime gi form Customers. 2. Chn Help->Keys t menu. 3. Thc hin cc lnh truy vn khng Iu kin 4. Thc hin cc truy vn c Iu kin tn khch hng l Womansport. 5. Thc hin truy vn c Iu kin Sales Rep ID > 13. 6. Thc hin cc truy vn c iu kin sau. - Tm tt c cc thnh ph bt u bng t San.
Oracle Form Designer - Trang 38/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

- Tm tt c cc khch hng c Iu kin Credit Rating l Excellent. 7. Hin th chi tit khch hng ca Big Johns Sports Emporium v nhn vo Orders button chuyn ti Orders form module. 8. Nhn vo Image Off button tt hin th nh, nhn vo Image On button hin th nh 9.Tm nhng n t hng c Payment Type l Credit. 10.Chuyn n bn ghi u tin trong Item block v nhn vo stock button. Inventory block hin th trong mt ca s khc. Thc hin truy vn ly thng tin v stock. Inserting, Updating, v Deleting Bn ghi 11. Nhp thm bn ghi mi vo Order, theo cc chi tit sau. Item Date Shipped Payment Type Order Filled Value Ngy hin ti (DD-MON-YYYY) Cash (Radio group button) No (Unchecked)

12. Nhp thm bn ghi vo Item block theo cc thng tin chi tit sau: Item Product ID Quantity Value 50530 2

13. Ghi li cc bn ghi mi. 14. Thay i v cp nht li bn ghi order. 15. Xo mt bn ghi trong order. Iu g s xy ra? 16. Xo mt dng trong mc item v ghi li. 17. Thc hin xo mt order v ghi li. 18. Thot ra khi ch runtime.

6.3 BI thc hnh 3: Lm vic trong mI trng Form buider


6.3.1 Ni dung Khng c thc hnh cho phn ny

6.4 BI thc hnh 4: To form c bn


6.4.1 Ni dung To mt form module c tn CUSTOMERS. To data block dng Form Builder wizards da trn bng S_CUSTOMER. Dng Layout editor chnh sa phn hin th To master-detail form module c tn ORDERS. Master block da trn bng S_ORD v detail block da trn bng S_ITEM. To block khc da trn bng S_INVENTORY .

Oracle Form Designer - Trang 39/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Gi li Layout wizard, v chuyn i hin th ca S_ITEM v S_INVENTORY data blocks. Ghi v chy form modules.

6.4.2 Cc bc thc hnh 1. To form module. To block mi dng Data Block wizard. Da trn bng S_CUSTOMER, tt c cc ct trong bng. Dng hin th l form style layout, trong content canvas mi tn l CV_CUSTOMER v hin th mt bn ghi. t tiu frame l Customers. Ch : i tn canvas bng tay trong Object Navigator. 2. Ghi module mi thnh file CUSTGxx, xx l s nhm gio vin cp cho bn. Chy Form v thc hin cac lnh query. Chuyn quan tng trng v tr li Form Builder. 3. Chuyn tn form module trong Object Navigator thnh CUSTOMERS. 4. Trong Layout editor, t li v tr ca cc items, theo hnh di y. Ch : Cn thay i kch c ca canvas v frame.

5. To form module mi. To block mi dng Data Block wizard. Da trn bng S_ORD, bao gm tt c cc ct tr TOTAL.. Hin th S_ORD block trn content canvas mi tn l CV_ORDER, hin th 1 bn ghi. Dng form style layout, t tiu ca frame thnh Orders. Ch : i tn canvas bng tay trong Object Navigator. 6. To block mi dng Data Block wizard. Da trn bng S_ITEM v a vo tt c cc ct. To mi quan h - relationship vi master block l S_ORD. Hin th ton b cc ct ngoi tr ORD_ID trn CV_ORDER canvas. Hin th 6 bn ghi trong detail block trn cng canvas vi master block. Dng tabular style layout, a vo scrollbar. i v tr ca cc block trong Object Navigator, chuyn S_ITEM block sau S_ORD block. t tiu ca frame thnh Items. 7. Ghi module mi c tn l ORDGxx, xx l s nhm gio vin cp cho bn. 8. To block mi da trn S_INVENTORY, khng to quan h vi bt c block no v hin th chng ln mt canvas mi. a tt c cc ct trong S_INVENTORY vo tr OUT_OF_STOCK_EXPLANATION. Hin th 4 bn ghi trn content canvas c tn l CV_INVENTORY. Dng tabular style layout, bao gm scrollbar. Trong Object Navigator chuyn S_INVENTORY block sau S_ITEM block. t tiu ca frame thnh Stock. 9 Trong S_ITEM block chuyn hin th ca Quantity Shipped item thnh Shipped bng cch dng li Layout wizard. u tin chn frame trong Layout editor, sau gi Layout wizard.

Oracle Form Designer - Trang 40/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

10. Trong S_INVENTORY data block, chuyn hin th ca Amount In Stock thnh In Stock bng cch dng Layout wizard. 11. Chy form module. Thc hin truy vn, Chuyn qua Block v quan st S_INVENTORY block. Tr li Form Builder. 12. Chuyn tn ca form module trong Object Navigator thnh ORDERS v ghi li.

6.5 BI thc hnh 5: Lm vic vi Data Blocks v Frames


6.5.1 Ni dung To mt control block trong Customers form.

Dng Property Palette, chuyn i cc thuc tnh trong data block S_CUSTOMER. Chuyn i thuc tnh ca cc frame lin quan gi bt k thay i no trong Layout editor s c thc hin bng tay. Ghi v chy form sau khi chuyn i. To mt control block trong Orders form.

To mt visual attribute trong Orders form v s dng chng nh du bn ghi hin thi trong S_ITEM v S_INVENTORY data blocks ti thi m runtime. Chn c 2 data blocks t thuc tnh tng ng trong Property Palette. Chuyn i cc thuc tnh trong S_ITEM v S_INVENTORY data blocks. Chuyn i thuc tnh ca cc frame lin quan gi bt k thay i no trong Layout editor s c thc hin bng tay. Ghi v chy form sau khi chuyn i. 6.5.2 Cc bc thc hnh 1. To mt control block trong CUSTGxx form. To mt new block manually, v i tn block ny thnh Control.t thuc tnh Database Data Block thnh, Query Allowed, Insert Allowed, Update Allowed, v Delete Allowed. t thuc tnh None vi Query Data Source Type property. t cc thuc tnh khc thnh default. Chuyn dch CONTROL block sau S_CUSTOMER block. 2. m bo rng cc bn ghi c ghi trong S_CUSTOMER block c ct trong customer ID. 3. t thuc tnh ca frame cho S_CUSTOMER block nh sau: Xo tiu ca frame, vt thuc tnh Update Layout property thnh Manually. 4. Ghi li v chy CUSTGxx form. 5. Kim tra hiu ng ca cc thuc tnh va t li. Ch : Li hin th trong ca s cnh bo rng Control block khng c mc no. S a thm cc mc vo Control block cc bI sau 5. To mt control block trong ORDGxx form. To mt block mi bng tay c tn l Control. t thuc tnh Database Data Block, Query Allowed, Insert Allowed, Update Allowed, v Delete Allowed database properties thnh No. t thuc tnh Query Data Source Type thnh None. t cc thuc tnh khc thnh default. t v tr ca CONTROL block sau S_INVENTORY block trong Object Navigator. Ch : C th copy control block t CUSTGxx form.

Oracle Form Designer - Trang 41/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

6. To mt visual attribute tn l Current_Record. t thuc tnh Foreground Color thnh White v Background Color thnh DarkCyan. Chn c 2 block S_ITEM v S_INVENTORY t thuc tnh nh du hin th ca bn ghi hin thi. 7. Chuyn s bn ghi hin th trong S_ITEM block thnh 4 v thay i kch c ca scrollbar cho ph hp. 8. m bo cc bn ghi c ct trong S_ITEM block theo ITEM_ID. 9. t thuc tnh t ng chuyn tip ca con tr thnh next record, Khi ngi dng nhp lnh [Next Item] trong S_ITEM block. 10. t thuc tnh ca tt c cc frame thnh: b tiu ca frame, t thuc tnh Update Layout thnh Manually. 11 Ghi li, dch v chy ORDGxx form. Kim tra hiu ng ca cc thuc tnh va t.

6.6 BI thc hnh 6: Lm vic vi text item


6.6.1 Ni dung Xo mc region ID trong CUSTOMERS form.

S dng Property Palette, chuyn i thuc tnh ca mt vI text item trong S_CUSTOMER block. Ghi v chy form sau khi chuyn i xong. Trong ORDERS form, to mi text items gi customer name v sales rep name trong S_ORD block. i cc thuc trnh ca text item trong S_ORD, S_ITEM, v S_INVENTORY blocks. Ghi v chy form sau khi chuyn i. 6.6.2 Cc bc thc hnh 1. Trong CUSTGxx form, b Region ID item. 2. Chuyn hin th ca Comments item thnh multi-line text. 3. T ng sinh m s khch hng, m s ny l duy nht i vi bn ghi v khng b thay i. Dng S_CUSTOMER_ID sequence. 4. Trong CUSTGxx form, thay i v tr v rng ca cc trong Object Navigator theo bng sau: Item ID NAME ADDRESS CITY STATE COUNTRY ZIP_CODE PHONE CREDIT_RATING SALES_REP_ID COMMENTS 5. Ghi li v chy v kim tra s thay i. rng - Width 60 195 195 195 130 195 85 160 65 65 236

Oracle Form Designer - Trang 42/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

6. Trong S_ORD block, to mt text item c tn Customer_Name. Customer_Name khng lin quan ti bng S_ORD. Khng insert, update, hoc query trn item ny v ch I n item bng chut. t thuc tnh Prompt text thnh Customer Name. Hin th item ny trn CV_ORDER canvas. 7. Trong S_ORD block, to mt text item c tn Sales_Rep_Name. Sales_Rep_Name khng lin quan ti bng S_ORD. Khng insert, update, hoc query trn item ny v ch I n item bng chut. t thuc tnh Prompt text thnh Sales Rep Name. Hin th item ny trn CV_ORDER canvas. 8. t thuc tnh cho Date_Ordered hin th ngy hin ti, bt c khi no bn ghi mi c nhp. 9. Trong S_ITEM block, to text item mi c tn Item_Total. Item_Total khng lin quan ti bng S_ITEM. Khng insert, update, hoc query trn item ny v ch I n item bng chut. t thuc tnh Prompt text thnh Item Total. Hin th item ny trn CV_ORDER canvas. Khun hin th thnh 999G990D99. 10. Chnh sa cc mc Price, Quantity v Quantity_Shipped cn bn phi. 11. Sau mc Quantity_Shipped item, cc mc khc chi I n c bng chut v khng cho php updates. 12. Trong ORDGxx form, thay i kch c v v tr ca cc item theo bng sau: S_ORD Block Items ID DATE_ORDERED CUSTOMER_ID rng - Width 40 66 66
Oracle Form Designer - Trang 43/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

CUSTOMER_NAME SALES_REP_ID SALES_REP_NAME DATE_SHIPPED PAYMENT_TYPE ORDER_FILLED

116 66 116 66 48 18

6.7 BI thc hnh 7: To LOVs v Editors


6.7.1 Ni dung To mt LOV trong Orders form hin th s lng sn phm v m t sn phm. Gn LOV vo Product_ID item trong S_ITEM data block. Ghi li v chy form. To mt LOV trong Customers form hin th s sales rep v tn ca h. Gn LOV vo Sales_Rep_ID item trong S_CUSTOMER data block. Ghi li v chy form. To mt editor trong Customers form, v gn n vo Comments item. Ghi li v chy form. 6.7.2 Cc bc thc hnh 1. Trong ORDGxx form, To mt LOV Hin th s sn phm v m t sn phm c dng cho trng Product_id item trong S_ITEM block. Dng bng S_PRODUCT, Ct Id, v Name. t thuc tnh tn ca LOV l Products_LOV, Title l Products, X Position l 30, Y Position l 30, Width l 200, v Height l 250. Vi mi ID column t gi tr tr v thnh S_ITEM.PRODUCT_ID. 2. Gn Products_LOV vo trong Product_ID item trong S_ITEM block. 3. Ghi li v chy kim tra. 4. Trong CUSTGxx form, to mt LOV hin th m s cu sales representatives v tn. Chn first_name v last_name columns, ni chng vi nhau t alias thnh Name. t thuc tnh Name thnh Sales_Rep_LOV, Title thnh Sales Representatives, X Position thnh 30, Y Position thnh 30, Width thnh 200, v Height thnh 250. t gi tr tr li thnh S_CUSTOMER.Sales_Rep_ID. 5. Gn Sales_Rep_Lov thnh Sales_Rep_ID item trong S_CUSTOMER block. 6. Trong CUSTGx form, to mt editor v gn chng vo Comments item. t title thnh Comments, background color thnh gray, v foreground color thnh yellow. 7. Ghi li v chy kim tra. Thay i kch c ca window nu cn

6.8 BI thc hnh 8: To Input Items b sung


6.8.1 Ni dung Trong Customers form, chuyn Credit_Rating item thnh list item. Ghi li v chy form. Trong Orders form, chuyn Order_Filled item thnh check box item. Trong Orders form, chuyn Payment_Type item thnh radio group. Thm 2 radio buttons vo radio group. Ghi li v chy form.

Oracle Form Designer - Trang 44/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

6.8.2 Cc bc thc hnh 1. Trong CUSTGxx form, chuyn Credit_Rating text item thnh pop-up list item. a thm vo cc thnh phn Poor, Good, v Excellent vo d liu hin th. Hin th tt c cc gi tr khc thnh Poor. Cc gi tr khi to thnh GOOD. Thay i kch c v v tr trong Layout Editor. 2. Ghi li v chy kim tra s thay i. 3. Trong ORDGxx form, chuyn i Order_Filled text item thnh Check box. t gi tr checked thnh Y v gi tr unchecked state thnh N. m bo cc bn ghi mi ch nhn cc gi tr Y hoc N. t nhn thnh Order Filled. Thay i kch c ca Check box, v t cn phi. 4 Chuyn i Payment_Type text item thnh radio group. a thm cc radio buttons cho Cash-tin mt v Credit-th tn dng th hin cc gi tr CASH v CREDIT. 5. t k t S cho cash v T cho credit. t nhn cho cc radio button thnh Cash cho Cash radio button v Credit cho Credit radio button. Gi tr mc nh l Cash. 6. t li v tr cc items trong S_ORD block trong Object Navigator theo v tr hin th trong layout. 7. Ghi li v chy kim tra cc thay i

6.9 BI thc hnh 9: To NonInput Items


6.9.1 Ni dung Trong orders form, To 2 display items trong S_ITEM block. To mt image item trong S_ITEM block. Trong orders form, to mt iconic button trong control block.

Trong orders form, Trn c s Item_Total trong S_ITEM block to mt control item trong chnh block . Trn c s item ny tnh tng ca n t hng. Trong customers form, To mt iconic button Trong control block. Ghi v chy orders v customers forms.

6.9.2 Cc bc thc hnh 1. Trong S_ITEM block ca ORDGxx form, to mt display item t tn l Description. t thuc tnh Prompt l Description v hin th ln pha trn item. 2. To mt single-record image item t tn l Product_Image trong S_ITEM block ca ORDGxx form. 3. To mt display item khc l Image_Description, trong S_ITEM block. Item ny phi ng b vi Description item. t thuc tnh Maximum Length cng c gi tr tng t nh trong Description item. 4 Trong Control block ca ORDGxx form, to mt iconic button t tn l Product_LOV_Button. S dng file list.ico (khng km theo phn m rng .ico). t c hai thuc tnh Keyboard Navigable v Mouse Navigate l No. 5 hin th mc thng tin tng cng (item total information), t cc thuc tnh sau cho Item_Total trong S_ITEM block:

Oracle Form Designer - Trang 45/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

format mask Justification Calculation Mode Formula Keyboard Navigable Mouse Navigate

l l l bng l l

999G990D99. right. Formula. :S_ITEM.quantity_shipped * :S_ITEM.price. No No.

6 hin th ton b item totals to mi mt non-database item trong S_ITEM block. t cc thuc tnh position, size v prompt properties theo nh sau: format mask l 9G999G990D99. Justification property l Number of Items Displayed right. bng 1.

To mt summary item S_ITEM.total hin th tng gi tr cc item_total trong S_ITEM block. t thuc tnh Query All Records ca S_ITEM block l Yes. t thuc tnh Keyboard Navigable v Mouse Navigate l No.

7. Ct gi, bin dch v chy forms kim nghim cc thay i. Thay i kch thc ca s nu cn.

Oracle Form Designer - Trang 46/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

8. Thc hin mt truy vn trong ORDGxx form m bo cc items mi khng gy ra li. Hy tt thuc tnh Database Item i vi cc items khng tng ng vi cc ct trong bng trong c s d liu.

9. To mt iconic button tng t nh trong cu 4, trong Control block ca form CUSTGxx. S dng file list.ico (khng km theo phn m rng .ico). t tn cho nt l Sales_rep_lov_button, v t n cnh Sales_Rep_ID. 10. Ct gi, bin dch v chy forms kim nghim cc thay i.

6.10 BI thc hnh 10: To Window v Content Canvases


6.10.1 Ni dung Thay i kch c v v tr ca window trong customers form. Thay i tn v tiu ca Window. Ghi li v chy form. Chnh sa tn v tiu ca window trong orders form.

To mt window mi trong orders form. Hin th ni dung ca S_INVENTORY block trong window ny. Ghi li v chy form. 6.10.2 Cc bc thc hnh 1. Sa i ca s trong CUSTGxx form. i tn ca s thnh WIN_CUSTOMER, v i tn tiu ca n l Customer Information. t li kch thc v v tr cho ph hp. 2. Ct gi, bin dch v chy form kim nghim cc s thay i. 3. Sa i ca s trong ORDGxx form. Gi ca s l WIN_ORDER. Thay i tiu ca n thnh Orders and Items.
Oracle Form Designer - Trang 47/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

4. Trong ORDGxx form, to mt ca s mi gi l WIN_INVENTORY ph hp vi vic hin th CV_INVENTORY canvas. S dng cc rulers trong Layout editor t Height v Width cho ca s. t tiu cho ca s l Stock Levels, v thuc tnh Hide on Exit l Yes. t ca s mi v tr cho ph hp vi WIN_ORDER. 5. Kt hp CV_INVENTORY canvas vi ca s WIN_INVENTORY. Chy form thy c S_INVENTORY block hin th trong WIN_INVENTORY khi bn iu khin (navigate) block ny. 6. Ghi form li.

6.11 BI thc hnh 11: Lm vic vi cc Canvase khc


6.11.1 Ni dung To mt horizontal toolbar canvas trong orders form. To mt buttons mi trong control block, v t chng vo horizontal toolbar. Ghi li v chy form. To mt stacked canvas trong orders form a thm dng tr gip. t v tr ca canvas chnh gia ca s. To mt button trong control block. Button ny s c dng v hin th trong stacked canvas. a dng tr gip vo stacked canvas. Ghi v chy form. To mt tab canvas trong customers form. To 3 trang tab trong canvas ny, v m bo rng mi tab hin tth cc thng tin tng ng. Ghi li v chy form. 6.11.2Cc bc thc hnh Toolbar Canvases 1. Trong ORDGxx form, to mt horizontal toolbar canvas gi l Toolbar. Trong ca s WIN_ORDER, bin n thnh toolbar chun cho ca s. (Gi t Height l 30). 2. Ct gi, bin dch v chy form kim nghim. Lu , by gi toolbar s chim mt phn v tr trn window. Thay i li kch thc window cho ph hp. 3. To ba nt bm trong Control block, theo chi tit di y, v t chng vo Toolbar canvas. Tn nt (Button Name ) Stock_button Chi tit (Details) Label: Stock Mouse Navigate: No Keyboard Navigable: No Canvas: Toolbar Show_Help_button Label: Show Help Mouse Navigate: No Keyboard Navigable: No Canvas: Toolbar Exit_button Label: Exit Mouse Navigate: No Keyboard Navigable: No
Oracle Form Designer - Trang 48/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Canvas: Toolbar Gi cc v tr cho cc nt c ch ra nh di y:

Stacked Canvases 1. To mt stacked canvas c tn l CV_HELP hin th cc tr gip trong ca s WIN_ORDER ca ORDGxx form. Gi cc thuc tnh: visible size l Viewport Width l 270, Viewport Height l 215 (points). t cc application help text vo canvas ny. 2. nh v tr khung nhn ca stacked canvas sao cho n xut hin gia ca WIN_ORDER. m bo s n khng che khut enterable item u tin. Thc hin iu ny bng cch nh cc v tr top-left ca khung nhn trong Layout editor, trong khi hin th CV_ORDER. nh ngha Viewport X v Viewport Y, nh v tr trong Property Palette. Khng di chuyn khung nhn trong Layout Editor. 3. Thng qua Object Navigator , t chc CV_HELP sao cho n l canvas n l cui cng trong hng i. (Vic ny m bo th t stack ng khi chy). 4. Ct gi, bin dch v chy form kim nghim. Lu : stacked canvas hin th mi thi im, nn cn tnh ton sao cho n khng che khut item hin thi trong form. 5. Tt thuc tnh Visible ca CV_HELP, sau to mt nt bm trong control block lm n i cc thng tin tr gip Help khi n khng cn cn thit na. Sau ny, s thm vo cc m lnh. Hin th nt bm ny trong CV_HELP canvas. Tn nt Hide_Help_button Chi tit Label: Hide Help, Canvas: CV_HELP

Oracle Form Designer - Trang 49/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Tab Canvases Sa i CUSTGxx form s dng Tab canvas: 1 Trong Layout editor, xo b frame object bao chm S_CUSTOMER block. To mt Tab canvas. Trong Layout editor t thuc tnh Background Color l gray, Tab style l Square, v Bevel l None. 2 i tn Tab canvas ny thnh TAB_CUSTOMER. To ba Tab pages v t tn chng l Address, Billing, v Comments. 3 Thit k cc Tab pages da trn hnh minh ho di y. t cc thuc tnh item sao cho chng c th xut hin (visible) trn cc Tab pages tng ng.

Oracle Form Designer - Trang 50/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Oracle Form Designer - Trang 51/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

4. t li th t cc items da theo th t trang tab, m bo ngi s dng khng dch chuyn t 1 tab ny sang tab khc, mi khi chuyn i gia cc items. t thuc tnh Next Navigation Item v Previous Navigation Item tu theo th t ca cc items trong cc tab pages. 5. Ct gi, bin dch v chy form.

6.12 BI thc hnh 12: Gii thiu v Triggers 6.13 BI thc hnh 13: Xy dng Triggers
6.13.1 Ni dung Dng cc built-ins hin th LOVs

Dng When-Button-Pressed v When-Window-Closed triggers a thm tnh nng cho items. Dng built-ins hin th v n Help stacked canvas

6.13.2 Cc bc thc hnh 1. Trong CUSTGxx form, vit mt trigger hin th Sales_Rep_Lov, mi khi Sales_Rep_Lov_Button c bm. S dng Smart Triggers to trigger mi khi bm nt (When-Button-Pressed trigger). Tm nhng built-in thch hp trong cc built-in packages, v s dng chc nng Paste Name and Arguments. 2. To mt When-Window-Closed trigger cho mi form level thot khi form. 3. Ct gi, bin dch v chy form. 4. Trong ORDGxx form, vit mt trigger hin th Products_LOV mi khi Products_LOV_Button c chn. 5. Vit mt trigger thot khi form mi khi Exit_Button c chn. 6. Ct gi, bin dch v chy form. 7. To mt When-Button-Pressed trigger cho CONTROL.Show_Help_Button, s dng SHOW_VIEW built-in hin th CV_HELP. SHOW_VIEW(CV_HELP); GO_ITEM(CONTROL.HIDE_HELP_BUTTON); 8. To mt When-Button-Pressed trigger cho CONTROL.Hide_Help_button lm n CV_HELP. S dng HIDE_VIEW built-in c c iu ny. HIDE_VIEW(CV_HELP); GO_BLOCK(S_ORD); 9. Ct gi, bin dch v chy ORDGxx form kim nghim. 10. To mt When-Button-Pressed trigger cho CONTROL.Stock_Button, s dng GO_BLOCK built-in hin th S_INVENTORY block.

Oracle Form Designer - Trang 52/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

6.14 BI thc hnh 14: To NonInput Items


6.14.1 Ni dung Chy m un ny ch g li tng bc theo di hot ng ca n 6.14.2 Cc bc thc hnh 1. M CUSTGxx.FMB. To mt th tc procedure t tn l List_Of_Values. Nhp m t tp pr14_1.txt:
PROCEDURE list_of_values(p_lov in VARCHAR2,p_text in VARCHAR2) IS v_lov BOOLEAN; BEGIN v_lov:= SHOW_LOV(p_lov); IF v_lov THEN MESSAGE('You have just selected a '||p_text); ELSE MESSAGE('You have just cancelled the List of Values'); END IF; END;

Chnh sa trigger When-Button-Pressed ca CONTROL.Sales_LOV_Button nh sau.


LIST_OF_VALUES(SALES_REP_LOV, Sales Representative);

Dch v chy form trong ch g li. Thit lp mt im dng mt trong cc trigger, v gim st ngn xp Call. Th chy tng bc qua m theo di qu trnh x l.

6.15 BI thc hnh 15: To NonInput Items


6.15.1 Ni dung Vit mt trigger nh gi mc tin cy ca khch hng xem c phi bt anh ta tr bng tin mt. To mt toolbar button hin th v che du cc hnh nh sn phm. 6.15.2 Cc bc thc hnh 1. Trong ORDGxx form vit mt trigger, trigger ny chy khi c s thay i Payment Type, ch cho php cc khch hng c mc tin cy tt c tr theo th tc n. C th nhp tp pr15_1.txt. 2. Trong CONTROL block, to mt nt mi l Image_Button v t n trn Toolbar. Thit lp thuc tnh Label property l Image Off. 3. Nhp tp pr15_3.txt vo mt trigger chy khi Image_Button c nhn. Tp cha m xc nh gi tr hin thi ca thuc tnh visible ca mc Product Image. Nu gi tr hin thi l True, thuc tnh visible s i thnh False cho c mc Product Image v mc Image Description. Cui cng s thay i nhn trn Image_Button c phn nh qua trng thi thay i k tip ca n. Tuy nhin, nu thuc tnh visible hin thi l False th thuc tnh visible s i thnh True cho c mc Product Image v mc Image Description. t Triger When-Button-Pressed trn CONTROL.Image_Button thnh :

Oracle Form Designer - Trang 53/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

IF GET_ITEM_PROPERTY(S_ITEM.product_image,VISIBLE)=TRUE THEN SET_ITEM_PROPERTY(S_ITEM.product_image, VISIBLE, PROPERTY_FALSE); SET_ITEM_PROPERTY(S_ITEM.image_description, VISIBLE, PROPERTY_FALSE); SET_ITEM_PROPERTY(CONTROL.image_button,LABEL,Image On); ELSE SET_ITEM_PROPERTY(S_ITEM.product_image, VISIBLE, PROPERTY_TRUE); SET_ITEM_PROPERTY(S_ITEM.image_description, VISIBLE, PROPERTY_TRUE); SET_ITEM_PROPERTY(CONTROL.image_button,LABEL, Image Off); END IF;

4. Ghi, bin dch v chy form.

6.16 BI thc hnh 16: To NonInput Items


6.16.1 Ni dung S dng mt alert bo cho ngi s dng rng khch hng phi tr bng tin mt. S dng mt alert chung hi ngi s dng xc nhn vic ng form.

6.16.2 Cc bc thc hnh 1. To mt alert trong ORDGxx gi l Payment_Type_Alert vi mt nt bm OK button. Thng bo `Khch hng ny phi tr bng tin mt!`. t thuc tnh Title thnh Payment Type, Style thnh Caution. 2. Sa i When-Radio-Changed trigger trn Payment_Type hin Payment_Type_Alert thay cho thng bo khi mt khch hng phi tr bng tin mt. ra

3. To mt cnh bo - alert chung Question_Alert cho php tr li Yes hoc No. Message property trng cho cnh bo ny. Chn thuc tnh Style l Stop v nh ngha hai nt bm trong cnh bo: Yes v No. 4. Sa i When-Button-Pressed trigger trn CONTROL.Exit_Button s dng Question_Alert hi ngi s dng vic ng form. Gi SET_ALERT_PROPERTY built-in nh ngha thng bo: `Bn c mun ng form khng?`. Kim tra gi tr tr v SHOW_ALERT, v gi EXIT_FORM built-in nu ngi s dng tr li l Yes. 5 Ghi, bin dch v chy form kim tra.

6.17 BI thc hnh 17: Truy vn Triggers


6.17.1 Ni dung B tr customer names v sales representative names vo mi dng ca khi S_ORD B tr cc m t vo mi hng ca khi S_ITEM V hiu ho nt bm Exit trong ch Enter Query Thm 2 hp kim tra cho php la chn ch truy vn.

6.17.2 Cc bc thc hnh 1. Trong ORDGxx form, vit mt trigger t Customer_Name v Sales_Rep_Name vo mi dng c tr v bi mt cu hi trn khi S_ORD. 2. Vit mt trigger t Description cho mi dng c tr v bi mt cu hi trn khi S_ITEM. 3. Hy m bo rng Exit_Button khng hiu qa trong ch Enter Query. Chnh sa giao din cu hi mc nh. M m un form Customers. Thm mt hp kim gi l Control.Case_Sensitive vo form ngi s dng c th ch r c hay khng mt cu hi
Oracle Form Designer - Trang 54/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

cho tn mt khch hng s l case sensitive. Bn c th nhp tp pr17_4.txt vo WhenCheckbox-Changed trigger. Thit lp gi tr thuc tnh khi to l Y. Trong khi Control, thm mt control box ( gi l Control.Case_Sensitive nh ch ra di y)v to trigger c tn l When-Checkbox-Changed trigger trn mc CONTROL.Case_Sensitive
IF NVL(:CONTROL.case_sensitive, Y) = Y THEN SET_ITEM_PROPERTY(S_CUSTOMER.name, CASE_INSENSITIVE_QUERY, PROPERTY_FALSE); ELSE SET_ITEM_PROPERTY(S_CUSTOMER.name,CASE_INSENSITIVE_QUERY, PROPERTY_TRUE); END IF;

5. Thm control box Control.Exact_Match vo form ngi s dng c th ch r c hay khng c mt iu kin hi cho mt tn khch hng phi ph hp vi gi tr bng (Nu khng c s ph hp c tha nhn, gi tr tm kim c th l mt phn ca gi tr bng). Bn c th nhp tp pr17_5.txt vo Pre-Query Trigger. Thit lp gi tr thuc tnh khi to l Y. Thm mt control box (gi l Control.Exact_Match nh ch ra di y) iu khin khi v to trigger Pre-Query trigger trn S_CUSTOMER block
IF NVL( :CONTROL.exact_match, Y ) = N THEN :S_CUSTOMER.name := % || :S_CUSTOMER.name || %; END IF;

6.18 BI thc hnh 18: Kim tra tnh hp l


6.18.1 Ni dung Kim tra gi tr ca sales representative item dng LOV Vit trigger kim tra ngy shipped date khng trc ngy ordered date

Chnh v tr ca customer names, sales representative names v ID khi customer ID b thay i i. Vit trigger kim tra tn v gi ca product khi product ID b thay

6.18.2 Cc bc thc hnh 1. Trong CUSTGxx form, hin th Sales_Rep_Lov khi ngi dng nhp m Sales_Rep_Id khng c trong CSDL. 2. Ghi, bin dch v chy form kim tra. 3. Trong ORDGxx form, vit mt validation trigger kim sot Date_Shipped l sau Date_Ordered. Vit mt When-Validate-record trigger so snh gi tr ca Date_Shipped v Date_Ordered. Nu Date_Shipped l trc Date_Ordered ngng trigger vi mt thng bo thch hp. 4. Trong ORDGxx form, to mt trigger vit gi tr ng cho cc mc Customer_Name, Sales_Rep_Name, v Sales_Rep_Id khi mt kim tra hp l xut hin trn Customer_Id. Khng chy trigger nu khng tm thy khch hng. 5. To mt validation trigger khc trn S_ITEM.Product_Id ly tn sn phm v vit n vo mc Description. Khng chy trigger v hin th mt thng bo nu khng tm thy sn phm.

Oracle Form Designer - Trang 55/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

6.19 BI thc hnh 19: To NonInput Items


6.19.1 Ni dung Thc hin mt truy vn khi form khi ng

Thay i hnh nh sn phm khi con tr di chuyn trn mi bn ghi ca S_ITEM 6.19.2 Cc bc thc hnh 1. Vit mt When-New-Form-Instance trigger trn ORDGxx form thc hin truy vn khi khi to form. S dng EXECUTE_QUERY built-in. 2. Vit mt trigger chy khi con tr di chuyn vo mi record ca S_ITEM block, v t vo Product_Image hnh nh sn phm tng ng nu c. S dng hm Get_Product_Image. Hm Get_Product_Image function c sn. Hm ny tr v tn tp hnh nh vi u vo l s hiu sn phm cho. Nu khng tm thy tp, hm tr v gi tr No file.
FUNCTION get_product_image (product_number IN NUMBER) RETURN VARCHAR2 IS v_filename VARCHAR2(20); BEGIN SELECT s_image.filename INTO v_filename FROM s_image, s_product WHERE s_image.id = s_product.image_id AND s_product.id = product_number; IF v_filename is null THEN v_filename := 'No file'; END IF; RETURN v_filename; EXCEPTION WHEN no_data_found THEN return(No file); END;

Nu hm tr v mt tn tp thch hp, trigger phi chuyn tn ny ti READ_IMAGE_FILE built-in. 4. nh ngha cng kiu trigger v vit m cho S_ORD block. N s hin th hnh nh cho cc sn phm ca dng mc u tin ca S_ITEM. 5. Tm cc v tr c th t on m ny? 6. Ghi, bin dch v chy form kim tra.

6.20 BI thc hnh 20: X l cc giao dch (Transaction Processing)


6.20.1 Ni dung T ng t th t gi tr order ID dng sequence

T ng t gi tr cho mc ID khi thm bn ghi bng gi tr cao nht ca order ID +1 Chn, cp nht, xo cc row trong view Chnh sa cc commit messages trong customers form Chnhh sa mn hnh login trong customers form.

6.20.2 Cc bc thc hnh 1. Trong ORDGxx form vit mt transactional trigger trong S_ORD block trn S_ORD.Id vi gi tr k tip trong S_ORD_ID sequence.

Oracle Form Designer - Trang 56/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

To mt Pre-Insert trigger gn gi tr theo trnh t ny. Nu c mt ngoi l (exception) xy ra trong trigger, khi hu b trigger vi mt thng ip bo li. 2 Trong S_ORD block t thuc tnh Enabled cho ID item l No. 3 Ct gi, bin dch v chy form kim nghim. Chn thm mt n t hng mi (new order). Gi tr Id duy nht cho n t hng phi xut hin mi khi bn ct gi n. 4 To mt trigger tng t trn S_ITEM block gn gi tr cho Item_Id khi c mt bn ghi mi c lu gi. S ny ly bng cch thm mt gi tr cho s Item_id cao nht, thc hin hnh ng trong Pre-Insert Trigger. t thuc tnh Required v Enabled l No cho Item_id. 5 Ct gi, bin dch v chy form kim nghim. Chn thm mt line-item record mi trong S_ITEM block, ri ct gi. Ghi ch Gii php 20.4 khng phi l cch an ton nht. Gii php tt hn l gi ton b cc hng vo mt bng khc c th kho, nhng gii php ny khng ph hp trong giai on ny. 6. Employees form da trn view c cc ct cc bng S_EMP v S_DEPT. M Employees form. Kim tra xem n c cho php ngi s dng thm cc nhn cng mi hay sa cha cc nhn cng c bng form ny. Ni dung cc Trigger nh sau: On-Insert trigger trn EMP block (trn view employee)
INSERT INTO S_EMP VALUES :EMP.ID, :EMP.LAST_NAME, :EMP.FIRST_NAME, :EMP.USERID, :EMP.START_DATE, :EMP.COMMENTS, :EMP.MANAGER_ID, :EMP.TITLE, :EMP.DEPT_ID, :EMP.SALARY, :EMP.COMMISSION_PCT);

On-Update trigger trn EMP block (trn view employee)


UPDATE S_EMP SET ID =:EMP.ID, LAST_NAME =:EMP.LAST_NAME, FIRST_NAME =:EMP.FIRST_NAME, USERID =:EMP.USERID, START_DATE =:EMP.START_DATE, COMMENTS =:EMP.COMMENTS, MANAGER_ID =:EMP.MANAGER_ID, TITLE =:EMP.TITLE, DEPT_ID =:EMP.DEPT_ID, SALARY =:EMP.SALARY, COMMISSION_PCT =:EMP.COMMISSION_PCT WHERE ID = :EMP.NUM;

7. C th xo mt nhn cng khng? 8. Vi cng v ngi thit k, thm tra cc trigger thc hin ang tn ti. To mt trigger thc hin mi cho php xo mt nhn cng.

Oracle Form Designer - Trang 57/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

9. M CUSTGxx form. To ba bin ton cc GLOBAL.INSERT, GLOBAL.UPDATE, v GLOBAL.DELETE. Cc bin ny cho bit s ln chn, cp nht, xo. Nn vit cc trigger Post-Insert, Post-Update, v Post-Delete khi to v tng gi tr cc bin ton cc trn. 10. To th tc HANDLE_MESSAGE. Nhp tp pr20_10.txt. Th tc ny nhn 2 i s: i s th nht l s hiu thng bo, v i s th hai l b ch li logic. Th tc ny s dng ba bin ton cc hin th mt thng bo v sau xo b cc bin ton cc ny. Ni dung th tc nh sau
PROCEDURE handle_message( message_number IN NUMBER, IS_ERROR IN BOOLEAN ) IS BEGIN IF message_number IN ( 40400, 40406, 40407 ) THEN DEFAULT_VALUE( 0, GLOBAL.insert ); DEFAULT_VALUE( 0, GLOBAL.update ); DEFAULT_VALUE( 0, GLOBAL.delete ); MESSAGE('Save Ok: ' || :GLOBAL.insert || records inserted, || :GLOBAL.update || records updated, || :GLOBAL.delete || records deleted !!! ); ELSIF is_error = TRUE THEN MESSAGE(ERROR: || ERROR_TEXT ); ELSE MESSAGE( MESSAGE_TEXT ); END IF; END ;

Gi th tc khi xut hin li vi hai tham s l m li v TRUE. Gi th tc khi xut hin mt thng bo vi 2 tham s l m thng bo v FALSE. 11. M m un form CUSTGxx. Vit mt On-Logon trigger kim sot s lng cc im kt ni. S dng LOGON_SCREEN built-in da theo mn hnh mc nh v LOGON kt ni ti CSDL.. C th nhp tp pr20_11.txt. Ni dung Trigger On-Logon ti mc Form level l:
DECLARE connected BOOLEAN := FALSE; tries NUMBER := 3; un VARCHAR2(30); pw VARCHAR2(30); cs VARCHAR2(30); BEGIN SET_APPLICATION_PROPERTY(CURSOR_STYLE, DEFAULT); WHILE connected = FALSE and tries > 0 LOOP LOGON_SCREEN; un := GET_APPLICATION_PROPERTY( USERNAME ); pw := GET_APPLICATION_PROPERTY( PASSWORD ); cs := GET_APPLICATION_PROPERTY( CONNECT_STRING ); LOGON( un, pw || @ || cs, FALSE ); IF FORM_SUCCESS THEN connected := TRUE ; END IF; tries := tries - 1; END LOOP; IF NOT CONNECTED THEN MESSAGE(Too many tries!); RAISE FORM_TRIGGER_FAILURE; END IF; END;

6.21 BI thc hnh 21: Vit mt on m ng (Flexible Code)


6.21.1 Ni dung th Ch t cc hnh nh sn phm khi cc mc hnh nh c hin

Oracle Form Designer - Trang 58/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Sa cha When-Button-Pressed trigger ca Image_Button s dng i tng ID thay v tn i tng 6.21.2 Cc bc thc hnh 1. Trong ORDGxx form sa i cc trigger t cc mc Product_Image khi mc hnh nh c hin th. Thm mt on m kim tra Product_Image. Ch thc hin cc hnh ng ca trigger nu hnh nh c hin th vo thi im ny. S dng hm builtin GET_ITEM_PROPERTY. 2. Sa cha trigger When-Button-Pressed trn Image_Button s dng cc ID i tng. S dng mt hm FIND_object ly ID cho mi mc c tham chiu bi trigger. Khai bo cc bin cho cc ID ny v s dng chng trong mi mc tham chiu trong trigger. 3. Ghi nhn, bin dch v thc hin form kim tra cc im ny.

6.22 BI thc hnh 22: Chia s cc Objects v Code


6.22.1 Ni dung To mt Object Group v s dng Object Group ny trong mt m un form mi S dng cc lp Property

To mt Object Library v s dng Object Library ny trong mt moun form mi Thit lp v s dng SmartClasses

6.22.2 Cc bc thc hnh 1. Trong ORDGxx form to mt nhm i tng gi l Stock_Objects, cha khi S_Inventory, CV_INVENTORY v WIN_INVENTORY. 2. Ghiform. 3. To mt mun form mi v sao chp vo n nhm i tng Stock_Objects. 4. Trong mun form mi, To mt Property Class gi l ClassA. Bao gm cc thuc tnh sau c thit lp: Property Font Name Format Mask Font Size Justification Delete Allowed Background Color Setting Arial 99,999 8 Right No DarkRed

5. p dng ClassA cho CV_INVENTORY, mc Restock_Date v mc Max_In_Stock. 6. Ghi form module vi tn STOCKxx.fmb, bin dch v chy form ny v lu cc li. 7. To cho Restock_Date Format Mask mt thuc tnh khc. Thay i Format Mask cho S_INVENTORY.restock_date theo MM/DD/YYYY. 8. Ghi, bin dch v chy form.

Oracle Form Designer - Trang 59/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

9. To mt th vin i tng vi tn SUMMIT. To 2 tab trong th vin i tng gi l personal v corporate. Thim khi Control, TOOLBAR, v Question_Alert vo tab personal ca th vin i tng. Ghi nhn th vin i tng ny thnh SUMMIT.OLB. 10. To mt form mi v to mt khi d liu trn c s bng S_DEPT. Li TOOLBAR canvas, khi CONTROL v Question_Alert t th vin i tng vo new form. Phn lp cc i tng. Mt s mc khng c p dng cho form ny. Thit lp cc mc di y thuc tnh Canvas l NULL: Image_button, Stock_button, Show_help_button, Product_Lov_button, Hide_Help_button. S dng TOOLBAR theo khun dng ngang cho form ny. Thit lp thuc tnh Window l WINDOW1 cho TOOLBAR canvas. Ghi form ny thnh DEPTGxx, bin dch v chy form ny kim tra. 11. Th xo mt mc trn NULL canvas. iu g s xy ra, gii thch ti sao? 12. To hai nt bm v d, mt nt bm rng v mt nt bm va. To mt v d trng ngy thng. Thit lp rng v format mask ph hp vi tiu chun bn a ra. Ko cc mc ny vo th vin i tng ca bn. nh du cc mc ny nh l SmartClasses. To mt new form v mt khi d liu mi trong n. Cung cp nhng SmartClasses ny vo form ca bn.

6.23 BI thc hnh 23: To Multiple Form Applications


6.23.1 Ni dung Lin kt cc form Orders v Customers bng cch s dng mt bin ton cc hin S dng built-ins kim tra xem c phi form Orders ang thc S dng cc bin ton cc hn ch cu hi trong Orders form

6.23.2 Cc bc thc hnh 1. Trong ORDGxx form, to mt trigger Pre-Form chc chn rng bin ton cc Customer_Id tn ti. S dng DEFAULT_VALUE built-in, v thit lp bin thnh Null nu n cha tn ti. 2. Thm mt trigger m bo cu hi trong khi S_ORD c gii hn gi tr bi GLOBAL.Customer_Id. Vit mt Pre-Query trigger trn khi S_ORD gn gi tr bin ton cc chu mc Customer_Id. 3. Ghi, bin dch v chy form kim tra n lm vic khi ng mt mnh. 4. Trong CUSTGxx form, To mt nt bm khi Control gi l Orders_Button. 5. nh ngha mt trigger cho Control.Orders_Button khi to GLOBAL.Customer_Id vi ID ca khch hng hin thi, sau m ORDGxx form, chuyn iu khin ti n, s dng OPEN_FORM. Chc chn rng tn trong Object Navigator ca ORDGxx form ging vi tn vt l. 6. Ghi v bin dch mi form, sau chy ng dng kim tra. Chy CUSTGxx form, sau m ORDGxx form t nt to mi. So snh hai form? 7. Thay i v tr ca s ca ORDGxx form nu cn. 8. Sa i Orders_Button trigger trong CUSTGxx n s dng GO_FORM chuyn iu khin n ORDGxx nu form ny ang chy. S dng FIND_FORM built-in cho mc ch ny.

Oracle Form Designer - Trang 60/61

CONG TY CO PHAN TAI NGAN -BFC GIAO TRNH AO TAO ORACLE FORM

Nn nh rng bn cn s dng tn mun trong GO_FORM built-in v tn tp trong OPEN_FORM built-in. 9. Vit mt When-Create-Record trigger trn khi S_ORD s dng gi tr ca GLOBAL.Customer_Id nh gi tr mc nh cho S_ORD.Customer_Id. 10. Thm m vo CUSTGxx form GLOBAL. Customer_Id c cp nht khi Customer_Id hin thi c thay i.

Oracle Form Designer - Trang 61/61

Vous aimerez peut-être aussi