oracle : form/report developer

48
Oracle : Form/Report Developer Pertemuan 6 Dibuat oleh : Lis Suryadi, M.Kom

Upload: aristotle-farley

Post on 01-Jan-2016

128 views

Category:

Documents


10 download

DESCRIPTION

Pertemuan 6. Oracle : Form/Report Developer. Dibuat oleh : Lis Suryadi , M.Kom. Materi : Membuat Form Entri Barang. 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 6

Dibuat oleh :

Lis Suryadi, M.Kom

Page 2: Oracle :  Form/Report Developer

Materi : Membuat Form Entri Barang

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

Langkah-1: Me-running OC4J Instance

Page 5: 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 6: 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 7: Oracle :  Form/Report Developer

Memanggil Form Builder

Page 8: Oracle :  Form/Report Developer

Langkah ke-3:Membuat Data Block

• Data Block WizardMembuat data block yang mengambil tabel dan kolom dari database dengan menggunakan wizard.

• ManualMembuat data block yang dilakukan dengan cara manual.

Page 9: Oracle :  Form/Report Developer

Langkah ke-3: Login Koneksi

Page 10: Oracle :  Form/Report Developer

Membuat Form Baru

Page 11: Oracle :  Form/Report Developer

Memberi Nama Module

1

2

Page 12: Oracle :  Form/Report Developer

Membuat Object Alert untuk pesan

1

2

Page 13: Oracle :  Form/Report Developer

Membuat Data Block secara Manual

Page 14: Oracle :  Form/Report Developer

Membuat Data Block secara Manual

1

2

Page 15: Oracle :  Form/Report Developer

Memberi Nama Data Block

1

2

Page 16: Oracle :  Form/Report Developer

DesainForm Entry

Barang

Page 17: Oracle :  Form/Report Developer

Setting Property Palettepada object Text_Item1

Page 18: Oracle :  Form/Report Developer

Setting Property Palettepada object Text_Item1

1

2

Page 19: Oracle :  Form/Report Developer

Setting Property Palettepada object Push_Button1

1

2

Page 20: Oracle :  Form/Report Developer

Setting Property Palettepada object Text_Item2

1

2

Page 21: Oracle :  Form/Report Developer

Setting Property Palettepada object Text_Item3

1

2

Page 22: Oracle :  Form/Report Developer

Setting Property Palettepada object Text_Item4

1

2

Page 23: Oracle :  Form/Report Developer

Setting Property Palettepada object Push_Button2

Page 24: Oracle :  Form/Report Developer

Setting Property Palettepada object Push_Button2

Page 25: Oracle :  Form/Report Developer

Setting Property Palettepada object Push_Button3

Page 26: Oracle :  Form/Report Developer

Setting Property Palettepada object Push_Button4

Page 27: Oracle :  Form/Report Developer

Desain Form Entry Barang

Page 28: Oracle :  Form/Report Developer

DECLARE

judul VARCHAR2(100);

BEGIN

:global.ubah:='T‘;

judul :=‘Form Entri Barang‘;

SET_WINDOW_PROPERTY(WINDOW1, WINDOW_STATE, MAXIMIZE);

SET_WINDOW_PROPERTY(‘WINDOW1’, TITLE, judul);

COUNTER_KDBRG();

GO_ITEM('blokbrg.txtkdbrg');

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

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

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

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

END;

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

Page 29: Oracle :  Form/Report Developer

Membuat Prosedur Counter_KdBrg()

1

2

Page 30: Oracle :  Form/Report Developer

PROCEDURE COUNTER_KDBRG IS

x NUMBER:=0;

vnomor CHAR(5);

BEGIN

BEGIN

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

INTO x

FROM barang

ORDER BY kdbrg;

EXCEPTION WHEN NO_DATA_FOUND THEN

x:=0;

END;

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

---(***)

Membuat Prosedur Counter_KdBrg()

Page 31: Oracle :  Form/Report Developer

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

IF LENGTH(x )= 1 THEN

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

ELSIF LENGTH(x) = 2 THEN

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

ELSIF LENGTH(x) = 3 THEN

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

ELSE

vnomor :=TO_CHAR(x);

END IF;

:blokbrg.txtkdbrg:= vnomor;

END;

Membuat Prosedur Counter_KdBrg()

Page 32: Oracle :  Form/Report Developer

DECLARE

ada NUMBER:=0;

BEGIN

BEGIN

SELECT COUNT(*) INTO ada

