You are on page 1of 180

Ti liu o to Form Builder

Ni dung o to
Chng 1: Gii thiu chung
Chng 2: Cc thnh phn c bn ca Form

Chng 3: Quy trnh ng k{ Form


Chng 4: Quy trnh to Form Chng 5: To Form vi history record

Ni dung o to
Chng 6: To Form vi Folder Block Chng 7: To Form vi Descriptive Flexfield

Chng 8: To Form mi mn hnh tm kim

Mc tiu kha hc
Hiu c khi nim c bn v phng php ci t cng c Oracle Form Builder. Nm r khi nim v cch s dng cc thnh phn trong form: o o Data Block, Item. Canvases, Window, List of value, Record Group.

o
o

Trigger, Program Unit, Library, Parameter.


Descriptive Flexfield, Folder, Key Flexfield .

Mc tiu kha hc
Thc hin c quy trnh to form v ng k trn ng dng Oracle. C kh nng xy dng v vit mn hnh nhp liu, thao tc, x l s liu vi cng c Oracle Form Builder .

Ti liu tham kho


Oracle Developer Document (115devg.pdf) Oracle 9i Developer Nh xut bn thng k (Pht trin ng dng Web vi Form Builder)

Chng 1: Gii thiu chung


1. Oracle Form Builder
Oracle forms l mt trong nhng sn phm quan trng trong b Oracle Developer
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. C kh nng kt ni v trao i thng tin vi cc ng dng khc nh Oracle reports, Oracle graphics.

Chng 1: Gii thiu chung


2. Oracle Form Module
Mt ng dng Oracle Forms gm nhiu Modules.
Oracle Form Modules gm 3 loi chnh:

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).

Chng 1: Gii thiu chung


2. Oracle Form Module

Chng 1: Gii thiu chung


3. Cc thnh phn ca Oracle Forms
Oracle Forms gm 3 thnh phn chnh:

Chng 1: Gii thiu chung


3. Cc thnh phn ca Oracle Forms
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 Generate: Bin dch cc file to bi Oracle Form Designer thnh cc file m Oracle Forms Runform c th thc thi c. 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.

Chng 2: Cc thnh phn c bn ca Form

Chng 2: Cc thnh phn c bn ca Form


1. Form Object
1.1 Khi nim
L mt trong 3 thnh phn quan trng ca Form Module. Cha cc i tng v thuc tnh cu thnh form.

Chng 2: Cc thnh phn c bn ca Form


1. Form Object
1.2 Mt s thuc tnh c bn ca Form
Name: Tn ca form. Class: Lp m form tha hng cc thuc tnh. 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. First Navigation Data Block: L tn ca block m Oracle Forms s nh hng ti ngay khi khi ng v sau cc thao tc CLEAR_FORM.

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
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.

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.1 Khi nim (tt)
Tt c Base table blocks c th l single-record blocks hoc multirecord 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.

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.1 To Block
2 Phng php 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.

S dng chc nng Data Block Wizard.

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.1 To Block (tt)

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.1 To Block (tt)

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.1 To Block (tt)

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.1 To Block (tt)

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.1 To Block (tt)

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.1 To Block (tt)

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.1 To Block (tt)

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.1 To Block (tt)

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.1 To Block (tt)

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.1 To Block (tt)

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.1 To Block (tt)

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.1 To Block (tt)

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.1 To Block (tt)

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.1 To Block (tt)

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.1 To Block (tt)

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.2 Mt s thuc tnh c bn ca Block
Name: Tn ca Block. Subclass Information: Lp m Block tha hng cc thuc tnh.

Navigation Style: Hnh ng khi chuyn i Tab qua ht cc i tng trong Block. Previous Navigation Data Block: Block trc. Next Navigation Data Block: Block sau.

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.2 Mt s thuc tnh c bn ca Block (tt)
Database Data Block: (Yes/No) Block c thuc tnh database hay khng. WHERE Clause: Mnh iu kin khi query Block Insert Allowed: (Yes/No) Block cho php insert. Update Allowed: (Yes/No) Block cho php update. Delete Allowed: (Yes/No) Block cho php delete.

Chng 2: Cc thnh phn c bn ca Form


2. Blocks
2.2 Mt s thuc tnh c bn ca Block (tt)
Show Scroll Bar: (Yes/No) Cho php Block c scroll bar hay khng.

Scroll Bar Canvas: Canvas cha scroll bar. Scroll Bar Orientation: (Vertical/Horizontal) Loi scroll bar. Scroll Bar X Position: Ta ngang ca scroll bar. Scroll Bar X Position: Ta ng ca scroll bar.

Chng 2: Cc thnh phn c bn ca Form


3. Items
3.1 Khi nim
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.

Chng 2: Cc thnh phn c bn ca Form


3. Items
3.1 Khi nim

Chng 2: Cc thnh phn c bn ca Form


3. Items
3.2 To Item
To gin tip thng qua chc nng Data Block Wizard. To trc tip bng thm i tng item t Object Navigator v c th thay i cc thuc tnh ca item vi cc gi tr tng ng trong ca s thuc tnh ca item. Ta cng c th to thm i tng item thng qua mn hnh layout khi nhp chut vo biu tng ca item tng ng v ko th vo mn hnh mn hnh layout. Mt item ch c th c hin khi khi nm trn mt canvases, v canvases ny phi c nm trn mt window c gi.

Chng 2: Cc thnh phn c bn ca Form


3. Items
3.3 Ly gi tr v gn gi tr cho item
Ly gi tr item <bin> := :<block_name>.<item_name>; Gn gi tr item :<block_name>.<item_name> := <gi tr>;

Chng 2: Cc thnh phn c bn ca Form


3. Items
3.4 Mt s thuc tnh c bn ca Item
Name: Tn ca Item. Item Type: Loi item. Subclass Information: Lp Item tha hng cc thuc tnh. Enable: (Yes/No) S dng hay khng s dng. Previous Navigation Item: Item trc. Next Navigation Item: Item sau.

Chng 2: Cc thnh phn c bn ca Form


