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 10 Dibuat oleh: Lis Suryadi, M.Kom

2 Materi: Membuat Form Cetak Nota

3 Sasaran Belajar Agar mahasiswa :
Dapat mengerti dan membuat form master-detail untuk membangun sebuah aplikasi dengan menggunakan objek-objek yang ada di Form Builder. Dapat mengerti dan memahami penggunakan perintah-perintah PL/SQL dan perintah-perintah Data Manipulation Language(DML) di dalam Form. Dapat membuat cetakan formulir nota dengan menggunakan report builder.

4 Membuat Block Data pada Form Cetak Nota
Buatlah 2 buah Block Data dengan menggunakan Wizard, kemudian beri nama sebagai berikut : BlokNota , item-itemnya adalah : TxtNo_Nota, TxtTgl_Nota, TxtKdPlg, TxtNmPlg, TxtAlamat, TxtGrandtot, BSimpan, BCetak, BBatal dan BKeluar. BlokPesan, item-itemnya adalah : TxtKdbrg, TxtNmbrg, TxtSatuan, TxtHrgsat, TxtJml_Pesan dan TxtTotal.

5 Langkah-1: Me-running OC4J Instance

6 Sebelum Membuka Form Builder Running terlebih dulu OC4J Instance
Caranya: Dari Oracle Developer Suite --> Forms Developer --> Start OC4J Instance, sehingga akan tampil kotak dialog seperti berikut :

7 Langkah ke-2: Memanggil Forms Builder
Dari : Start -> Program -> Oracle Developer Suite -> Forms Developer -> Forms Builder. Sehingga akan tampil kotak dialog sebagai berikut :

8 Memanggil Form Builder

9 Langkah ke-3: Login Koneksi

10 Langkah ke-4: Membuat Form Baru

11 Memberi Nama Module 2 1

12 Membuat Object Alert 2 1

13 Membuat Data Block “BlokNota”

14 Membuat Data Block Menggunakan Wizard

15 Membuat Data Block Menggunakan Wizard

16 Memilih Tipe Data Block

17 Mencari Tabel atau View

18 Memilih Tabel Nota

19 Memilih Kolom Yang Ada Di Tabel
1 2

20 Memilih Kolom Sebagai Item Di Form

21 Memberi Nama Data Blok 1 2

22 Membuat Layout

23 Memulai Layout Wizard

24 Memilih Canvas Untuk Layout

25 Memilih Item Yang Akan Ditampilkan
1 2

26 Memilih Item Yang Akan Ditampilkan

27 Memberi Judul, Panjang dan Lebar Item

28 Memilih Model Layout

29 Memberi Judul Pada Frame

30 Tahap Akhir Pembuatan Data Block

31 Layout Yang Terbentuk

32 Membuat Data Block “BlokPesan”

33 Membuat Data Block BlokPesan

34 Membuat Data Block Menggunakan Wizard

35 Memilih Tipe Data Block

36 Mencari Tabel atau View

37 Memilih Tabel Pesan

38 Memilih Kolom Yang Ada Di Tabel
1 2

39 Memilih Kolom Yang Akan Ditampilkan

40 Memberi Nama Data Block

41 Membuat Layout Form

42 Memulai Layout Wizard

43 Memilih Canvas Untuk Meletakkan Desain Form

44 Memilih Item Yang Akan Ditampilkan
1 2

45 Memilih Item Yang Akan Ditampilkan

46 Memberi Judul, Panjang dan Lebar Item

47 Memilih Model Layout

48 Memasukkan Jumlah Record Yang Akan Ditampilkan

49 Tahap Akhir Pembuatan Data Block

50 Desain Form Cetak Nota Yang Terbentuk

51 Mendesain Ulang Form Cetak Nota

52 Struktur Data Block

53 Membuat Block PL/SQL dengan Trigger When-New-Form-Instance

54 Dengan Trigger When-New-Form-Instance
Block PL/SQL Dengan Trigger When-New-Form-Instance DECLARE judul VARCHAR2(100); BEGIN :global.koreksi:='F'; judul :=‘Form Cetak Nota‘; SET_WINDOW_PROPERTY('WINDOW1', WINDOW_STATE, MAXIMIZE); SET_WINDOW_PROPERTY('WINDOW1', TITLE, JUDUL); COUNTER_NONOTA(); GO_ITEM('bloknota.txtno_nota'); END;

55 Membuat Prosedur Counter_NoNota()
2 1

56 Membuat Prosedur Counter_NoNota
PROCEDURE COUNTER_NONOTA IS x NUMBER:=0; vnomor CHAR(7); TH CHAR(2); BEGIN SELECT MAX(to_number(SUBSTR(no_nota,5,3))) INTO x FROM nota; EXCEPTION WHEN NO_DATA_FOUND THEN x:=0; END; TH:=SUBSTR(TO_CHAR(SYSDATE,’YYYY’),3,2); x:=NVL(x,0)+1; IF LENGTH(x) = 1 THEN vnomor :=‘NT'||TH||’00’||TO_CHAR(x); ELSIF LENGTH(x) = 2 THEN ELSE vnomor :=TO_CHAR(x); END IF; :bloknota.txtno_nota:= vnomor;

