oracle : form/report developer

52
Oracle : Form/Report Developer Pertemuan 9 Dibuat oleh : Lis Suryadi, M.Kom

Upload: janna-ryan

Post on 01-Jan-2016

202 views

Category:

Documents


7 download

DESCRIPTION

Pertemuan 9. Oracle : Form/Report Developer. Dibuat oleh : Lis Suryadi , M.Kom. Materi : Membuat Form Entri Pelanggan. Sasaran Belajar. Agar mahasiswa : Dapat mengerti dan membuat form untuk membangun sebuah aplikasi dengan menggunakan objek-objek yang ada di Form Builder. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Oracle :  Form/Report Developer

Oracle : Form/Report Developer

Pertemuan 9

Dibuat oleh :

Lis Suryadi, M.Kom

Page 2: Oracle :  Form/Report Developer

Materi:Membuat Form Entri Pelanggan

Page 3: Oracle :  Form/Report Developer

Sasaran Belajar

Agar mahasiswa :• Dapat mengerti dan membuat form 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.

Page 4: Oracle :  Form/Report Developer

Membuat Form Master Pelanggan Dengan Menggunakan Wizard

Berikut ini adalah langkah-langkahnya : Dari Form Builder -> File -> New -> Form. Atau melalui Object Navigator.

Page 5: Oracle :  Form/Report Developer

Langkah-1: Me-running OC4J Instance

Page 6: Oracle :  Form/Report Developer

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 :

Page 7: Oracle :  Form/Report Developer

Langkah ke-2: Memanggil Forms Builder

Dari :

Start -> Program -> Oracle Developer Suite ->

Forms Developer -> Forms Builder.

Sehingga akan tampil kotak dialog sebagai berikut :

Page 8: Oracle :  Form/Report Developer

Memanggil Form Builder

Page 9: Oracle :  Form/Report Developer

Langkah ke-3: Login Koneksi

Page 10: Oracle :  Form/Report Developer

Langkah ke-4: Membuat Form Baru

Page 11: Oracle :  Form/Report Developer

Membuat Form Baru

1

2

Page 12: Oracle :  Form/Report Developer

Membuat Object Alert untuk pesan

1

2

Page 13: Oracle :  Form/Report Developer

Membuat Data Block Menggunakan Wizard

Page 14: Oracle :  Form/Report Developer

Membuat Data Block Menggunakan Wizard

Page 15: Oracle :  Form/Report Developer

Membuat Data Block Menggunakan Wizard

Page 16: Oracle :  Form/Report Developer

Memilih Tipe Data Block

Page 17: Oracle :  Form/Report Developer

Mencari Tabel atau View di Database

Page 18: Oracle :  Form/Report Developer

Memilih Tabel atau View dari Database

Page 19: Oracle :  Form/Report Developer

Memilih Kolom yang akan Ditampilkan di Layout Editor

Page 20: Oracle :  Form/Report Developer

Memilih Kolom yang akan Ditampilkan di Layout Editor

Page 21: Oracle :  Form/Report Developer

Memberi Nama Data Block

1

2

Page 22: Oracle :  Form/Report Developer

Memanggil Layout Wizard

Page 23: Oracle :  Form/Report Developer

Memilih Canvas yang akan digunakan untuk Layout Data Block

Page 24: Oracle :  Form/Report Developer

Memilih Item-item yang akan tampil di Frame

Page 25: Oracle :  Form/Report Developer

Memilih Item-item yang akan tampil di Frame

Page 26: Oracle :  Form/Report Developer

Menyetting Label, Panjang dan Lebar Item

1

2

Page 27: Oracle :  Form/Report Developer

Memilih Style Layout untuk Frame

1

2

Page 28: Oracle :  Form/Report Developer

Menyetting Judul Frame

1

2

Page 29: Oracle :  Form/Report Developer

Tahap Akhir Membuat Data Block Menggunakan Wizard

Page 30: Oracle :  Form/Report Developer

Hasil Akhir Layout Menggunakan Wizard

Page 31: Oracle :  Form/Report Developer

Buatlah Disain Form Seperti Berikut :

Page 32: Oracle :  Form/Report Developer

DECLARE

judul VARCHAR2(100);

BEGIN

:global.ubah:='T‘;

judul :=‘Form Entri Pelanggan‘;

SET_WINDOW_PROPERTY(WINDOW1, WINDOW_STATE, MAXIMIZE);

SET_WINDOW_PROPERTY(‘WINDOW1’, TITLE, judul);

-- Memanggil prosedur counter kode pelanggan

COUNTER_KDPLG();

GO_ITEM('blokplg.kdplg');