3. Items
3.4 Mt s thuc tnh c bn ca Item (tt)
Required: (Yes/No) Bt buc hay khng bt buc nhp. Number of items Displayed: S dng m item hin th Database Item: (Yes/No) Item c thuc tnh database. Column Name: Tn ct database tng ng. Primary Key: (Yes/No) Kha chnh. Query Only: (Yes/No) Ch cho php query.

Chng 2: Cc thnh phn c bn ca Form


3. Items
3.4 Mt s thuc tnh c bn ca Item (tt)
Insert Allowed: (Yes/No) Item cho php insert. Update Allowed: (Yes/No) Item cho php update. Delete Allowed: (Yes/No) Item cho php delete. Canvas: Canvas m item hin th. X Position: Ta ngang ca Item (Trn Canvas). Y Position: Ta ng ca Item (Trn Canvas).

Chng 2: Cc thnh phn c bn ca Form


3. Items
3.4 Mt s thuc tnh c bn ca Item (tt)
Prompt: Tiu hin th.

Prompt Display Style: Loi Prompt hin th.


Prompt Justification: Canh tri, phi, gia, u trong Prompt. Prompt Attachment Edge: V tr so vi item (Tri, phi, trn, di).

Prompt Alignment: Canh trn, di, gia trong Prompt.

Chng 2: Cc thnh phn c bn ca Form


3. Items
3.4 Mt s thuc tnh c bn ca Item (tt)
Prompt Attachment Offset: Khong cch (ngang) so vi item.

Prompt Alignment Offset: Khong cch (dc) so vi item.


Value when Checked: Gi tr tr v khi checked (Ch i vi Item Type loi Check Box). Value when Unchecked: Gi tr tr v khi Unchecked (Ch i vi Item Type loi Check Box). Lov: Tn List of Value gn vi Item.

Chng 2: Cc thnh phn c bn ca Form


4. Canvases
4.1 Khi nim
Canvas l vng s c hin th lc chy ng dng.

Canvases l nn dng t cc i tng (item) cn c hin th.


Mi i tng mun c hin th u phi t trn mt Canvas no . Mt Canvas phi c t trong mt window no . Ngc li, mt window c th c nhiu Canvases

Chng 2: Cc thnh phn c bn ca Form


4. Canvases
4.2 Phn loi Canvases (Canvas Type)
Canvas Content: Canvas thng thng, cha tt c cc i tng bao gm item, canvas stacked. Canvas Stacked: Mang tnh cht tng t nh Canvas Content. Tuy nhin loi Canvas ny c dng t trn mt Canvas khc.

Chng 2: Cc thnh phn c bn ca Form


4. Canvases
4.2 Phn loi Canvases (Canvas Type) (tt)
Phn loi Canvas Stacked (Sub Class) o o Canvas Stacked Fix: Canvas Stacked c nh, cc i tng (item) trn Canvas khng th di chuyn c. Canvas Stacked: Canvas Stacked ng, cc i tng (item) trn Canvas ny c di chuyn thng qua s dng chc nng Folder.

Chng 2: Cc thnh phn c bn ca Form


4. Canvases
4.3 To Canvas
To gin tip thng qua chc nng Data Layout Wizard. To trc tip bng thm i tng item t Object Navigator v c th thay i cc thuc tnh ca Canvas vi cc gi tr tng ng trong ca s thuc tnh ca Canvas.

Chng 2: Cc thnh phn c bn ca Form


4. Canvases
4.4 Mt s thuc tnh c bn ca Canvases
Name: Tn ca Canvas. Canvas Type: Loi Canvas. Subclass Information: Lp Canvas tha hng. Visible: (Yes/No) Hin th hay khng hin th. Window: Window cha Canvas.

Chng 2: Cc thnh phn c bn ca Form


5. Window
5.1 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 lnxung, 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.

Chng 2: Cc thnh phn c bn ca Form


5. Window
5.1 Khi nim (tt)
Mi mt window c to hu nh ng thi vi vic to mt canvas. 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.

Chng 2: Cc thnh phn c bn ca Form


5. Window
5.2 To 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 ca s thuc tnh c th thay i tn ngm nh ca window hoc cc thuc tnh khc.

Chng 2: Cc thnh phn c bn ca Form


5. Window
5.3 Mt s thuc tnh c bn ca Window
Name: Tn ca Window. Subclass Information: Lp Window tha hng. Title: Tiu ca Window. Primary Canvas: Canvas chnh ca Window. Close Allowed: (Yes/No) Nt phng to, thu nh. Move Allowed: (Yes/No) Cho php di chuyn.

Chng 2: Cc thnh phn c bn ca Form


5. Window
5.3 Mt s thuc tnh c bn ca Window (tt)
Resize Allowed: (Yes/No) Cho php thay i kch c. Maximize Allowed: (Yes/No) Cho php phng to. Minimize Allowed: (Yes/No) Cho php thu nh. Minimized Title: Tiu khi thu nh. X Position: Ta ngang ca Window. Y Position: Ta ng ca Window.

Chng 2: Cc thnh phn c bn ca Form


6. Record Group & List of Value
6.1 Khi nim
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. 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 kz mt block no ca form module.

Chng 2: Cc thnh phn c bn ca Form


6. Record Group & List of Value
6.2 To Record Group & List of Value
To gin tip t chc nng LOV Wizard trn menu ng cnh ca text item To gin tip thng qua chc nng LOV Winzard khi nhn vo biu tng Create trn ca s Object Navigator.

To trc tip Record Group & List of Value khi nhn vo biu tng Create (Record Group & List of Value) Trn ca s Object Navigator.

Chng 2: Cc thnh phn c bn ca Form


6. Record Group & List of Value
6.2 To Record Group & List of Value (tt)

Chng 2: Cc thnh phn c bn ca Form


6. Record Group & List of Value
6.2 To Record Group & List of Value (tt)

Chng 2: Cc thnh phn c bn ca Form


6. Record Group & List of Value
6.2 To Record Group & List of Value (tt)

Chng 2: Cc thnh phn c bn ca Form