57 Membuat Block PL/SQL Pada Object TxtNo_Nota
1 2

58 Block PL/SQL pada object TxtNo_Nota ketika Trigger Key-Next-Item
DECLARE ada NUMBER:=0; total NUMBER:=0; BEGIN SELECT COUNT(*) INTO ada FROM nota WHERE no_nota=:bloknota.txtno_nota; EXCEPTION WHEN NO_DATA_FOUND THEN ada:=0; END; IF ada <> 0 THEN -- Jika data nota ada, tampilkan datanya… SELECT nota.tgl_nota, nota.kdplg, pelanggan.nmplg, pelanggan.alamat INTO :bloknota.txttgl_nota, :bloknota.txtkdplg,:bloknota.txtnmplg, bloknota.txtalamat FROM nota, pelanggan WHERE nota.no_nota=:bloknota.txtno_nota AND nota.kdplg=pelanggan.kdplg; EXCEPTION WHEN NO_DATA_FOUND THEN :bloknota.txttgl_nota :=‘ ‘; :bloknota.txtkdplg :=‘ ‘; :bloknota.txtnmplg : :=‘ ‘; :bloknota.txtalamat :=‘ ‘; END;

59 Block PL/SQL pada object TxtNo_Nota Cont…
GO_BLOCK('blokpesan'); FIRST_RECORD; DECLARE CURSOR cur_pesan IS SELECT pesan.kdbrg, barang.nmbrg, barang.satuan, barang.hrgsat, pesan.jml_pesan, barang.hrgsat*pesan.jml_pesan as totalharga FROM pesan, barang WHERE pesan.kdbrg=barang.kdbrg AND pesan.no_nota=:bloknota.txtno_nota; vtampung cur_pesan%ROWTYPE; BEGIN :GLOBAL.jumrec :=1; OPEN cur_pesan; LOOP FETCH cur_pesan INTO vtampung; EXIT WHEN cur_pesan%NOTFOUND; :blokpesan.txtkdbrg := vtampung.kdbrg; :blokpesan.txtnmbrg := vtampung.nmbrg; :blokpesan.txtsatuan := vtampung.satuan; :blokpesan.txthrgsat := vtampung.hrgsat; :blokpesan.txtjml_pesan := vtampung.jml_pesan; :blokpesan.txttotal := vtampung.totalharga; NEXT_RECORD; total :=total+(vtampung.hrgsat * vtampung.jml_pesan); END LOOP; :bloknota.txtgrandtot :=total; END;

60 Block PL/SQL pada object TxtNo_Nota (Lanjutan)
GO_ITEM('blokpesan.txtkdbrg'); ELSE -- Jika data nota tidak ada, maka entri data baru… GO_ITEM('bloknota.txttgl_nota'); END IF; END;

61 1 Mengatur Properti Object TxtTGL_NOTA 2

62 Membuat Block PL/SQL Pada Object TxtTGL_NOTA
1 2

63 Block PL/SQL pada object TxtTgl_Nota ketika Trigger Key-Next-Item
BEGIN GO_ITEM('bloknota.txtkdplg'); END;

64 Membuat Block PL/SQL Pada Object TXTKDPLG dengan Trigger: Key-Next_Item
1 2

65 Block PL/SQL pada object TxtKdPlg ketika Trigger: Key-Next-Item
DECLARE ada NUMBER :=0; psn NUMBER :=0; BEGIN SELECT COUNT(*) INTO ada FROM pelanggan WHERE kdplg=:bloknota.txtkdplg; EXCEPTION WHEN NO_DATA_FOUND THEN ada:=0; END; IF ada <> 0 THEN SELECT nmplg, alamat INTO :bloknota.nmplg, :bloknota.alamat FROM pelanggan WHERE kdplg=:bloknota.kdplg; EXCEPTION WHEN NO_DATA_FOUND THEN :bloknota.nmplg :=‘ ’; :bloknota.alamat :=‘ ’; END; GO_ITEM(‘blokpesan.kdbrg’); ELSE SET_ALERT_PROPERTY('PESAN',ALERT_MESSAGE_TEXT,'Kode pelanggan tidak ada..'); psn:=SHOW_ALERT('PESAN'); RAISE FORM_TRIGGER_FAILURE; GO_ITEM('bloknota.txtdplg'); END IF;

66 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 :

67 Menyimpan Form Module Builder

68 Menyimpan Form Module Builder
1 2

69 Mengkompile PL/SQL 1 2

70 Proses Kompilasi Berhasil

71 Selamat Mencoba


Download ppt "Oracle : Form/Report Developer"

Presentasi serupa


Iklan oleh Google