Perintah ini melakukan perhitungan pada saat masuk ke dalam field, ke luar dari field atau pada saat menekan tombol END.
HOOKS(master/trans/trans2) Cara Memakai: BEFORE_INPUT/AFTER_INPUT cur_field=namaField/EN DO_MAP namaMap BEFORE_INPUT/AFTER_INPUT cur_field=namaField/EN DO_MAP SHOW namaMap BEFORE_INPUT/AFTER_INPUT cur_field=namaField/EN DO_MAP SHOW IF namaCalcs namaMap namaCalcs namaMap namaCalcs namaMap ELSE HKCURSOR STAY/NOSTAY/HOME/namaField HKMSG pesan yang akan ditampilkan BEFORE_INPUT/AFTER_INPUT cur_field=namaField/EN DO_NXT_POSTING nomorScreen namaNxtMap BEFORE_INPUT/AFTER_INPUT cur_keybd=NamaField/EN DO_NXT_POSTING_IF namaCalc nomorScreen namaNxtMap Catatan: 1. Bila menggunakan DO_MAP atau DO_NXT_POSTING dengan IF maka a. bila salah satu calcs sudah memenuhi syarat, map untuk calcs tsb. dijalankan dan calcs selanjutnya tidak diperiksa lagi. 2. Bila semua calcs tidak memenuhi syarat dan ada bagian ELSE maka pesan ditampilkan dan kursor diatur sesuai dengan permintaan DAN HOOKS selanjutnya untuk field yang sama TIDAK DIJALANKAN!!. BEFORE_INPUT/AFTER_INPUT cur_field=namaField DO_LIB namaFungsiAp(parm, parm,parms); BEFORE_INPUT/AFTER_INPUT cur_field=namaField DO_LIB_IF namaCalcs namaFungsiAp (parm, parm,parms); BEFORE_INPUT/AFTER_INPUT cur_field=namaField DO_SKIP_IF namaCalcs BEFORE_INPUT/AFTER_INPUT cur_field=namaField DO_SCAN namaDbcalcs BEFORE_INPUT/AFTER_INPUT cur_field=namaField DO_SCAN_IF namaCalcs namaDbcalcs BEFORE_INPUT/AFTER_INPUT cur_field=namaField DO_OUT namaCalcs Daftar pilihan DO_LIB 1. DOEDITS - Semua EDITS untuk IMAGE ini dijalankan dulu. Bila ada EDITS yang tidak memenuhi syarat, DO_LIB gagal 2. DOEDITS_HOME - Sama seperti DOEDITS tapi kursor akan kembali ke field pertama bila EDITS gagal 3. ADD_ONLY - Hanya dijalankan pada saat penambahan rekord. 4. READ_AFTER - Rekord untuk IMAGE ini akan dibaca lagi dari hard-disk sesudah DO_LIB dilaksanakan. Kadang-kadang DO_LIB mengubah rekord yang di hard-disk dan pilihan ini memungkinkan kita untuk membuat rekord yang di layar sesuai dengan yang di hard-disk. Kapan HOOKS dijalankan? HOOKS dijalankan pada saat kursor masuk ke satu field, pada saat keluar atau pada saat menekan tombol tertentu, misalnya tombol END. HOOKS yang BEFORE_INPUT akan dijalankan pada saat masuk ke field. HOOKS ini tetap dijalankan meskipun field itu sendiri di PROTECT di atribut inputnya. HOOKS yang AFTER_INPUT dijalankan pada saat kursor akan keluar dari field tersebut tetapi sesudah EDITS dijalankan dulu. Dengan kata lain, EDITS akan dijalankan SEBELUM HOOKS yang AFTER_INPUT. Pada saat kursor keluar dari satu field, semua HOOKS yang AFTER_INPUT untuk field itu akan dijalankan sesuai dengan urutan dari atas kebawah. Bila ada satu dari HOOKS tersebut gagal (masuk ke bagian ELSE dari HOOKS) maka perintah perintah HOOKS selanjutnya TIDAK dijalankan. Bila tidak ada ELSE, perintah HOOKS selanjutnya tetap dijalankan.