6. Record Group & List of Value
6.2 To Record Group & List of Value (tt)

Chng 2: Cc thnh phn c bn ca Form


6. Record Group & List of Value
6.2 To Record Group & List of Value (tt)

Chng 2: Cc thnh phn c bn ca Form


6. Record Group & List of Value
6.2 To Record Group & List of Value (tt)

Chng 2: Cc thnh phn c bn ca Form


6. Record Group & List of Value
6.2 To Record Group & List of Value (tt)

Chng 2: Cc thnh phn c bn ca Form


6. Record Group & List of Value
6.2 To Record Group & List of Value (tt)

Chng 2: Cc thnh phn c bn ca Form


6. Record Group & List of Value
6.2 To Record Group & List of Value (tt)

Chng 2: Cc thnh phn c bn ca Form


6. Record Group & List of Value
6.2 To Record Group & List of Value (tt)

Chng 2: Cc thnh phn c bn ca Form


6. Record Group & List of Value
6.2 To Record Group & List of Value (tt)

Chng 2: Cc thnh phn c bn ca Form


6. Record Group & List of Value
6.3 Mt s thuc tnh c bn ca Record Group & LOV
Record Group Name: Tn ca Record Group. Subclass Information: Lp Record Group tha hng. Record Group Type: Loi Record Group. Record Group Query: Cu truy vn ly d liu ca Record Group khi Record Group Type thuc loi Query.

Chng 2: Cc thnh phn c bn ca Form


6. Record Group & List of Value
6.3 Mt s thuc tnh c bn ca Record Group & LOV (tt)
List of Value Name: Tn ca List of Value. Subclass Information: Lp List of Value tha hng. Title: Tiu List of Value. Record Group: Tn Record Group.

Chng 2: Cc thnh phn c bn ca Form


7. Alert
7.1 Khi nim
Hin th di dng mt modal window cha cc thng tin cn thng bo v i tr li t pha ngi s dng.

Tuz theo tr li m c th thc hin cc x l tip theo.

Chng 2: Cc thnh phn c bn ca Form


7. Alert
7.2 To mt Alert
Trong ca s Object Navigator chn mc Alerts sau nhn biu tng Create.

t thuc tnh theo yu cu.

Chng 2: Cc thnh phn c bn ca Form


7. Alert
7.3 Mt s thuc tnh c bn ca Alert
Name: Tn ca Alert. Subclass Information: Lp m Alert tha hng cc thuc tnh.

Title: Tiu ca Alert khi hin th.

Message: Ni dung thng bo cn hin th.


Alert Style: Loi Alert.

Chng 2: Cc thnh phn c bn ca Form


7. Alert
7.3 Mt s thuc tnh c bn ca Alert (tt)
Button 1 Label: Nhn hin th Button 1. Button 2 Label: Nhn hin th Button 2. Button 3 Label: Nhn hin th Button 3. Default Alert Button: Button ngm nh.

Chng 2: Cc thnh phn c bn ca Form


7. Alert
7.4 Thay i thuc tnh v hin th Alert
Thay i thuc tnh Alert SET_ALERT_PROPERTIES(<alert_name>, <properties>, <message>); Hin th Alert <lp_result_alert> := SHOW_ALERT(<alert_name>);

Chng 2: Cc thnh phn c bn ca Form


