16.8. Mengenal Perintah POSTING

Berfungsi untuk mengubah, menambah atau menghapus data baik file sendiri maupun file lainnya pada saat menyimpan data atau pada saat proses konfirmasi data. Posting ini dibedakan menjadi 2, yaitu: Posting untuk program type QUERY_TYPE dan untuk APP_TYPE. Yang akan kita bahas terlebih dahulu di sini adalah POSTING untuk program type QUERY_TYPE. Perintah ini dijalankan pada saat kita menekan tombol end pada keyboard.


  Perintah - perintah yang ada di POSTING adalah sebagai berikut :

  PST_ADDCMD nama SPCALCS (supercalc) : perintah ini dijalankan ketika kita menekan tombol END pada saat kita menambah data.
  PST_UPDCMD nama SPCALCS (supercalc) : perintah ini dijalankan ketika kita menekan tombol END pada saat kita mengubah data.
  PST_DELCMD nama SPCALCS (supercalc) : perintah ini dijalankan ketika kita menghapus data.
  PST_SUB_ADDCMD nama SPCALCS	      : perintah ini digunakan untuk penambahan nomor otomatis.
	

Perintah SPCALCS ini merupakan satu kesatuan dengan POSTING dan DBCALCS yang berfungsi sebagai penghubung antara POSTING dan DBCALCS. Setiap SPCALCS bisa terdiri dari satu atau beberapa DBCALCS.


  Susunan perintah SPCALCS
  SPCALCS(nama supercalc)
  nama dbcalcs
  nama dbcalcs  (bila dbcalcs lebih dari 1)
  	

DBCALCS berfungsi untuk menyatakan file data yang akan ditambah, diubah, atau dihapus satu record dalam harddisk. Pada saat diubah atau dihapus diperlukan satu index yang tidak duplikat. Susunan perintah DBCALCS adalah sebagai berikut :


  *Untuk Menambah 1 record file
   DBCALCS(nama dbcalcs)
   DBC_COMMAND ADD
   DBC_FILE file yang ditambah
   DBC_MAP nama map
   (4 perintah di atas harus ada untuk menambah 1 record data) 
   DBC_COND nama kondisi
   DBC_LAST_TARGET
     index file yang ditambah	field index
   DBC_LAST_COND nama kondisi

  *Untuk mengubah 1 record data					*Untuk menghapus 1 record data
   DBCALCS(nama dbcalcs)					 DBCALCS(nama dbcalcs)
   DBC_COMMAND UPDATE						 DBC_COMMAND DELETE
   DBC_TARGET							 DBC_TARGET
     index yg diubah	field penghubung			 index yang dihapus	field penghubung
   DBC_MAP nama map						 DBC_COND nama kondisi
   DBC_COND nama kondisi

  *Untuk membuat nomor otomatis pada saat tambah data
   DBCALCS(nama dbcalcs)
   DBC_COMMAND ADD_SUBSTITUTE
   DBC_FILE nama file yang ditambah
   DBC_LAST_TARGET
     index tidak duplikat	field yang dibuat otomatis
   DBC_LEN panjang nomor otomatis
   	

Di bawah ini adalah contoh program bagian fungsi POSTING yang ada di screen 271. Susunan dalam menjalankan program POSTING terlihat seperti contoh di bawah ini.


  /*--------------daddbkk-------------*/
  CALCS()
  caddbkk      bkkjmlmut + pcmtotal

  MAP(maddbkk)
    caddbkk      bkkjmlmut       DO_CALC

    DBCALCS(daddbkk)
    DBC_COMMAND     UPDATE
    DBC_TARGET      bkkprmidx              bkkprm
    DBC_MAP         maddbkk

  SPCALCS(spcaladd)
  daddbkk

  POSTING(transa)
  PST_ADDCMD spcaladd

  urutannya tidak boleh diubah - ubah ( DBCALCS, SPCALCS, POSTING )

  urutan dari perintah yang ada di atas adalah sebagai berikut:
  1. Menjalankan perintah POSTING terlebih dahulu. POSTING yang ada di atas maksudnya adalah ketika kita menambah data di file transa
     dan menekan tombol END maka dilakukan PST_ADDCMD spcaladd.
  2. SPCALCS(spcaladd) akan menjalankan DBCALCS sesuai urutan (karena dalam hal ini hanya ada 1 DBCALCS yaitu daddbkk maka
     hanya daddbkk yang dijalankan).
  3. daddbkk akan mengubah nilai dari bkkjmlmut dengan nilai baru yang berasal dari perhitungan bkkjmlmut ditambah dengan pcmtotal.
  4. CALCS harus selalu di atas MAP, DBCALCS harus selalu di atas SPCALCS, dan SPCALCS harus selalu di atas POSTING. Urutan ini
     tidak boleh diubah - ubah.
     	

Dengan menjalankan perintah di atas maka ketika kita menambah data di file transa (dalam hal ini adalah file pcm) dan menekan tombol END maka perintah POSTING di atas dijalankan yaitu melakukan perhitungan bkkjmlmut ditambah dengan pcmtotal dan hasilnya dimasukkan ke dalam field bkkjmlmut. Untuk PST_DELCMD dan PST_UPDCMD caranya sama dengan contoh yang ada di atas. Hanya bedanya kalau PST_UPDCMD dijalankan ketika kita mengubah data dan menekan tombol END, sedangkan PST_DELCMD dijalankan ketika kita menghapus data.