SET_ITEM_PROPERTY(‘blokplg.bkeluar',ENABLED,PROPERTY_TRUE);

SET_ITEM_PROPERTY('blokplg.bhapus',ENABLED,PROPERTY_FALSE);

SET_ITEM_PROPERTY('blokplg.bbatal',ENABLED,PROPERTY_FALSE);

SET_ITEM_PROPERTY('blokplg.bsimpan',ENABLED,PROPERTY_FALSE);

END;

Block PL/SQLketika Trigger When-New-Form-Instance

Page 33: Oracle :  Form/Report Developer

Membuat Prosedur Counter_KdPlgPROCEDURE COUNTER_KDPLG IS

x NUMBER:=0;

vnomor CHAR(5);

BEGIN

BEGIN

SELECT MAX(TO_NUMBER(SUBSTR(kdplg,2,5)))

INTO x

FROM pelanggan

ORDER BY kdplg;

EXCEPTION WHEN NO_DATA_FOUND THEN

x:=0;

END;

---(***)

Page 34: Oracle :  Form/Report Developer

---(***) Koding program lanjutan …

x:=NVL(x,0)+1;

IF LENGTH(x) = 1 THEN

vnomor :='P'||'000'||TO_CHAR(x);

ELSIF LENGTH(x) = 2 THEN

vnomor :='P'||'00'||TO_CHAR(x);

ELSIF LENGTH(x) = 3 THEN

vnomor :='P'||'0'||TO_CHAR(x);

ELSE

vnomor :=TO_CHAR(x);

END IF;

:blokplg.kdplg:= vnomor;

END;

Membuat Procedure Counter_KdPlg

Page 35: Oracle :  Form/Report Developer

DECLARE

ada NUMBER:=0;

BEGIN

BEGIN

SELECT COUNT(*) INTO ada FROM pelanggan

WHERE kdplg=:blokplg.kdplg;

EXCEPTION WHEN NO_DATA_FOUND THEN

ada:=0;

END;

IF ada <> 0 THEN

:global.ubah :='T';

--- (***)

Block PL/SQL pada object TxtKdBrg ketika Trigger Key-Next-Item

Page 36: Oracle :  Form/Report Developer

--- (***) Koding program lanjutan ….

BEGIN

SELECT nmplg, alamat

INTO :blokplg.nmplg, :blokplgn.alamat

FROM pelanggan

WHERE kdplg=:blokplg.kdplg;

EXCEPTION WHEN NO_DATA_FOUND THEN

:blokplg.nmplg :=‘ ';

:blokplg.alamat :=‘ ';

END;

GO_ITEM('blokplg.nmplg');

SET_ITEM_PROPERTY('blokplg.bhapus',ENABLED,PROPERTY_TRUE);

SET_ITEM_PROPERTY('blokplg.bbatal',ENABLED,PROPERTY_TRUE);

SET_ITEM_PROPERTY(‘blokplg.bkeluar',ENABLED,PROPERTY_FALSE);

SET_ITEM_PROPERTY('blokplg.bsimpan',ENABLED,PROPERTY_TRUE);

Block PL/SQL pada object KdPlg ketika Trigger Key-Next-Item

Page 37: Oracle :  Form/Report Developer

---(***) Koding program lanjutan

ELSE

:global.ubah:='F';

GO_ITEM('blokplg.nmplg');

SET_ITEM_PROPERTY('blokplg.bsimpan',ENABLED,PROPERTY_TRUE);

SET_ITEM_PROPERTY('blokplg.bbatal',ENABLED,PROPERTY_TRUE);

SET_ITEM_PROPERTY('blokplg.bkeluar',ENABLED,PROPERTY_FALSE);

SET_ITEM_PROPERTY('blokplg.bhapus',ENABLED,PROPERTY_FALSE);

END IF;

END;

Block PL/SQL pada object KdPlg ketika Trigger Key-Next-Item

Page 38: Oracle :  Form/Report Developer

DECLARE

ada NUMBER:=0; psn NUMBER:=0;

BEGIN

BEGIN

SELECT COUNT(*) INTO ada

FROM pelanggan

WHERE kdplg=:blokplg.kdplg;

EXCEPTION WHEN NO_DATA_FOUND THEN

ada:=0;

END;

IF ada <> 0 THEN

UPDATE pelanggan

SET nmplg=:blokplg.nmplg, alamat=:blokplg.alamat

WHERE kdplg=:blokplg.kdplg;

COMMIT;

SET_ALERT_PROPERTY('PESAN',ALERT_MESSAGE_TEXT,'Berhasil diubah....');

psn:=SHOW_ALERT('PESAN');

Block PL/SQL pada object BSimpanketika Trigger When-Button-Pressed

Page 39: Oracle :  Form/Report Developer

---(***) Lanjutan

ELSE

INSERT INTO pelanggan(kdplg, nmplg, alamat)

VALUES(:blokplg.kdplg, :blokplg.nmplg, :blokplg.alamat);

COMMIT;

SET_ALERT_PROPERTY('PESAN',ALERT_MESSAGE_TEXT,'Berhasil disimpan....');psn:=SHOW_ALERT('PESAN');

END IF;

CLEAR_MESSAGE;

CLEAR_FORM;

COUNTER_KDPLG();

GO_ITEM(‘blokplg.kdplg');

SET_ITEM_PROPERTY('blokplg.bkeluar',ENABLED,PROPERTY_TRUE);

SET_ITEM_PROPERTY('blokplg.bhapus',ENABLED,PROPERTY_FALSE);

SET_ITEM_PROPERTY('blokplg.bbatal',ENABLED,PROPERTY_FALSE);

SET_ITEM_PROPERTY('blokplg.bsimpan',ENABLED,PROPERTY_FALSE);

END;

Block PL/SQL pada object BSimpanketika Trigger When-Button-Pressed

Page 40: Oracle :  Form/Report Developer

Membuat Alertuntuk Konfirmasi Penghapusan Data

1

2

3

Page 41: Oracle :  Form/Report Developer

DECLARE

ada NUMBER:=0; psn NUMBER:=0;

BEGIN

psn:= SHOW_ALERT('pesan_hapus');

IF psn= Alert_Button1 THEN

DELETE pelanggan

WHERE kdplg=:blokplg.txtkdplg;

COMMIT;

CLEAR_MESSAGE;

SET_ALERT_PROPERTY('PESAN',ALERT_MESSAGE_TEXT,'Berhasil dihapus....');

psn:=SHOW_ALERT('PESAN');

END IF;

CLEAR_MESSAGE;

CLEAR_FORM;

COUNTER_KDPLG();

GO_ITEM(‘blokplg.kdplg');

Block PL/SQL pada object BHapusketika Trigger When-Button-Pressed

Page 42: Oracle :  Form/Report Developer

SET_ITEM_PROPERTY('blokplg.bkeluar',ENABLED,PROPERTY_TRUE);

SET_ITEM_PROPERTY('blokplg.bhapus',ENABLED,PROPERTY_FALSE);

SET_ITEM_PROPERTY('blokplg.bbatal',ENABLED,PROPERTY_FALSE);

SET_ITEM_PROPERTY('blokplg.bsimpan',ENABLED,PROPERTY_FALSE);

END;

Block PL/SQL pada object BHapusketika Trigger When-Button-Pressed

Page 43: Oracle :  Form/Report Developer

BEGIN

CLEAR_MESSAGE;

CLEAR_FORM;

COUNTER_KDPLG();

GO_ITEM(‘blokplg.kdplg');

SET_ITEM_PROPERTY('blokplg.bkeluar',ENABLED,PROPERTY_TRUE);

SET_ITEM_PROPERTY('blokplg.bhapus',ENABLED,PROPERTY_FALSE);

SET_ITEM_PROPERTY('blokplg.bbatal',ENABLED,PROPERTY_FALSE);

SET_ITEM_PROPERTY('blokplg.bsimpan',ENABLED,PROPERTY_FALSE);

END;

Block PL/SQL pada object BBatalketika Trigger When-Button-Pressed

Page 44: Oracle :  Form/Report Developer

BEGIN

EXIT_FORM;

END;

Block PL/SQL pada object BKeluarketika Trigger When-Button-Pressed

Page 45: Oracle :  Form/Report Developer

Langkah ke-4: Menyimpan Modul Form Entry Pelanggan

Dari menu File Save As

Pilih Direktori Penyimpanan (misalkan di E:\Oracle ),

Beri nama FrmEntryPlg, dan

Disimpan dengan tipe .FMB.

Seperti kotak dialog berikut :

Page 46: Oracle :  Form/Report Developer

1 2

Page 47: Oracle :  Form/Report Developer

Hasil Setelah Disimpan

Page 48: Oracle :  Form/Report Developer

Langkah ke-5: Mengkompile PL/SQL

12

Page 49: Oracle :  Form/Report Developer

Hasil Setelah Dikompile

Page 50: Oracle :  Form/Report Developer

Program Setelah Dirunning

Page 51: Oracle :  Form/Report Developer

Lengkapilah Form Entri Pelanggandengan List Of Values (LOV)

Pelanggan.

Page 52: Oracle :  Form/Report Developer

Selamat Mencoba