7. Alert
7.4 Thay i thuc tnh v hin th Alert (tt)
V d To mt Alert c tn INSERT_ALERT Cu lnh trong s kin khi mun gi INSERT_ALERT
DECLARE lp_result_alert := NUMBER; BEGIN SET_ALERT_PROPERTY(INSERT_ALERT asd, TITLE, Insert Transaction); SET_ALERT_PROPERTY(INSERT_ALERT, ALERT_MESSAGE_TEXT,'Do you want to Insert?); lp_result_alert := SHOW_ALERT(INSERT_ALERT); IF lp_result_alert = ALERT_BUTTON1 THEN <Insert d liu>; END IF;

END;

Chng 2: Cc thnh phn c bn ca Form


8. Trigger
8.1 Khi nim
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. Mt trigger phi c gn vi mt object xc nh trn form: item, block hoc chnh trn form.

Chng 2: Cc thnh phn c bn ca Form


8. Trigger
8.2 Cc mc level ca Trigger

Chng 2: Cc thnh phn c bn ca Form


8. Trigger
8.2 Cc mc level ca Trigger (tt)
Vic xc nh mc level t cc trigger l rt quan trng bi v n xc nh phm vi hot ng ca trigger ng vi cc s kin (events). 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.

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-.

Chng 2: Cc thnh phn c bn ca Form


8. Trigger
8.3 Phn loi Trigger
Phn loi theo mc level (phm vi hot ng) c 3 loi: o o o Trigger mc Form. Trigger mc Block. Trigger mc Item.

Chng 2: Cc thnh phn c bn ca Form


8. Trigger
8.3 Phn loi Trigger (tt)
Phn loi theo thi im kch hot trigger c 5 loi: o o o o o PRE Trigger. WHEN Trigger. ON Trigger. POST Trigger. KEY Trigger.

Chng 2: Cc thnh phn c bn ca Form


8. Trigger
8.4 To 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.

Chng 2: Cc thnh phn c bn ca Form


8. Trigger
8.5 Mt s trigger c bn
PRE-FORM: Thc hin ti thi im khi ng form. PRE-BLOCK: Thc hin ti thi im khi ng Block. PRE-RECORD: Thc hin ti thi im khi ng Record.

PRE-QUERY: Thc hin trc s kin truy vn.


PRE-TEXT-ITEM: Thc hin trc khi nhp liu.

Chng 2: Cc thnh phn c bn ca Form


8. Trigger
8.5 Mt s trigger c bn (tt)
PRE-INSERT: Thc hin trc khi Insert d liu. PRE-UPDATE: Thc hin trc khi Update d liu. PRE-DELETE: Thc hin trc khi Delete d liu.

PRE-COMMIT: Thc hin trc khi Commit giao dch.

Chng 2: Cc thnh phn c bn ca Form


8. Trigger
8.5 Mt s trigger c bn (tt)
WHEN-NEW-FORM-INSTANCE: Thc hin khi m Form. WHEN-NEW-BLOCK-INSTANCE: Thc hin khi m Block. WHEN-NEW-RECORD-INSTANCE: Thc hin khi m Record.

WHEN-CREATE-RECORD: Thc hin khi to Record. WHEN-VALIDATE-RECORD: Thc hin khi Validate Record.

Chng 2: Cc thnh phn c bn ca Form


8. Trigger
8.5 Mt s trigger c bn (tt)
WHEN-VALIDATE-ITEM: Thc hin khi Validate Item. WHEN-BUTTON-PRESSED: Thc hin khi nhn Button. WHEN-CHECKBOX-CHANGED: Thc hin khi nhn Check Box.

WHEN-RADIO-CHANGED: Thc hin khi thay i Radio. WHEN-CLEAR-BLOCK: Thc hin khi Clear Block.

Chng 2: Cc thnh phn c bn ca Form


8. Trigger
8.5 Mt s trigger c bn (tt)
ON-INSERT: Thc hin khi Insert d liu. ON-UPDATE: Thc hin khi Update d liu. ON-DELETE: Thc hin khi Delete d liu.

ON-COMMIT: Thc hin khi Commit giao dch.


ON-ROLLBACK: Thc hin khi Rollback giao dch.

Chng 2: Cc thnh phn c bn ca Form


8. Trigger
8.5 Mt s trigger c bn (tt)
ON-ERROR: Thc hin khi c mt li no xut hin. ON-MESSAGE: Thc hin khi hin cc Message.

Chng 2: Cc thnh phn c bn ca Form


8. Trigger
8.5 Mt s trigger c bn (tt)
POST-INSERT: Thc hin sau khi d liu c Insert. POST-UPDATE: Thc hin sau khi d liu c Update. POST-DELETE: Thc hin sau khi d liu c Delete.

POST-CHANGE: Thc hin sau khi d liu c thay i (khc NULL).


POST-FORM: Thc hin sau khi thot khi Form.

Chng 2: Cc thnh phn c bn ca Form


8. Trigger
8.5 Mt s trigger c bn (tt)
POST-QUERY: Thc hin sau d liu c in vo cc Record.

POST-RECORD: Thc hin khi ri input forcus t bn ghi ny ti bn ghi khc.

Chng 2: Cc thnh phn c bn ca Form


8. Trigger
8.5 Mt s trigger c bn (tt)
KEY-UP: Khi nhn phm Page-Up. KEY-DOWN: Thc hin khi nhn phm Page-Down. KEY-ENTER: Thc hin khi nhn phm Enter.

KEY-NEXT-ITEM: Thc hin khi nhn phm Tab.


KEY-PREV-ITEM: Thc hin khi nhn phm Shift + Tab.

Chng 2: Cc thnh phn c bn ca Form


8. Trigger
8.5 Mt s trigger c bn (tt)
KEY-DUP-ITEM: Thc hin khi nhp trng Item. KEY-DUPREC: Thc hin khi nhp trung Record. KEY-HELP: Thc hin khi nhn phm F1.

KEY-LISTVAL: Thc hin khi m List of Value.


KEY-EXIT: Thc hin khi Exit.

Chng 2: Cc thnh phn c bn ca Form


9. Th tc, hm v bin
9.1 Khi nim
Mt nhm cc lnh thc hin chc nng no . Tng kh nng x l{, kh nng s dng chung, tng tnh bo mt v an ton d liu, tin ch trong pht trin. c lu gi ngay trn Form di dng Program Units hoc trong cc th vin (Attached Libraries) v Build-In-Packages. Tng t nh trong Database, Procedure khng mang gi tr tr v v ngc li Function lun tr v mt gi tr no . Procedure vn c th tr v gi tr thng qua cc bin OUT.

Chng 2: Cc thnh phn c bn ca Form


9. Th tc, hm v bin
9.2 Phn loi
Th tc, hm v bin do h thng quy nh (xy dng).

Th tc, hm v bin do ngi lp trnh vin quy nh (xy dng).

Chng 2: Cc thnh phn c bn ca Form


9. Th tc, hm v bin
9.3 Mt s th tc v hm ca h thng gn lin vi Trigger

Built-in
BLOCK_MENU CLEAR_BLOCK CLEAR_FORM CLEAR_RECORD COMMIT_FORM COUNT_QUERY

Key-Trigger
Key-MENU Key-CLRBLK Key-CLRFRM Key-CLRREC Key-COMMIT Key-CQUERY

Associated Function Key


[Block Menu] [Clear Block] [Clear Form] [Clear Record] [Commit] [Count Query Hits]

CREATE_RECORD
DELETE_RECORD DOWN

Key-CREREC
Key-DELREC Key-DOWN

[Insert Record]
[Delete Record] [Down]

Chng 2: Cc thnh phn c bn ca Form


9. Th tc, hm v bin
9.3 Mt s th tc v hm ca h thng gn lin vi Trigger (tt)

Built-in
DUPLICATE_ITEM DUPLICATE_RECORD EDIT_TEXTITEM ENTER ENTER_QUERY EXECUTE_QUERY

Key-Trigger
Key-DUP-ITEM Key-DUPREC Key-EDIT Key-ENTER Key-ENTQRY Key-EXEQRY

Associated Function Key


[Duplicate Item] [Duplicate Record] [Edit] [Enter] [Enter Query] [Execute Query]

EXIT_FORM
HELP LIST_VALUES

Key-EXIT
Key-HELP Key-LISTVAL

[Exit/Cancel]
[Help] [List]

Chng 2: Cc thnh phn c bn ca Form


9. Th tc, hm v bin
9.3 Mt s th tc v hm ca h thng gn lin vi Trigger (tt)

Built-in
LOCK_RECORD NEXT_BLOCK NEXT_ITEM NEXT_KEY NEXT_RECORD NEXT_SET

Key-Trigger
Key-UPDREC Key-NXTBLK Key-NEXT-ITEM Key-NXTKEY Key-NXTREC Key-NXTSET

Associated Function Key


[Lock Record] [Next Block] [Next Item] [Next Primary Key Fld] [Next Record] [Next Set of Records]

PREVIOUS_BLOCK
PREVIOUS_ITEM PREVIOUS_RECORD

Key-PRVBLK
Key-PREV-ITEM Key-PRVREC

[Previous Block]
[Previous Item] [Previous Record]

Chng 2: Cc thnh phn c bn ca Form


9. Th tc, hm v bin
9.3 Mt s th tc v hm ca h thng gn lin vi Trigger (tt)

Built-in
PRINT SCROLL_DOWN SCROLL_UP UP

Key-Trigger
Key-PRINT Key-SCRDOWN Key-SCRUP Key-UP

Associated Function Key


[Print] [Scroll Down] [Scroll Up] [Up]

Chng 2: Cc thnh phn c bn ca Form


9. Th tc, hm v bin
9.3 Mt s th tc v hm ca h thng gn lin vi Trigger (tt)
S dng thng qua c php DO_KEY BEGIN DO_KEY(Built-in); // DO_KEY(EXECUTE_QUERY); END;

Gi trc tip
BEGIN Built-in); // EXECUTE_QUERY; END;

Chng 2: Cc thnh phn c bn ca Form


9. Th tc, hm v bin
9.4 Mt s th tc v hm ca h thng hay dng

Tn
EXECUTE_TRIGGER GO_BLOCK

Tham s
Trigger Name Block Name

ngha
Thc thi Trigger Thc hin nh hng ra Block hin ti (nu c) v vo Block ch nh.

GO_ITEM

Item Name

Thc hin nh hng ra Item hin ti (nu c) v vo Item ch nh.


Gn thuc tnh ch nh cho Item ch nh. Ly gi tr thuc tnh ch nh ca Item ch nh.

SET_ITEM_PROPERTY

Item Name, Property, Value

GET_ITEM_PROPERTY Item Name, Property

Chng 2: Cc thnh phn c bn ca Form


9. Th tc, hm v bin
9.4 Mt s th tc v hm ca h thng hay dng (tt)

Tn
CALL_FORM GET_WINDOW_PROPE RTY

Tham s
Form Name Window Name, Property Gi Form.

ngha
Ly gi tr thuc tnh ch nh ca Window ch nh.

Chng 2: Cc thnh phn c bn ca Form


9. Th tc, hm v bin
9.4 Mt s th tc v hm ca h thng hay dng (tt)
S dng th tc
BEGIN GO_BLOCK(:<Block_name>.<Item_name>); // GO_BLOCK(:STUDENT.STUDENT_NAME); END;

Chng 2: Cc thnh phn c bn ca Form


9. Th tc, hm v bin
9.4 Mt s th tc v hm ca h thng hay dng (tt)
S dng hm
DECLARE lp_item_property VARCHAR2(250); BEGIN lp_item_property := GET_ITEM_PROPERTY(:<Block_name>.<Item_name>, <Property>); // lp_item_property := GET_ITEM_PROPERTY(:STUDENT.STUDENT_NUMBER, VISIBLE); END;

Chng 2: Cc thnh phn c bn ca Form


9. Th tc, hm v bin
9.5 Mt s bin h thng hay dng

Tn
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

ngha
Trng thi Block hin ti Block hin ti. Ngy, gi hin ti. Item hin ti. Form hin ti. Gi tr hin ti. Cursor Block hin ti. Cursor Item hin ti. Cursor Record hin ti. Gi tr Cursor hin ti.

Chng 2: Cc thnh phn c bn ca Form


9. Th tc, hm v bin
9.5 Mt s bin h thng hay dng (tt)

Tn
SYSTEM.FORM_STATUS SYSTEM.LAST_QUERY SYSTEM.LAST_RECORD SYSTEM.MODE SYSTEM.MOUSE_BUTTON_PRESSED SYSTEM.MOUSE_CANVAS SYSTEM.MOUSE_FORM SYSTEM.MOUSE_ITEM SYSTEM.MOUSE_RECORD SYSTEM.MOUSE_WINDOW

ngha
Trng thi Form hin ti. Cu Query hin ti. Record hin ti. Mode hin ti. Trng thi Mouse Button hin ti. Canvas Mouse hin ti. Form Mouse hin ti. Item Mouse hin ti. Record Mouse hin ti. Window Mouse hin ti.

Chng 2: Cc thnh phn c bn ca Form


9. Th tc, hm v bin
9.5 Mt s bin h thng hay dng (tt)

Tn
SYSTEM.MOUSE_X_POS SYSTEM.MOUSE_Y_POS SYSTEM.RECORD_STATUS

ngha
Ta X Mouse hin ti. Ta Y Mouse hin ti. Trng thi Record hin ti.

$$DATE$$
$$DATETIME$$ $$TIME$$

Date
Date, Time. Time.

Chng 3: Quy trnh to & ng k{ Form


1. To Form
Khi vit form mi nn bt u t form Template chun ca Oracle (APPSTAND.fmb) tha hng cc th vin v cc chc nng chun ca Oracle. Xy dng Form theo ti liu thit k Form vi cc i tng: Block, Item, Canvas, Window, Program Unit, Trigger, Alert.
Kim tra li cc rng buc khi xy ra cc s kin: Query, Insert, Update, Delete

Chng 3: Quy trnh to & ng k{ Form


2. Chp Form ln Server
Copy Form t my developer ln Server ti th mc Application Form cn ng k.

Chng 3: Quy trnh to & ng k{ Form


3. Compile Form
Compile Form trc tip trn Server thng qua lnh compile.sh (Fes Script)

Chng 3: Quy trnh to & ng k{ Form


4. ng k Form Trn Oracle Application EBS
ng dn: (Resp) Application Developer Application Form

Chng 3: Quy trnh to & ng k{ Form


4. ng k Form Trn Oracle Application EBS (tt)
ng dn: (Resp) Application Developer Application Form

Chng 3: Quy trnh to & ng k{ Form


5. ng k Function gi Form
ng dn: (Resp) System Administrator Application Function

Chng 3: Quy trnh to & ng k{ Form


5. ng k Function gi Form (tt)
ng dn: (Resp) System Administrator Application Function

Chng 3: Quy trnh to & ng k{ Form


5. ng k Function gi Form (tt)
ng dn: (Resp) System Administrator Application Function

Chng 3: Quy trnh to & ng k{ Form


5. ng k Function gi Form (tt)
ng dn: (Resp) System Administrator Application Function

Chng 3: Quy trnh to & ng k{ Form


5. ng k Function gi Form (tt)
ng dn: (Resp) System Administrator Application Function

Chng 3: Quy trnh to & ng k{ Form


5. ng k Function gi Form (tt)
ng dn: (Resp) System Administrator Application Function

Chng 3: Quy trnh to & ng k{ Form


5. ng k Function gi Form (tt)
ng dn: (Resp) System Administrator Application Function

Chng 3: Quy trnh to & ng k{ Form


6. ng k Menu
ng dn: (Resp) System Administrator Security Responsibility Define

Chng 3: Quy trnh to & ng k{ Form


6. ng k Menu (tt)
ng dn: (Resp) System Administrator Application Menu

Chng 3: Quy trnh to & ng k{ Form


6. ng k Menu (tt)
ng dn: (Resp) System Administrator Application Menu

Chng 3: Quy trnh to & ng k{ Form


6. ng k Menu (tt)
ng dn: (Resp) System Administrator Application Menu

Chng 3: Quy trnh to & ng k{ Form


7. Thc thi Form
ng dn: <Responsibility_name> <Menu_name> <Function_name>

Chng 4: Quy trnh to Form


1. M Form Template chun (APPSTAND.fmb)
Copy t th vin au trn my developer hoc t server.

Chng 4: Quy trnh to Form


2. To Block, Canvas, Window vi Wizard

Chng 4: Quy trnh to Form


3. iu chnh Layout cho ph hp

Chng 4: Quy trnh to Form


4. Thay i cc thng s ban u gi Form
Thay i APPSTAND thnh <form_name>

Chng 4: Quy trnh to Form


4. Thay i cc thng s ban u gi Form (tt)
Trong s kin PRE-FORM, sa cu lnh app_window.set_window_position thay bng <Window_name> u tin cn hin th khi Form kch hot.

Chng 4: Quy trnh to Form


4. Thay i cc thng s ban u gi Form (tt)
Thay i thuc tnh First Navigation Data Block bi <Block_name> u tin cn hin th.

Chng 4: Quy trnh to Form


4. Thay i cc thng s ban u gi Form (tt)
Trong Package APP_CUSTOM (Program Unit), ti on Close Window, sa thnh <window_name> cn close

Chng 4: Quy trnh to Form


5. Thm cc iu kin rng buc v cc x l s kin

Thm cc iu kin khi Query.


X l{ cc tc v khi xy ra cc s kin: Insert, Update, Delete.

Xut thng bo trong cc trng hp cn thit. ...

Chng 4: Quy trnh to Form


6. Compile Form & Lu Form
Nhn Ctrl + K compile th v kim tra li code (nu c).

Nhn Ctrl + S lu Form.

Chng 5: To Form vi history record


1. Khi nim
History record l mt chc nng c bit ca Oracle Form Application.
Lu thng tin lc s ngi dng v tc ng ln s thay i d liu.

Chng 5: To Form vi history record


2. To database
c th lu tr history record cn tn ti cc trng trong c s d liu nh sau.
o o LAST_UPDATE_DATE LAST_UPDATE_BY DATE NUMBER

o
o o

CREATION_DATE
CREATION BY LAST_UPDATE_LOGIN

DATE
NUMBER NUMBER

Chng 5: To Form vi history record


3. Trigger
<Block_name> PRE-INSERT
FND_STANDARD.SET_WHO;

<Block_name> PRE-UPDATE
FND_STANDARD.SET_WHO;

Chng 6: To Form vi Folder Block


1. Khi nim
Folder Block l mt chc nng c bit ca Oracle Form Application.
Folder Block cho php thay i rng, v tr, n hoc hin cc column ngay trn ng dng. Ngoi ra Folder Block cn cho php lu li cc thay i ny cho cc i tng s dng khc nhau. APPFLDR.pll library l th vin Oracle xy dng ra h tr cho vic xy dng chc nng ny trn Oracle Form Builder.

Chng 6: To Form vi Folder Block


1. To Form t Template chun APPSTAND.fmb
m bo Form Template chun ng version ng dng cn xy dng. (Nn chp trc tip t au trn ng dng).
m bo th vin APPFLDR.pll c attached trong Form Module

Chng 6: To Form vi Folder Block


2. To bin
To mt bin <Block_name>_RECORD_COUNT kiu Number v mang gi tr Default = 2

Chng 6: To Form vi Folder Block


3. To Canvas
To mt Content Canvas cha cc i tng cn hin th chnh trn window gi l Main Content Canvas

Chng 6: To Form vi Folder Block


3. To Canvas (tt)

Chng 6: To Form vi Folder Block


3. To Canvas (tt)
To mt Stacked Fix Canvas cha cc i tng c nh (tnh).

Chng 6: To Form vi Folder Block


3. To Canvas (tt)

Chng 6: To Form vi Folder Block


3. To Canvas (tt)
To mt Stacked Canvas cha cc i tng ng.

Chng 6: To Form vi Folder Block


3. To Canvas (tt)

Chng 6: To Form vi Folder Block


3. To Canvas (tt)

Lu { c 3 Canvas ny u phi thuc cng mt window.


C hai Stacked Canvas (Stacked Canvas & Stacked Fix Canvas) c to ra bng cch v trn Canvas chnh (Main Content Canvas)

Chng 6: To Form vi Folder Block


4. To Main Data Block & Prompt Data Block
To Data Block cha cc database item v Block ny c gi l Main Data Block
To Prompt Block cha cc item cn to Folder Block v c gi l Prompt Block Cc item ny c gn thuc tnh Display Item v thuc Class FOLDER_PROMPT_MULTIROW Ch { cc item ny phi trng tn vi cc item trong Main Data Block. Cc item trn Main Data Block thuc Canvas no th cc item trn Prompt Block cng thuc Canvas tng ng.

Chng 6: To Form vi Folder Block


4. To Main Data Block & Prompt Data Block (tt)
To cc item trn Prompt Block nh sau
o Item Name: FOLDER_TITLE Item Type: Display Item

Subclass Information: DYNAMIC_TITLE


Canvas: <Main_Content_Canvas> o Item Name: ORDER_BY1

Item Type: Push Button


Subclass Information: FOLDER_ORDERBY Canvas: <Main_Content_Canvas>

Chng 6: To Form vi Folder Block


4. To Main Data Block & Prompt Data Block (tt)
To cc item trn Prompt Block nh sau (tt)
o Item Name: ORDER_BY2 Item Type: Push Button

Subclass Information: FOLDER_ORDERBY


Canvas: <Main_Content_Canvas> o Item Name: ORDER_BY3

Item Type: Push Button


Subclass Information: FOLDER_ORDERBY Canvas: <Main_Content_Canvas>

Chng 6: To Form vi Folder Block


4. To Main Data Block & Prompt Data Block (tt)
To cc item trn Prompt Block nh sau (tt)
o Item Name: ORDER_BY4 Item Type: Push Button

Subclass Information: FOLDER_ORDERBY


Canvas: <Main_Content_Canvas> o Item Name: FOLDER_OPEN

Item Type: Push Button


Subclass Information: FOLDER_OPEN Canvas: <Main_Content_Canvas>

Chng 6: To Form vi Folder Block


4. To Main Data Block & Prompt Data Block (tt)
To cc item trn Prompt Block nh sau (tt)
o Item Name: FOLDER_DUMMY Item Type: Text Item

Subclass Information: FOLDER_DUMMY


Canvas: <Stacked_Fix_Canvas>

Chng 6: To Form vi Folder Block


5. Trigger
<Form_name> WHEN-NEW-FORM-INSTANCE
app_folder.define_folder_block ( <Form_name>, <Main_Data_Block>, <Prompt_Data_Block>, <Stacked_Canvas>, <Window_name>, NULL, -- Disable Function NULL, -- Tab Canvas <Stacked_Fix_Canvas> );

Chng 6: To Form vi Folder Block


5. Trigger (tt)
<Form_name> FOLDER_ACTION
app_folder.event(:global.folder_action);

<Form_name> FOLDER_RETURN_ACTION
null;

Chng 6: To Form vi Folder Block


5. Trigger (tt)
<Main_Data_Block> WHEN-NEW-BLOCK-INSTANCE
app_folder.event('WHEN-NEW-BLOCK-INSTANCE');

<Main_Data_Block> KEY-PREV-ITEM
if (:parameter.<Main_Data_Block>_RECORD_COUNT = 1) then previous_item; else app_folder.event('KEY-PREV-ITEM'); end if;

Chng 6: To Form vi Folder Block


5. Trigger (tt)
<Main_Data_Block> KEY-NEXT-ITEM
if (:parameter.<Main_Data_Block>_RECORD_COUNT = 1) then next_item; else app_folder.event('KEY-NEXT-ITEM'); end if;

<Main_Data_Block> PRE-BLOCK
app_folder.event('PRE-BLOCK');

Chng 6: To Form vi Folder Block


5. Trigger (tt)
<Main_Data_Block> POST-BLOCK
app_folder.event('POST-BLOCK');

<Main_Data_Block> PRE-QUERY
app_folder.event('PRE-QUERY');

<Main_Data_Block> POST-QUERY
app_folder.event('POST-QUERY');

<Main_Data_Block> KEY-EXEQRY
app_folder.event('KEY-EXEQRY');

Chng 6: To Form vi Folder Block


5. Trigger (tt)
<Prompt_Data_Block>.FOLDER_OPEN
WHEN-BUTTON-PRESSED
copy('OPEN', 'global.folder_action'); execute_trigger('folder_action');

Chng 7: To Form vi Descriptive Flexfield


1. Khi nim
Descriptive Flexfield l mt chc nng c bit ca Oracle Form Application.
Descriptive Flexfield cho php ngi dng nh ngha thm nhng thng tin cn lu tr ngoi nhng trng c sn trn mn hnh.

Descriptive Flexfield c xem nh l nhng khong trng sn c m ngi dng c th ty bin theo nhu cu lu tr ring.

Chng 7: To Form vi Descriptive Flexfield


1. Khi nim (tt)

Chng 7: To Form vi Descriptive Flexfield


2. nh ngha Descriptive Flexfield Database
nh ngha cu trc cho Desciptive Flexfield
ATTRIBUTE_CATEGORY (VARCHAR2(30), NULL ALLOWED)

nh ngha danh sch cc ct lu tr cho Descriptive Flexfield


ATTRIBUTE1, ATTRIBUTE2, . . . , ATTRIBUTEn (VARCHAR2(250), NULL ALLOWED)

Chng 7: To Form vi Descriptive Flexfield


2. ng k Table & Column vi Oracle Application
ng k{ Table vi Oracle Application Object Library s dng hm Table Registration API.
EXECUTE ad_dd.register_table(<Application_short_name>, <Table_name>, 'T', 4096, 10, 40);

ng k{ Clolumn vi Oracle Application Object Library s dng hm Column Registration API.


EXECUTE ad_dd.register_column(<Application_short_name>, <Table_name>, <Column_name>, <Column_ID>, <Data_type>, <Column_Length>, <Null (Y/N)>, 'N', NULL, NULL);

Chng 7: To Form vi Descriptive Flexfield


2. ng k Table & Column vi Oracle Application (tt)
V d:
EXECUTE ad_dd.register_table('INV', 'NHANNH_CLASS', 'T', 4096, 10, 40); EXECUTE ad_dd.register_column('INV', 'NHANNH_CLASS', 'CLASS_ID', 1, 'NUMBER', 30, 'N', 'N',15,0); EXECUTE ad_dd.register_column('INV', 'NHANNH_CLASS', 'CLASS_NAME', 2, 'VARCHAR2', 250, 'N', 'N',NULL,NULL); . . . COMMIT;

Chng 7: To Form vi Descriptive Flexfield


2. ng k Table & Column vi Oracle Application (tt)
ng dn: (Resp) Application Developer Application Database Table

Chng 7: To Form vi Descriptive Flexfield


2. ng k Table & Column vi Oracle Application (tt)
Xa ng k{ Clolumn vi Oracle Application Object Library s dng hm Column Registration API.
EXECUTE ad_dd.delete_column(<Application_short_name>, <Table_name>, <Column_name>);

Xa ng k{ Table vi Oracle Application Object Library s dng hm Table Registration API.


EXECUTE ad_dd.delete_table(<Application_short_name>, <Table_name>);

Chng 7: To Form vi Descriptive Flexfield


2. ng k Table & Column vi Oracle Application (tt)
V d:
EXECUTE ad_dd.delete_column('INV', 'NHANNH_CLASS', 'CLASS_ID'); EXECUTE ad_dd.delete_column('INV', 'NHANNH_CLASS', 'CLASS_NAME'); . . . EXECUTE ad_dd.delete_table('INV', 'NHANNH_CLASS); COMMIT;

Chng 7: To Form vi Descriptive Flexfield


3. ng k Descriptive Flexfield vi Application
ng dn: (Resp) Application Developer Application Descriptive Register

Chng 7: To Form vi Descriptive Flexfield


4. To Descriptive Flexfield trn Form
To Descriptive Flexfield Display Item
o Item Name: <DFF_name> Item Type: Text Item

Subclass Information: TEXT_ITEM_DESC_FLEX


Database Item: No Canvas: <Canvas_name>

Chng 7: To Form vi Descriptive Flexfield


4. To Descriptive Flexfield trn Form (tt)

Chng 7: To Form vi Descriptive Flexfield


5. Trigger
<Form_name> WHEN-NEW-FORM-INSTANCE
fnd_descr_flex.define ( block => <Block_name>, field => <DFF_name>, appl_short_name => <application_short_name>, desc_flex_name => <Descriptive Flexfield Name> );

<DFF_name> WHEN-NEW-ITEM-INSTANCE
FND_FLEX.EVENT('WHEN-NEW-ITEM-INSTANCE');

<DFF_name> WHEN-VALIDATE-ITEM
FND_FLEX.EVENT('WHEN-VALIDATE-ITEM');

Chng 7: To Form vi Descriptive Flexfield


6. Ci t Descriptive Flexfield trn Application
ng dn: (Resp) System Administrator Application Descriptive Segment

Chng 7: To Form vi Descriptive Flexfield


6. Ci t Descriptive Flexfield trn Application (tt)
ng dn: (Resp) System Administrator Application Descriptive Segment

Chng 7: To Form vi Descriptive Flexfield


7. Nhp liu Descriptive Flexfield

Chng 8: To Form vi mn hnh tm kim


1. To Find Block
To Find Block manual vi cc thuc tnh
o Block Name: <Block_name> Subclass Information: BLOCK

Previous Navigation Data Block: <Main_data_block>


Database Data Block: No Query Allowed: No

Query Data Source Type: None


DML Data Targer Type: None

Chng 8: To Form vi mn hnh tm kim


2. To Item tm kim trn Find Block
To Item tm kim vi cc thuc tnh
o Name: <Item_name> Item Type: Text Item

Subclass Information: TEXT_ITEM


List of Values: <List_of_value_name> Canvas: <Find_Canvas>

Chng 8: To Form vi mn hnh tm kim


2. To Item tm kim trn Find Block (tt)
To Button Clear (Nu cn)
o Name: CLEAR Item Type: Push Button

Subclass Information: BUTTON


Label: &Clear Default Button: No

Canvas: <Find_Canvas>

Chng 8: To Form vi mn hnh tm kim


2. To Item tm kim trn Find Block (tt)
To Button New (Nu cn)
o Name: NEW Item Type: Push Button

Subclass Information: BUTTON


Label: &New Default Button: No

Canvas: <Find_Canvas>

Chng 8: To Form vi mn hnh tm kim


2. To Item tm kim trn Find Block (tt)
To Button Find
o Name: FIND Item Type: Push Button

Subclass Information: BUTTON


Label: &Find Default Button: Yes

Canvas: <Find_Canvas>

Chng 8: To Form vi mn hnh tm kim


3. Trigger
<Main_Block> PRE_QUERY
IF (:parameter.G_query_find = 'TRUE') THEN COPY(:<Block_find>.<Item_name>, <Main_Block_name>.<Item_name>); [ . . . ] :parameter.G_query_find := 'FALSE'; END IF;

<Main_Block> QUERY_FIND
APP_FIND.QUERY_FIND(<Block_window>, <Find_window>, <Find_Block>);

Chng 8: To Form vi mn hnh tm kim


3. Trigger (tt)
<Find_Block> KEY_NXTBLK
:parameter.G_query_find := 'TRUE'; app_find.find(<Main_Block_name>); :parameter.G_query_find := 'FALSE';

<Find_Block>.CLEAR WHEN-BUTTON-PRESSED
app_find.clear;

<Find_Block>.NEW WHEN-BUTTON-PRESSED
app_find.new(<Main_Block_name>);

Chng 8: To Form vi mn hnh tm kim


3. Trigger (tt)
<Find_Block>.FIND WHEN-BUTTON-PRESSED
:parameter.G_query_find := 'TRUE'; app_find.find(<Main_Block_name>); :parameter.G_query_find := 'FALSE';

<Form> WHEN-NEW-FORM-INSTANCE
EXECUTE_TRIGGER('QUERY_FIND');

Chng 8: To Form vi mn hnh tm kim


4. Chy Form

Trn trng cm n!

You might also like