16.6. Mengenal Perintah SCAN

Perintah SCAN berfungsi untuk membantu perintah EDIT bagian VALIDATE. PERINTAH VALIDATE ini mempunyai format pesan bila tidak memenuhi namaField VALIDATE namaIndex namaMap namaScan fieldPrefix ... fieldSuffix ... Mari kita ambil 1 baris perintah VALIDATE yang ada di bagian EDIT.


	EDIT(master)
	Kode Bank tidak ada bkknobbm  VALIDATE_IF cBK bbmrinbbmidx mbbm9 sbbm {Pstsrekbank}
	

Di sini kita lihat bahwa field bkkdvs akan divalidasi dengan menggunakan index dvskodidx, bila ketemu 1 rekord akan dilakukan map mbbm9 dan bila ditekan spasi akan muncul SCAN sbbm. Pertama kita masukkan bagian sbbm sbb: Letakkan progarm MAP(mbbm9) ini sesudah baris terakhir dari EDIT(master).


MAP(mbbm9)
bbmno       bkknobbm    REPLACE
bbmket      lbbmket     REPLACE
	
Untuk membuat program scan, anda tidak perlu mengetik dari awal, gunakan file contoh yang sudah disediakan. Nama file itu adalah scan dan berada di direktori kerangka. Untuk mengambil file scan dengan editor vi, letakkan posisi kursor di atas tulisan END_SCREEN, kemudian ketik :r kerangka/scan, maka file scan sudah terbaca ke dalam prt9000/sct271 yang sedanng kita edit. File scan yang muncul adalah sbb:


/****************************************************************************/
IMAGE(???head) {LSTFLD_ADVANCE} {FRSFLD_BACKUP}  {POP_UP} {BASE_ROW=7} {BASE_COLUMN=20}
/-------------Daftar xxxxxxxx---------------------\			
|  Kode           Keterangan                      |
|-------------------------------------------------|









|-------------------------------------------------|
|      Tekan ESC untuk keluar                     |
\-------------------------------------------------/

IMAGE(???roll) {POP_UP} {LSTFLD_ADVANCE} {FRSFLD_BACKUP} {BASE_ROW=10} {BASE_COLUMN=20}
  ______________  _______________________________ 

FIELD(???roll)
/* Nama Field    Input Attribute  Output Attribute  Input Order   */
   ???               NOCHANGE SCROLL          NONE              1  
   ???               PROTECT SCROLL           NONE              2  

SCAN(s???) {IMAGE_OUT=???head} {IMAGE_ROL=???roll} {IMAGE_INP=???roll} {SELECT_BAR} {ROLL_LINES=8} 
/* {SCAN_SCR_ADD=nomorScr} {SCAN_SELECT=namaCalcs} */
/* {SCAN_SCR_QRYFLD=fld_yg_diquery} {SCAN_SCR_EQLFLD=sama_dgn_fld_ini} */
	

Sekarang kita ubah ???head menjadi bbmhead dan ???roll menjadi bbmroll. Gunakan pencarian dengan /???, kemudian ubah dengan 3sbbm kemudian escape. Untuk nama field pertama diubah jadi bbmno dan field ke dua di bawahnya menjaid bbmket. Tulisan Daftar xxxxxxxxx sekalian diubah jadi Daftar Buku Besar.

Sesudah sct271 diparser lagi (kspar prt9000/sct271), jalankan ksrun -x9000 lagi (atau keluarkan ksrun yang sedang jalan dari sct271), kemudain masuk ke sct271 lagi. Tekan 't' untuk menambah rekord, tekan enter hingga sampai ke field bkkdvs (gunakan F7 bila ingin mengetahui nama field), kemudian tekan spasi untuk menjalankan SCAN sbbm, maka di layar akan mauncul sbb:

Sesudah SCAN untuk sbbm sudah dibuat, kita lanjutkan membuat SCAN(scab) dan SCAN(sdvs) dengan cara yang sama.