Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Oracle : Form/Report Developer

Presentasi serupa


Presentasi berjudul: "Oracle : Form/Report Developer"— Transcript presentasi:

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


Download ppt "Oracle : Form/Report Developer"

Presentasi serupa


Iklan oleh Google