oracle : form/report developer
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 PresentationTRANSCRIPT
Oracle : Form/Report Developer
Pertemuan 6
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.
• Dapat mengerti dan memahami penggunakan perintah-perintah PL/SQL dan perintah-perintah Data Manipulation Language(DML) di dalam Form.
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: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.
Langkah ke-3: Login Koneksi
Membuat Form Baru
Memberi Nama Module
1
2
Membuat Object Alert untuk pesan
1
2
Membuat Data Block secara Manual
Membuat Data Block secara Manual
1
2
Memberi Nama Data Block
1
2
DesainForm Entry
Barang
Setting Property Palettepada object Text_Item1
Setting Property Palettepada object Text_Item1
1
2
Setting Property Palettepada object Push_Button1
1
2
Setting Property Palettepada object Text_Item2
1
2
Setting Property Palettepada object Text_Item3
1
2
Setting Property Palettepada object Text_Item4
1
2
Setting Property Palettepada object Push_Button2
Setting Property Palettepada object Push_Button2
Setting Property Palettepada object Push_Button3
Setting Property Palettepada object Push_Button4
Desain Form Entry Barang
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
Membuat Prosedur Counter_KdBrg()
1
2
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()
---(***) 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()
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
---(***) 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
---(***) 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
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
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
Membuat Object Alert
1
2
3
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
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
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
BEGIN
EXIT_FORM;
END;
Block PL/SQL pada object BKeluarketika Trigger When-Button-Pressed
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 :
1 2
Hasil Setelah Disimpan
Mengkompile PL/SQL
12
Hasil Setelah Dikompile
Program Setelah Dirunning
Selamat Mencoba