Pada bab ini kita akan membuat program pembelian. Karena pada bab sebelumnya sudah diterangkan mengenai fungsi dari masing - masing perintah maka pada bab ini kita akan langsung membuatnya. Untuk memulainya langkah pertama yang harus dilakukan adalah dengan membuat file master terlebih dahulu. Setelah itu kita akan membuat file detail. Dan langkah terakhir adalah membuat program posting. Pada program pembelian ini kita akan menggunakan file pmb sebagai file master.
Program pembelian ini akan kita masukkan ke layar 371. Untuk memulainya marilah kita buka editor vi dan ketikkan perintah "vi prt9000/sct371". Setelah itu akan tampak halaman kosong dan ketikkan perintah sebagai berikut untuk membuat file master.
SCREEN 371 QUERY_TYPE Input Pembelian SCR_FILE pmb IMAGE(master) {BASE_ROW=2} {FRSFLD_BACKUP} {LSTFLD_ADVANCE} {IMG_BOX_COLOR1=250,228,205} {IMG_BOX_COLOR2=150,244,252} {IMG_BOX_COLOR3=238,240,162} {IMG_BOX_COLOR4=227,210,210} /---SCT371---------------------------PEMBELIAN-----------------------------------------------------\ | /-----------------------------------------------\ /--------------------\ /---------------------\ | | |No.Faktur : ______________ Type Beli:__ | |Tanggal :_________ | |Bruto: ___________.__| | | |Cabang : __________ Divisi :_____ | |Status :_________ | |Disc : ___________.__| | | |Suplier __ : __________ _____________________ | |Mt.Uang :_________ | |PPN : ___________.__| | | |BR/JS : ___ Type Brg :___ | |Kurs :_________ | |Bayar: ___________.__| | | |Keterangan : __________________________________| |No.Kirim :_________ | |Biaya: ___________.__| | | \-----------------------------------------------/ \--------------------/ \---------------------/ | | ___________ ____________ _ ___ | | | | | | | | | | | | | | | | | | /------------------Total Hutang-------------------\ | | | ____________________________________________.__ | | | | | | | | | | | \-------------------------------------------------/ | \--------------------------------------------------------------------------------------------------/ FIELD(master) pmbnofak ALLCAPS INPUTRI 1 pmbtk NOCHANGE INPUTRI 2 pmbtglfak NONE {DD-MM-YY} INPUTRI 20 pmbtothrg PROTECT NONE 30 /* Total Bruto */ pmbcab ALLCAPS SCROLL INPUTRI 3 /* Cabang */ pmbdvs ALLCAPS SCROLL INPUTRI 4 /* Divisi */ pmbsts ALLCAPS PROTECT INPUTRI 21 pmbtotdis PROTECT INPUTRI 31 /* Diskon */ pmbfl2 NOCHANGE INPUTRI 6 /* DN/LN */ pmbsup ALLCAPS SCROLL INPUTRI 7 pmbnorangka ALLCAPS INPUTRI 8 pmbmtuangas1 ALLCAPS SCROLL INPUTRI 22 pmbtotppn PROTECT NONE 32 /* Total PPN */ pmbstsimp NOCHANGE PROTECT INPUTRI 9 /* BR/JS */ pmbfl1 NOCHANGE INPUTRI 10 /* Type SP/MT*/ pmbkursas1 NUMERIC INPUTRI 23 /* Total PPN */ pmbbyr PROTECT INPUTRI 33 /* Total PPN */ pmbket ALLCAPS SCROLL INPUTRI 11 pmbnoret ALLCAPS SCROLL INPUTRI 24 pmbtotbbm6 PROTECT INPUTRI 34 ltomdet_d TOMBOL INPUTRI 34 /* Tombol Detil d*/ ltomdet_2d TOMBOL INPUTRI 35 /* Tombol Detil 2d */ pmbstspst ALLCAPS NONE 40 pmbscr PROTECT UNSEEN NONE 42 pmbtotfak PROTECT BIG 41 DEFAULTS(master) pmbtk DFALT_SCAN K "Pembelian Kredit" T "Pembelian Tunai" ltomdet_d INIT 1d.Isi Barang ltomdet_2d INIT 2d.Isi Kas/Bank pmbsts INIT OPEN pmbfl2 DFALT_SCAN DN "Dalam Negeri" LN "Luar Negeri" pmbscr INIT_QUERY {g_scrnumstr} MAP(msup) supkode pmbsup REPLACE supnama pmbnorangka REPLACE MAP(mcab) cabno pmbcab REPLACE MAP(mdvs) dvskode pmbdvs REPLACE dvskat dvskat REPLACE dvstydvs pmbnobbm5 REPLACE EDITS(master) Tombol d tidak ltomdet_d SHOW_SFL trans Tombol 2d tidak ltomdet_2d SHOW_SFL transa 2 perintah di atas berfungsi untuk merubah field ltomdet_d menjadi tombol detail trans dan field ltomdet_2d menjadi tombol detail transa Nama Suplier harus diisi pmbsup MANDATORY Kode Suplier ini tidak ada pmbsup VALIDATE suptypkodidx msup ssup {Ppmbfl2} Kode cabang tidak ada pmbcab VALIDATE cabnoidx mcab scab Kode Divisi Tidak ada pmbdvs VALIDATE dvskodidx mdvs sdvs /****************************************************************************/ IMAGE(suphead) {LSTFLD_ADVANCE} {FRSFLD_BACKUP} {POP_UP} {BASE_ROW=7} {BASE_COLUMN=20} /-------------Daftar Supplier---------------------\ | Kode Keterangan | |-------------------------------------------------| |-------------------------------------------------| | Tekan ESC untuk keluar | \-------------------------------------------------/ IMAGE(suproll) {POP_UP} {LSTFLD_ADVANCE} {FRSFLD_BACKUP} {BASE_ROW=10} {BASE_COLUMN=20} ______________ _______________________________ FIELD(suproll) /* Nama Field Input Attribute Output Attribute Input Order */ supkode NOCHANGE SCROLL NONE 1 supnama PROTECT SCROLL NONE 2 SCAN(ssup) {IMAGE_OUT=suphead} {IMAGE_ROL=suproll} {IMAGE_INP=suproll} {SELECT_BAR} {ROLL_LINES=8} SCAN(ssup1) {IMAGE_OUT=suphead} {IMAGE_ROL=suproll} {IMAGE_INP=suproll} {SCAN_SCR_ADD=311} {SELECT_BAR} {ROLL_LINES=10} /****************************************************************************/ IMAGE(cabhead) {LSTFLD_ADVANCE} {FRSFLD_BACKUP} {POP_UP} {BASE_ROW=7} {BASE_COLUMN=20} /-------------Daftar Cabang-----------------------\ | Kode Keterangan | |-------------------------------------------------| |-------------------------------------------------| | Tekan ESC untuk keluar | \-------------------------------------------------/ IMAGE(cabroll) {POP_UP} {LSTFLD_ADVANCE} {FRSFLD_BACKUP} {BASE_ROW=10} {BASE_COLUMN=20} ______________ _______________________________ FIELD(cabroll) /* Nama Field Input Attribute Output Attribute Input Order */ cabno NOCHANGE SCROLL NONE 1 cabnama PROTECT SCROLL NONE 2 SCAN(scab) {IMAGE_OUT=cabhead} {IMAGE_ROL=cabroll} {IMAGE_INP=cabroll} {SELECT_BAR} {ROLL_LINES=8} /****************************************************************************/ IMAGE(dvshead) {LSTFLD_ADVANCE} {FRSFLD_BACKUP} {POP_UP} {BASE_ROW=7} {BASE_COLUMN=20} /-------------Daftar Divisi-----------------------\ | Kode Keterangan | |-------------------------------------------------| |-------------------------------------------------| | Tekan ESC untuk keluar | \-------------------------------------------------/ IMAGE(dvsroll) {POP_UP} {LSTFLD_ADVANCE} {FRSFLD_BACKUP} {BASE_ROW=10} {BASE_COLUMN=20} ______________ _______________________________ FIELD(dvsroll) /* Nama Field Input Attribute Output Attribute Input Order */ dvskode NOCHANGE SCROLL NONE 1 dvsket PROTECT SCROLL NONE 2 SCAN(sdvs) {IMAGE_OUT=dvshead} {IMAGE_ROL=dvsroll} {IMAGE_INP=dvsroll} {SELECT_BAR} {ROLL_LINES=8} END_SCREEN
Dengan perintah di atas kita sudah membuat file master yang sederhana. Seperti yang terlihat dari gambar di bawah ini. Tambahkan perintah HOOKS, DEFAULT, SCAN, MAP, dan EDIT sesuai yang kita inginkan.
Sebelum kita lanjutkan dengan membuat file detail, alangkah baiknya apabila kita mengenal terlebih dahulu field - field pmb yang digunakan di layar pembelian ini.
Nama File : pmb Fungsi : file yang menyimpan informasi pembelian dan hutang ( hutang dagang, hutang lain, dan hutang komisi ) Field - field pmb yang digunakan di program pembelian ini pmbnofak : no faktur pembelian pmbtk : tipe dari pembelian ( T : Tunai , K : Kredit ) pmbtglfak : tanggal dari faktur pembelian pmbcab : cabang yang melakukan pembelian pmbfl2 : DN ( Pembelian dari suplier dalam negeri ), LN ( Pembelian dari suplier luar negeri ) pmbsup : nama suplier pmbtotfak : total nominal pembelian dari faktur pmbtotdis : total diskon