Program Ksystem terdiri dari 19 perintah sbb:
SCREEN
IMAGE
FIELD
EDIT
DEFAULT
RESTRICT
HELP
LOCAL
HOOKS
CALCS
MAP
SUBFILE
SCAN
MASTER_MP
DBCALCS
SPCALCS
POSTING
RTREE
END_SCREEN
Setiap program Ksystem diawali dengan perintah SCREEN. Perintah SCREEN ini memberi informasi nomor layar, tipe layar dan judul dari layar ini yang akan ditampilkan di sistem menu.
Cara Memakai: SCREEN nomor_layar tipe_layar judul_layar Contoh: SCREEN 201 QUERY_TYPE Input Keluar Kas/Bank Nomor Layar mempunyai ruang lingkup dari 0 s/d 9999 Tipe layar: MENU_TYPE Layar tipe menu QUERY_TYPE Layar tipe query QUERY_ROOT_TYPE Layar tipe query khusus untuk grup ROOT dan grup RI. User lain tidak kelihatan. APPLICATION_TYPE Layar applikasi APP_TYPE sama dengan APPLICATION_TYPE APP_TYPE_NXT layar aplikasi untuk posting lanjutan APP_TYPE_NXT_LOOP layar aplikasi untuk posting lanjutan dan mampu mengulang ulang layar ini sendiri dengan menggunakan kondisi SCR_LOOP_COND MONITOR_TYPE Layar monitor REPORT_TYPE Layar laporan Judul layar dapat diisi sembarang karakter yang dapat dicetak Pilihan pada SCREEN: SCR_FILE namaFile Khusus QUERY_TYPE atau MONITOR_TYPE, pilihan ini harus diisi untuk mengetahui nama dari master file SCR_QRY_SCAN namaDbcalcs_yang_tipenya_SCANSCAN Scan yang akan dijalankan secara otomatis pada saat query dan pada saat pindah dari satu rekord ke rekord lain. Fungsi utama untuk menghitung total barang dan dimasukkan ke field brg (scr711). SCR_QRY_SCAN2 namaDbcalcs_yang_tipenya_SCANSCAN Scan 2 yang akan dijalankan secara otomatis pada saat query dan pada saat pindah dari satu rekord ke rekord lain. Fungsi utama untuk menghitung total barang dan dimasukkan ke field SCR_TO_FLY nomor_layar nomor_layar ... Layar layar lain yang dapat "diterbangi" langsung dari layar ini dengan menggunakan tombol 'f' atau 'ctrl-f' RPT_TO_FLY nomor_layar nomor_layar ... Layar layar laporan yang dapat "diterbangi" langsung untuk mencetak rekord yang sudah diquery. SCR_REPORT_IF namaCalcs nomor_layar namaCalcs nomor layar Menjalankan laporan di scr lain lewat tombol 'e'. SCR_NXT_POSTING nomor_layar Pilihan ini memungkinkan untuk melakukan posting dari layar lain sesudah layar ini. Khusus untuk layar dengan tipe APP_TYPE atau APP_TYPE_NXT SCR_NXT_POSTING_IF namaCalcs nomor_layar namaCalcs nomor layar Pilihan ini memungkinkan untuk melakukan posting dari layar lain sesudah layar ini. Khusus untuk layar dengan tipe APP_TYPE. Calcs dicek dari yang pertama. Bila ada satu calcs yang sudah memenuhi syarat, layar di sampingnya akan dijalankan. Sesudah layar terakhir, otomatis akan kembali ke layar ini (seperti 'g' di layar query). Tidak boleh bersamaan dengan SCR_NXT_POSTING. SCR_NXT_MAP namaMap Map yang dilakukan sebelum pindah ke layar lain untuk melakukan POSTING lagi. SCR_IMAGE_MAP namaMap Map yang dilakukan untuk memilih tipe dari master dengan mengubah variabel global g_master_type. Isinya boleh 'a' s/d 'z'. Bila diisi 'a' maka harus ada IMAGE(mastera) dan master2a bila ada layar kedua. SCR_ENTER_COND namaCalcs Kondisi untuk masuk ke layar ini, bila gagal pesan di SCR_ENTER_MSG akan dikeluarkan SCR_ENTER_MSG Pesan Pesan yang dikeluarkan bila gagal masuk ke layar karena tidak memenuhi SCR_ENTER_COND SCR_NXT_COND namaCalcs Kondisi untuk melakukan posting secara otomatis dengan pilihan 'g' di layar query, juga berlaku untuk layar APPLICATION_TYPE. SCR_NXT_MSG Pesan anda bila kondisi 'g' tidak memenuhi. SCR_APR_COND NamaCalcs Kondisi untuk melakukan approval secara otomatis dengan pilihan 'v' di layar query. SCR_APR NamaCalcs Perintah ini menjalankan proses approval lewat calcs. Calcs ini harus memanggil ap_apprv. SCR_APR_TRANS Nama_trans, mis SCR_APR_TRANS transb SCR_APR_MSG Pesan anda bila kondisi 'v' tidak memenuhi. SCR_LOOP_COND namaCalcs Kondisi ini berfungsi pada layar APP_TYPE_NXT_LOOP yang akan mengulang-ulang layar ini hingga kondisi ini gagal. Pada saat kondisi ini gagal, layar di SCR_NXT_POSTING akan dijalankan. SCR_READ_DVS_UMUM Kondisi ini bila diset akan membuat program membaca rekord dvs dengan target UMUM dan index dvskodidx yang tidak boleh duplikat. Bila rekord tidak ditemukan, pesan ditampilkan dan tidak bisa masuk ke layar ini. SCR_TGLTRN_PASS_OK Bila ststrntoday diisi "Y" dan g_tgltrn <> SYSDATE maka program tidak bisa masuk ke layar query maupun aplikasi. Pilihan ini memungkinkah untuk tetap masuk ke layar walaupun g_tgltrn <> SYSDATE. Pilihan ini juga memungkinkan untuk masuk ke layar walau stsbintang berisi 'Y'. SCR_CHDIR namaDirektori atau SCR_CHDIR {namaVariabel} Pindah ke direktori sebelum masuk ke layar ini. Mis. SCR_CHDIR 9999 (harus nomor) atau SCR_CHDIR {r_string2}, berarti pindah ke dir 9999 atau ke dir isian dari r_string2 seperti kita menjalankan cd coba. Sesudah selesai dengan scr ini, direktori tetap di dir coba sampai program menjalankan scr yang SCR_CHDIR 0 untuk kembali ke dir semula. Struktur di dir harus sama dengan dir 0. Khusus untuk layar layar lanjutan tipe aplikasi pada saat posting atau RT_NXT_POSTING, sesudah posting akan kembali ke direktori asal. SCR_LOG = SCRLOG_ADD + SCR_LOG_UPD + SCR_LOG_DEL Perintah ini akan membuat semua perubahan, penghapusan dan penambahan rekord baru di layar ini (khusus untuk QUERY_TYPE) dicatat di LOG.dat yang dapat dilihat melalui scr961 SCR_LOG_ADD, SCR_LOG_UPD, SCR_LOG_DEL Perintah ini sama seperti SCR_LOG tapi khusus untuk ADD, UPDATE dan DELETE. SCR_APP_DIR_OK (khusus APP_TYPE) Posting boleh dijalankan walaupun berada di subdir (mis.9802) SCR_G_POSTING (khusus APP_TYPE) Menjalankan 'g' seperti di layar query, pada saat rekam di layar ini, layar selanjutnya akan otomatis dijalankan tanpa perlu merekam lagi. SCR_POS Membuat layar QUERY_TYPE menjadi layar QUERY_TYPE_POS (mis.scr531). SCR_AUTO_ADD_MST Pilihan ini membuat pada saat menekan end di master akan otomatis turun ke detail1 dan langsung pada posisi tambah. Demikian juga sesudah menambah di detail1 akan pada posisi tambah lagi masih di detail1. SCR_JOIN_IF namaCalcs Kondisi untuk menjalankan SCR_JOIN. SCR_JOIN_COND namaCalcs Kondisi di SCR_JOIN tidak boleh mengandung field dari rekord yang dijoin (SCR_JOIN_FIELD2). SCR_JOIN_FIELD1 namaField SCR_JOIN_FIELD2 namaJoinField Satu pasang pilihan di atas berfungsi untuk menggabung file yang sedang diquery dengan file yang ingin dijoin dengan perintah namaField = namaJoinField. Dengan perintah ini semua field yang termasuk di file yang dijoin akan ikut dalam pencarian (tidak diloncati). SCR_JRNFLD namaField Mis. bkknum Field ini akan berisi nama field utama yang tidak duplikat yang akan dipakai untuk membuat jurnal percobaan (F2) di laporan scr144.rts. SCR_QRYFLD jrnpst 1. Ini dipakai untuk membuat jurnal percobaan (F2) untuk memberitahu bahwa field penghubung di jrn adalah jrnpst, bila tidak ada pilihan ini maka field penghubung adalah jrnnomut. 2. Untuk layar query yang batal posting (SCR_BATALPST), pilihan ini sebagai field penghubung guna mencari semua jrn yang jrnpstnya (dengan memakai index jrnpstmutidx) supaya semua jurnal dengan jrnpst yang sama akan dihapus. 3. Bila tidak ada pilihan ini, maka field penghubung adalah jrnnomut dengan index jrnmutidx. SCR_BATALPST untuk memberi tahu bahwa SCREEN untuk batal posting, SCR_FILE harus btl. Variabel global g_batalpst akan terisi 1 di saat proses batal posting. Semua calcs akan diubah + jadi - dan sebaliknya kecuali nama calcs diawali dengan ct_. Jurnal yang terbentuk pada saat posting akan dihapus. SCR_VOIDPST sama dengan SCR_BATALPST tapi jurnal yang terbentuk pada saat posting tidak dihapus, tapi jurnal balik akan ditambahkan untuk mengimbangkan (mengoffset) jurnal pada saat posting. SCR_NO_REKAM akan membuat pada saat kita menekan tombol End di layar APP_TYPE, kita tidak perlu lagi menekan tombol (R)ekam.