Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Oracle : Form/Report Developer
Pertemuan 11 Dibuat Oleh : Lis Suryadi, M.Kom
2
Materi: Membuat Form Cetak Nota Lanjutan
3
Block PL/SQL pada object TxtKdBrg Dengan Trigger: Key-Next-Item
1 2
4
Block PL/SQL pada object TxtKdBrg Dengan Trigger: Key-Next-Item
DECLARE ada NUMBER:=0; psn NUMBER:=0; BEGIN SELECT COUNT(*) INTO ada FROM barang WHERE kdbrg=:blokpesan.txtkdbrg; EXCEPTION WHEN NO_DATA_FOUND THEN ada:=0; END;
5
Block PL/SQL pada object TxtKdBrg Dengan Trigger: Key-Next-Item
IF ada<> 0 THEN BEGIN SELECT nmbrg, satuan, hrgsat INTO :blokpesan.txtnmbrg, :blokpesan.txtsatuan, :blokpesan.txthrgsat FROM barang WHERE kdbrg=:blokpesan.txtkdbrg; EXCEPTION WHEN NO_DATA_FOUND THEN :blokpesan.txtnmbrg :=‘ ‘; :blokpesan.txtsatuan :=‘ ‘; :blokpesan.txthrgsat :=‘ '; END; go_item('blokpesan.txtjml_pesan'); ELSE SET_ALERT_PROPERTY('pesan',ALERT_MESSAGE_TEXT,'Kode barang tersebut tidak ada..'); psn:= SHOW_ALERT('pesan'); RAISE FORM_TRIGGER_FAILURE; GO_ITEM('blokpesan.txtkdbrg'); END IF;
6
Membuat Block PL/SQL Pada Object TxtJml_Pesan Dengan Trigger: Key-Next-Item
1 2
7
Block PL/SQL pada object TxtQty Ketika Trigger Key-Next-Item
DECLARE jumlah number:=0; total number:=0; BEGIN :blokpesan.txttotal := :blokpesan.txthrgsat * :blokpesan.txtjml_pesan; FIRST_RECORD; WHILE :blokpesan.txthrgsat IS NOT NULL LOOP IF :GLOBAL.koreksi = 'T' THEN jumlah :=jumlah+ :blokpesan.txtjumlah; :blokpesan.txttotal :=jumlah; NEXT_RECORD; ELSE jumlah :=jumlah + :blokpesan.txttotal; END IF; END LOOP; :bloknota.txtgrandtot :=jumlah; END;
8
Membuat Block PL/SQL Pada Object Bsimpan Dengan Trigger: When-Button-Pressed
1 2
9
Block PL/SQL pada object BSimpan ketika Trigger: When-Button-Pressed
DECLARE adaNota NUMBER:=0; adaPesan NUMBER:=0; BEGIN SELECT COUNT(*) INTO adaNota FROM nota WHERE no_nota = :bloknota.txtno_nota; EXCEPTION WHEN NO_DATA_FOUND THEN x:=0; END; IF adaNota <> 0 THEN UPDATE nota SET tgl_nota = :bloknota.txttgl_nota, kdplg=:bloknota.txtkdplg WHERE no_nota = :bloknota.txtno_nota; COMMIT; CLEAR_MESSAGE; ELSE INSERT INTO nota(no_nota,tgl_nota, kdplg) VALUES(:bloknota.txtno_nota,:bloknota.txttgl_nota,:bloknota.txtkdplg); END IF;
10
Block PL/SQL Continue …
GO_BLOCK('blokpesan'); FIRST_RECORD; WHILE :blokpesan.txtkdbrg is NOT NULL LOOP BEGIN SELECT COUNT(*) INTO adaPesan FROM pesan WHERE no_nota=:bloknota.txtno_nota AND kdbrg=:blokpesan.txtkdbrg; EXCEPTION WHEN NO_DATA_FOUND THEN adaPesan:=0; END; IF adaPesan <> 0 THEN UPDATE pesan SET jml_pesan=:blokpesan.txtqty WHERE no_nota=:bloknota.txtno_nota AND kdbrg=:blokpesan.txtkdbrg; COMMIT; CLEAR_MESSAGE; -- *) Lanjutan…
11
Block PL/SQL Continue …
-- *) Lanjutan … ELSE INSERT INTO pesan(no_nota, kdbrg, jml_pesan) VALUES(:bloknota.txtno_nota, :blokpesan.txtkdbrg, :blokpesan.txtjml_pesan); COMMIT; CLEAR_MESSAGE; END IF; CLEAR_RECORD; IF :blokpesan.txtkdbrg IS NULL THEN EXIT; END LOOP; CLEAR_FORM; counter_nonota(); GO_ITEM('bloknota.txtno_nota'); END;
12
Block PL/SQL pada object BBatal Dengan Trigger: When-Button-Pressed
BEGIN CLEAR_FORM; CLEAR_RECORD; Counter_Nonota(); go_item('bloknota.txtno_nota'); END;
13
Block PL/SQL pada object BKeluar Dengan Trigger: When-Button-Pressed
BEGIN EXIT_FORM; END;
14
Menyimpan Modul Form Cetak Nota
Dari menu File Save As Pilih Direktori Penyimpanan, (misalkan di E:\ ORA ), Beri nama FrmCetakNota.FMB, dan Disimpan dengan tipe .FMB. Seperti kotak dialog berikut :
15
Menyimpan Form Module Builder
16
Menyimpan Form Module Builder
1 2
17
Mengkompile PL/SQL 1 2
18
Proses Kompilasi Berhasil
19
Program Setelah Dijalankan
20
Selamat Mencoba
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.