16.9. Mengenal Perintah RESTRICT

RESTRICT adalah fasilitas untuk membatasi (tidak dapat melakukan) perubahan, penambahan, dan penghapusan data apabila kondisi RESTRICT terpenuhi. Susunan RESTRICT adalah sebagai berikut:


	RESTRICT(master/trans/transa)
	RST_ADD_COND nama kondisi (tidak bisa menambah record ketika kondisi terpenuhi)
	RST_UPD_COND nama kondisi (tidak bisa mengubah record ketika kondisi terpenuhi)
	RST_DEL_COND nama kondisi (tidak bisa menghapus record ketika kondisi terpenuhi)
	RST_DET_COND nama kondisi (tidak bisa masuk ke detail bila kondisi terpenuhi)
	RST_IGNDET_COND nama kondisi (boleh menghapus master meskipun ada detailnya bila kondisi terpenuhi)
	RST_EXIT_COND nama kondisi (tidak bisa keluar dari layar bila kondisi tidak terpenuhi)
	RST_EXIT_MSG nama pesan (pesan yang ditampilkan ketika kondisi RST_EXIT_COND tidak terpenuhi)

	contoh untuk penggunaan perintah RESTRICT ini di layar 271 adalah sebagai berikut :

	CALCS()
	cnotOPEN	bkksts !=OPEN
	csamajml	bkkjmlmut - bkktotal == 0.0

	RESTRICT(master)
        	RST_UPD_COND cnotOPEN
	        RST_DEL_COND cnotOPEN
		RST_EXIT_COND   csamajml
		RST_EXIT_MSG Jml Kas dgn Biaya Tdk Sama

	Keterangan dari perintah di atas adalah sebagai berikut:
	1. RST_UPD_COND cnotOPEN : ketika kondisi cnotOPEN terpenuhi yaitu isi dari field bkksts bukan OPEN maka kita tidak bisa
	   mengubah data yang ada di master.
	2. RST_DEL_COND cnotOPEN : ketika kondisi cnotOPEN terpenuhi yaitu isi dari field bkksts bukan OPEN maka kita tidak bisa
	   menghapus data yang ada di master.
	3. RST_EXIT_COND : kita hanya dapat keluar dari layar 271 apabila kondisi csamajml terpenuhi. Jika kondisi tersebut tidak
	   terpenuhi maka kita tidak akan bisa keluar dari layar 271.
	4. RST_EXIT_MSG : Akan menampilkan pesan "Jml Kas dgn Biaya Tdk Sama" apabila RST_EXIT_COND tidak memenuhi kondisi.