FROM barang

WHERE kdbrg=:blokbrg.txtkdbrg;

EXCEPTION WHEN NO_DATA_FOUND THEN

ada:=0;

END;

IF ada <> 0 THEN

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

Page 33: Oracle :  Form/Report Developer

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

BEGIN

SELECT nmbrg, satuan, hrgsat

INTO :blokbrg.txtnmbrg, :blokbrg.txtsatuan, :blokbrg.txthrgsat

FROM barang

WHERE kdbrg=:blokbrg.txtkdbrg;

EXCEPTION WHEN NO_DATA_FOUND THEN

:blokbrg.txtnmbrg :=‘ ';

:blokbrg.txtsatuan :=‘ ';

:blokbrg.txthrgsat :=‘ ';

END;

GO_ITEM('blokbrg.txtnmbrg');

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

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

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

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

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

Page 34: Oracle :  Form/Report Developer

---(***) Koding program lanjutan

ELSE

GO_ITEM('blokbrg.txtnmbrg');

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

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

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

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

END IF;

END;

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

Page 35: Oracle :  Form/Report Developer

DECLARE

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

BEGIN

BEGIN

SELECT COUNT(*) INTO ada FROM barang

WHERE kdbrg=:blokbrg.txtkdbrg;

EXCEPTION WHEN NO_DATA_FOUND THEN

ada:=0;

END;

IF ada <> 0 THEN

UPDATE barang

SET nmbrg=:blokbrg.txtnmbrg, satuan=:blokbrg.txtsatuan, hrgsat=:blokbrg.txthrgsat

WHERE kdbrg=:blokbrg.txtkdbrg;

COMMIT;

SET_ALERT_PROPERTY('PESAN',ALERT_MESSAGE_TEXT,'Data berhasil diubah....');

psn:=SHOW_ALERT('PESAN');

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

Page 36: Oracle :  Form/Report Developer

ELSE

INSERT INTO barang(kdbrg, nmbrg, satuan, hrgsat)

VALUES (:blokbrg.txtkdbrg, :blokbrg.txtnmbrg, :blokbrg.txtsatuan, :blokbrg.txthrgsat);

COMMIT;

SET_ALERT_PROPERTY('PESAN',ALERT_MESSAGE_TEXT,'Data berhasil disimpan....');

psn:=SHOW_ALERT('PESAN');

END IF;

CLEAR_MESSAGE;

CLEAR_FORM;

COUNTER_KDBRG();

GO_ITEM('blokbrg.txtkdbrg');

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

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

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

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

END;

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

Page 37: Oracle :  Form/Report Developer

Membuat Object Alert

1

2

3

Page 38: Oracle :  Form/Report Developer

DECLARE

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

BEGIN

psn:=SHOW_ALERT('pesan_hapus');

IF psn=Alert_Button1 THEN

DELETE barang

WHERE kdbrg=:blokbrg.txtkdbrg;

COMMIT;

CLEAR_MESSAGE;

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

psn:=SHOW_ALERT('PESAN');

END IF;

CLEAR_MESSAGE;

CLEAR_FORM;

COUNTER_KDBRG();

GO_ITEM('blokbrg.txtkdbrg');

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

Page 39: Oracle :  Form/Report Developer

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

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

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

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

END;

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

Page 40: Oracle :  Form/Report Developer

BEGIN

CLEAR_MESSAGE;

CLEAR_FORM;

COUNTER_KDBRG();

GO_ITEM('blokbrg.txtkdbrg');

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

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

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

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

END;

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

Page 41: Oracle :  Form/Report Developer

BEGIN

EXIT_FORM;

END;

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

Page 42: Oracle :  Form/Report Developer

Menyimpan Modul Form Entry Barang

Dari menu File Save As

Pilih Direktori Penyimpanan (misalkan di

E:\Oracle ),

Beri nama FrmEntryBrg, dan

Disimpan dengan tipe .FMB.

Seperti kotak dialog berikut :

Page 43: Oracle :  Form/Report Developer

1 2

Page 44: Oracle :  Form/Report Developer

Hasil Setelah Disimpan

Page 45: Oracle :  Form/Report Developer

Mengkompile PL/SQL

12

Page 46: Oracle :  Form/Report Developer

Hasil Setelah Dikompile

Page 47: Oracle :  Form/Report Developer

Program Setelah Dirunning

Page 48: Oracle :  Form/Report Developer

Selamat Mencoba