15.10. CALCS

Perintah ini menghitung satu nilai tertentu atau mendapatkan kondisi betul atau salah, nama calcs harus diawali dengan karakter 'c'.


   Cara memakai:
   CALCS()
   nama calcs      perhitungan
   contoh:
   CALCS()
      cnol          0
      ctotpjl       ppdjmu * ppdhrg
      cstsOPNaCLSD  ppmsts == "OPEN"  ||  ppmsts == "CLSD"
      cABCdanOPEN   ppmplg == "ABC" && ppmsts == "OPEN"
      cppdada       djoinppd == 1  
      cststgl       lsts + STRING(ltgl1) /* ubah jadi STRING, untuk index */
      ccoba         lsts + FLD_TO_STRING(ltgl) /* semua tipe ke string tanpa 
						** ada spasi baik di depan
						** maupun di belakang
						*/
      cstsutk       lsts + STRIP(luntuk) /* hapus spasi di belakang luntuk */
         djoinppd adalah nama DBCALCS tipe JOIN
      cperintah     "cp EXPORT/\* 1111/IMPORT" /* '*' harus ditulis \* */
      cbulat        DO_LIB ap_bulat(lnilai,lbulat_ke,&lhasil)
      c2pangkat3    2 $ 3
      cthbln        DO_LIB ap_thbln()   /* string -> r_string8, sedang
      cakmhr        DO_LIB ap_akmhr()   ** lainnya -> r_double8
      ctambl        DO_LIB ap_tambl()   */
      cakhbl        DO_LIB ap_akhbl()
      cbulanprj     BULAN(ltgl)   /* bulan dari tanggal ltgl => numeric */
      cthnbulanprj  THBLN(ltgl) /* tahun_bulan dari tanggal ltgl => numeric */
      cnofak        "PJ" + THBLS(ltgl) /* hasil string mis. PJ0702 */
      cnofak        "PJ" + THS(ltgl) /* hasil string, mis. PJ07 */
      cdirada       CHKDR(ldir) /* cek apakah ldir ada sebagai direktori,
                                ** ldir = STRING, hasil => numeric
				*/
      cdirada       CHKDR_TGL(ltgl)
      				/* cek apakah ada direktori yang
                                ** namanya = YYMM dari ltgl = DATE.
                                ** hasil => numeric 
				*/
      ctglok        CHKTG(bkktgl) 
      				/* Untuk mengecek tanggal mundur hingga
                                ** sebelum bulan ini, mundur hanya bulan 
				** ini (B) atau tidak bisa mundur (T),
				** tergantung dari isian stsyt16
				*/
      crekordjrnisi	FLISI(jrnprm) == 1 
	                        /* Mengecek bila database file jrn sudah
	                        ** ada isinya atau belum
				*/
     cbesarfile         FLSIZ(lnamafile) 
     				/* melihat besar file, file apapun */

     cname	        LASTWORD(ppdket) 
     				/* melihat kata terakhir dari 
				  /home/ksystem/laporan/msg.txt, 
				  menghasilkan msg.txt */