oracle : form/report developer

Post on 01-Jan-2016

203 Views

Category:

Documents

7 Downloads

Preview:

Click to see full reader

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

Oracle : Form/Report Developer

Pertemuan 9

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.

• Dapat mengerti dan memahami penggunakan perintah-perintah PL/SQL dan perintah-perintah Data Manipulation Language(DML) di dalam Form.

Membuat Form Master Pelanggan Dengan Menggunakan Wizard

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

Langkah-1: Me-running OC4J Instance

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 :

Langkah ke-2: Memanggil Forms Builder

Dari :

Start -> Program -> Oracle Developer Suite ->

Forms Developer -> Forms Builder.

Sehingga akan tampil kotak dialog sebagai berikut :

Memanggil Form Builder

Langkah ke-3: Login Koneksi

Langkah ke-4: Membuat Form Baru

Membuat Form Baru

1

2

Membuat Object Alert untuk pesan

1

2

Membuat Data Block Menggunakan Wizard

Membuat Data Block Menggunakan Wizard

Membuat Data Block Menggunakan Wizard

Memilih Tipe Data Block

Mencari Tabel atau View di Database

Memilih Tabel atau View dari Database

Memilih Kolom yang akan Ditampilkan di Layout Editor

Memilih Kolom yang akan Ditampilkan di Layout Editor

Memberi Nama Data Block

1

2

Memanggil Layout Wizard

Memilih Canvas yang akan digunakan untuk Layout Data Block

Memilih Item-item yang akan tampil di Frame

Memilih Item-item yang akan tampil di Frame

Menyetting Label, Panjang dan Lebar Item

1

2

Memilih Style Layout untuk Frame

1

2

Menyetting Judul Frame

1

2

Tahap Akhir Membuat Data Block Menggunakan Wizard

Hasil Akhir Layout Menggunakan Wizard

Buatlah Disain Form Seperti Berikut :

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

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;

---(***)

---(***) 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

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

--- (***) 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

---(***) 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

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

---(***) 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

Membuat Alertuntuk Konfirmasi Penghapusan Data

1

2

3

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

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

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

BEGIN

EXIT_FORM;

END;

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

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 :

1 2

Hasil Setelah Disimpan

Langkah ke-5: Mengkompile PL/SQL

12

Hasil Setelah Dikompile

Program Setelah Dirunning

Lengkapilah Form Entri Pelanggandengan List Of Values (LOV)

Pelanggan.

Selamat Mencoba

top related