SCT Field Flow Readermembaca program dari sudut pandang FIELD
PHP • local

Upload SCT, lalu baca hidup setiap field

Fokus utama bukan daftar library. Web menggabungkan IMAGE/FIELD dengan DEFAULT, EDITS, HOOKS, SUBFILE, PERMIT, MAP/CALCS, dan POSTING yang benar-benar menyentuh field tersebut.

sct620

SCREEN 620 · QUERY_TYPE

t.BukuTamuAhass

File utamabtmKomponen layar36Field di master42

Alur layar yang ditemukan

Nama berakhiran t seperti transt digabung ke komponen trans bila SUBFILE-nya bernama trans. Ini supaya FIELD, SUBFILE, PERMIT, dan POSTING tidak tercerai.

master42 fieldmaster27 fieldtrans21 field • data detail tabel ppd via index ppdbuk2bbmidtrans24 field • data detail tabel btf via index btfbrglokidxtransa2 field • data detail tabel tmp via index tmpdatdvskodtransa20 field • template tmp_ahass2_infodetail620transa2g10 field • template tmp_ahass2_infodataktptransa2g20 field • template tmp_ahass2_infodatatlptransa2g30 field • template tmp_ahass2_infodatamotortransa2g40 field • template tmp_ahass2_infodatatlp2transb2 field • data detail tabel tmp via index tmpdatdvskodtransb20 field • template tmp_ahass_infopembawatransb2g10 field • template tmp_ahass_infokantortransb2g20 field • template tmp_ahass_infoketerangantransb2g30 field • template tmp_ahass_infopos_servistransb2g40 field • template tmp_ahass_infosaranmektransb2g50 field • template tmp_ahass_infodataRTMtransb2g60 field • template tmp_ahass_inforekomendasitransb2g70 field • template tmp_ahass_infolost_ordertransb2g80 field • template tmp_ahass_infodataMNTtransb2g90 field • template tmp_ahass_infokonsumentransb2g100 field • template tmp_ahass_infonomorspktransb2g110 field • template tmp_ahass_infoshowroomtransb2g120 field • template tmp_ahass_infodataDGItransb2g130 field • template tmp_ahass_infoupld_promo1transb2g140 field • template tmp_ahass_infoupld_promo2transb2g150 field • template tmp_ahass_infocek_LCRtransb2g160 field • template tmp_ahass_inforeq_mekaniktransb2g170 field • template tmp_ahass_infoupld_stnktransb2g180 field • template tmp_ahass_infopembawadgitransb2g190 field • template tmp_ahass_infokomisi_LCRtransb2g200 field • template tmp_ahass_promo_mastertransc11 field • data detail tabel tkm via index tkmdtkdstloktransc24 field • data detail tabel svi via index svidatkodtyptransc2g14 field • data detail tabel svi via index svidatkodtyptransd5 field • data detail tabel ppd via index ppdbuk2bbmid

Keluar dari layar / Next Posting

SCREEN 620G / PostingSCREEN 4521

Syarat: cmasihopen · MAP paket: mnext

KOMPONEN LAYAR

master

42 field

FIELD block: master

42 field
Lihat IMAGE / bentuk layar
IMAGE(master)
/-----------------------------------\
 /---------------------------------\ 
 | i.NoBuk   :_______________  ___ |_
 | t.noWO    :____________________ |
 | t.IniBukanBuktiPembayaran       | 
 | i.Sts     :_________  ____      |
 | i.Tgl     :_________            |
 | i.Cab     :___________________  |
 | t.usr     :____________________ |
 | t.Mekanik :____________t.Pmt___ |
 | t.TypKtp  :___  _______________ |
 | t.Tipe2   :___________________  |
 | t.Tipe3   :___________________  |
 | i.NoPol   :____________________ |
 | t.Nama    :____________________ |
 | t.NoHP    :____________________ |
 | t.NmBrg   :___________________  | _
 | t.Series  :___________ ________ |
 | t.IniBukanBuktiPembayaran       | 
 | t.KmN     :___________          |
 | t.KmT     :___________          | _
 | t.Ind     :____________  	   |
 | t.Ked     :__________________   |
 | t.Als     :__________________   |
 | t.PrmIn   :___________________  |
 | t.KdP     :__________________   |
 | t.SubPkt  :__________________   |
 | t.NoSer   :__________________   |
 | t.PilGntiPart             ___   |
 | t.NoFak   :___________________  |
 | t.Estimasi:___________________  |
 | t.EstPeng :___________________  |
 | t.IniBukanBuktiPembayaran       | 
 |            _______              |
 \---------------------------------/
 /---------------------------------\
 | _____________  ______________   |
 | _____________  ______________   | 
 | _____________                   |
 \---------------------------------/ 
 t.WajibTbhDtlCetakFktPjk
\-----------------------------------/
PERMIT

Ubah diizinkan jika cbtmOPEN terpenuhi PMT_UPDALL_COND cbtmOPEN

Hapus diizinkan jika c0 terpenuhi PMT_DEL_COND c0

Akses/perilaku detail dikontrol oleh cbtmOPENa PMT_IGNDET_COND cbtmOPENa

POSTING

PST_SUB_ADDCMD spmastersub

PST_ADDCMD spmasteradd

PST_UPDCMD spmasterupd

btmnobuk

btm.btmnobuk • TEXT(21) • No Bukti

FIELDINPUTRI 1

Field terlindungi (PROTECT) • 1 validasi.

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
btmnobuk        PROTECT                 INPUTRI 1
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
MANDATORYWajib diisi.
④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

mnext: btmnobuk → r_string1 REPLACE

mbtmd: btmnobuk → tkmkode REPLACE

maddsub: btmnobuk → btmnobuk REPLACE

m4579: btmnobuk → r_string1 REPLACE

m4579a: btmnobuk → r_string1 REPLACE

m4579b: btmnobuk → r_string1 REPLACE

m4883: btmnobuk → r_string1 REPLACE

mnobukbuk: btmnobuk → btmnobuk REPLACE

maddsviFP_fotoktp: btmnobuk → svikode REPLACE

maddsviFP_fotonpwp: btmnobuk → svikode REPLACE

maddtkm_faktur: btmnobuk → tkmkode REPLACE

mmaptlm416: btmnobuk → ltlmplg416 REPLACE

maddakt_6d: btmnobuk → aktkode REPLACE

maddabkKABENGmstr: btmnobuk → abknobuk REPLACE

maddabkSAmstr: btmnobuk → abknobuk REPLACE

maddabkFDmstr: btmnobuk → abknobuk REPLACE

MAP menulis ke field ini

mnomer: cnomorbukti → btmnobuk DO_CALC_IF jika ctambah

maddsub: btmnobuk → btmnobuk REPLACE

mnobukbuk: btmnobuk → btmnobuk REPLACE

CALCS yang membaca field ini

cmasihopen(btmsts =="OPEN" && btmnobuk != BLANKS && djoinppdu == 1 && (dscanppd2 >= 0 && dscanbtf >= 0 && lok1 == 0 && lok2 == 0 && lok3 == 0 && lok17 == 0 && lhppbeda == 0 && lppdjml_BR == lbtfjml && (((lok6 > 0 || (lok5 > 0 && lok7 > 0)) && djoindtm2 == 1 && ltipepaket == 1) || (lok7 > 0 && djoindtm2 == 1 && ltipepaket == 2) || (lok11 > 0 && djoindtm2 == 1 && ltipepaket == 3) || (lok14 > 0 && djoindtm2 == 1 && ltipepaket == 4)) && lok8 == 0 && (lok10 > 0 || (lok10 == 0 && djoindtm2 == 1 && (ltipepaket == 2 || ltipepaket == 3))))) && (((djointbt_cabrekompart1 == 1 || djointbt_cabrekompart2 == 1) && dscantkdRekom >= 0 && ltotaltdkYT == 0) || (djointbt_cabrekompart1 == 0 && djointbt_cabrekompart2 == 0)) && djoinket == 1 && ((djointbd_nomesinesaf == 1 && btmrekomen != "KPB" && btmrekomen != "KPBSINSEN" && btmrekomen != "KPBNSS" && djointkdLcr == 1) || (btmrekomen == "KPB" || btmrekomen == "KPBSINSEN" || btmrekomen == "KPBNSS") || (djointbd_nomesinesaf == 0)) && ((dbscanbrd_washer == 1 || dbscanbrd_washer == 0) && (lbrdsisa2 > 0 && lbrdsisprc2 > 0 && ((btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 > 0 && lok13 > 0) || (btmwrn == "PKTSERVICEKPB1" || btmwrn == "PKTSHOWROOMEVENT") || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 == 0 && lok13 > 0) || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 == 0) || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok13 > 0)) && djointbd_promooli5 == 0) || (lbrdsisa2 > 0 && lbrdsisprc2 == 0) || (lbrdsisa2 ==0) || djointbd_promooli5 == 1) && ((btmstr2 == "CLAIM" && ( btmtypdeb == "INSTANSI" || btmtypdeb == "GARANSI" ) && djointkdSpk == 1) || ((btmstr2 == "CLAIM" && btmtypdeb == "INSTANSI" && (djointkdSpk == 1 && lytgc != "Y") && djointkmFP == 1 && ((lurusFP == "Y" && djoinsviFP_fotoktp == 1 && luplFP_fotoktp > 0 && djoinsviFP_fotonpwp == 1 && luplFP_fotonpwp > 0) || lurusFP == "T")) || (djointkdSpk == 1 && lytgc == "Y")) || (btmstr2!="CLAIM" && btmtypdeb!="INSTANSI") || (btmstr2 == "CLAIM" && btmtypdeb != "GARANSI" && btmtypdeb != "INSTANSI")) && ((btmstr2 == "TAMBAHAN" && djoinaktReqMeka1 == 1) && (djointbt_cabotomekanik1 == 1|| djointbt_cabotomekanik2 == 1) || (btmstr2 != "TAMBAHAN") || (djointbt_cabotomekanik1 == 0 && djointbt_cabotomekanik2 == 0)) && ((djoindtm_voucher == 1 && lok12 > 0 && lok16 > 0 && djointbd_promooli6 == 1) || (djoindtm_voucher == 1 && lok12 > 0 && djointbd_promooli6 == 0) || (djoindtm_voucher == 0 && djointbd_promooli6 == 0)) && ( ( djointbdmasterpromo == 1 && lcekpromo == "AKTIF" && ljmlhrgpromo >= lnominalpromo && ( dscantkdpromo >= 0 && ltotaltkd == lok19 ) ) || (djointbdmasterpromo == 0 ) )

cbknOPEN4btmnobuk != BLANKS && btmstsdata == "OK" && (dscanppd2 == 1 || dscanppd2 == 0) && lok1 > 0

cbknOPEN5btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok2 > 0

cbknOPEN6btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok3 > 0

cbknOPEN6abtmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok17 > 0

cbknOPEN7btmnobuk != BLANKS && dscanppd2 >= 0 && dscanbtf >= 0 && lppdjml_BR != lbtfjml

cbknOPEN8btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok6 == 0 && (lok5 == 0 || lok7 == 0) && djoindtm2 == 1 && ltipepaket != 2 && ltipepaket != 3

cbknOPEN9btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && (lok5 == 0 || lok7 == 0) && djoindtm2 == 1 && ltipepaket != 2 && ltipepaket != 3

cbknOPEN10btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok8 > 0 && btmstsdata == "OK"

cbknOPEN11btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok10 == 0 && btmstsdata == "OK" && djoindtm2 == 1 && ltipepaket != 2 && ltipepaket != 3

cbknOPEN12btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok7 == 0

cbknOPEN13btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok11 == 0 && djoindtm2 == 1 && ltipepaket != 1 && ltipepaket != 2 && ltipepaket != 4

cbknOPEN18(btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && (dbscanbrd_washer == 1 || dbscanbrd_washer == 0) && lbrdsisa2 > 0 && lbrdsisprc2 > 0 && lok12 > 0 && lok13 == 0 && btmwrn!="PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && djointbd_promooli5 == 0)

cbknOPEN19((btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok14 == 0 && djoindtm2 == 1 && ltipepaket != 1 && ltipepaket != 2 && ltipepaket != 3) || (btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok12 == 0 && djoindtm_voucher == 1) || (btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok12 == 0 && djoinrmdstrukturh2_kpbhso == 1 && g_grpnam == "TUTUP"))

cbknOPEN21(btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok16 == 0 && djointbd_promooli6 == 1)

cppdperdism_isibtmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lppdperdism != 0

cppdtotfak_isibtmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lppdtotfak != 0

cppdjml_isibtmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lppdjml > 0

cnobuk994"FP"+STRIP(btmnobuk)

cjoinppdu0btmnobuk != BLANKS && djoinppdu == 0 && g_curcmd == 1

+ 13 CALCS lain
POSTING yang menyentuh field

PST_SUB_ADDCMDspmastersubDO_LIB_IF cotY ap_dbclc(DNAME daddsub,DCOMMAND ADD_SUB,DFILE btm,DLTARGET btmbukidx btmnobuk,DLLEN 16,DMAP maddsub);

PST_ADDCMDspmasteraddDO_LIB ap_amstr(btmnobuk,ln1,ln2,&lbtmtypjl);

PST_UPDCMDspmasterupdDO_LIB_IF cbkncabdgi ap_dbclc(DNAME ddelppd,DCOMMAND DELETE_RANGE,DTARGET ppdbuk2bbmid btmnobuk,DMAP mnobukbuk);

PST_UPDCMDspmasterupdDO_LIB ap_dbclc(DNAME dbscanppd,DCOMMAND SCANSCAN,DTARGET ppdbuk2bbmid btmnobuk,DBC_SUM_MAP mscanppd);

btmnoantri

btm.btmnoantri • COUNT • No Antri

FIELDINPUTRI 2

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
btmnoantri      PROTECT                 INPUTRI 2
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

mjoinbtmDaf: btmnoantri → lantri REPLACE

mupdbtmx: btmnoantri → lbtmtypjl REPLACE

MAP menulis ke field ini

mupdbtmx: c1 → btmnoantri DO_CALC_IF jika cdjoinbtmDaf0

mupdbtmx: cantri → btmnoantri DO_CALC_IF jika cdjoinbtmDaf1

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmdata

btm.btmdata • TEXT(11) • Data

FIELDINPUTRI 3

Field terlindungi (PROTECT) • 2 default.

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasaQPROTECTUNSEEN: tidak terlihat
btmdata         PROTECT QPROTECT UNSEEN INPUTRI 3
② Nilai awal / DEFAULT
Nilai awal umumnilai: AHASS
Saat C / carinilai: AHASS
③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmidprsp

btm.btmidprsp • TEXT(61) • No Id

FIELDINPUTRI 3

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
btmidprsp       PROTECT                 INPUTRI 3
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

mmapautodgi: btmidprsp → lbtmidprsp REPLACE

mmapautodgi: btmidprsp → ldumstr31 REPLACE

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmsts

btm.btmsts • TEXT(5) • Status

FIELDINPUTRI 4

Field terlindungi (PROTECT) • 1 default.

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
btmsts          PROTECT                 INPUTRI 4
② Nilai awal / DEFAULT
Saat T / tambahnilai: OPEN
③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

cfakINPGbtmsts =="OPEN" && btmstsdata == "OK"

cmasihopen(btmsts =="OPEN" && btmnobuk != BLANKS && djoinppdu == 1 && (dscanppd2 >= 0 && dscanbtf >= 0 && lok1 == 0 && lok2 == 0 && lok3 == 0 && lok17 == 0 && lhppbeda == 0 && lppdjml_BR == lbtfjml && (((lok6 > 0 || (lok5 > 0 && lok7 > 0)) && djoindtm2 == 1 && ltipepaket == 1) || (lok7 > 0 && djoindtm2 == 1 && ltipepaket == 2) || (lok11 > 0 && djoindtm2 == 1 && ltipepaket == 3) || (lok14 > 0 && djoindtm2 == 1 && ltipepaket == 4)) && lok8 == 0 && (lok10 > 0 || (lok10 == 0 && djoindtm2 == 1 && (ltipepaket == 2 || ltipepaket == 3))))) && (((djointbt_cabrekompart1 == 1 || djointbt_cabrekompart2 == 1) && dscantkdRekom >= 0 && ltotaltdkYT == 0) || (djointbt_cabrekompart1 == 0 && djointbt_cabrekompart2 == 0)) && djoinket == 1 && ((djointbd_nomesinesaf == 1 && btmrekomen != "KPB" && btmrekomen != "KPBSINSEN" && btmrekomen != "KPBNSS" && djointkdLcr == 1) || (btmrekomen == "KPB" || btmrekomen == "KPBSINSEN" || btmrekomen == "KPBNSS") || (djointbd_nomesinesaf == 0)) && ((dbscanbrd_washer == 1 || dbscanbrd_washer == 0) && (lbrdsisa2 > 0 && lbrdsisprc2 > 0 && ((btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 > 0 && lok13 > 0) || (btmwrn == "PKTSERVICEKPB1" || btmwrn == "PKTSHOWROOMEVENT") || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 == 0 && lok13 > 0) || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 == 0) || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok13 > 0)) && djointbd_promooli5 == 0) || (lbrdsisa2 > 0 && lbrdsisprc2 == 0) || (lbrdsisa2 ==0) || djointbd_promooli5 == 1) && ((btmstr2 == "CLAIM" && ( btmtypdeb == "INSTANSI" || btmtypdeb == "GARANSI" ) && djointkdSpk == 1) || ((btmstr2 == "CLAIM" && btmtypdeb == "INSTANSI" && (djointkdSpk == 1 && lytgc != "Y") && djointkmFP == 1 && ((lurusFP == "Y" && djoinsviFP_fotoktp == 1 && luplFP_fotoktp > 0 && djoinsviFP_fotonpwp == 1 && luplFP_fotonpwp > 0) || lurusFP == "T")) || (djointkdSpk == 1 && lytgc == "Y")) || (btmstr2!="CLAIM" && btmtypdeb!="INSTANSI") || (btmstr2 == "CLAIM" && btmtypdeb != "GARANSI" && btmtypdeb != "INSTANSI")) && ((btmstr2 == "TAMBAHAN" && djoinaktReqMeka1 == 1) && (djointbt_cabotomekanik1 == 1|| djointbt_cabotomekanik2 == 1) || (btmstr2 != "TAMBAHAN") || (djointbt_cabotomekanik1 == 0 && djointbt_cabotomekanik2 == 0)) && ((djoindtm_voucher == 1 && lok12 > 0 && lok16 > 0 && djointbd_promooli6 == 1) || (djoindtm_voucher == 1 && lok12 > 0 && djointbd_promooli6 == 0) || (djoindtm_voucher == 0 && djointbd_promooli6 == 0)) && ( ( djointbdmasterpromo == 1 && lcekpromo == "AKTIF" && ljmlhrgpromo >= lnominalpromo && ( dscantkdpromo >= 0 && ltotaltkd == lok19 ) ) || (djointbdmasterpromo == 0 ) )

cbknOPEN1btmsts != "OPEN"

cbknOPEN20(btmsts == "OPEN" && btmrekomen != "KPB" && btmrekomen != "KPBSINSEN" && btmrekomen != "KPBNSS" && djointbd_nomesinesaf == 1 && djointkdLcr == 0)

cAktEstPengbtmsts == "INPG" && btmsales == BLANKS && djoinaktEstPeng == 1

cupdbtm0btmsts == "OPEN" && btmnobuk != BLANKS && djoinppdaddsrv == 0

cJikaPromo1((djoinakt_promo1 == 1) || (btmsts == "CLSD" && btmrekomen != "KPB" && btmrekomen != "KPBNSS" && btmrekomen != "KPBSINSEN" && djointbd_nomesinesaf == 1 && djointkdLcr == 1 && (g_grpnam == "RI" || g_grpnam == "AHASSHEAD" || g_grpnam == "AHASSSPV" || g_grpnam == "IT")))

cBR2ppdjasbrg == "BR" && (btmsts == "OPEN" || btmsts == "INPG") && ppdjmlren > 0

cbarutambahbtmsts == "INPG" && btmstsdata == "OK" && ppdjasbrg == "BR" && g_curcmd == 1

copen_1btmsts == "OPEN" && btmstsdata == BLANKS && g_curcmd == 2 && ppdjasbrg == "BR"

copen_2abtmsts == "OPEN" && btmstsdata == "OK" && g_curcmd == 2 && ppdlok != BLANKS

copen_3btmsts == "OPEN" && btmstsdata == BLANKS && g_curcmd == 1 && ppdjasbrg == "JI"

copen_4btmsts == "OPEN" && btmstsdata == BLANKS && g_curcmd == 1 && ppdjasbrg == "BR"

copen_5btmsts == "OPEN" && btmstsdata == "OK" && g_curcmd == 1 && ppdjasbrg == "JI"

copen_6btmsts == "INPG" && btmstsdata == "OK" && g_curcmd == 1 && ppdjasbrg == "JI"

cjmlren2((btmsts == "INPG" && ppdjasbrg == "BR" && ppdjmlren > 0) || (ppdjasbrg != "BR") || (btmsts != "INPG"))

curusFP_Y1tkmlokjl == "Y" && btmsts == "OPEN"

curusFP_Y2tkmlokjl == "Y" && btmsts != "OPEN"

cbtmOPEN(btmnobuk != BLANKS && btmsts == "OPEN" && djoinppdKG == 0 && (djointbt_cabdgi1 == 0 && djointbt_cabdgi2 == 0)) || (btmnobuk != BLANKS && btmsts == "OPEN" && djoinppdKG == 0 && (djointbt_cabdgioto == 0)) || (btmnobuk != BLANKS && btmsts == "OPEN" && (djointbt_cabdgi1 == 1 || djointbt_cabdgi2 == 1) && dscanppd2 >= 0 && lok18 == 0) || (btmnobuk != BLANKS && btmsts == "OPEN" && (djointbt_cabdgioto == 1 && dscanppd2 >= 0 && lok18 == 0))

cbtmOPENabtmnobuk != BLANKS && btmsts == "OPEN" && djoinppdKG == 0

+ 31 CALCS lain
POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmstsdata

btm.btmstsdata • TEXT(5) • Status Data

FIELDINPUTRI 5

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
btmstsdata      PROTECT                 INPUTRI 5
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

cfakINPGbtmsts =="OPEN" && btmstsdata == "OK"

cbknOPEN4btmnobuk != BLANKS && btmstsdata == "OK" && (dscanppd2 == 1 || dscanppd2 == 0) && lok1 > 0

cbknOPEN10btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok8 > 0 && btmstsdata == "OK"

cbknOPEN11btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok10 == 0 && btmstsdata == "OK" && djoindtm2 == 1 && ltipepaket != 2 && ltipepaket != 3

cBRLok(g_curcmd == 1 && ppdjasbrg == "BR" && ppdjmlren > 0 && ppdscr == "620") || (g_curcmd == 2 && ppdjasbrg == "BR" && ppdjmlren > 0 && ppdscr != "620" && btmstsdata == BLANKS) || (g_curcmd == 2 && ppdjasbrg == "BR" && ppdjmlren > 0 && ppdscr == "620" && btmstsdata == BLANKS) || (g_curcmd == 2 && ppdjasbrg == "BR" && ppdjmlren > 0 && djoincabapi2 == 1 && ltbdkettype == "ADA" ) || (g_curcmd == 2 && ppdjasbrg == "BR" && ppdjmlren > 0 && djoincabapi2 == 1 && ltbdkettype == BLANKS )

cbarutambahbtmsts == "INPG" && btmstsdata == "OK" && ppdjasbrg == "BR" && g_curcmd == 1

copen_1btmsts == "OPEN" && btmstsdata == BLANKS && g_curcmd == 2 && ppdjasbrg == "BR"

copen_2abtmsts == "OPEN" && btmstsdata == "OK" && g_curcmd == 2 && ppdlok != BLANKS

copen_3btmsts == "OPEN" && btmstsdata == BLANKS && g_curcmd == 1 && ppdjasbrg == "JI"

copen_4btmsts == "OPEN" && btmstsdata == BLANKS && g_curcmd == 1 && ppdjasbrg == "BR"

copen_5btmsts == "OPEN" && btmstsdata == "OK" && g_curcmd == 1 && ppdjasbrg == "JI"

copen_6btmsts == "INPG" && btmstsdata == "OK" && g_curcmd == 1 && ppdjasbrg == "JI"

ccmpkt(btmsts == "OPEN" && ppdnopsn != "ADDSERVIS" ) || (btmsts == "OPEN" && btmstsdata == "OK" && ppdnopsn == "ADDSERVIS") || (btmsts == "OPEN" && djoincabapi2 == 1 && ltbdkettype == "ADA" ) || (btmsts == "INPG" && btmstsdata == "OK" && djoincabapi2 == 1 && ltbdkettype == "ADA" )

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmtgl

btm.btmtgl • LONG • Tanggal

FIELDINPUTRI 6

Field terlindungi (PROTECT) • 2 default • 1 validasi.

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa{DD-MM-YY}
btmtgl          PROTECT {DD-MM-YY}      INPUTRI 6
② Nilai awal / DEFAULT
Saat T / tambahnilai: {g_tgltrn}
Saat C / carinilai: {g_tgltrn}
③ Validasi / EDITS
MANDATORYWajib diisi.
④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

mnext: btmtgl → r_date1 REPLACE

maddnnm: btmtgl → nnmtgl REPLACE

maddsviFP_fotoktp: btmtgl → svitgl1 REPLACE

maddsviFP_fotonpwp: btmtgl → svitgl1 REPLACE

maddtkm_faktur: btmtgl → tkmtgl REPLACE

maddtkm_faktur: btmtgl → tkmtgl1 REPLACE

mmaptlm416: btmtgl → ltlmtgl416 REPLACE

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

cbknOPEN23(btmtgl >= 20240603 && (djointkdSpk == 1 && lytgc != "Y")) && djointkmFP == 0

cbknOPEN24(btmtgl >= 20240603 && (djointkdSpk == 1 && lytgc != "Y")) && djointkmFP == 1 && lurusFP == "Y" && djoinsviFP_fotoktp == 1 && luplFP_fotoktp == 0

cbknOPEN24a(btmtgl >= 20240603 && (djointkdSpk == 1 && lytgc != "Y")) && djointkmFP == 1 && lurusFP == "Y" && djoinsviFP_fotonpwp == 1 && luplFP_fotonpwp == 0

cbknOPEN25(btmtgl >= 20240612 && btmsoa == "GC" && (djoinsvi == 0 || (djoinsvi == 1 && ljmluplstnk == 0))) && g_grpnam == "TUTUP"

cbknOPEN26(btmtgl >= 20240612 && btmsoa == "GC" && djointlmGC == 1 && lgc_instansi == "GC_MBM" && djoinsvi == 1 && lcabinstansistnk == BLANKS) && g_grpnam == "TUTUP"

cbuk"BE" + STRIP(btmcab) + STRIP(btmdvs) + THBLS(btmtgl) + THBLS_DD(btmtgl)

cnomorbukti"AH" + STRIP(btmcab) + THBLS_YY(btmtgl) + THBLS_MM(btmtgl) + THBLS_DD(btmtgl)

csamabtmstr2 == "REGULER" && btmtgl == ppmtglfak && (ppmsts == "OPEN" || ppmsts == "PROS" || ppmsts == "SVOK" || ppmsts == "INPG" || ppmsts == "CLSD")

cadanihbtmtgl < g_tgltrn

ctglbesok(g_curcmd == 2 && btmtgl <= g_tgltrn) || g_curcmd != 2

chitungharibtmtgl - btmjtppjk

cadd_FPbtmsts == "OPEN" && btmtgl >= 20240603 && djointkmFP == 0

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmcab

btm.btmcab • TEXT(21) • Cabang

FIELDINPUTRI 7

Field input • huruf besar • 1 default • 2 validasi • 7 hook.

① Tampilan / FIELD
ALLCAPS: input huruf besarSCROLL: mode scroll/lookup framework
btmcab          ALLCAPS SCROLL          INPUTRI 7
② Nilai awal / DEFAULT
Nilai awal umumhanya jika cgsglcab1g_sglcab == 1nilai: {g_grpcab}
③ Validasi / EDITS
MANDATORYWajib diisi.
VALIDATENilai harus tervalidasi ke tabel cab via index cabstskodidx. MAP hasil: mcabLok.Index: cabstskodidx → cab [cabsts, cabkode]
MAP validasi mcabLok
cabkode         btmcab         	REPLACE
cabkode         btmlokjual     	REPLACE
cabkdfak        lcabdealer     	REPLACE
cabkdfak        btmcabjl       	REPLACE
cbuk		lchanel        	DO_CALC
cbtmcab         lbtmcab        	DO_CALC
btmnokk		lbtmnokk3      	REPLACE
lpmtmekanik	lpmtmekanik    	REPLACE_IF cdjoinakt_pmtmekanik
cBLANKS		lnobuk994	DO_CALC
cnobuk994	lnobuk994	DO_CALC
cBLANKS         lwaktuest2      DO_CALC
cBLANKS         lwaktuest       DO_CALC_IF cdjoinakt0
lWktEstPeng     lwaktuest2      REPLACE_IF cAktEstPeng
cabkdjam	lcabkdjam	REPLACE
cmampatseries	lnamamotormampat DO_CALC
④ Event / HOOKS
AFTER_INPUT

Jalankan MAP mnomer.

AFTER_INPUT   cur_field=btmcab        DO_MAP SHOW mnomer
AFTER_INPUT

Jalankan scan dbscanbtm.

AFTER_INPUT   cur_field=btmcab        DO_SCAN dbscanbtm
AFTER_INPUT

Jalankan scan dbscanbtm2.

AFTER_INPUT   cur_field=btmcab        DO_SCAN dbscanbtm2
AFTER_INPUT

Jalankan MAP mtotal2.

AFTER_INPUT   cur_field=btmcab        DO_MAP SHOW mtotal2
AFTER_INPUT

Validasi interaktif: jika ctglbesok benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (btmcab) dan tampil pesan t.TglHrsBnr.

AFTER_INPUT   cur_field=btmcab  	      DO_MAP SHOW
IF ctglbesok mdumstr
ELSE HKCURSOR btmcab
HKMSG t.TglHrsBnr
AFTER_INPUT

Validasi interaktif: jika ccabangopen benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (btmcab) dan tampil pesan Masih ada 620 OPEN cabang ini dihari sebelumnya, selesaikan dahulu.

AFTER_INPUT   cur_field=btmcab  	      DO_MAP SHOW
IF ccabangopen    mdumstr
ELSE HKCURSOR btmcab
HKMSG Masih ada 620 OPEN cabang ini dihari sebelumnya, selesaikan dahulu
AFTER_INPUT

Validasi interaktif: jika ccabanginpg benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (btmcab) dan tampil pesan Masih ada 620 INPG cabang ini dihari sebelumnya, selesaikan dahulu.

AFTER_INPUT   cur_field=btmcab  	      DO_MAP SHOW
IF ccabanginpg    mdumstr
ELSE HKCURSOR btmcab
HKMSG Masih ada 620 INPG cabang ini dihari sebelumnya, selesaikan dahulu
⑤ Aliran data & proses lanjutan
MAP membaca field ini

maddnnm: btmcab → nnmkode1 REPLACE

maddtkm_faktur: btmcab → tkmcab REPLACE

mmaptlm416: btmcab → ltlmcab416 REPLACE

MAP menulis ke field ini

mcabLok: cabkode → btmcab REPLACE

CALCS yang membaca field ini

cbuk"BE" + STRIP(btmcab) + STRIP(btmdvs) + THBLS(btmtgl) + THBLS_DD(btmtgl)

crmdgabkpbtunai"KPB1TAHUNTUNAI" + STRIP(btmcab) + STRIP(btmtypmtr2) + STRIP(lppmtk614)

cbtmcabSTRIP(btmcab)+"H2"

crmdgabasuransi1"PROMOASURANSI1" + STRIP(btmcab) + STRIP(btmwrn)

crmdgabasuransi2"PROMOASURANSI2" + STRIP(btmcab) + STRIP(ppdbrg)

crmdgabamic"HARGAAMIC" + STRIP(ppdbrg) + STRIP(btmcab)

crmdgabkpbtdm3STRIP(btmwrn) + STRIP(btmcab) + STRIP(btmtypmtr2)

crmdgabkpbtdm4STRIP(btmwrn) + STRIP(btmcab) + STRIP(btmtypmtr2)

cnomorbukti"AH" + STRIP(btmcab) + THBLS_YY(btmtgl) + THBLS_MM(btmtgl) + THBLS_DD(btmtgl)

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmnopj

btm.btmnopj • TEXT(21) • No Penjualan

FIELDINPUTRI 8

Field terlindungi (PROTECT) • 2 default.

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
btmnopj		PROTECT			INPUTRI	8
② Nilai awal / DEFAULT
Saat T / tambahnilai: {g_usrkode}
Saat U / ubahnilai: {g_usrkode}
③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmsales

btm.btmsales • TEXT(21) • Sales

FIELDINPUTRI 8

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
btmsales	PROTECT			INPUTRI	8
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

maddtlm416tambahan: btmsales → tlmgrup2 REPLACE_IF jika cmekanikSTART

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

cAktEstPengbtmsts == "INPG" && btmsales == BLANKS && djoinaktEstPeng == 1

chnyINPGbtmsts != "OPEN" && btmsales == BLANKS

cmekanikSTARTbtmsales != BLANKS && dscantlm416 >= 0 && lrecordtlm416 == 0

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

lpmtmekanik

INT2(2)

LOCALINPUTRI 8

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
lpmtmekanik	PROTECT			INPUTRI 8
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

mcabLok: lpmtmekanik → lpmtmekanik REPLACE_IF jika cdjoinakt_pmtmekanik

MAP menulis ke field ini

mjoinakt_pmtmekanik: aktjml → lpmtmekanik REPLACE

mcabLok: lpmtmekanik → lpmtmekanik REPLACE_IF jika cdjoinakt_pmtmekanik

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmbichek

btm.btmbichek • TEXT(3) • Pengecekan Ke Bi

FIELDINPUTRI 9

Field NOCHANGE • 1 default • 1 validasi • 1 hook.

① Tampilan / FIELD
NOCHANGE: tidak diubah seperti input biasa
btmbichek	NOCHANGE		INPUTRI	9
② Nilai awal / DEFAULT
Pilihan scan, boleh kosongnilai: 1 "PERORANGAN"
2 "INSTANSI"
③ Validasi / EDITS
MANDATORYWajib diisi.
④ Event / HOOKS
AFTER_INPUT

Jalankan MAP mketktp.

AFTER_INPUT   cur_field=btmbichek     DO_MAP SHOW mketktp
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

cbtmbichek1btmbichek == "1"

cbtmbichek2btmbichek == "2"

ciniperoranganbtmbichek == "1"

ciniinstansibtmbichek == "2"

ctypePeroranganbtmbichek == "1" && djointkmFP == 0

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

lketbtmbichek

STRING(21)

LOCALINPUTRI 10

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
lketbtmbichek	PROTECT			INPUTRI	10
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mbrgM: cPERORANGAN → lketbtmbichek DO_CALC_IF jika cbtmbichek1

mbrgM: cINSTANSI → lketbtmbichek DO_CALC_IF jika cbtmbichek2

mketktp: cPERORANGAN → lketbtmbichek DO_CALC_IF jika cbtmbichek1

mketktp: cINSTANSI → lketbtmbichek DO_CALC_IF jika cbtmbichek2

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmstr2

btm.btmstr2 • TEXT(11) • Tambahan Str 2

FIELDINPUTRI 11

Field NOCHANGE • 1 default • 1 validasi • 4 hook.

① Tampilan / FIELD
NOCHANGE: tidak diubah seperti input biasa
btmstr2         NOCHANGE                INPUTRI 11
② Nilai awal / DEFAULT
Pilihan scan, boleh kosongnilai: BO_KLIK
BOOKING · REGULER · JOB_RETURN · CLAIM · CLAIM_ESAF · TAMBAHAN
③ Validasi / EDITS
MANDATORYWajib diisi.
④ Event / HOOKS
BEFORE_INPUT

Lewati field jika cBo_klik terpenuhi.

BEFORE_INPUT  cur_field=btmstr2	      DO_SKIP_IF cBo_klik
AFTER_INPUT

Jalankan scan dscanppd2.

AFTER_INPUT   cur_field=btmstr2	      DO_SCAN dscanppd2
AFTER_INPUT

Validasi interaktif: jika ctglbenar benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.TglHrsBenar.

AFTER_INPUT	cur_field=btmstr2	DO_MAP SHOW
IF ctglbenar	mdumstr
ELSE HKCURSOR STAY
HKMSG t.TglHrsBenar
AFTER_INPUT

Validasi interaktif: jika cNosinBknEsaf1 benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.NosinBknEsaf.

AFTER_INPUT	cur_field=btmstr2	DO_MAP SHOW
IF cNosinBknEsaf1 	mdumstr
ELSE HKCURSOR STAY
HKMSG t.NosinBknEsaf
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

cmasihopen(btmsts =="OPEN" && btmnobuk != BLANKS && djoinppdu == 1 && (dscanppd2 >= 0 && dscanbtf >= 0 && lok1 == 0 && lok2 == 0 && lok3 == 0 && lok17 == 0 && lhppbeda == 0 && lppdjml_BR == lbtfjml && (((lok6 > 0 || (lok5 > 0 && lok7 > 0)) && djoindtm2 == 1 && ltipepaket == 1) || (lok7 > 0 && djoindtm2 == 1 && ltipepaket == 2) || (lok11 > 0 && djoindtm2 == 1 && ltipepaket == 3) || (lok14 > 0 && djoindtm2 == 1 && ltipepaket == 4)) && lok8 == 0 && (lok10 > 0 || (lok10 == 0 && djoindtm2 == 1 && (ltipepaket == 2 || ltipepaket == 3))))) && (((djointbt_cabrekompart1 == 1 || djointbt_cabrekompart2 == 1) && dscantkdRekom >= 0 && ltotaltdkYT == 0) || (djointbt_cabrekompart1 == 0 && djointbt_cabrekompart2 == 0)) && djoinket == 1 && ((djointbd_nomesinesaf == 1 && btmrekomen != "KPB" && btmrekomen != "KPBSINSEN" && btmrekomen != "KPBNSS" && djointkdLcr == 1) || (btmrekomen == "KPB" || btmrekomen == "KPBSINSEN" || btmrekomen == "KPBNSS") || (djointbd_nomesinesaf == 0)) && ((dbscanbrd_washer == 1 || dbscanbrd_washer == 0) && (lbrdsisa2 > 0 && lbrdsisprc2 > 0 && ((btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 > 0 && lok13 > 0) || (btmwrn == "PKTSERVICEKPB1" || btmwrn == "PKTSHOWROOMEVENT") || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 == 0 && lok13 > 0) || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 == 0) || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok13 > 0)) && djointbd_promooli5 == 0) || (lbrdsisa2 > 0 && lbrdsisprc2 == 0) || (lbrdsisa2 ==0) || djointbd_promooli5 == 1) && ((btmstr2 == "CLAIM" && ( btmtypdeb == "INSTANSI" || btmtypdeb == "GARANSI" ) && djointkdSpk == 1) || ((btmstr2 == "CLAIM" && btmtypdeb == "INSTANSI" && (djointkdSpk == 1 && lytgc != "Y") && djointkmFP == 1 && ((lurusFP == "Y" && djoinsviFP_fotoktp == 1 && luplFP_fotoktp > 0 && djoinsviFP_fotonpwp == 1 && luplFP_fotonpwp > 0) || lurusFP == "T")) || (djointkdSpk == 1 && lytgc == "Y")) || (btmstr2!="CLAIM" && btmtypdeb!="INSTANSI") || (btmstr2 == "CLAIM" && btmtypdeb != "GARANSI" && btmtypdeb != "INSTANSI")) && ((btmstr2 == "TAMBAHAN" && djoinaktReqMeka1 == 1) && (djointbt_cabotomekanik1 == 1|| djointbt_cabotomekanik2 == 1) || (btmstr2 != "TAMBAHAN") || (djointbt_cabotomekanik1 == 0 && djointbt_cabotomekanik2 == 0)) && ((djoindtm_voucher == 1 && lok12 > 0 && lok16 > 0 && djointbd_promooli6 == 1) || (djoindtm_voucher == 1 && lok12 > 0 && djointbd_promooli6 == 0) || (djoindtm_voucher == 0 && djointbd_promooli6 == 0)) && ( ( djointbdmasterpromo == 1 && lcekpromo == "AKTIF" && ljmlhrgpromo >= lnominalpromo && ( dscantkdpromo >= 0 && ltotaltkd == lok19 ) ) || (djointbdmasterpromo == 0 ) )

cbknOPEN17btmstr2 == "CLAIM" && ( btmtypdeb == "INSTANSI" || btmtypdeb == "GARANSI" ) && djointkdSpk == 0

cbknOPEN22(btmstr2 == "TAMBAHAN" && djoinaktReqMeka1 == 0 && (djointbt_cabotomekanik1 == 1 || djointbt_cabotomekanik2 == 1))

cjikaclaim(btmstr2 == "CLAIM" || btmstr2 == "CLAIM_ESAF")

cpjgktp(lpanjang == 16 && djoinpsm == 1 && lpsmins != "INSTANSI" && (btmstr2 == "BOOKING" || btmstr2 == "REGULER" || btmstr2 == "REMINDER" || btmstr2 == "SERV_VISIT" || btmstr2 == "TAMBAHAN" || btmtypdeb == "GARANSI")) || (lpanjang == 16 && djoinpsm == 1 && lpsmins == "INSTANSI" && ((btmstr2 == "CLAIM" && btmtypdeb == "INSTANSI") || (btmstr2 == "REGULER" || btmstr2 == "BOOKING" || btmstr2 == "CLAIM" || btmstr2 == "TAMBAHAN")))

cClaimabtmstr2 == "CLAIM"

cCLAIMbtmstr2 == "CLAIM" && btmtypdeb != "VOUCHER"

cBo_klikbtmstr2 == "BO_KLIK"

csamabtmstr2 == "REGULER" && btmtgl == ppmtglfak && (ppmsts == "OPEN" || ppmsts == "PROS" || ppmsts == "SVOK" || ppmsts == "INPG" || ppmsts == "CLSD")

cbukanclaimbtmstr2 != "CLAIM" && btmstr2 != "CLAIM_ESAF"

cHitungROdjoinppmRO == 1 && (lthbl != lthbl1 || (lthbl1 == lthbl && (lppmsup != "BELIPART" || lppmsup != "SELESAISELISIH"))) && djoinbtmRO == 1 && btmstr2 != "TAMBAHAN" && btmrekomen != "KPB"

cHitungRONKPBdjoinppmRO == 1 && (lthbl != lthbl1 || (lthbl1 == lthbl && (lppmsup != "BELIPART" || lppmsup != "SELESAISELISIH"))) && djoinbtmRO == 1 && btmstr2 != "TAMBAHAN" && btmrekomen != "KPB"

cClaimEsafKpb(btmstr2 != "CLAIM_ESAF" && (btmrekomen == "KPB" || btmrekomen == "KPBNSS" || btmrekomen == "KPBSINSEN")) || (btmrekomen != "KPB" && btmrekomen != "KPBNSS" && btmrekomen != "KPBSINSEN")

cNosinBknEsaf1(djointbd_nomesinesaf == 1 && btmstr2 == "CLAIM_ESAF") || (btmstr2 != "CLAIM_ESAF")

chrg0btmstr2 != "CLAIM"

cdjoinhrgpersendjointbt_cabpersen == 1 && lstatuscab == "AKTIF" && ( btmstr2 == "REGULER" || btmstr2 == "TAMBAHAN" )

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmtypdeb

btm.btmtypdeb • TEXT(11) • Type Deb

FIELDINPUTRI 12

Field NOCHANGE • 1 default • 1 validasi • 1 hook.

① Tampilan / FIELD
NOCHANGE: tidak diubah seperti input biasa
btmtypdeb       NOCHANGE                INPUTRI 12
② Nilai awal / DEFAULT
Pilihan scan, boleh kosongnilai: INSTANSI
GARANSI · VOUCHER
③ Validasi / EDITS
MANDATORY_IFWajib diisi jika cjikaclaim terpenuhi.cjikaclaim = (btmstr2 == "CLAIM" || btmstr2 == "CLAIM_ESAF")
④ Event / HOOKS
BEFORE_INPUT

Lewati field jika cbukanclaim terpenuhi.

BEFORE_INPUT  cur_field=btmtypdeb     DO_SKIP_IF cbukanclaim
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

cmasihopen(btmsts =="OPEN" && btmnobuk != BLANKS && djoinppdu == 1 && (dscanppd2 >= 0 && dscanbtf >= 0 && lok1 == 0 && lok2 == 0 && lok3 == 0 && lok17 == 0 && lhppbeda == 0 && lppdjml_BR == lbtfjml && (((lok6 > 0 || (lok5 > 0 && lok7 > 0)) && djoindtm2 == 1 && ltipepaket == 1) || (lok7 > 0 && djoindtm2 == 1 && ltipepaket == 2) || (lok11 > 0 && djoindtm2 == 1 && ltipepaket == 3) || (lok14 > 0 && djoindtm2 == 1 && ltipepaket == 4)) && lok8 == 0 && (lok10 > 0 || (lok10 == 0 && djoindtm2 == 1 && (ltipepaket == 2 || ltipepaket == 3))))) && (((djointbt_cabrekompart1 == 1 || djointbt_cabrekompart2 == 1) && dscantkdRekom >= 0 && ltotaltdkYT == 0) || (djointbt_cabrekompart1 == 0 && djointbt_cabrekompart2 == 0)) && djoinket == 1 && ((djointbd_nomesinesaf == 1 && btmrekomen != "KPB" && btmrekomen != "KPBSINSEN" && btmrekomen != "KPBNSS" && djointkdLcr == 1) || (btmrekomen == "KPB" || btmrekomen == "KPBSINSEN" || btmrekomen == "KPBNSS") || (djointbd_nomesinesaf == 0)) && ((dbscanbrd_washer == 1 || dbscanbrd_washer == 0) && (lbrdsisa2 > 0 && lbrdsisprc2 > 0 && ((btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 > 0 && lok13 > 0) || (btmwrn == "PKTSERVICEKPB1" || btmwrn == "PKTSHOWROOMEVENT") || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 == 0 && lok13 > 0) || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 == 0) || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok13 > 0)) && djointbd_promooli5 == 0) || (lbrdsisa2 > 0 && lbrdsisprc2 == 0) || (lbrdsisa2 ==0) || djointbd_promooli5 == 1) && ((btmstr2 == "CLAIM" && ( btmtypdeb == "INSTANSI" || btmtypdeb == "GARANSI" ) && djointkdSpk == 1) || ((btmstr2 == "CLAIM" && btmtypdeb == "INSTANSI" && (djointkdSpk == 1 && lytgc != "Y") && djointkmFP == 1 && ((lurusFP == "Y" && djoinsviFP_fotoktp == 1 && luplFP_fotoktp > 0 && djoinsviFP_fotonpwp == 1 && luplFP_fotonpwp > 0) || lurusFP == "T")) || (djointkdSpk == 1 && lytgc == "Y")) || (btmstr2!="CLAIM" && btmtypdeb!="INSTANSI") || (btmstr2 == "CLAIM" && btmtypdeb != "GARANSI" && btmtypdeb != "INSTANSI")) && ((btmstr2 == "TAMBAHAN" && djoinaktReqMeka1 == 1) && (djointbt_cabotomekanik1 == 1|| djointbt_cabotomekanik2 == 1) || (btmstr2 != "TAMBAHAN") || (djointbt_cabotomekanik1 == 0 && djointbt_cabotomekanik2 == 0)) && ((djoindtm_voucher == 1 && lok12 > 0 && lok16 > 0 && djointbd_promooli6 == 1) || (djoindtm_voucher == 1 && lok12 > 0 && djointbd_promooli6 == 0) || (djoindtm_voucher == 0 && djointbd_promooli6 == 0)) && ( ( djointbdmasterpromo == 1 && lcekpromo == "AKTIF" && ljmlhrgpromo >= lnominalpromo && ( dscantkdpromo >= 0 && ltotaltkd == lok19 ) ) || (djointbdmasterpromo == 0 ) )

cbknOPEN17btmstr2 == "CLAIM" && ( btmtypdeb == "INSTANSI" || btmtypdeb == "GARANSI" ) && djointkdSpk == 0

ctdkVocherbtmtypdeb != "VOUCHER"

cclaimVocherbtmtypdeb == "VOUCHER"

cpjgktp(lpanjang == 16 && djoinpsm == 1 && lpsmins != "INSTANSI" && (btmstr2 == "BOOKING" || btmstr2 == "REGULER" || btmstr2 == "REMINDER" || btmstr2 == "SERV_VISIT" || btmstr2 == "TAMBAHAN" || btmtypdeb == "GARANSI")) || (lpanjang == 16 && djoinpsm == 1 && lpsmins == "INSTANSI" && ((btmstr2 == "CLAIM" && btmtypdeb == "INSTANSI") || (btmstr2 == "REGULER" || btmstr2 == "BOOKING" || btmstr2 == "CLAIM" || btmstr2 == "TAMBAHAN")))

cCLAIMbtmstr2 == "CLAIM" && btmtypdeb != "VOUCHER"

cUpldMemo((btmtypdeb == "VOUCHER" && djoinaktmemo == 1 && laktdk_memo == "Y") || btmtypdeb != "VOUCHER")

cCabTdkSesuai((btmtypdeb == "VOUCHER" && djointbdcabpromo == 1) || btmtypdeb != "VOUCHER")

cgaransibtmtypdeb == "GARANSI"

cinstansi1btmtypdeb == "INSTANSI"

clocaloke((btmtypdeb == "GARANSI" && (lpanjangspk >= 26 && lpanjangspk <= 28)) || btmtypdeb != "GARANSI")

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmkdsam

btm.btmkdsam • TEXT(21) • Kode Samsat

FIELDINPUTRI 13

Field input • huruf besar • tanpa spasi • 1 validasi • 13 hook.

① Tampilan / FIELD
ALLCAPS: input huruf besarNOSPACE: tanpa spasi
btmkdsam        ALLCAPS NOSPACE         INPUTRI 13
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
MANDATORYWajib diisi.
④ Event / HOOKS
BEFORE_INPUT

Lewati field jika cdjoincabapi2 terpenuhi.

BEFORE_INPUT    cur_field=btmkdsam      DO_SKIP_IF cdjoincabapi2
AFTER_INPUT

Jalankan MAP mpanjangnopol.

AFTER_INPUT   cur_field=btmkdsam      DO_MAP SHOW mpanjangnopol
AFTER_INPUT

Panggil library jika ctglok terpenuhi: ap_slshr(&lDD,btmtgl,btmjtppjk,lplus3,lmin3,&ljmlbln,&ljmlhari);

AFTER_INPUT   cur_field=btmkdsam      DO_LIB_IF ctglok  ap_slshr(&lDD,btmtgl,btmjtppjk,lplus3,lmin3,&ljmlbln,&ljmlhari);
AFTER_INPUT

Panggil library jika crmdstrukturh2_Usia terpenuhi: ap_ambts(gv_INPG,lrmdgabUsia,lUsia,lbts2,lbts3,&lhasil1,&lhasil2,&lhasil3,&lhasil1_txtusia,&lhasil2_txt);

AFTER_INPUT   cur_field=btmkdsam      DO_LIB_IF crmdstrukturh2_Usia ap_ambts(gv_INPG,lrmdgabUsia,lUsia,lbts2,lbts3,&lhasil1,&lhasil2,&lhasil3,&lhasil1_txtusia,&lhasil2_txt);
AFTER_INPUT

Jalankan MAP mpanjangktp.

AFTER_INPUT   cur_field=btmkdsam      DO_MAP SHOW mpanjangktp
AFTER_INPUT

Jalankan MAP mselisihbl.

AFTER_INPUT   cur_field=btmkdsam      DO_MAP SHOW mselisihbl
AFTER_INPUT

Jalankan scan dbscanbrca.

AFTER_INPUT   cur_field=btmkdsam      DO_SCAN dbscanbrca
AFTER_INPUT

Sesudah/sebelum input, jalankan scan dbscanppm jika cbtmkdsam terpenuhi.

AFTER_INPUT   cur_field=btmkdsam      DO_SCAN_IF cbtmkdsam dbscanppm
AFTER_INPUT

Sesudah/sebelum input, jalankan scan dscanpps_kpbnss jika ctdkkosong terpenuhi.

AFTER_INPUT	cur_field=btmkdsam    DO_SCAN_IF ctdkkosong dscanpps_kpbnss
AFTER_INPUT

Validasi interaktif: jika cadanopol benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.btsnNOPOL.

AFTER_INPUT     cur_field=btmkdsam 	DO_MAP SHOW
IF cadanopol 		mdumstr
ELSE HKCURSOR STAY
HKMSG t.btsnNOPOL
AFTER_INPUT

Validasi interaktif: jika cadanosin benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.NosinSalah.

AFTER_INPUT	cur_field=btmkdsam	DO_MAP SHOW
IF cadanosin mdumstr
ELSE HKCURSOR STAY
HKMSG t.NosinSalah
AFTER_INPUT

Validasi interaktif: jika cnopol_reguler benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (btmkdsam) dan tampil pesan Nopol sudah ada di tipe REGULER, silahkan input tipe TAMBAHAN.

AFTER_INPUT   cur_field=btmkdsam	      DO_MAP SHOW
IF cnopol_reguler mdumstr
ELSE HKCURSOR btmkdsam
HKMSG Nopol sudah ada di tipe REGULER, silahkan input tipe TAMBAHAN
AFTER_INPUT

Validasi interaktif: jika cisiantrian benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (btmkdsam) dan tampil pesan t.LayarMD.

AFTER_INPUT	cur_field=btmkdsam	DO_MAP SHOW
IF cisiantrian    mdumstr
ELSE HKCURSOR btmkdsam
HKMSG t.LayarMD
⑤ Aliran data & proses lanjutan
MAP membaca field ini

mnext: btmkdsam → r_string2 REPLACE

mmaptlm416: btmkdsam → ltlmnobbm416 REPLACE

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

cbtmkdsambtmkdsam!=BLANKS

ctglbenar((djoinast2 == 1 && lasttgl >= 19700101 && btmkdsam != BLANKS) || btmkdsam == BLANKS)

cpanjangnopolDO_LIB ap_strln(btmkdsam,&lpanjangnopol);

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmass

btm.btmass • TEXT(21) • Kode Asuransi

FIELDINPUTRI 14

Field input • huruf besar • 1 validasi • 1 hook.

① Tampilan / FIELD
ALLCAPS: input huruf besar
btmass    	ALLCAPS			INPUTRI 14
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
MANDATORYWajib diisi.
④ Event / HOOKS
BEFORE_INPUT

Lewati field jika cdjoincabapi2 terpenuhi.

BEFORE_INPUT    cur_field=btmass        DO_SKIP_IF cdjoincabapi2
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmjnsdeb

btm.btmjnsdeb • TEXT(21) • Jenis Deb

FIELDINPUTRI 15

Field input • angka • tanpa spasi • 2 hook.

① Tampilan / FIELD
NUMERIC: input angkaNOSPACE: tanpa spasi
btmjnsdeb	NUMERIC NOSPACE		INPUTRI	15
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS
BEFORE_INPUT

Lewati field jika cdjoincabapi2 terpenuhi.

BEFORE_INPUT    cur_field=btmjnsdeb     DO_SKIP_IF cdjoincabapi2
BEFORE_INPUT

Lewati field jika cadatlp terpenuhi.

BEFORE_INPUT  cur_field=btmjnsdeb     DO_SKIP_IF cadatlp
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

cadatlpbtmjnsdeb != BLANKS

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmtypmtr

btm.btmtypmtr • TEXT(21) • Type Motor

FIELDINPUTRI 16

Field input • huruf besar • 2 validasi • 2 hook.

① Tampilan / FIELD
ALLCAPS: input huruf besarSCROLL: mode scroll/lookup framework
btmtypmtr       ALLCAPS SCROLL          INPUTRI 16
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
MANDATORY_IFWajib diisi jika cbukanauto terpenuhi.cbukanauto = djoincabapi2 == 0
VALIDATENilai harus tervalidasi ke tabel brg via index brgstdtkatbr. MAP hasil: mbrgM.Index: brgstdtkatbr → brg [brgsts, brgdata, brgkat, brgkode]
MAP validasi mbrgM
brgnama         lnamabarang    REPLACE
brgnama         btmnama        REPLACE
brgkode         btmtypmtr      REPLACE
brgkat5         btmbisnis      REPLACE
brgfrefik2	btmtypmtr2     REPLACE
lppdperdism     lestimasi      REPLACE_IF cppdperdism_isi
laktjam_start   laktjam_start  REPLACE_IF cdjoinakt
cwaktuest       lwaktuest      DO_CALC_IF cdjoinakt
lketisi		lketisi	       REPLACE_IF cdjoinket
lppdtotfak	ltotalharga    REPLACE_IF cppdtotfak_isi
lppdjml		ltotalqty      REPLACE_IF cppdjml_isi
lpsinamaFLP	lpsinamaFLP    REPLACE_IF cdjoinpsiFLP
lpsinamaMEK	lpsinamaMEK    REPLACE_IF cdjoinpsiMEK
ltbtdf1_biaya	ltbtdf1_biaya  REPLACE_IF cdjointbt_cabshow1
lastnomesin	lastnomesin	REPLACE_IF cdjoinast2
lssunobuk2	lssunobuk2	REPLACE_IF cdjoinssu1
lppmnoll614	lppmnoll614	REPLACE_IF cdjoinppm614
ltglkirimmtr	ltglkirimmtr	REPLACE_IF cdjoinppm614
lbtmytplg611	lbtmytplg611	REPLACE_IF cdjoinbtm611
cnosinesaf	lnosin5		DO_CALC
lseriesesaf	lseriesesaf	REPLACE_IF cdjointbd_nomesinesaf1
cBLANKS		linfokpbnss	DO_CALC_IF cbtmhrg0
cSERVICE2THNa	linfokpbnss	DO_CALC_IF cbtmhrg1
cSERVICE2THNb	linfokpbnss	DO_CALC_IF cbtmhrg2
cPERORANGAN	lketbtmbichek	DO_CALC_IF cbtmbichek1
cINSTANSI	lketbtmbichek	DO_CALC_IF cbtmbichek2
cBLANKS         linfokpbnss     DO_CALC_IF cbtmhrg0x
cOLIKPBSINSENa  linfokpbnss     DO_CALC_IF cbtmhrg1a
cOLIKPBSINSENb  linfokpbnss     DO_CALC_IF cbtmhrg2b
cBLANKS         linfokpbnss     DO_CALC_IF cbtmhrg0_a
cOLI1TAHUNa     linfokpbnss     DO_CALC_IF cbtmhrg1_b
cOLI1TAHUNb     linfokpbnss     DO_CALC_IF cbtmhrg2_c
cOLI1TAHUNa     linfokpbnss     DO_CALC_IF ckpb1tahun_kosong2
④ Event / HOOKS
BEFORE_INPUT

Lewati field jika cdjoinapitbd2 terpenuhi.

BEFORE_INPUT    cur_field=btmtypmtr     DO_SKIP_IF cdjoinapitbd2
AFTER_INPUT

Validasi interaktif: jika cbtmtypmtr0 benar jalankan mbrgM; jika gagal cursor ditahan/diarahkan (btmtypmtr) dan tampil pesan Series Motor Belum Diketahui !!.

AFTER_INPUT   cur_field=btmtypmtr     	DO_MAP SHOW
IF cbtmtypmtr0 mbrgM
ELSE HKCURSOR btmtypmtr
HKMSG Series Motor Belum Diketahui !!
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mbrgM: brgkode → btmtypmtr REPLACE

mpanjangnopol: lastmotor → btmtypmtr REPLACE_IF jika cdjoinast2

CALCS yang membaca field ini

cdjoinapitbd2( djoincabapi2 == 1 && ltbddfapi1 == 1 ) || ( djoincabapi3 == 1 && ltbddfapi1 == 1 ) && btmtypmtr != BLANKS

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

lnamabarang

STRING(101)

LOCALINPUTRI 17

Field input • huruf besar • 1 hook.

① Tampilan / FIELD
ALLCAPS: input huruf besarSCROLL: mode scroll/lookup framework
lnamabarang     ALLCAPS SCROLL          INPUTRI 17
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS
BEFORE_INPUT

Lewati field jika cOld terpenuhi.

BEFORE_INPUT  cur_field=lnamabarang   DO_SKIP_IF cOld
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mbrgM: brgnama → lnamabarang REPLACE

CALCS yang membaca field ini

cOldbtmytbiro=="O" && btmplg !="" && lnamabarang != ""

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmtypmtr2

btm.btmtypmtr2 • TEXT(21) • Type Motor Ke2

FIELDINPUTRI 18

Field terlindungi (PROTECT) • 1 validasi.

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasaSCROLL: mode scroll/lookup framework
btmtypmtr2	PROTECT SCROLL		INPUTRI 18
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
MANDATORYWajib diisi.
④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

m4579: btmtypmtr2 → r_string2 REPLACE

m4579b: btmtypmtr2 → r_string2 REPLACE

MAP menulis ke field ini

mbrgM: brgfrefik2 → btmtypmtr2 REPLACE

CALCS yang membaca field ini

crmdgabkpbtunai"KPB1TAHUNTUNAI" + STRIP(btmcab) + STRIP(btmtypmtr2) + STRIP(lppmtk614)

cmampatseriesMAMPAT(btmtypmtr2)

crmdgabpaket2STRIP(btmwrn) + STRIP(btmlokjual) + STRIP(btmposjmn) + STRIP(btmtypmtr2)

crmdgabpaket3STRIP(btmwrn) + STRIP(btmlokjual) + STRIP(btmposjmn) + STRIP(btmtypmtr2)

crmdgabpaket5STRIP(btmsurveyor) + STRIP(btmlokjual) + STRIP(btmtypmtr2)

crmdgabUsia"USIAMOTOR" + STRIP(btmtypmtr2)

crmdgabHitungKpb"HITUNGKPB" + STRIP(btmtypmtr2) + STRIP(btmwrn)

crmdgabkpbtdm3STRIP(btmwrn) + STRIP(btmcab) + STRIP(btmtypmtr2)

crmdgabkpbtdm4STRIP(btmwrn) + STRIP(btmcab) + STRIP(btmtypmtr2)

cbtmtypmtr0btmtypmtr2 != BLANKS

ckirimdata"REKOMENPAKET"+STRIP(btmtypmtr2)+STRIP(lhasil1_txtusia)

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmbisnis

btm.btmbisnis • TEXT(21) • Bisnis

FIELDINPUTRI 18

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
btmbisnis	PROTECT			INPUTRI	18
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mbrgM: brgkat5 → btmbisnis REPLACE

CALCS yang membaca field ini

crmdgabKilo"KILOMOTOR" + STRIP(btmbisnis)

cmotorcub(btmbisnis == "CUB MID" || btmbisnis == "CUB LOW" || btmbisnis == "CUB HIGH")

cmotorsport(btmbisnis == "SPORT MID" || btmbisnis == "SPORT LOW" || btmbisnis == "SPORT HIGH")

cmotormatic(btmbisnis == "AT MID" || btmbisnis == "AT LOW")

cmotorpremium(btmbisnis == "MATIC" || btmbisnis == "AT HIGH")

cwasher_lewat((ppdjasbrg == "BR" && djoinbrg == 1 && lbrgkat4 == "PART" && lbrgkat5 == "WASHER" && (((btmbisnis == "CUB" || btmbisnis == "CUB HIGH" || btmbisnis == "CUB LOW" || btmbisnis == "CUB MID") && djointbd_kodewashercub == 1) || ((btmbisnis == "MATIC" || btmbisnis == "AT HIGH" || btmbisnis == "AT LOW" || btmbisnis == "AT MID") && djointbd_kodewashermatic == 1) || ((btmbisnis == "SPORT" || btmbisnis == "SPORT HIGH" || btmbisnis == "SPORT LOW" || btmbisnis == "SPORT MID") && djointbd_kodewashersport == 1))) || (djoinbrg == 1 && lbrgkat5 != "WASHER" || ppdjasbrg != "BR"))

ckirimdata2STRIP(btmwrn)+STRIP(btmbisnis)+STRIP(lhasil1_txtkilo)

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmdf2

btm.btmdf2 • DOUBLE • Tambahan Df 2

FIELDINPUTRI 19

Field input • huruf besar • 1 validasi • 9 hook.

① Tampilan / FIELD
ALLCAPS: input huruf besarSCROLL: mode scroll/lookup framework
btmdf2          ALLCAPS SCROLL         	INPUTRI 19
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
MANDATORYWajib diisi.
④ Event / HOOKS
BEFORE_INPUT

Lewati field jika cdjoincabapi2 terpenuhi.

BEFORE_INPUT    cur_field=btmdf2        DO_SKIP_IF cdjoincabapi2
AFTER_INPUT

Jalankan MAP mreg.

AFTER_INPUT   cur_field=btmdf2        DO_MAP SHOW mreg
AFTER_INPUT

Jalankan MAP mrmdgab.

AFTER_INPUT   cur_field=btmdf2        DO_MAP SHOW mrmdgab
AFTER_INPUT

Panggil library jika crmdgab1 terpenuhi: ap_ambts(gv_INPG,lrmdgab,btmdf2,lbts1,lbts3,&lhasil1,&lhasil2,&lhasil3,lhasil1_txtkm,lhasil2_txt);

AFTER_INPUT   cur_field=btmdf2        DO_LIB_IF crmdgab1 ap_ambts(gv_INPG,lrmdgab,btmdf2,lbts1,lbts3,&lhasil1,&lhasil2,&lhasil3,lhasil1_txtkm,lhasil2_txt);
AFTER_INPUT

Panggil library jika crmdstrukturh2_Kilo terpenuhi: ap_ambts(gv_INPG,lrmdgabKilo,btmdf2,lbts2,lbts3,&lhasil1,&lhasil2,&lhasil3,lhasil1_txtkilo,lhasil2_txt);

AFTER_INPUT   cur_field=btmdf2        DO_LIB_IF crmdstrukturh2_Kilo ap_ambts(gv_INPG,lrmdgabKilo,btmdf2,lbts2,lbts3,&lhasil1,&lhasil2,&lhasil3,lhasil1_txtkilo,lhasil2_txt);
AFTER_INPUT

Jalankan scan dbscanbrca.

AFTER_INPUT   cur_field=btmdf2        DO_SCAN dbscanbrca
AFTER_INPUT

Jalankan MAP mtotal2.

AFTER_INPUT   cur_field=btmdf2        DO_MAP SHOW mtotal2
AFTER_INPUT

Jalankan MAP mkm.

AFTER_INPUT   cur_field=btmdf2	      DO_MAP SHOW mkm
AFTER_INPUT

Validasi interaktif: jika clebih benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (btmdf2) dan tampil pesan KM baru, harus lebih besar dari km lama !!!.

AFTER_INPUT   cur_field=btmdf2        DO_MAP SHOW
IF clebih mdumstr
ELSE HKCURSOR btmdf2
HKMSG KM baru, harus lebih besar dari km lama !!!
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

ckmberikutbtmdf2 + 2000

clebihbtmdf2 > btmdf1

clebihabtmdf2> 12000 || btmjml>360

cKpbSama(((btmrekomen == "KPB" && lUsia2 <= lhasil2kpb && btmdf2 <= lhasil1kpb) || (btmrekomen != "KPB")) || (djoinakt_historikpb == 0) || (djoinrmdstrukturh2_hitungkpb == 0))

POSTING yang menyentuh field

PST_UPDCMDspmasterupdDO_LIB_IF crmdstrukturh2_Kilo ap_ambts(gv_INPG,lrmdgabKilo,btmdf2,lbts2,lbts3,&lhasil1,&lhasil2,&lhasil3,&lhasil1_txtkilo,&lhasil2_txt);

btmsubtot

btm.btmsubtot • DOUBLE • Sub Total

FIELDINPUTRI 20

Field terlindungi (PROTECT) • 1 hook.

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
btmsubtot       PROTECT                 INPUTRI 20
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS
BEFORE_INPUT

Lewati field jika cdjoincabapi2 terpenuhi.

BEFORE_INPUT    cur_field=btmsubtot     DO_SKIP_IF cdjoincabapi2
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mkm: ckmberikut → btmsubtot DO_CALC

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmdf1

btm.btmdf1 • DOUBLE • Tambahan Df 1

FIELDINPUTRI 21

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasaUNSEEN: tidak terlihat
btmdf1          PROTECT UNSEEN          INPUTRI 21
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mpanjangnopol: castkmmotor → btmdf1 DO_CALC_IF jika cdjoinast2x

CALCS yang membaca field ini

clebihbtmdf2 > btmdf1

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmdvsjl

btm.btmdvsjl • TEXT(21) • Dvs Jual

FIELDINPUTRI 22

Field input • huruf besar • 1 default • 1 validasi • 1 hook.

① Tampilan / FIELD
ALLCAPS: input huruf besar
btmdvsjl        ALLCAPS                 INPUTRI 22
② Nilai awal / DEFAULT
Pilihan scan, boleh kosongnilai:
25% · 50% · 75% · 100%
③ Validasi / EDITS
MANDATORYWajib diisi.
④ Event / HOOKS
BEFORE_INPUT

Lewati field jika cdjoincabapi2 terpenuhi.

BEFORE_INPUT    cur_field=btmdvsjl      DO_SKIP_IF cdjoincabapi2
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmsoa

btm.btmsoa • TEXT(21) • Source Of App

FIELDINPUTRI 23

Field input • huruf besar • 2 validasi • 1 hook.

① Tampilan / FIELD
ALLCAPS: input huruf besar
btmsoa          ALLCAPS                 INPUTRI 23
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
MANDATORYWajib diisi.
VALIDATENilai harus tervalidasi ke tabel tbd via index tbddatkodidx. MAP hasil: mked.Index: tbddatkodidx → tbd [tbddata, tbddtmkode, tbdtblkode, tbdkode]
MAP validasi mked
tbdkode         btmsoa          REPLACE
lppmtglfak	lppmtglfak	REPLACE_IF cdjoinppmRO1
④ Event / HOOKS
BEFORE_INPUT

Lewati field jika cdjoincabapi2x terpenuhi.

BEFORE_INPUT    cur_field=btmsoa        DO_SKIP_IF cdjoincabapi2x
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mked: tbdkode → btmsoa REPLACE

CALCS yang membaca field ini

cbknOPEN25(btmtgl >= 20240612 && btmsoa == "GC" && (djoinsvi == 0 || (djoinsvi == 1 && ljmluplstnk == 0))) && g_grpnam == "TUTUP"

cbknOPEN26(btmtgl >= 20240612 && btmsoa == "GC" && djointlmGC == 1 && lgc_instansi == "GC_MBM" && djoinsvi == 1 && lcabinstansistnk == BLANKS) && g_grpnam == "TUTUP"

cSPKSALESbtmsoa == "SPKSALES"

csdhJtp((ltanggalJtp >= g_tgltrn) && (btmsoa == "AHASS EVENT" || btmsoa == "SERVICE VISIT")) || ((ltanggalJtp < g_tgltrn) && btmsoa == "AHASS EVENT" && btmsurveyor == BLANKS) || (btmsoa == "SERVICE VISIT" && btmsurveyor == BLANKS) || ((btmsoa != "AHASS EVENT" && btmsoa != "SERVICE VISIT") && btmsurveyor == BLANKS)

cdjoincabapi2x( djoincabapi3 == 1 && ltbddfapi3 == 1 && btmsoa != BLANKS)

cadapotJS(ltkmtotal==1 && btmsoa == "SPKSALES") && djoinrmdJS ==1 && lrmdgabJS != BLANKS

cpromo_spkltkmtotal==1 || btmsoa != "SPKSALES"

cbukan_darispkbtmsoa !="SPKSALES"

clbhbesardjoinbrgJS ==1 && lbrgdisrp <= ppdhrg && (ltkmtotal==1 && btmsoa == "SPKSALES")

cdis3xppdjasbrg == "JI" && btmsoa !="SPKSALES" && ppdnokrm == BLANKS

cdis3yppdjasbrg == "JI" && btmsoa =="SPKSALES" && ppdhrg >= lbrgdisrp

cdisjs2xppdjasbrg == "JI" && ppdperdis2 > 0 && btmsoa !="SPKSALES"

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmmakelar

btm.btmmakelar • TEXT(21) • Kode Makelar

FIELDINPUTRI 24

Field input • huruf besar • 2 validasi.

① Tampilan / FIELD
ALLCAPS: input huruf besar
btmmakelar      ALLCAPS                 INPUTRI 24
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
MANDATORYWajib diisi.
VALIDATENilai harus tervalidasi ke tabel tbd via index tbddatkodidx. MAP hasil: mals.Index: tbddatkodidx → tbd [tbddata, tbddtmkode, tbdtblkode, tbdkode]
MAP validasi mals
tbdkode         btmmakelar      REPLACE
④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mals: tbdkode → btmmakelar REPLACE

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

linfokpbnss

STRING(61)

LOCALINPUTRI 25

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
linfokpbnss	PROTECT			INPUTRI	25
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mbrgM: cBLANKS → linfokpbnss DO_CALC_IF jika cbtmhrg0

mbrgM: cSERVICE2THNa → linfokpbnss DO_CALC_IF jika cbtmhrg1

mbrgM: cSERVICE2THNb → linfokpbnss DO_CALC_IF jika cbtmhrg2

mbrgM: cBLANKS → linfokpbnss DO_CALC_IF jika cbtmhrg0x

mbrgM: cOLIKPBSINSENa → linfokpbnss DO_CALC_IF jika cbtmhrg1a

mbrgM: cOLIKPBSINSENb → linfokpbnss DO_CALC_IF jika cbtmhrg2b

mbrgM: cBLANKS → linfokpbnss DO_CALC_IF jika cbtmhrg0_a

mbrgM: cOLI1TAHUNa → linfokpbnss DO_CALC_IF jika cbtmhrg1_b

mbrgM: cOLI1TAHUNb → linfokpbnss DO_CALC_IF jika cbtmhrg2_c

mbrgM: cOLI1TAHUNa → linfokpbnss DO_CALC_IF jika ckpb1tahun_kosong2

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmsurveyor

btm.btmsurveyor • TEXT(21) • Kode Surveyor

FIELDINPUTRI 26

Field input • huruf besar • 3 validasi • 12 hook.

① Tampilan / FIELD
ALLCAPS: input huruf besarSCROLL: mode scroll/lookup framework
btmsurveyor     ALLCAPS SCROLL          INPUTRI 26
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
MANDATORY_IFWajib diisi jika cdjointbd_typdatang1 terpenuhi.cdjointbd_typdatang1 = djointbd_typdatang1 == 1
VALIDATE_IFNilai harus tervalidasi ke tabel dtm via index dtmdatstskod jika ctdkVocher terpenuhi. MAP hasil: mdtmP.ctdkVocher = btmtypdeb != "VOUCHER"Index: dtmdatstskod → dtm [dtmdata, dtmsts, dtmkode]
MAP validasi mdtmP
dtmkode         btmsurveyor   	REPLACE
dtmtglkurs	ltanggalJtp   	REPLACE
VALIDATE_IFNilai harus tervalidasi ke tabel dtm via index dtmdatstskod jika cclaimVocher terpenuhi. MAP hasil: mdtmP.cclaimVocher = btmtypdeb == "VOUCHER"Index: dtmdatstskod → dtm [dtmdata, dtmsts, dtmkode]
MAP validasi mdtmP
dtmkode         btmsurveyor   	REPLACE
dtmtglkurs	ltanggalJtp   	REPLACE
④ Event / HOOKS
BEFORE_INPUT

Lewati field jika cCLAIM terpenuhi.

BEFORE_INPUT  cur_field=btmsurveyor   DO_SKIP_IF cCLAIM
AFTER_INPUT

Jalankan MAP mhasilnya jika cbtmstr1ya terpenuhi.

AFTER_INPUT   cur_field=btmsurveyor   DO_MAP SHOW IF cbtmstr1ya mhasilnya
AFTER_INPUT

Jalankan MAP mpromoJasa jika cdjointbd_promoJasa terpenuhi.

AFTER_INPUT	cur_field=btmsurveyor	DO_MAP SHOW IF cdjointbd_promoJasa mpromoJasa
AFTER_INPUT

Jalankan MAP mmasterpromo.

AFTER_INPUT	cur_field=btmsurveyor	DO_MAP SHOW mmasterpromo
AFTER_INPUT

Validasi interaktif: jika cAdaDiskon benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.HrsAhassEvent.

AFTER_INPUT	cur_field=btmsurveyor	DO_MAP SHOW
IF cAdaDiskon	mdumstr
ELSE HKCURSOR STAY
HKMSG t.HrsAhassEvent
AFTER_INPUT

Validasi interaktif: jika csdhJtp benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.PromoSdhTdkBerlaku.

AFTER_INPUT	cur_field=btmsurveyor	DO_MAP SHOW
IF csdhJtp	mdumstr
ELSE HKCURSOR STAY
HKMSG t.PromoSdhTdkBerlaku
AFTER_INPUT

Validasi interaktif: jika cMotorPromo benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.TypeMotorIniTdkPromo.

AFTER_INPUT     cur_field=btmsurveyor   DO_MAP SHOW
IF cMotorPromo      mdumstr
ELSE HKCURSOR STAY
HKMSG t.TypeMotorIniTdkPromo
AFTER_INPUT

Validasi interaktif: jika cUpldMemo benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.BlmUploadMemoHubHO.

AFTER_INPUT     cur_field=btmsurveyor   DO_MAP SHOW
IF cUpldMemo      mdumstr
ELSE HKCURSOR STAY
HKMSG t.BlmUploadMemoHubHO
AFTER_INPUT

Validasi interaktif: jika cCabTdkSesuai benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.CabTdkSesuaiPromo.

AFTER_INPUT     cur_field=btmsurveyor   DO_MAP SHOW
IF cCabTdkSesuai      mdumstr
ELSE HKCURSOR STAY
HKMSG t.CabTdkSesuaiPromo
AFTER_INPUT

Validasi interaktif: jika cCabTdkSesuai1 benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.CabTdkSesuaiPromo.

AFTER_INPUT     cur_field=btmsurveyor   DO_MAP SHOW
IF cCabTdkSesuai1      mdumstr
ELSE HKCURSOR STAY
HKMSG t.CabTdkSesuaiPromo
AFTER_INPUT

Validasi interaktif: jika cPromoparttdm benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.TdkBolehPakaiPromoIni.

AFTER_INPUT	cur_field=btmsurveyor   DO_MAP SHOW
IF cPromoparttdm      mdumstr
ELSE HKCURSOR STAY
HKMSG t.TdkBolehPakaiPromoIni
AFTER_INPUT

Validasi interaktif: jika cPromoNSSPEDULI benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.TdkBolehPakaiPromoIni.

AFTER_INPUT	cur_field=btmsurveyor   DO_MAP SHOW
IF cPromoNSSPEDULI      mdumstr
ELSE HKCURSOR STAY
HKMSG t.TdkBolehPakaiPromoIni
⑤ Aliran data & proses lanjutan
MAP membaca field ini

m4579: btmsurveyor → r_string4 REPLACE

m4579a: btmsurveyor → r_string4 REPLACE

m4579b: btmsurveyor → r_string4 REPLACE

MAP menulis ke field ini

mdtmP: dtmkode → btmsurveyor REPLACE

CALCS yang membaca field ini

csdhJtp((ltanggalJtp >= g_tgltrn) && (btmsoa == "AHASS EVENT" || btmsoa == "SERVICE VISIT")) || ((ltanggalJtp < g_tgltrn) && btmsoa == "AHASS EVENT" && btmsurveyor == BLANKS) || (btmsoa == "SERVICE VISIT" && btmsurveyor == BLANKS) || ((btmsoa != "AHASS EVENT" && btmsoa != "SERVICE VISIT") && btmsurveyor == BLANKS)

cpromo821btmsurveyor == "SHOWROOM EVENT"

crmdgabpaket5STRIP(btmsurveyor) + STRIP(btmlokjual) + STRIP(btmtypmtr2)

cAdaDiskon((djointbd_typdatang1 == 1 && btmsurveyor != BLANKS) || (djointbd_typdatang3 == 1 && btmsurveyor != BLANKS) || (djointbd_typdatang1 == 0 && btmsurveyor != BLANKS && btmrekomen == "OLI") || (djointbd_typdatang1 == 0 && btmsurveyor == BLANKS))

cEvent821(djointbd_typdatang1 == 1 && btmsurveyor == "SHOWROOM EVENT" && btmwrn == "PKTSHOWROOMEVENT") || (djointbd_typdatang1 == 0 && btmsurveyor == BLANKS) || btmsurveyor!="SHOWROOM EVENT"

cevent821blhlewat(btmsurveyor == "SHOWROOM EVENT" && ladapromo821 > 0) || btmwrn != "PKTSHOWROOMEVENT" || g_grpnam == "RI"

cPromoNSSPEDULI((btmsurveyor == "NSS PEDULI" && djointbt_cabnsspeduli == 1) || (btmsurveyor != "NSS PEDULI"))

cPaketNSSPEDULI((btmsurveyor == "NSS PEDULI" && djointbt_cabnsspeduli == 1 && btmwrn == "NSSPEDULI") || (btmsurveyor != "NSS PEDULI" && btmwrn != "NSSPEDULI"))

cTdkDiskon((djointbd_paketotokilo == 1 && btmsurveyor == BLANKS) || djointbd_paketotokilo ==0)

conlykpb1tahun(btmrekomen == "KPB" && btmwrn != "PKTSERVICEKPB1" && btmsurveyor== BLANKS && (btmperppn == 0 || (djointmp_promokpb == 1 && btmperppn < ltmpisidf1)) && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 !="OLI GEAR" && djoinppm614 == 1 && ltglkirimmtr >= 20240901 && (lppmtk614 == "K" || (djoinrmdstrukturh2_kpb1tahun_tunai == 1 && lbtmytplg611 == "Y")) && btmhrg == 2 && djointbt_cabtdkkpb1tahun == 0)

cnotdisbtmguna != "INSTANSI" && btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSERVICEKPB2" && btmwrn != "PKTSERVICEKPB3" && btmwrn != "PKTSERVICEKPB4" && btmwrn != "PAKETNORMAL" && btmsurveyor == "" && btmsts == "OPEN"

cnotdisapibtmguna != "INSTANSI" && btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSERVICEKPB2" && btmwrn != "PKTSERVICEKPB3" && btmwrn != "PKTSERVICEKPB4" && btmwrn != "PAKETNORMAL" && btmsurveyor == "" && btmsts == "OPEN" && ( g_curcmd == 1 && djoincabapi2 == 1 && ltbdkettype == "ADA" && ppdkdmua == BLANKS )

cnotdisx(btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSERVICEKPB2" && btmwrn != "PKTSERVICEKPB3" && btmwrn != "PKTSERVICEKPB4") || (btmguna == "INSTANSI" && btmwrn == "PAKETNORMAL") || (btmsurveyor != BLANKS && btmwrn == "PAKETNORMAL")

cnotdisrmdlrmdgab3 != BLANKS && btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSERVICEKPB2" && btmwrn != "PKTSERVICEKPB3" && btmwrn != "PKTSERVICEKPB4" && btmwrn != "PAKETNORMAL" && btmsurveyor == "" && btmsts == "OPEN"

cnotdisrmdapilrmdgab3 != BLANKS && btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSERVICEKPB2" && btmwrn != "PKTSERVICEKPB3" && btmwrn != "PKTSERVICEKPB4" && btmwrn != "PAKETNORMAL" && btmsurveyor == "" && btmsts == "OPEN" && ppdkdmua == BLANKS

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmrekomen

btm.btmrekomen • TEXT(21) • Rekomen Or Not Rekomen

FIELDINPUTRI 27

Field input • huruf besar • 2 validasi • 10 hook.

① Tampilan / FIELD
ALLCAPS: input huruf besar
btmrekomen	ALLCAPS			INPUTRI 27
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
MANDATORYWajib diisi.
VALIDATENilai harus tervalidasi ke tabel tbd via index tbddatkodidx. MAP hasil: mpkt.Index: tbddatkodidx → tbd [tbddata, tbddtmkode, tbdtblkode, tbdkode]
MAP validasi mpkt
tbdkode		btmrekomen	REPLACE
ltmpisidf1	ltmpisidf1	REPLACE_IF cdjointmp_promokpb
ltmpisidf2	ltmpisidf2	REPLACE_IF cdjointmp_promokpb
④ Event / HOOKS
AFTER_INPUT

Sesudah/sebelum input, jalankan scan dscantlm_Event821 jika cpromo821 terpenuhi.

AFTER_INPUT	cur_field=btmrekomen  DO_SCAN_IF cpromo821 dscantlm_Event821
AFTER_INPUT

Jalankan MAP mmapkpbnss.

AFTER_INPUT	cur_field=btmrekomen	DO_MAP SHOW mmapkpbnss
AFTER_INPUT

Jalankan MAP mmapkpbsinsen.

AFTER_INPUT	cur_field=btmrekomen	DO_MAP SHOW mmapkpbsinsen
AFTER_INPUT

Jalankan MAP mmapkpbtdm.

AFTER_INPUT	cur_field=btmrekomen	DO_MAP SHOW mmapkpbtdm
AFTER_INPUT

Jalankan MAP mmapkpboli1tahun.

AFTER_INPUT     cur_field=btmrekomen    DO_MAP SHOW mmapkpboli1tahun
AFTER_INPUT

Jalankan MAP mhasilkm jika ckmbsr terpenuhi.

AFTER_INPUT   cur_field=btmrekomen        DO_MAP SHOW IF ckmbsr mhasilkm
AFTER_INPUT

Validasi interaktif: jika cClaimEsafKpb benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.TidakbolehpilihKPBjikatipeCLAIM_ESAF.

AFTER_INPUT     cur_field=btmrekomen    DO_MAP SHOW
IF cClaimEsafKpb mdumstr
ELSE HKCURSOR STAY
HKMSG t.TidakbolehpilihKPBjikatipeCLAIM_ESAF
AFTER_INPUT

Validasi interaktif: jika cAdaOli benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.HrsOli.

AFTER_INPUT	cur_field=btmrekomen	DO_MAP SHOW
IF cAdaOli	mdumstr
ELSE HKCURSOR STAY
HKMSG t.HrsOli
AFTER_INPUT

Validasi interaktif: jika ckpbnssblhlewat benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.AdaKpbHangus.

AFTER_INPUT	cur_field=btmrekomen	DO_MAP SHOW
IF ckpbnssblhlewat	mdumstr
ELSE HKCURSOR STAY
HKMSG t.AdaKpbHangus
AFTER_INPUT

Validasi interaktif: jika cHarusKpb benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.HanyaBisaKpb.

AFTER_INPUT     cur_field=btmrekomen    DO_MAP SHOW
IF cHarusKpb      mdumstr
ELSE HKCURSOR STAY
HKMSG t.HanyaBisaKpb
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mpkt: tbdkode → btmrekomen REPLACE

mpromoJasa: lSERVICE → btmrekomen REPLACE

CALCS yang membaca field ini

cmasihopen(btmsts =="OPEN" && btmnobuk != BLANKS && djoinppdu == 1 && (dscanppd2 >= 0 && dscanbtf >= 0 && lok1 == 0 && lok2 == 0 && lok3 == 0 && lok17 == 0 && lhppbeda == 0 && lppdjml_BR == lbtfjml && (((lok6 > 0 || (lok5 > 0 && lok7 > 0)) && djoindtm2 == 1 && ltipepaket == 1) || (lok7 > 0 && djoindtm2 == 1 && ltipepaket == 2) || (lok11 > 0 && djoindtm2 == 1 && ltipepaket == 3) || (lok14 > 0 && djoindtm2 == 1 && ltipepaket == 4)) && lok8 == 0 && (lok10 > 0 || (lok10 == 0 && djoindtm2 == 1 && (ltipepaket == 2 || ltipepaket == 3))))) && (((djointbt_cabrekompart1 == 1 || djointbt_cabrekompart2 == 1) && dscantkdRekom >= 0 && ltotaltdkYT == 0) || (djointbt_cabrekompart1 == 0 && djointbt_cabrekompart2 == 0)) && djoinket == 1 && ((djointbd_nomesinesaf == 1 && btmrekomen != "KPB" && btmrekomen != "KPBSINSEN" && btmrekomen != "KPBNSS" && djointkdLcr == 1) || (btmrekomen == "KPB" || btmrekomen == "KPBSINSEN" || btmrekomen == "KPBNSS") || (djointbd_nomesinesaf == 0)) && ((dbscanbrd_washer == 1 || dbscanbrd_washer == 0) && (lbrdsisa2 > 0 && lbrdsisprc2 > 0 && ((btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 > 0 && lok13 > 0) || (btmwrn == "PKTSERVICEKPB1" || btmwrn == "PKTSHOWROOMEVENT") || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 == 0 && lok13 > 0) || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 == 0) || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok13 > 0)) && djointbd_promooli5 == 0) || (lbrdsisa2 > 0 && lbrdsisprc2 == 0) || (lbrdsisa2 ==0) || djointbd_promooli5 == 1) && ((btmstr2 == "CLAIM" && ( btmtypdeb == "INSTANSI" || btmtypdeb == "GARANSI" ) && djointkdSpk == 1) || ((btmstr2 == "CLAIM" && btmtypdeb == "INSTANSI" && (djointkdSpk == 1 && lytgc != "Y") && djointkmFP == 1 && ((lurusFP == "Y" && djoinsviFP_fotoktp == 1 && luplFP_fotoktp > 0 && djoinsviFP_fotonpwp == 1 && luplFP_fotonpwp > 0) || lurusFP == "T")) || (djointkdSpk == 1 && lytgc == "Y")) || (btmstr2!="CLAIM" && btmtypdeb!="INSTANSI") || (btmstr2 == "CLAIM" && btmtypdeb != "GARANSI" && btmtypdeb != "INSTANSI")) && ((btmstr2 == "TAMBAHAN" && djoinaktReqMeka1 == 1) && (djointbt_cabotomekanik1 == 1|| djointbt_cabotomekanik2 == 1) || (btmstr2 != "TAMBAHAN") || (djointbt_cabotomekanik1 == 0 && djointbt_cabotomekanik2 == 0)) && ((djoindtm_voucher == 1 && lok12 > 0 && lok16 > 0 && djointbd_promooli6 == 1) || (djoindtm_voucher == 1 && lok12 > 0 && djointbd_promooli6 == 0) || (djoindtm_voucher == 0 && djointbd_promooli6 == 0)) && ( ( djointbdmasterpromo == 1 && lcekpromo == "AKTIF" && ljmlhrgpromo >= lnominalpromo && ( dscantkdpromo >= 0 && ltotaltkd == lok19 ) ) || (djointbdmasterpromo == 0 ) )

cbknOPEN20(btmsts == "OPEN" && btmrekomen != "KPB" && btmrekomen != "KPBSINSEN" && btmrekomen != "KPBNSS" && djointbd_nomesinesaf == 1 && djointkdLcr == 0)

ckmbsrbtmrekomen == "SERVICE" && (djointbt_cabotopaket1 == 1 || djointbt_cabotopaket2 == 1)

cHitungROdjoinppmRO == 1 && (lthbl != lthbl1 || (lthbl1 == lthbl && (lppmsup != "BELIPART" || lppmsup != "SELESAISELISIH"))) && djoinbtmRO == 1 && btmstr2 != "TAMBAHAN" && btmrekomen != "KPB"

cHitungRONKPBdjoinppmRO == 1 && (lthbl != lthbl1 || (lthbl1 == lthbl && (lppmsup != "BELIPART" || lppmsup != "SELESAISELISIH"))) && djoinbtmRO == 1 && btmstr2 != "TAMBAHAN" && btmrekomen != "KPB"

cHitungROKPBdjoinppmRO == 1 && (lthbl != lthbl1 || (lthbl1 == lthbl && lppmsup != "BELIPART")) && djoinbtmRO == 1 && btmrekomen == "KPB"

cAdaDiskon((djointbd_typdatang1 == 1 && btmsurveyor != BLANKS) || (djointbd_typdatang3 == 1 && btmsurveyor != BLANKS) || (djointbd_typdatang1 == 0 && btmsurveyor != BLANKS && btmrekomen == "OLI") || (djointbd_typdatang1 == 0 && btmsurveyor == BLANKS))

cAdaOli((djointbd_typdatang2 == 1 && btmrekomen == "OLI") || (djointbd_typdatang1 == 1 && btmrekomen == "OLI") || (djointbd_typdatang2 == 0 && btmrekomen != "OLI"))

cpilkpbnssbtmrekomen == "KPBNSS"

cpilkpbnss2btmrekomen == "KPBNSS" && ltdkkpbnss == 0

cpilkpbsinsen((btmrekomen == "KPBSINSEN" || btmrekomen == "KPBTDM") && g_grpnam != "IT" && g_grpnam != "RI" && g_grpnam != "AHASSHEAD" && g_grpnam != "AHASSSPV" && g_grpnam != "AHASSFD" && g_grpnam != "AHASSKABENG" && g_grpnam != "AHASSSA" && g_grpnam != "ADMPART")

cpilkpbsinsen2btmrekomen == "KPBSINSEN" && lppskdpm == "KPB2"

cpilkpbsinsen3btmrekomen == "KPBSINSEN" && lppskdpm == "KPB3"

cpilkpbsinsen4btmrekomen == "KPBSINSEN" && lppskdpm == "KPB4"

cpilkpbtdm2btmrekomen == "KPBTDM" && djoinakt_promotdm == 1 && laktdf1_tdm > 0 && laktdf2_tdm == 0 && laktdf3_tdm == 0 && laktdf4_tdm == 0

cpilkpbtdm3btmrekomen == "KPBTDM" && djoinakt_promotdm == 1 && laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm == 0 && laktdf4_tdm == 0

cpilkpbtdm4btmrekomen == "KPBTDM" && djoinakt_promotdm == 1 && laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm > 0 && laktdf4_tdm == 0

cpilkpboli1thn2btmrekomen == "KPB" && djoinakt_historikpb == 1 && laktdf1_tdm > 0 && laktdf2_tdm == 0 && laktdf3_tdm == 0 && laktdf4_tdm == 0

cpilkpboli1thn3btmrekomen == "KPB" && djoinakt_historikpb == 1 && laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm == 0 && laktdf4_tdm == 0

cpilkpboli1thn4btmrekomen == "KPB" && djoinakt_historikpb == 1 && laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm > 0 && laktdf4_tdm == 0

+ 20 CALCS lain
POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmwrn

btm.btmwrn • TEXT(21) • Warna

FIELDINPUTRI 28

Field input • huruf besar • 2 validasi • 15 hook.

① Tampilan / FIELD
ALLCAPS: input huruf besar
btmwrn          ALLCAPS                 INPUTRI 28
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
MANDATORYWajib diisi.
VALIDATENilai harus tervalidasi ke tabel dtm via index dtmcabkodidx. MAP hasil: mdtmKG.Index: dtmcabkodidx → dtm [dtmdata, dtmcab, dtmkode]
MAP validasi mdtmKG
dtmkode		btmwrn		REPLACE
dtmongkos	lKpbKe		REPLACE
crmdgabpaket1	lrmdgabpaket1	DO_CALC
crmdgabpaket2	lrmdgabpaket2	DO_CALC
crmdgabpaket3	lrmdgabpaket3	DO_CALC
crmdgabpaket4	lrmdgabpaket4	DO_CALC
crmdgabpaket5	lrmdgabpaket5	DO_CALC
crmdgabUsia	lrmdgabUsia	DO_CALC
crmdgabKilo	lrmdgabKilo	DO_CALC
crmdgabkpbtdm3	lrmdgabkpbtdm3	DO_CALC_IF cisins
crmdgabkpbtdm4	lrmdgabkpbtdm4	DO_CALC_IF cisins
cJTPSERVISCUB2		lJTPSERVIS2a	DO_CALC_IF cmotorcub
cJTPSERVISMATIC2   	lJTPSERVIS2a    DO_CALC_IF cmotorsport
cJTPSERVISSPORT2   	lJTPSERVIS2a    DO_CALC_IF cmotormatic
cJTPSERVISPREMIUM2	lJTPSERVIS2a    DO_CALC_IF cmotorpremium
④ Event / HOOKS
BEFORE_INPUT

Lewati field jika cbtmstr1ya terpenuhi.

BEFORE_INPUT  cur_field=btmwrn	      DO_SKIP_IF cbtmstr1ya
AFTER_INPUT

Jalankan MAP mrmdgab.

AFTER_INPUT   cur_field=btmwrn        DO_MAP SHOW mrmdgab
AFTER_INPUT

Panggil library jika crmdstrukturh2_hitungkpb terpenuhi: ap_ambts(gv_INPG,lrmdgabHitungKpb,lbts1,lbts2,lbts3,&lhasil1kpb,&lhasil2kpb,&lhasil3,lhasil1_txtHitungKpb,lhasil2_txt);

AFTER_INPUT   cur_field=btmwrn        DO_LIB_IF crmdstrukturh2_hitungkpb ap_ambts(gv_INPG,lrmdgabHitungKpb,lbts1,lbts2,lbts3,&lhasil1kpb,&lhasil2kpb,&lhasil3,lhasil1_txtHitungKpb,lhasil2_txt);
BEFORE_INPUT

Lewati field jika cpilkpbnss terpenuhi.

BEFORE_INPUT  cur_field=btmwrn	      DO_SKIP_IF cpilkpbnss
BEFORE_INPUT

Lewati field jika cpilkpbsinsen terpenuhi.

BEFORE_INPUT  cur_field=btmwrn	      DO_SKIP_IF cpilkpbsinsen
AFTER_INPUT

Jalankan MAP mkpb1tahun.

AFTER_INPUT	cur_field=btmwrn 	DO_MAP SHOW mkpb1tahun
AFTER_INPUT

Jalankan MAP mhitungtglkrm.

AFTER_INPUT	cur_field=btmwrn	DO_MAP SHOW mhitungtglkrm
AFTER_INPUT

Validasi interaktif: jika cEvent821 benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.ServisHarusShowroom.

AFTER_INPUT     cur_field=btmwrn        DO_MAP SHOW
IF cEvent821	        mdumstr
ELSE HKCURSOR STAY
HKMSG t.ServisHarusShowroom
AFTER_INPUT

Validasi interaktif: jika cevent821blhlewat benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.BlmAdaEvent821.

AFTER_INPUT	cur_field=btmwrn	DO_MAP SHOW
IF cevent821blhlewat	mdumstr
ELSE HKCURSOR STAY
HKMSG t.BlmAdaEvent821
AFTER_INPUT

Validasi interaktif: jika cPaketOtoKilo benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.PaketBlmTersediaDiCab.

AFTER_INPUT	cur_field=btmwrn	DO_MAP SHOW
IF cPaketOtoKilo	mdumstr
ELSE HKCURSOR STAY
HKMSG t.PaketBlmTersediaDiCab
AFTER_INPUT

Validasi interaktif: jika cTdkDiskon benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.TdkBolehAdaPromo.

AFTER_INPUT     cur_field=btmwrn    	DO_MAP SHOW
IF cTdkDiskon      	mdumstr
ELSE HKCURSOR STAY
HKMSG t.TdkBolehAdaPromo
AFTER_INPUT

Validasi interaktif: jika cNosinBknEsaf2 benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.NosinBknEsaf.

AFTER_INPUT	cur_field=btmwrn	DO_MAP SHOW
IF cNosinBknEsaf2 	mdumstr
ELSE HKCURSOR STAY
HKMSG t.NosinBknEsaf
AFTER_INPUT

Validasi interaktif: jika cPaketLewat benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.PaketServisKadaluarsa.

AFTER_INPUT     cur_field=btmwrn    	DO_MAP SHOW
IF cPaketLewat      	mdumstr
ELSE HKCURSOR STAY
HKMSG t.PaketServisKadaluarsa
AFTER_INPUT

Validasi interaktif: jika cPaketNSSPEDULI benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.KodePromoBukanNssPeduli.

AFTER_INPUT     cur_field=btmwrn	DO_MAP SHOW
IF cPaketNSSPEDULI	mdumstr
ELSE HKCURSOR STAY
HKMSG t.KodePromoBukanNssPeduli
AFTER_INPUT

Validasi interaktif: jika cKpbSama benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.KpbTdkSamaDenganUsia.

AFTER_INPUT	cur_field=btmwrn	DO_MAP SHOW
IF cKpbSama		mdumstr
ELSE HKCURSOR STAY
HKMSG t.KpbTdkSamaDenganUsia
⑤ Aliran data & proses lanjutan
MAP membaca field ini

m4579: btmwrn → r_string3 REPLACE

m4579a: btmwrn → r_string3 REPLACE

m4579b: btmwrn → r_string3 REPLACE

MAP menulis ke field ini

mdtmKG: dtmkode → btmwrn REPLACE

mhasilnya: lhasil1_txtkm → btmwrn REPLACE_IF jika ckmbsr

mhasilnya: cClaim → btmwrn DO_CALC_IF jika cClaima

mhasilkm: lhasil1_txtkm → btmwrn REPLACE

mpromoJasa: lPAKETSERVICE → btmwrn REPLACE

mmapkpbnss: lppskdpm → btmwrn REPLACE_IF jika cpilkpbnss2

mmapkpbsinsen: cKPBSINSEN2 → btmwrn DO_CALC_IF jika cpilkpbsinsen2

mmapkpbsinsen: cKPBSINSEN3 → btmwrn DO_CALC_IF jika cpilkpbsinsen3

mmapkpbsinsen: cKPBSINSEN4 → btmwrn DO_CALC_IF jika cpilkpbsinsen4

mmapkpbtdm: cKPBTDM2 → btmwrn DO_CALC_IF jika cpilkpbtdm2

mmapkpbtdm: cKPBTDM3 → btmwrn DO_CALC_IF jika cpilkpbtdm3

mmapkpbtdm: cKPBTDM4 → btmwrn DO_CALC_IF jika cpilkpbtdm4

mmapkpboli1tahun: cKPBOLI1THN_2 → btmwrn DO_CALC_IF jika cpilkpboli1thn2

mmapkpboli1tahun: cKPBOLI1THN_3 → btmwrn DO_CALC_IF jika cpilkpboli1thn3

mmapkpboli1tahun: cKPBOLI1THN_4 → btmwrn DO_CALC_IF jika cpilkpboli1thn4

CALCS yang membaca field ini

cmasihopen(btmsts =="OPEN" && btmnobuk != BLANKS && djoinppdu == 1 && (dscanppd2 >= 0 && dscanbtf >= 0 && lok1 == 0 && lok2 == 0 && lok3 == 0 && lok17 == 0 && lhppbeda == 0 && lppdjml_BR == lbtfjml && (((lok6 > 0 || (lok5 > 0 && lok7 > 0)) && djoindtm2 == 1 && ltipepaket == 1) || (lok7 > 0 && djoindtm2 == 1 && ltipepaket == 2) || (lok11 > 0 && djoindtm2 == 1 && ltipepaket == 3) || (lok14 > 0 && djoindtm2 == 1 && ltipepaket == 4)) && lok8 == 0 && (lok10 > 0 || (lok10 == 0 && djoindtm2 == 1 && (ltipepaket == 2 || ltipepaket == 3))))) && (((djointbt_cabrekompart1 == 1 || djointbt_cabrekompart2 == 1) && dscantkdRekom >= 0 && ltotaltdkYT == 0) || (djointbt_cabrekompart1 == 0 && djointbt_cabrekompart2 == 0)) && djoinket == 1 && ((djointbd_nomesinesaf == 1 && btmrekomen != "KPB" && btmrekomen != "KPBSINSEN" && btmrekomen != "KPBNSS" && djointkdLcr == 1) || (btmrekomen == "KPB" || btmrekomen == "KPBSINSEN" || btmrekomen == "KPBNSS") || (djointbd_nomesinesaf == 0)) && ((dbscanbrd_washer == 1 || dbscanbrd_washer == 0) && (lbrdsisa2 > 0 && lbrdsisprc2 > 0 && ((btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 > 0 && lok13 > 0) || (btmwrn == "PKTSERVICEKPB1" || btmwrn == "PKTSHOWROOMEVENT") || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 == 0 && lok13 > 0) || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 == 0) || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok13 > 0)) && djointbd_promooli5 == 0) || (lbrdsisa2 > 0 && lbrdsisprc2 == 0) || (lbrdsisa2 ==0) || djointbd_promooli5 == 1) && ((btmstr2 == "CLAIM" && ( btmtypdeb == "INSTANSI" || btmtypdeb == "GARANSI" ) && djointkdSpk == 1) || ((btmstr2 == "CLAIM" && btmtypdeb == "INSTANSI" && (djointkdSpk == 1 && lytgc != "Y") && djointkmFP == 1 && ((lurusFP == "Y" && djoinsviFP_fotoktp == 1 && luplFP_fotoktp > 0 && djoinsviFP_fotonpwp == 1 && luplFP_fotonpwp > 0) || lurusFP == "T")) || (djointkdSpk == 1 && lytgc == "Y")) || (btmstr2!="CLAIM" && btmtypdeb!="INSTANSI") || (btmstr2 == "CLAIM" && btmtypdeb != "GARANSI" && btmtypdeb != "INSTANSI")) && ((btmstr2 == "TAMBAHAN" && djoinaktReqMeka1 == 1) && (djointbt_cabotomekanik1 == 1|| djointbt_cabotomekanik2 == 1) || (btmstr2 != "TAMBAHAN") || (djointbt_cabotomekanik1 == 0 && djointbt_cabotomekanik2 == 0)) && ((djoindtm_voucher == 1 && lok12 > 0 && lok16 > 0 && djointbd_promooli6 == 1) || (djoindtm_voucher == 1 && lok12 > 0 && djointbd_promooli6 == 0) || (djoindtm_voucher == 0 && djointbd_promooli6 == 0)) && ( ( djointbdmasterpromo == 1 && lcekpromo == "AKTIF" && ljmlhrgpromo >= lnominalpromo && ( dscantkdpromo >= 0 && ltotaltkd == lok19 ) ) || (djointbdmasterpromo == 0 ) )

cbknOPEN18(btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && (dbscanbrd_washer == 1 || dbscanbrd_washer == 0) && lbrdsisa2 > 0 && lbrdsisprc2 > 0 && lok12 > 0 && lok13 == 0 && btmwrn!="PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && djointbd_promooli5 == 0)

ckpb1tahun_kosong2(((djoinppm614 == 1 && ltglkirimmtr >= 20240901 && lppmtk614 == "K") || (djoinppm614 == 1 && ltglkirimmtr >= 20240901 && lbtmytplg611 == "Y" && djoinrmdstrukturh2_kpb1tahun_tunai == 1)) && (djoinakt_historikpb == 1 && (laktdf1_tdm == 0 && (btmwrn == "PKTSERVICEKPB2" || btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4" || btmwrn == "PKTSERKPB2 ELECTRIC" || btmwrn == "PKTSERKPB3 ELECTRIC")) || (laktdf1_tdm > 0 && laktdf2_tdm == 0 && (btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4" || btmwrn == "PKTSERKPB3 ELECTRIC")) || (laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm == 0 && (btmwrn == "PKTSERVICEKPB4"))))

ckpb1tahun_ada(((djoinppm614 == 1 && ltglkirimmtr >= 20240901 && lppmtk614 == "K") || (djoinppm614 == 1 && ltglkirimmtr >= 20240901 && lbtmytplg611 == "Y" && djoinrmdstrukturh2_kpb1tahun_tunai == 1)) && (djoinakt_historikpb == 1 && (laktdf1_tdm == 0 && laktdf2_tdm == 0 && laktdf3_tdm == 0 && laktdf4_tdm == 0 && (btmwrn == "PKTSERVICEKPB1" || btmwrn == "PKTSERKPB1 ELECTRIC")) || (laktdf1_tdm > 0 && laktdf2_tdm == 0 && laktdf3_tdm == 0 && laktdf4_tdm == 0) || (laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm == 0 && laktdf4_tdm == 0) || (laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm > 0 && laktdf4_tdm == 0))) || (djoinppm614 == 1 && ltglkirimmtr >= 20240901 && lppmtk614 == "K" && djointbt_cabonlykpb1tahun == 1)

crmdgabpaket1STRIP(btmwrn) + STRIP(btmlokjual) + STRIP(btmposjmn)

crmdgabpaket2STRIP(btmwrn) + STRIP(btmlokjual) + STRIP(btmposjmn) + STRIP(btmtypmtr2)

crmdgabpaket3STRIP(btmwrn) + STRIP(btmlokjual) + STRIP(btmposjmn) + STRIP(btmtypmtr2)

crmdgabpaket4STRIP(btmwrn) + STRIP(btmlokjual) + STRIP(btmposjmn)

crmdgabHitungKpb"HITUNGKPB" + STRIP(btmtypmtr2) + STRIP(btmwrn)

crmdgabasuransi1"PROMOASURANSI1" + STRIP(btmcab) + STRIP(btmwrn)

crmdgabkpbtdm3STRIP(btmwrn) + STRIP(btmcab) + STRIP(btmtypmtr2)

crmdgabkpbtdm4STRIP(btmwrn) + STRIP(btmcab) + STRIP(btmtypmtr2)

cEvent821(djointbd_typdatang1 == 1 && btmsurveyor == "SHOWROOM EVENT" && btmwrn == "PKTSHOWROOMEVENT") || (djointbd_typdatang1 == 0 && btmsurveyor == BLANKS) || btmsurveyor!="SHOWROOM EVENT"

cevent821blhlewat(btmsurveyor == "SHOWROOM EVENT" && ladapromo821 > 0) || btmwrn != "PKTSHOWROOMEVENT" || g_grpnam == "RI"

cPaketNSSPEDULI((btmsurveyor == "NSS PEDULI" && djointbt_cabnsspeduli == 1 && btmwrn == "NSSPEDULI") || (btmsurveyor != "NSS PEDULI" && btmwrn != "NSSPEDULI"))

cNosinBknEsaf2(djointbd_nomesinesaf == 1 && btmwrn == "PAKET ESAF/LCR") || (btmwrn != "PAKET ESAF/LCR")

cclaim2btmwrn == "CLAIM"

ckpb234(djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && ppdsup != "AHM" && (btmwrn == "PKTSERVICEKPB2" || btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4")) || djointbd_promoJasa == 1

cserviceoli(djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && ppdsup != "AHM" && (btmrekomen == "SERVICE" || btmrekomen == "SERVIS RINGAN" || btmrekomen == "HEAVY REPAIR" || btmrekomen == "LCR" || btmwrn == "PKTSERVICEKPB2" || btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4"))

ckpb234x(ppdjasbrg == "BR" && ppdsup != "AHM" && (btmwrn == "PKTSERVICEKPB1" || btmwrn == "PKTSERVICEKPB2" || btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4" || btmrekomen == "SERVICE" || btmrekomen == "OLI" || btmrekomen == "GANTIPART" || btmrekomen == "AKI" || btmrekomen == "BAN" || btmrekomen == "SERVIS RINGAN" || btmrekomen == "ADDITIONAL" || btmrekomen == "HEAVY REPAIR" || btmrekomen == "LCR") || (ppdjasbrg == "BR" && ppdsup != "AHM" && (btmrekomen == "KPBNSS" || btmrekomen == "KPBSINSEN" || btmrekomen == "KPBTDM") && djoinbrg == 1 && lbrgkat4 != "OLI" && lbrgkat4 != "OIL"))

+ 14 CALCS lain
POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmtdjadi

btm.btmtdjadi • DOUBLE • Tanda Jadi

FIELDINPUTRI 29

Field NOCHANGE • 1 default • 1 validasi • 2 hook.

① Tampilan / FIELD
NOCHANGE: tidak diubah seperti input biasa
btmtdjadi       NOCHANGE                INPUTRI 29
② Nilai awal / DEFAULT
Pilihan scan, boleh kosongnilai:
1 "KONFIRM CUST,VIA TLP" · 2 "LANGSUNG DIKERJAKAN"
③ Validasi / EDITS
MANDATORYWajib diisi.
④ Event / HOOKS
AFTER_INPUT

Jalankan MAP mlist.

AFTER_INPUT     cur_field=btmtdjadi     DO_MAP SHOW mlist
AFTER_INPUT

Validasi interaktif: jika ckpbtdmblhlewat benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.AdaKpbHangus2.

AFTER_INPUT     cur_field=btmtdjadi     DO_MAP SHOW
IF ckpbtdmblhlewat      mdumstr
ELSE HKCURSOR STAY
HKMSG t.AdaKpbHangus2
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

clist1xbtmtdjadi == 1

clist2xbtmtdjadi == 2

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmkdkms

btm.btmkdkms • TEXT(21) • Kode Komisi

FIELDINPUTRI 30

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
btmkdkms        PROTECT                 INPUTRI 30
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

mupdbtmtr: btmkdkms → ppdnobuk REPLACE

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

lENTER

STRING(11)

LOCALINPUTRI 32

Field NOCHANGE • 1 default.

① Tampilan / FIELD
NOCHANGE: tidak diubah seperti input biasa
lENTER		NOCHANGE		INPUTRI	32
② Nilai awal / DEFAULT
Nilai awal umumnilai: ENTER
③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ltomdet_d

STRING(31)

LOCALINPUTRI 32

Field input • tombol • 1 default.

① Tampilan / FIELD
TOMBOL: ditampilkan sebagai tombol
ltomdet_d       TOMBOL                  INPUTRI 32
② Nilai awal / DEFAULT
Nilai awal umumnilai: "1d. Detil Servis"
③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ltomdet_2d

STRING(31)

LOCALINPUTRI 33

Field input • tombol • 1 default.

① Tampilan / FIELD
TOMBOL: ditampilkan sebagai tombol
ltomdet_2d      TOMBOL                  INPUTRI 33
② Nilai awal / DEFAULT
Nilai awal umumnilai: "2d. Informasi"
③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ltomdet_3d

STRING(31)

LOCALINPUTRI 34

Field input • tombol • 1 default.

① Tampilan / FIELD
TOMBOL: ditampilkan sebagai tombol
ltomdet_3d      TOMBOL                  INPUTRI 34
② Nilai awal / DEFAULT
Nilai awal umumnilai: "3d. Detail Info"
③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ltomdet_4d

STRING(31)

LOCALINPUTRI 35

Field input • tombol • 1 default.

① Tampilan / FIELD
TOMBOL: ditampilkan sebagai tombol
ltomdet_4d	TOMBOL			INPUTRI	35
② Nilai awal / DEFAULT
Nilai awal umumnilai: "4d. Cetak Fkt Pajak"
③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ltomdet_5d

STRING(31)

LOCALINPUTRI 35

Field input • tombol • 1 default.

① Tampilan / FIELD
TOMBOL: ditampilkan sebagai tombol
ltomdet_5d	TOMBOL			INPUTRI	35
② Nilai awal / DEFAULT
Nilai awal umumnilai: "5d. Ubh Ambil Barang"
③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

lwaktuest

TIME(4)

LOCAL

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasaBIG31
lwaktuest       PROTECT                 BIG     31
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

mnext: lwaktuest → r_time1 REPLACE

MAP menulis ke field ini

mcabLok: cBLANKS → lwaktuest DO_CALC_IF jika cdjoinakt0

mbrgM: cwaktuest → lwaktuest DO_CALC_IF jika cdjoinakt

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

lwaktuest2

TIME(4)

LOCAL

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasaBIG31
lwaktuest2      PROTECT                 BIG     31
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mcabLok: cBLANKS → lwaktuest2 DO_CALC

mcabLok: lWktEstPeng → lwaktuest2 REPLACE_IF jika cAktEstPeng

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

KOMPONEN LAYAR

master2

7 field

FIELD block: master2

7 field
Lihat IMAGE / bentuk layar
IMAGE(master2)
/----------------------------------\
|/--------------------------------\|
|| i.NoPol : ____________________ ||
|| t.NoSer : ____________________ ||
|| t.NmBrg : ____________________ ||
|| t.Total : ____________________ ||
|| t.Potkpb: ____________________ ||
|| t.disc  : ____________________ ||
|| t.SubTot: ____________________ ||
|\--------------------------------/|
\----------------------------------/

btmkdsam

btm.btmkdsam • TEXT(21) • Kode Samsat

FIELDINPUTRI 2

Field input • huruf besar • tanpa spasi.

① Tampilan / FIELD
ALLCAPS: input huruf besarNOSPACE: tanpa spasi
btmkdsam        ALLCAPS NOSPACE         INPUTRI 2
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

mnext: btmkdsam → r_string2 REPLACE

mmaptlm416: btmkdsam → ltlmnobbm416 REPLACE

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

cbtmkdsambtmkdsam!=BLANKS

ctglbenar((djoinast2 == 1 && lasttgl >= 19700101 && btmkdsam != BLANKS) || btmkdsam == BLANKS)

cpanjangnopolDO_LIB ap_strln(btmkdsam,&lpanjangnopol);

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmwrn

btm.btmwrn • TEXT(21) • Warna

FIELDINPUTRI 4

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
btmwrn          PROTECT                 INPUTRI 4
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

m4579: btmwrn → r_string3 REPLACE

m4579a: btmwrn → r_string3 REPLACE

m4579b: btmwrn → r_string3 REPLACE

MAP menulis ke field ini

mdtmKG: dtmkode → btmwrn REPLACE

mhasilnya: lhasil1_txtkm → btmwrn REPLACE_IF jika ckmbsr

mhasilnya: cClaim → btmwrn DO_CALC_IF jika cClaima

mhasilkm: lhasil1_txtkm → btmwrn REPLACE

mpromoJasa: lPAKETSERVICE → btmwrn REPLACE

mmapkpbnss: lppskdpm → btmwrn REPLACE_IF jika cpilkpbnss2

mmapkpbsinsen: cKPBSINSEN2 → btmwrn DO_CALC_IF jika cpilkpbsinsen2

mmapkpbsinsen: cKPBSINSEN3 → btmwrn DO_CALC_IF jika cpilkpbsinsen3

mmapkpbsinsen: cKPBSINSEN4 → btmwrn DO_CALC_IF jika cpilkpbsinsen4

mmapkpbtdm: cKPBTDM2 → btmwrn DO_CALC_IF jika cpilkpbtdm2

mmapkpbtdm: cKPBTDM3 → btmwrn DO_CALC_IF jika cpilkpbtdm3

mmapkpbtdm: cKPBTDM4 → btmwrn DO_CALC_IF jika cpilkpbtdm4

mmapkpboli1tahun: cKPBOLI1THN_2 → btmwrn DO_CALC_IF jika cpilkpboli1thn2

mmapkpboli1tahun: cKPBOLI1THN_3 → btmwrn DO_CALC_IF jika cpilkpboli1thn3

mmapkpboli1tahun: cKPBOLI1THN_4 → btmwrn DO_CALC_IF jika cpilkpboli1thn4

CALCS yang membaca field ini

cmasihopen(btmsts =="OPEN" && btmnobuk != BLANKS && djoinppdu == 1 && (dscanppd2 >= 0 && dscanbtf >= 0 && lok1 == 0 && lok2 == 0 && lok3 == 0 && lok17 == 0 && lhppbeda == 0 && lppdjml_BR == lbtfjml && (((lok6 > 0 || (lok5 > 0 && lok7 > 0)) && djoindtm2 == 1 && ltipepaket == 1) || (lok7 > 0 && djoindtm2 == 1 && ltipepaket == 2) || (lok11 > 0 && djoindtm2 == 1 && ltipepaket == 3) || (lok14 > 0 && djoindtm2 == 1 && ltipepaket == 4)) && lok8 == 0 && (lok10 > 0 || (lok10 == 0 && djoindtm2 == 1 && (ltipepaket == 2 || ltipepaket == 3))))) && (((djointbt_cabrekompart1 == 1 || djointbt_cabrekompart2 == 1) && dscantkdRekom >= 0 && ltotaltdkYT == 0) || (djointbt_cabrekompart1 == 0 && djointbt_cabrekompart2 == 0)) && djoinket == 1 && ((djointbd_nomesinesaf == 1 && btmrekomen != "KPB" && btmrekomen != "KPBSINSEN" && btmrekomen != "KPBNSS" && djointkdLcr == 1) || (btmrekomen == "KPB" || btmrekomen == "KPBSINSEN" || btmrekomen == "KPBNSS") || (djointbd_nomesinesaf == 0)) && ((dbscanbrd_washer == 1 || dbscanbrd_washer == 0) && (lbrdsisa2 > 0 && lbrdsisprc2 > 0 && ((btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 > 0 && lok13 > 0) || (btmwrn == "PKTSERVICEKPB1" || btmwrn == "PKTSHOWROOMEVENT") || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 == 0 && lok13 > 0) || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 == 0) || (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok13 > 0)) && djointbd_promooli5 == 0) || (lbrdsisa2 > 0 && lbrdsisprc2 == 0) || (lbrdsisa2 ==0) || djointbd_promooli5 == 1) && ((btmstr2 == "CLAIM" && ( btmtypdeb == "INSTANSI" || btmtypdeb == "GARANSI" ) && djointkdSpk == 1) || ((btmstr2 == "CLAIM" && btmtypdeb == "INSTANSI" && (djointkdSpk == 1 && lytgc != "Y") && djointkmFP == 1 && ((lurusFP == "Y" && djoinsviFP_fotoktp == 1 && luplFP_fotoktp > 0 && djoinsviFP_fotonpwp == 1 && luplFP_fotonpwp > 0) || lurusFP == "T")) || (djointkdSpk == 1 && lytgc == "Y")) || (btmstr2!="CLAIM" && btmtypdeb!="INSTANSI") || (btmstr2 == "CLAIM" && btmtypdeb != "GARANSI" && btmtypdeb != "INSTANSI")) && ((btmstr2 == "TAMBAHAN" && djoinaktReqMeka1 == 1) && (djointbt_cabotomekanik1 == 1|| djointbt_cabotomekanik2 == 1) || (btmstr2 != "TAMBAHAN") || (djointbt_cabotomekanik1 == 0 && djointbt_cabotomekanik2 == 0)) && ((djoindtm_voucher == 1 && lok12 > 0 && lok16 > 0 && djointbd_promooli6 == 1) || (djoindtm_voucher == 1 && lok12 > 0 && djointbd_promooli6 == 0) || (djoindtm_voucher == 0 && djointbd_promooli6 == 0)) && ( ( djointbdmasterpromo == 1 && lcekpromo == "AKTIF" && ljmlhrgpromo >= lnominalpromo && ( dscantkdpromo >= 0 && ltotaltkd == lok19 ) ) || (djointbdmasterpromo == 0 ) )

cbknOPEN18(btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && (dbscanbrd_washer == 1 || dbscanbrd_washer == 0) && lbrdsisa2 > 0 && lbrdsisprc2 > 0 && lok12 > 0 && lok13 == 0 && btmwrn!="PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && djointbd_promooli5 == 0)

ckpb1tahun_kosong2(((djoinppm614 == 1 && ltglkirimmtr >= 20240901 && lppmtk614 == "K") || (djoinppm614 == 1 && ltglkirimmtr >= 20240901 && lbtmytplg611 == "Y" && djoinrmdstrukturh2_kpb1tahun_tunai == 1)) && (djoinakt_historikpb == 1 && (laktdf1_tdm == 0 && (btmwrn == "PKTSERVICEKPB2" || btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4" || btmwrn == "PKTSERKPB2 ELECTRIC" || btmwrn == "PKTSERKPB3 ELECTRIC")) || (laktdf1_tdm > 0 && laktdf2_tdm == 0 && (btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4" || btmwrn == "PKTSERKPB3 ELECTRIC")) || (laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm == 0 && (btmwrn == "PKTSERVICEKPB4"))))

ckpb1tahun_ada(((djoinppm614 == 1 && ltglkirimmtr >= 20240901 && lppmtk614 == "K") || (djoinppm614 == 1 && ltglkirimmtr >= 20240901 && lbtmytplg611 == "Y" && djoinrmdstrukturh2_kpb1tahun_tunai == 1)) && (djoinakt_historikpb == 1 && (laktdf1_tdm == 0 && laktdf2_tdm == 0 && laktdf3_tdm == 0 && laktdf4_tdm == 0 && (btmwrn == "PKTSERVICEKPB1" || btmwrn == "PKTSERKPB1 ELECTRIC")) || (laktdf1_tdm > 0 && laktdf2_tdm == 0 && laktdf3_tdm == 0 && laktdf4_tdm == 0) || (laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm == 0 && laktdf4_tdm == 0) || (laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm > 0 && laktdf4_tdm == 0))) || (djoinppm614 == 1 && ltglkirimmtr >= 20240901 && lppmtk614 == "K" && djointbt_cabonlykpb1tahun == 1)

crmdgabpaket1STRIP(btmwrn) + STRIP(btmlokjual) + STRIP(btmposjmn)

crmdgabpaket2STRIP(btmwrn) + STRIP(btmlokjual) + STRIP(btmposjmn) + STRIP(btmtypmtr2)

crmdgabpaket3STRIP(btmwrn) + STRIP(btmlokjual) + STRIP(btmposjmn) + STRIP(btmtypmtr2)

crmdgabpaket4STRIP(btmwrn) + STRIP(btmlokjual) + STRIP(btmposjmn)

crmdgabHitungKpb"HITUNGKPB" + STRIP(btmtypmtr2) + STRIP(btmwrn)

crmdgabasuransi1"PROMOASURANSI1" + STRIP(btmcab) + STRIP(btmwrn)

crmdgabkpbtdm3STRIP(btmwrn) + STRIP(btmcab) + STRIP(btmtypmtr2)

crmdgabkpbtdm4STRIP(btmwrn) + STRIP(btmcab) + STRIP(btmtypmtr2)

cEvent821(djointbd_typdatang1 == 1 && btmsurveyor == "SHOWROOM EVENT" && btmwrn == "PKTSHOWROOMEVENT") || (djointbd_typdatang1 == 0 && btmsurveyor == BLANKS) || btmsurveyor!="SHOWROOM EVENT"

cevent821blhlewat(btmsurveyor == "SHOWROOM EVENT" && ladapromo821 > 0) || btmwrn != "PKTSHOWROOMEVENT" || g_grpnam == "RI"

cPaketNSSPEDULI((btmsurveyor == "NSS PEDULI" && djointbt_cabnsspeduli == 1 && btmwrn == "NSSPEDULI") || (btmsurveyor != "NSS PEDULI" && btmwrn != "NSSPEDULI"))

cNosinBknEsaf2(djointbd_nomesinesaf == 1 && btmwrn == "PAKET ESAF/LCR") || (btmwrn != "PAKET ESAF/LCR")

cclaim2btmwrn == "CLAIM"

ckpb234(djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && ppdsup != "AHM" && (btmwrn == "PKTSERVICEKPB2" || btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4")) || djointbd_promoJasa == 1

cserviceoli(djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && ppdsup != "AHM" && (btmrekomen == "SERVICE" || btmrekomen == "SERVIS RINGAN" || btmrekomen == "HEAVY REPAIR" || btmrekomen == "LCR" || btmwrn == "PKTSERVICEKPB2" || btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4"))

ckpb234x(ppdjasbrg == "BR" && ppdsup != "AHM" && (btmwrn == "PKTSERVICEKPB1" || btmwrn == "PKTSERVICEKPB2" || btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4" || btmrekomen == "SERVICE" || btmrekomen == "OLI" || btmrekomen == "GANTIPART" || btmrekomen == "AKI" || btmrekomen == "BAN" || btmrekomen == "SERVIS RINGAN" || btmrekomen == "ADDITIONAL" || btmrekomen == "HEAVY REPAIR" || btmrekomen == "LCR") || (ppdjasbrg == "BR" && ppdsup != "AHM" && (btmrekomen == "KPBNSS" || btmrekomen == "KPBSINSEN" || btmrekomen == "KPBTDM") && djoinbrg == 1 && lbrgkat4 != "OLI" && lbrgkat4 != "OIL"))

+ 14 CALCS lain
POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

lnamabarang

STRING(101)

LOCALINPUTRI 5

Field input • huruf besar.

① Tampilan / FIELD
ALLCAPS: input huruf besarSCROLL: mode scroll/lookup framework
lnamabarang     ALLCAPS SCROLL          INPUTRI 5
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mbrgM: brgnama → lnamabarang REPLACE

CALCS yang membaca field ini

cOldbtmytbiro=="O" && btmplg !="" && lnamabarang != ""

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmdf4

btm.btmdf4 • DOUBLE • Tambahan Df 4

FIELDINPUTRI 5

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
btmdf4          PROTECT                 INPUTRI 5
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mupdbtmtr: cTotr2a → btmdf4 DO_CALC_IF jika cjikaY

mupdbtmdel: cTotdel2a → btmdf4 DO_CALC_IF jika cjikaY

mupdbtmupd: cTotupd2a → btmdf4 DO_CALC_IF jika cjikaY

mscanppd: ppdhrg → btmdf4 REPLACE_IF jika cjikaY

CALCS yang membaca field ini

cTotrbtmdf4 - btmtotal2 - btmdf3

cTotr2abtmdf4 + ppdhrg

cTotdel2abtmdf4 - ppdhrg - lhasil1asuransi

cTotupd2abtmdf4 + ppdhrg

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmdf3

btm.btmdf3 • DOUBLE • Tambahan Df 3

FIELDINPUTRI 5

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
btmdf3          PROTECT                 INPUTRI 5
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mbtmoli: c0 → btmdf3 DO_CALC_IF jika cupdbtm0

mupdbtmtr: cTot3a → btmdf3 DO_CALC_IF jika ckpbok

mupdbtmtr: cTot3a → btmdf3 DO_CALC_IF jika ckpbok1

mupdbtmdel: cTot3b → btmdf3 DO_CALC_IF jika ckpbok

mupdbtmdel: cTot3b → btmdf3 DO_CALC_IF jika ckpbok1

mupdbtmupd: cTot3c → btmdf3 DO_CALC_IF jika ckpbok

mupdbtmupd: cTot3c → btmdf3 DO_CALC_IF jika ckpbok1

mupdbtmupd: lttlAHM → btmdf3 REPLACE_IF jika ckpbok_dgi

mscanppd: ppdhrg → btmdf3 REPLACE_IF jika cyeskpb

mscanppd: ppdhrg → btmdf3 REPLACE_IF jika cyeskpb1

mscanppd: cKPB2Oli → btmdf3 DO_CALC_IF jika cyeskpb2

CALCS yang membaca field ini

cTotrbtmdf4 - btmtotal2 - btmdf3

cTot3a(ppdhrg * ppdjml) + btmdf3 - (ppdhrgbp * (ppdjml - 1))

cTot3bbtmdf3 - (ppdhrg * ppdjml) - (ppdhrgbp * (ppdjml - 1))

cTot3cbtmdf3 - ltotal + (ppdhrg * ppdjml) - (ppdhrgbp * (ppdjml - 1))

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmtotal2

btm.btmtotal2 • DOUBLE • Total 2

FIELDINPUTRI 5

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
btmtotal2       PROTECT                 INPUTRI 5
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mbtmoli: c0 → btmtotal2 DO_CALC_IF jika cupdbtm0

mupdbtmtr: cTot4a → btmtotal2 DO_CALC_IF jika cnotdisx

mupdbtmdel: cTot4b → btmtotal2 DO_CALC_IF jika cnotdisx

mupdbtmupd: cTot4c → btmtotal2 DO_CALC_IF jika cnotdisx

CALCS yang membaca field ini

cTotrbtmdf4 - btmtotal2 - btmdf3

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btmtotal

btm.btmtotal • DOUBLE • Total

FIELDINPUTRI 5

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
btmtotal        PROTECT                 INPUTRI 5
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

mtotal2: btmtotal → btmtotal REPLACE

MAP menulis ke field ini

mscanbrca: brchrgjl → btmtotal REPLACE_IF jika cisiYes

mtotal2: btmtotal → btmtotal REPLACE

mtotal2: c0 → btmtotal DO_CALC_IF jika cClaima

mupdbtmtr: cTotr → btmtotal DO_CALC_IF jika cjikaY

mupdbtmdel: cTotr → btmtotal DO_CALC_IF jika cjikaY

mupdbtmupd: cTotr → btmtotal DO_CALC_IF jika cjikaY

mscanppd: ppdhrg → btmtotal REPLACE_IF jika cnotkpb

mscanppd: ppdhrg → btmtotal REPLACE_IF jika cnotkpb2

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

KOMPONEN LAYAR

trans

21 field • data detail tabel ppd via index ppdbuk2bbmid

FIELD block: transt

21 field
Lihat IMAGE / bentuk layar
IMAGE(transt)
/-----------------------------------\
 /---------------------------------\
  B/J        : __________________
  i.Kat      : __________________
  t.KodeBrg  : __________________               
  i.NamaBrg  : ___________________ _                 
  t.Lok      : __________________
  t.Hotline  : ____  _____________
  i.Jml      : ___________________
  t.NoSer    : ___________________
  i.Typ      : ___________________
  t.Sts      : ___________________
  t.Brg2     : ___________________
  t.HrgJsa   : ___________________
  t.Hrg      : ___________________
  t.disc     : ___________________
  t.Total    : ___________________
  t.Estimasi : ___________________
  t.Approval : __________________
               ____      _________
 \---------------------------------/
\-----------------------------------/
IMAGE(trans)
SUBFILE

Detail membaca tabel ppd memakai index ppdbuk2bbmid (ppdnomst2, ppdnobbm, ppdkb, ppdcab, ppddvs).

Masuk/detail aktif dengan kondisi cKGksgOrPpdKG1btmwrn == "CLAIM" || btmnobuk != BLANKS && djoinppdKG == 1

PERMIT

Hapus diizinkan jika cppdINPG terpenuhi PMT_DEL_COND cppdINPG

Akses/perilaku detail dikontrol oleh cppdINPG PMT_IGNDET_COND cppdINPG

Tambah diizinkan jika cbtmCLSD terpenuhi PMT_ADD_COND cbtmCLSD

Ubah diizinkan jika ccmpkt terpenuhi PMT_UPDALL_COND ccmpkt

POSTING

PST_ADDCMD sptransadd

PST_UPDCMD sptransupd

PST_DELCMD sptranscel

ppdjasbrg

ppd.ppdjasbrg • TEXT(3) • JS BR

FIELDINPUTRI 1

Field NOCHANGE • 1 default • 1 hook.

① Tampilan / FIELD
NOCHANGE: tidak diubah seperti input biasa
ppdjasbrg     NOCHANGE               INPUTRI     1
② Nilai awal / DEFAULT
Pilihan melalui scannilai:
BR "Barang Baru" · JI "Jasa Intern" · JE "Jasa External"
③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS
BEFORE_INPUT

Lewati field jika cupddgi terpenuhi.

BEFORE_INPUT   cur_field=ppdjasbrg      DO_SKIP_IF cupddgi
⑤ Aliran data & proses lanjutan
MAP membaca field ini

maddtld416tambahan: ppdjasbrg → tldsts REPLACE

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

cadalok1(ppdlok == BLANKS && ppdjasbrg == "BR" && ppdjmlren != 0 )

cadalok2(ppdhrg == 0 && ppdjasbrg == "BR" && ppdjmlren != 0)

cadalok3(ppdjasbrg == "JI" && ppdhrg == 0)

cadalok4(ppdjasbrg == "BR" && ppdjmlren == 0)

cadalok5(ppdjasbrg == "BR" && ppdjmlren > 0 && ppdhrg > 0)

cadalok6(ppdjasbrg == "BR" && ppdhrgbp > 0)

cadalok7((ppdjasbrg == "JI" || ppdjasbrg == "JE") && ppdhrg > 0) || (ppdjasbrg=="BR" && ppdhrgbp>0)

cadalok8(ppdjasbrg == "BR" && ppdtybuk2== BLANKS)

cadalok9(ppdjasbrg == "BR" && ppdtybuk2== "T")

cadalok10(ppdjasbrg == "BR" && ppdtybuk2== "Y")

cadalok11((ppdjasbrg == "JI" || ppdjasbrg == "JE") && ppdhrg > 0 && ppdkat == "TUNEUP" && djoinbrgJS == 1 && lbrgjmlmin == 1)

cadalok12(ppdjasbrg == "BR" && djoinbrg == 1 && lbrgkat4 == "OLI" && lbrgkat5 != "OLI GEAR")

cadalok13(ppdjasbrg == "BR" && djoinbrg == 1 && lbrgkat4 == "PART" && lbrgkat5 == "WASHER")

cadalok14(ppdjasbrg == "BR" && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL"))

cadalok16(ppdjasbrg == "BR" && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 == "OLI GEAR")

cadalok17((ppdjasbrg == "JI" || ppdjasbrg == "BR") && ppdjml == 0)

cjikaadadetail(ppdjasbrg == "BR" || ppdjasbrg == "JI" || ppdjasbrg == "JE") && ppdsup != "AHM"

cjikaadadetail2(ppdjasbrg == "BR" || ppdjasbrg == "JI" || ppdjasbrg == "JE")

cBRppdjasbrg == "BR"

chppbeda(ppdjasbrg=="BR" && (ppdtothpp > ((ppdhrg - ppdhrgbp / (1 + (stsperppn/100))) - ppdtotdis)) && ppdjmlren > 0 && djointbdpromo == 0 && djointbd_promoparttdm == 0 && djointbdmasterpromo1 == 0)

+ 66 CALCS lain
POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ppdnokrm

ppd.ppdnokrm • TEXT(21) • No Kirim

FIELDINPUTRI 2

Field input • huruf besar • 1 validasi • 2 hook.

① Tampilan / FIELD
ALLCAPS: input huruf besarSCROLL: mode scroll/lookup framework
ppdnokrm      ALLCAPS SCROLL         INPUTRI     2
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
VALIDATENilai harus tervalidasi ke tabel tbd via index tbddatkodidx. MAP hasil: mpkt_kat.Index: tbddatkodidx → tbd [tbddata, tbddtmkode, tbdtblkode, tbdkode]
MAP validasi mpkt_kat
tbdkode         ppdnokrm	REPLACE
ppdnokrm	lppdnokrm	REPLACE
④ Event / HOOKS
BEFORE_INPUT

Lewati field jika ccmJS_BR terpenuhi.

BEFORE_INPUT   cur_field=ppdnokrm      DO_SKIP_IF ccmJS_BR
BEFORE_INPUT

Lewati field jika cjoincabPaket terpenuhi.

BEFORE_INPUT   cur_field=ppdnokrm      DO_SKIP_IF cjoincabPaket
⑤ Aliran data & proses lanjutan
MAP membaca field ini

mpkt_kat: ppdnokrm → lppdnokrm REPLACE

MAP menulis ke field ini

mpkt_kat: tbdkode → ppdnokrm REPLACE

CALCS yang membaca field ini

cbknJSKatKsgppdjasbrg != "JE" && ppdjasbrg != "JI" && ppdnokrm != BLANKS

cbknJSKatKsg3ppdjasbrg != "JE" && ppdjasbrg != "JI" && ppdnokrm == BLANKS

ccmJS_BR(ppdjasbrg == "JI" || ppdjasbrg == "JE") || (ppdjasbrg == "BR" && ppdnokrm != BLANKS)

cBlhTuneUp(ppdjasbrg == "JI" && ppdnokrm != BLANKS && djointbd_jasatuneup == 1) || (ppdjasbrg == "JI" && ppdnokrm == BLANKS) || (ppdjasbrg != "JI")

cdis3xppdjasbrg == "JI" && btmsoa !="SPKSALES" && ppdnokrm == BLANKS

ckategori1(ppdjasbrg == "BR" && ppdnokrm != BLANKS && ppdlok != BLANKS)

cppdINPG(btmsts == "OPEN" && ppdsup == "AHM" && (g_grpnam == "AHASSHEAD" || g_grpnam == "RI" || g_grpnam == "AHASSSPV" || g_grpnam == "IT")) || (btmsts == "OPEN" && ppdsup != "AHM" && ppdnokrm == BLANKS) || (btmsts == "OPEN" && ppdnokrm != BLANKS && (g_grpnam == "AHASSHEAD" || g_grpnam == "AHASSSPV" || g_grpnam == "IT" || g_grpnam == "RI"))

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ppdbrg

ppd.ppdbrg • TEXT(21) • Kode Barang

FIELDINPUTRI 3

Field input • huruf besar • 4 validasi • 14 hook.

① Tampilan / FIELD
ALLCAPS: input huruf besarSCROLL: mode scroll/lookup framework
ppdbrg        ALLCAPS SCROLL         INPUTRI     3
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
MANDATORYWajib diisi.
VALIDATE_IFNilai harus tervalidasi ke tabel brc via index brcdatstskod jika cJI terpenuhi. MAP hasil: mbrcJS.cJI = ppdjasbrg == "JI"Index: brcdatstskod → brc [brcdata, brcsts, brccab, brctype, brctype2, brcbrg, brckode]
MAP validasi mbrcJS
crmdgabasuransi1	lrmdgabasuransi1	DO_CALC
crmdgabasuransi2	lrmdgabasuransi2	DO_CALC
cBLANKS		 lstatus	 DO_CALC
ltbtdf_persen   ltbtdf_persen    REPLACE_IF cdjoinhrgpersen
c0		 lbrchrgjla	 DO_CALC
brcbrg           ppdbrg          REPLACE
gv_svgratis	 ppdnorangka	 REPLACE_IF conlykpb
crekpiu		 ppdnomesin	 DO_CALC_IF conlykpb
lbrgkat          ppdkat          REPLACE_IF cdjoinestimasi1
brchrgjl         brchrgjl        REPLACE_IF cjoinbrcJS
brchrgjl  	 ppdhrg		 REPLACE_IF crmdstrukturh2_asuransi2a
chrgAsuransi	 ppdhrg		 DO_CALC_IF crmdstrukturh2_asuransi2b
chrgPersencab    ppdhrg          DO_CALC_IF cdjoinhrgpersen
lhasil1asuransi	 ppddf1		 REPLACE
brgsat           ppdsat          REPLACE
lbrgnama	 ppdket		 REPLACE_IF cdjoinestimasi1
brckode		 ppdpsnoto   	 REPLACE
cstart		 lstatus	 DO_CALC_IF cstartx
ctake		 lstatus	 DO_CALC_IF ctakex
cpend		 lstatus	 DO_CALC_IF cpendx
cfinish		 lstatus	 DO_CALC_IF cfinishx
cvoid		 lstatus	 DO_CALC_IF cvoidx
cdisco		 ppdtotdis	 DO_CALC
c0		 lbrchrgjla	 DO_CALC_IF cJI
lbrgdisrp	 ppdtotdis	 REPLACE_IF clbhbesar
lhasil1hrg	 ppdretpos	 REPLACE_IF crmdstrukturh2a
lhasil1hrg	 ppdretpos	 REPLACE_IF crmdstrukturh2c
lhasil2hrg	 ppdsatbsr	 REPLACE_IF crmdstrukturh2c
cttlhrg2	 ppdtotfak	 DO_CALC
VALIDATE_IFNilai harus tervalidasi ke tabel brg via index brgdatstskat jika cbknJSKatKsg terpenuhi. MAP hasil: mbrg.cbknJSKatKsg = ppdjasbrg != "JE" && ppdjasbrg != "JI" && ppdnokrm != BLANKSIndex: brgdatstskat → brg [brgdata, brgsts, brgjaba, brgcab, brgkat, brgkode]
MAP validasi mbrg
crmdgabamic	lrmdgabamic	DO_CALC
crmdgabkpbtunai	lrmdgabkpbtunai	DO_CALC
cBLANKS		lstatus		DO_CALC
c0		lbrchrgjla	DO_CALC
c0		lhrgjs		DO_CALC
c0		lppdhrgbp	DO_CALC
c0		lppdhrgbp	DO_CALC_IF ckpbxx
c0		ppdhrgbp	DO_CALC_IF ckpbxx
c0		lppdhrgbp	DO_CALC_IF cdjointbd_promoJasa
c0		ppdhrgbp	DO_CALC_IF cdjointbd_promoJasa
c0		ppdretpos	DO_CALC
c0		lhrgolitdm	DO_CALC
gv_svgratis	ppdnorangka	REPLACE_IF conlykpb
cAHM		ppdsup		DO_CALC_IF conlykpb
cKPBNSS		ppdsup		DO_CALC_IF conlykpbnss
cKPBSINSEN	ppdsup		DO_CALC_IF conlykpbsinsen
cKPBTDM		ppdsup		DO_CALC_IF conlykpbtdm
cVOUCHER	ppdsup		DO_CALC_IF conlyvoucher
cKPBHSO		ppdsup		DO_CALC_IF conlykpbhso
cKPB1TAHUN      ppdsup          DO_CALC_IF conlykpb1tahun
crekpiu		lRekPiuastra	DO_CALC
lRekPiuastra	ppdnomesin	REPLACE_IF conlykpb
ppdjmlren	ppdjmlren	REPLACE
brgkode          ppdbrg         REPLACE
brgnama		 ppdket		REPLACE
brgkat           ppdkat         REPLACE
brgsat           ppdsat         REPLACE
cstart		 lstatus	DO_CALC_IF cstartx
ctake		 lstatus	DO_CALC_IF ctakex
cpend		 lstatus	DO_CALC_IF cpendx
cfinish		 lstatus	DO_CALC_IF cfinishx
cvoid		 lstatus	DO_CALC_IF cvoidx
brgkat4          lbrgkat4a      REPLACE
lbrchrgjla       lbrchrgjla      REPLACE_IF cjoinbrcU1
lbrchrgjla       lbrchrgjla      REPLACE_IF cjoinbrcU2
lhrgjs           lhrgjs          REPLACE_IF cjoinbrcU1
lhrgjs           lhrgjs          REPLACE_IF cjoinbrcU2
chrgjs           lppdhrgbp      DO_CALC
lppdhrgbp        ppdhrgbp       REPLACE_IF ckpb1xx
c0               lppdhrgbp      DO_CALC_IF crmdstrukturh2e
c0               ppdhrgbp       DO_CALC_IF crmdstrukturh2e
chrgtot2	 lbrchrgjla	 DO_CALC_IF cjikatdktambah
c0		 lbrchrgjla	 DO_CALC_IF cppdbrgBlank
DEBUG           ldumstr    ldumstr    REPLACE
VALIDATE_IFNilai harus tervalidasi ke tabel brg via index brgstsdatbrg jika cbknJSKatKsg3 terpenuhi. MAP hasil: mbrgBR.cbknJSKatKsg3 = ppdjasbrg != "JE" && ppdjasbrg != "JI" && ppdnokrm == BLANKSIndex: brgstsdatbrg → brg [brgsts, brgdata, brgkode]
MAP validasi mbrgBR
crmdgabamic	lrmdgabamic	DO_CALC
crmdgabkpbtunai	lrmdgabkpbtunai	DO_CALC
cBLANKS		 lstatus	 DO_CALC
c0		 lbrchrgjla	 DO_CALC
c0		 lhrgjs		 DO_CALC
c0		 lppdhrgbp	 DO_CALC
c0		 lppdhrgbp	 DO_CALC_IF ckpbxx
c0		 ppdhrgbp	 DO_CALC_IF ckpbxx
c0		 lppdhrgbp	 DO_CALC_IF cdjointbd_promoJasa
c0		 ppdhrgbp	 DO_CALC_IF cdjointbd_promoJasa
c0		 ppdretpos	 DO_CALC
c0		 lhrgolitdm	 DO_CALC
cAHM		 ppdsup		 DO_CALC_IF conlykpb
cKPBNSS		 ppdsup		 DO_CALC_IF conlykpbnss
cKPBSINSEN	 ppdsup		 DO_CALC_IF conlykpbsinsen
cKPBTDM   	 ppdsup		 DO_CALC_IF conlykpbtdm
cVOUCHER	 ppdsup		 DO_CALC_IF conlyvoucher
cKPBHSO		ppdsup		DO_CALC_IF conlykpbhso
cKPB1TAHUN       ppdsup          DO_CALC_IF conlykpb1tahun
gv_svgratis	 ppdnorangka	 REPLACE_IF conlykpb
crekpiu		 lRekPiuastra	 DO_CALC
crekpiu		 ppdnomesin	 DO_CALC_IF conlykpb
ppdjmlren    	 ppdjmlren   	 REPLACE_IF cstock
brgkode		 ppdbrg		 REPLACE
brgnama	 	 ppdket		 REPLACE
brgkat		 ppdkat		 REPLACE
brgsat		 ppdsat		 REPLACE
cstart		 lstatus	 DO_CALC_IF cstartx
ctake		 lstatus	 DO_CALC_IF ctakex
cpend		 lstatus	 DO_CALC_IF cpendx
cfinish		 lstatus	 DO_CALC_IF cfinishx
cvoid		 lstatus	 DO_CALC_IF cvoidx
lbrchrgjla       lbrchrgjla      REPLACE_IF cjoinbrcU1
lbrchrgjla       lbrchrgjla      REPLACE_IF cjoinbrcU2
lhrgjs           lhrgjs          REPLACE_IF cjoinbrcU1
lhrgjs           lhrgjs          REPLACE_IF cjoinbrcU2
chrgjs           lppdhrgbp       DO_CALC
lppdhrgbp	 ppdhrgbp	 REPLACE_IF ckpb1xx
c0		 lppdhrgbp	 DO_CALC_IF crmdstrukturh2e
c0		 ppdhrgbp	 DO_CALC_IF crmdstrukturh2e
cdisco 		 ppdtotdis	 DO_CALC
c0		 lbrchrgjla	 DO_CALC_IF cJI
lhasil1hrg	 ppdretpos	 REPLACE_IF crmdstrukturh2a
lhasil1hrg	 ppdretren	 REPLACE_IF crmdstrukturh2c
lhasil2hrg	 ppdsatbsr	 REPLACE_IF crmdstrukturh2c
chrgolitdm	 lhrgolitdm	 DO_CALC_IF crmdstrukturh2c
lhrgolitdm	 ppdretpos	 REPLACE_IF crmdstrukturh2c
cttlhrg2	 ppdtotfak	 DO_CALC
chrgtot2	 lbrchrgjla	 DO_CALC_IF cjikatdktambah
④ Event / HOOKS
AFTER_INPUT

Validasi interaktif: jika cadddgi benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan Hanya boleh menambah JI.

AFTER_INPUT    cur_field=ppdbrg      DO_MAP SHOW
IF cadddgi mdumstr
ELSE HKCURSOR STAY
HKMSG Hanya boleh menambah JI
AFTER_INPUT

Jalankan MAP murut.

AFTER_INPUT    cur_field=ppdbrg        DO_MAP SHOW murut
AFTER_INPUT

Sesudah/sebelum input, jalankan scan dscanbrd jika cBR terpenuhi.

AFTER_INPUT    cur_field=ppdbrg	       DO_SCAN_IF cBR dscanbrd
BEFORE_INPUT

Lewati field jika cpktkpb terpenuhi.

BEFORE_INPUT   cur_field=ppdbrg        DO_SKIP_IF cpktkpb
AFTER_INPUT

Panggil library jika crmdstrukturh2a terpenuhi: ap_ambts(gv_INPG,lrmdgabpaket1,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);

AFTER_INPUT    cur_field=ppdbrg        DO_LIB_IF crmdstrukturh2a ap_ambts(gv_INPG,lrmdgabpaket1,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
AFTER_INPUT

Panggil library jika crmdstrukturh2b terpenuhi: ap_ambts(gv_INPG,lrmdgabpaket2,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);

AFTER_INPUT    cur_field=ppdbrg        DO_LIB_IF crmdstrukturh2b ap_ambts(gv_INPG,lrmdgabpaket2,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
AFTER_INPUT

Panggil library jika crmdstrukturh2cx terpenuhi: ap_ambts(gv_INPG,lrmdgabpaket3,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2hrg,&lhasil3,&lhasil1_txt,&lhasil2_txt);

AFTER_INPUT    cur_field=ppdbrg        DO_LIB_IF crmdstrukturh2cx ap_ambts(gv_INPG,lrmdgabpaket3,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2hrg,&lhasil3,&lhasil1_txt,&lhasil2_txt);
AFTER_INPUT

Panggil library jika crmdstrukturh2d terpenuhi: ap_ambts(gv_INPG,lrmdgabpaket4,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);

AFTER_INPUT    cur_field=ppdbrg        DO_LIB_IF crmdstrukturh2d ap_ambts(gv_INPG,lrmdgabpaket4,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
AFTER_INPUT

Panggil library jika crmdstrukturh2e terpenuhi: ap_ambts(gv_INPG,lrmdgabamic,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);

AFTER_INPUT    cur_field=ppdbrg        DO_LIB_IF crmdstrukturh2e ap_ambts(gv_INPG,lrmdgabamic,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
AFTER_INPUT

Panggil library jika crmdstrukturh2fx terpenuhi: ap_ambts(gv_INPG,lrmdgabpaket5,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2hrg,&lhasil3,&lhasil1_txt,&lhasil2_txt);

AFTER_INPUT    cur_field=ppdbrg        DO_LIB_IF crmdstrukturh2fx ap_ambts(gv_INPG,lrmdgabpaket5,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2hrg,&lhasil3,&lhasil1_txt,&lhasil2_txt);
AFTER_INPUT

Validasi interaktif: jika cjmlren2 benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.StokTdkAda.

AFTER_INPUT    cur_field=ppdbrg         DO_MAP SHOW
IF cjmlren2 mdumstr
ELSE HKCURSOR STAY
HKMSG t.StokTdkAda
AFTER_INPUT

Validasi interaktif: jika cwasher_lewat benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.WasherTdkSama.

AFTER_INPUT    cur_field=ppdbrg		DO_MAP SHOW
IF cwasher_lewat mdumstr
ELSE HKCURSOR STAY
HKMSG t.WasherTdkSama
AFTER_INPUT

Validasi interaktif: jika cBknKPB benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.BukanKPB.

AFTER_INPUT    cur_field=ppdbrg         DO_MAP SHOW
IF cBknKPB mdumstr
ELSE HKCURSOR STAY
HKMSG t.BukanKPB
BEFORE_INPUT

Lewati field jika cupddgi terpenuhi.

BEFORE_INPUT   cur_field=ppdbrg         DO_SKIP_IF cupddgi
⑤ Aliran data & proses lanjutan
MAP membaca field ini

mppdbrglama: ppdbrg → lppdbrglama NO_REPLACE

maddtld416tambahan: ppdbrg → tldbrg REPLACE

maddakt_6d: ppdbrg → aktbrg REPLACE

mupdtld416: ppdbrg → tldbrg REPLACE

MAP menulis ke field ini

mbrdlok: brdbrg → ppdbrg REPLACE

mbrg: brgkode → ppdbrg REPLACE

mbrgBR: brgkode → ppdbrg REPLACE

mbrcJS: brcbrg → ppdbrg REPLACE

mbrdlok_Te: brdbrg → ppdbrg REPLACE

mbrdBR_Te: brdbrg → ppdbrg REPLACE

CALCS yang membaca field ini

chrussamappdbrg == lrmdkode2

crmdgabasuransi2"PROMOASURANSI2" + STRIP(btmcab) + STRIP(ppdbrg)

crmdgabamic"HARGAAMIC" + STRIP(ppdbrg) + STRIP(btmcab)

cppdbrgBlankppdbrg == BLANKS

POSTING yang menyentuh field

PST_ADDCMDsptransaddDO_LIB_IF cbrgok ap_adbtf(gv_O,ppdbrdoto,ppdnomst2,ppdbrg,ppdlok,ppdoto,ppdukrwrn,ppdsat,ppdjml,&ldipenuhi,&ltothpp,&lhrgrata,g_strksg,g_strksg,lmapbtf,g_str_empty,ppdcab,ppmtglfak);

PST_UPDCMDsptransupdDO_LIB_IF cbrgok1 ap_adbtf(gv_O,ppdbrdoto,ppdnomst2,ppdbrg,ppdlok,ppdoto,ppdukrwrn,ppdsat,ppdjml,&ldipenuhi,&ltothpp,&lhrgrata,g_strksg,g_strksg,lmapbtf,g_str_empty,ppdcab,ppmtglfak);

PST_DELCMDsptranscelDO_LIB_IF cbrgok2 ap_dlbtf(gv_O,ppdbrdoto,ppdnomst2,ppdbrg,ppdlok,ppdoto,ppdukrwrn,ppdsat,ppdjml,&ldipenuhi,&ltothpp,&lhrgrata,g_strksg,g_strksg,lmapbtf,g_str_empty,lnamtrnjml);

ppdket

ppd.ppdket • TEXT(61) • Keterangan

FIELDINPUTRI 3

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
ppdket        PROTECT                INPUTRI     3
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

maddtld416tambahan: ppdket → tldket REPLACE

mupdtld416: ppdket → tldket REPLACE

MAP menulis ke field ini

mbrg: brgnama → ppdket REPLACE

mbrgBR: brgnama → ppdket REPLACE

mbrcJS: lbrgnama → ppdket REPLACE_IF jika cdjoinestimasi1

mbrdBR_Te: lbrgnama → ppdket REPLACE_IF jika cdjoinbrg_1

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

lfield

STRING(11)

LOCALINPUTRI 4

Field input • huruf besar • 1 hook.

① Tampilan / FIELD
ALLCAPS: input huruf besarSCROLL: mode scroll/lookup framework
lfield        ALLCAPS SCROLL         INPUTRI     4
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS
AFTER_INPUT

Sesudah/sebelum input, jalankan scan dscanbrd jika cBR terpenuhi.

AFTER_INPUT    cur_field=lfield         DO_SCAN_IF cBR dscanbrd
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ppdlok

ppd.ppdlok • TEXT(21) • Kode Lokasi

FIELDINPUTRI 4

Field input • huruf besar • 2 validasi • 7 hook.

① Tampilan / FIELD
ALLCAPS: input huruf besarSCROLL: mode scroll/lookup framework
ppdlok        ALLCAPS SCROLL         INPUTRI     4
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
MANDATORY_IFWajib diisi jika cBR2 terpenuhi.cBR2 = ppdjasbrg == "BR" && (btmsts == "OPEN" || btmsts == "INPG") && ppdjmlren > 0
VALIDATE_IFNilai harus tervalidasi ke tabel brd via index brdbrglokoto jika cBRLok terpenuhi. MAP hasil: mbrdlok.cBRLok = (g_curcmd == 1 && ppdjasbrg == "BR" && ppdjmlren > 0 && ppdscr == "620") || (g_curcmd == 2 && ppdjasbrg == "BR" && ppdjmlren > 0 && ppdscr != "620" && btmstsdata == BLANKS) || (g_curcmd == 2 && ppdjasbrg == "BR" && ppdjmlren > 0 && ppdscr == "620" && btmstsdata == BLANKS) || (g_curcmd == 2 && ppdjasbrg == "BR" && ppdjmlren > 0 && djoincabapi2 == 1 && ltbdkettype == "ADA" ) || (g_curcmd == 2 && ppdjasbrg == "BR" && ppdjmlren > 0 && djoincabapi2 == 1 && ltbdkettype == BLANKS )Index: brdbrglokoto → brd [brdsts, brdbrg, brdcab, brdlok, brdukrwrn, brdsat, brdoto]
MAP validasi mbrdlok
brdbrg		ppdbrg		REPLACE
brdlok		ppdlok		REPLACE_IF cjmlren
brdukrwrn	ppdukrwrn	REPLACE
brdsat		ppdsat		REPLACE
brdoto		ppdbrdoto	REPLACE
brdoto		ppdpsnoto2      REPLACE
④ Event / HOOKS
BEFORE_INPUT

Lewati field jika ccmJS terpenuhi.

BEFORE_INPUT   cur_field=ppdlok	       DO_SKIP_IF ccmJS
BEFORE_INPUT

Lewati field jika copen_2a terpenuhi.

BEFORE_INPUT   cur_field=ppdlok        DO_SKIP_IF copen_2a
AFTER_INPUT

Sesudah/sebelum input, jalankan scan dscanbrd2 jika cBR terpenuhi.

AFTER_INPUT    cur_field=ppdlok	       DO_SCAN_IF cBR dscanbrd2
AFTER_INPUT

Validasi interaktif: jika cBlhFast benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.HnyaBlhFast.

AFTER_INPUT    cur_field=ppdlok		DO_MAP SHOW
IF cBlhFast mdumstr
ELSE HKCURSOR STAY
HKMSG t.HnyaBlhFast
AFTER_INPUT

Validasi interaktif: jika cBlhTuneUp benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.HnyaBlhTuneUp.

AFTER_INPUT    cur_field=ppdlok         DO_MAP SHOW
IF cBlhTuneUp mdumstr
ELSE HKCURSOR STAY
HKMSG t.HnyaBlhTuneUp
AFTER_INPUT

Validasi interaktif: jika cAdmPart benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.hanyaAdmabsen.

AFTER_INPUT    cur_field=ppdlok         DO_MAP SHOW
IF cAdmPart mdumstr
ELSE HKCURSOR STAY
HKMSG t.hanyaAdmabsen
AFTER_INPUT

Validasi interaktif: jika cHrgBrgKosong benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan t.HargaBrgKosong.

AFTER_INPUT    cur_field=ppdlok         DO_MAP SHOW
IF cHrgBrgKosong mdumstr
ELSE HKCURSOR STAY
HKMSG t.HargaBrgKosong
⑤ Aliran data & proses lanjutan
MAP membaca field ini

m4579: ppdlok → r_string5 REPLACE

m4579a: ppdlok → r_string5 REPLACE

m4579b: ppdlok → r_string5 REPLACE

maddtld416tambahan: ppdlok → tldlok REPLACE

mupdtld416: ppdlok → tldlok REPLACE

MAP menulis ke field ini

mbrdlok: brdlok → ppdlok REPLACE_IF jika cjmlren

mbrdlok_Te: brdlok → ppdlok REPLACE_IF jika cjmlren

CALCS yang membaca field ini

cadalok1(ppdlok == BLANKS && ppdjasbrg == "BR" && ppdjmlren != 0 )

cbrgksg(ppdjasbrg == "BR" && ppdjmlren > 0 && ppdlok != BLANKS) || (ppdjasbrg != "BR") || (ppdjasbrg == "BR" && ppdlok == BLANKS)

copen_2abtmsts == "OPEN" && btmstsdata == "OK" && g_curcmd == 2 && ppdlok != BLANKS

cadddgi( g_curcmd == 1 && djoincabapi2 == 1 && ltbdkettype == "ADA" && ppdjasbrg == "BR" && djoinmasterbr == 1 ) || ( djoincabapi2 == 0 ) || ( g_curcmd == 2 && djoincabapi2 == 1 && ltbdkettype == "ADA" && ppdjasbrg == "BR" && djoinmasterbr == 1 ) || ( djoincabapi2 == 1 && ltbdkettype == BLANKS ) || ( g_curcmd == 2 && djoincabapi2 == 1 && ltbdkettype == "ADA" && ppdjasbrg == "BR" && ppdlok != BLANKS ) || ( ppdjasbrg == "JI" )

ckategori1(ppdjasbrg == "BR" && ppdnokrm != BLANKS && ppdlok != BLANKS)

cLokRenKosong(ppdjasbrg == "BR" && (ppdlok == BLANKS || ppdjmlren == 0))

cstsinpg1(djointbdCAB416 == 1 || djointbdNAS416 == 1) && btmsts == "INPG" && ppdjasbrg == "BR" && ppdlok != BLANKS && (djointlm416_last == 0 || (djointlm416_last == 1 && ltlmsts416_last == "VOID"))

cstsinpg2(djointbdCAB416 == 1 || djointbdNAS416 == 1) && btmsts == "INPG" && ppdjasbrg == "BR" && ppdlok != BLANKS && djointlm416_last == 1

cstsinpg3(djointbdCAB416 == 1 || djointbdNAS416 == 1) && btmsts == "INPG" && ppdjasbrg == "BR" && ppdlok != BLANKS && djointlm416_abk == 1 && djoinabk416 == 0

cstsinpg1api(djointbdCAB416 == 1 || djointbdNAS416 == 1) && btmsts == "INPG" && ppdjasbrg == "BR" && ppdlok != BLANKS && (djointlm416_last == 0 || (djointlm416_last == 1 && ltlmsts416_last == "VOID")) && ( g_curcmd == 2 && djoincabapi2 == 1 && ltbdkettype == "ADA" && ppdkdmua == BLANKS )

cstsinpg2api(djointbdCAB416 == 1 || djointbdNAS416 == 1) && btmsts == "INPG" && ppdjasbrg == "BR" && ppdlok != BLANKS && djointlm416_last == 1 && ( g_curcmd == 1 && djoincabapi2 == 1 && ltbdkettype == "ADA" && ppdkdmua == BLANKS )

cstsinpg3api(djointbdCAB416 == 1 || djointbdNAS416 == 1) && btmsts == "INPG" && ppdjasbrg == "BR" && ppdlok != BLANKS && djointlm416_abk == 1 && djoinabk416 == 0 && ( g_curcmd == 1 && djoincabapi2 == 1 && ltbdkettype == "ADA" && ppdkdmua == BLANKS )

POSTING yang menyentuh field

PST_ADDCMDsptransaddDO_LIB_IF cbrgok ap_adbtf(gv_O,ppdbrdoto,ppdnomst2,ppdbrg,ppdlok,ppdoto,ppdukrwrn,ppdsat,ppdjml,&ldipenuhi,&ltothpp,&lhrgrata,g_strksg,g_strksg,lmapbtf,g_str_empty,ppdcab,ppmtglfak);

PST_UPDCMDsptransupdDO_LIB_IF cbrgok1 ap_adbtf(gv_O,ppdbrdoto,ppdnomst2,ppdbrg,ppdlok,ppdoto,ppdukrwrn,ppdsat,ppdjml,&ldipenuhi,&ltothpp,&lhrgrata,g_strksg,g_strksg,lmapbtf,g_str_empty,ppdcab,ppmtglfak);

PST_DELCMDsptranscelDO_LIB_IF cbrgok2 ap_dlbtf(gv_O,ppdbrdoto,ppdnomst2,ppdbrg,ppdlok,ppdoto,ppdukrwrn,ppdsat,ppdjml,&ldipenuhi,&ltothpp,&lhrgrata,g_strksg,g_strksg,lmapbtf,g_str_empty,lnamtrnjml);

ppddf3

ppd.ppddf3 • DOUBLE • Ppddf3

FIELDINPUTRI 4

Field NOCHANGE • 1 default • 1 hook.

① Tampilan / FIELD
NOCHANGE: tidak diubah seperti input biasa
ppddf3        NOCHANGE               INPUTRI     4
② Nilai awal / DEFAULT
Pilihan melalui scannilai: BLANKS
1 · 2
③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS
AFTER_INPUT

Jalankan MAP mhotline.

AFTER_INPUT    cur_field=ppddf3	       DO_MAP SHOW mhotline
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

chotlineppddf3 == 1

chotline2ppddf3 == 2

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

lHotline

STRING(21)

LOCALINPUTRI 4

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
lHotline      PROTECT                INPUTRI     4
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mhotline: cYA → lHotline DO_CALC_IF jika chotline

mhotline: cTIDAK → lHotline DO_CALC_IF jika chotline2

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ppdjml

ppd.ppdjml • DOUBLE • Jumlah Unit Satuan

FIELDINPUTRI 5

Field input • angka • 1 default • 4 hook.

① Tampilan / FIELD
NUMERIC: input angka
ppdjml        NUMERIC                INPUTRI     5
② Nilai awal / DEFAULT
Nilai awal umumnilai: 1
③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS
BEFORE_INPUT

Lewati field jika cJS terpenuhi.

BEFORE_INPUT   cur_field=ppdjml        DO_SKIP_IF cJS
AFTER_INPUT

Jalankan MAP mmapbulat.

AFTER_INPUT    cur_field=ppdjml	       DO_MAP SHOW mmapbulat
AFTER_INPUT

Validasi interaktif: jika csaldobrd1 benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (STAY) dan tampil pesan Jumlah Dalam satuan ini tidak cukup.

AFTER_INPUT     cur_field=ppdjml        DO_MAP SHOW
IF csaldobrd1 mdumstr
ELSE HKCURSOR STAY
HKMSG Jumlah Dalam satuan ini tidak cukup
BEFORE_INPUT

Lewati field jika cupddgi terpenuhi.

BEFORE_INPUT   cur_field=ppdjml         DO_SKIP_IF cupddgi
⑤ Aliran data & proses lanjutan
MAP membaca field ini

mscanppd2: ppdjml → lppdjml REPLACE_IF jika cjikaadadetail2

mscanppd2: ppdjml → lppdjml_BR REPLACE_IF jika cBR

mjml: ppdjml → ppddf2 REPLACE_IF jika cBRLok2

m4579: ppdjml → r_count2 REPLACE

m4579a: ppdjml → r_count2 REPLACE

m4579b: ppdjml → r_count2 REPLACE

maddtld416tambahan: ppdjml → tldjml REPLACE_IF jika cBR

MAP menulis ke field ini

mmapbulat: cppdjmlblt → ppdjml DO_CALC

mbrdBR_Te: cppdjmlblt → ppdjml DO_CALC

CALCS yang membaca field ini

cadalok17((ppdjasbrg == "JI" || ppdjasbrg == "BR") && ppdjml == 0)

ctotal(ppdhrg * ppdjml) - (ppdhrgbp * (ppdjml - 1))

chrgtot(lbrchrgjla * ppdjml) + lhrgjs

chrgtot2((ppdhrg - ppdhrgbp) / ppdjml)

chrgtot3(lbrchrgjla * ppdjml)

cdis1((lbrchrgjla * ppdperdis) / 100 * ppdjml)

cdis1_amic((lhasil1hrg_amic * ppdperdis) / 100 * ppdjml)

cdis4(lbrchrgjla * ppdperdis3) / 100 * ppdjml

cdis4a((((ppdhrg - ppdhrgbp) * ppdperdis3) / 100) * ppdjml)

cbrgokppdjasbrg == "BR" && ppdsts== "OPEN" && ppdjml > 0

cbrgok1ppdjasbrg == "BR" && ppdsts== "OPEN" && ppdjml > 0 && djoinbtfupd == 0

cbrgok2ppdjasbrg == "BR" && ppdsts== "OPEN" && ppdjml > 0 && djoinbtfupd == 1

cppdjmlbltDO_LIB ap_bulat(ppdjml,l1,&ppdjml,lN);

ctothppppdtothpp / ppdjml

ctothpp1ppdtothpp > 0 && ppdjml > 0 && ppdjasbrg == "BR"

ctothpp2ppdhpp * ppdjml

csaldobrd1((ppdjasbrg == "BR" && ppdjml <= lbrdsisprc + ~ppdjml) || (ppdjasbrg != "BR"))

cTot3a(ppdhrg * ppdjml) + btmdf3 - (ppdhrgbp * (ppdjml - 1))

cTot3bbtmdf3 - (ppdhrg * ppdjml) - (ppdhrgbp * (ppdjml - 1))

cTot3cbtmdf3 - ltotal + (ppdhrg * ppdjml) - (ppdhrgbp * (ppdjml - 1))

+ 1 CALCS lain
POSTING yang menyentuh field

PST_ADDCMDsptransaddDO_LIB_IF cbrgok ap_adbtf(gv_O,ppdbrdoto,ppdnomst2,ppdbrg,ppdlok,ppdoto,ppdukrwrn,ppdsat,ppdjml,&ldipenuhi,&ltothpp,&lhrgrata,g_strksg,g_strksg,lmapbtf,g_str_empty,ppdcab,ppmtglfak);

PST_UPDCMDsptransupdDO_LIB_IF cbrgok1 ap_adbtf(gv_O,ppdbrdoto,ppdnomst2,ppdbrg,ppdlok,ppdoto,ppdukrwrn,ppdsat,ppdjml,&ldipenuhi,&ltothpp,&lhrgrata,g_strksg,g_strksg,lmapbtf,g_str_empty,ppdcab,ppmtglfak);

PST_DELCMDsptranscelDO_LIB_IF cbrgok2 ap_dlbtf(gv_O,ppdbrdoto,ppdnomst2,ppdbrg,ppdlok,ppdoto,ppdukrwrn,ppdsat,ppdjml,&ldipenuhi,&ltothpp,&lhrgrata,g_strksg,g_strksg,lmapbtf,g_str_empty,lnamtrnjml);

ppdnopsn

ppd.ppdnopsn • TEXT(21) • No Pesan

FIELDINPUTRI 6

Field terlindungi (PROTECT) • 1 default.

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
ppdnopsn      PROTECT                INPUTRI     6
② Nilai awal / DEFAULT
Saat T / tambahnilai: "ADDSERVIS"
③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

maddservis: ppdnopsn → laddservis REPLACE

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

ccmpkt(btmsts == "OPEN" && ppdnopsn != "ADDSERVIS" ) || (btmsts == "OPEN" && btmstsdata == "OK" && ppdnopsn == "ADDSERVIS") || (btmsts == "OPEN" && djoincabapi2 == 1 && ltbdkettype == "ADA" ) || (btmsts == "INPG" && btmstsdata == "OK" && djoincabapi2 == 1 && ltbdkettype == "ADA" )

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ppdsup

ppd.ppdsup • TEXT(21) • Kode Suplier Tambahan

FIELDINPUTRI 7

Field terlindungi (PROTECT) • 1 default.

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
ppdsup        PROTECT                INPUTRI     7
② Nilai awal / DEFAULT
Saat T / tambahhanya jika cclaim2btmwrn == "CLAIM"nilai: AHM
③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mbrg: cAHM → ppdsup DO_CALC_IF jika conlykpb

mbrg: cKPBNSS → ppdsup DO_CALC_IF jika conlykpbnss

mbrg: cKPBSINSEN → ppdsup DO_CALC_IF jika conlykpbsinsen

mbrg: cKPBTDM → ppdsup DO_CALC_IF jika conlykpbtdm

mbrg: cVOUCHER → ppdsup DO_CALC_IF jika conlyvoucher

mbrg: cKPBHSO → ppdsup DO_CALC_IF jika conlykpbhso

mbrg: cKPB1TAHUN → ppdsup DO_CALC_IF jika conlykpb1tahun

mbrgBR: cAHM → ppdsup DO_CALC_IF jika conlykpb

mbrgBR: cKPBNSS → ppdsup DO_CALC_IF jika conlykpbnss

mbrgBR: cKPBSINSEN → ppdsup DO_CALC_IF jika conlykpbsinsen

mbrgBR: cKPBTDM → ppdsup DO_CALC_IF jika conlykpbtdm

mbrgBR: cVOUCHER → ppdsup DO_CALC_IF jika conlyvoucher

mbrgBR: cKPBHSO → ppdsup DO_CALC_IF jika conlykpbhso

mbrgBR: cKPB1TAHUN → ppdsup DO_CALC_IF jika conlykpb1tahun

mbrg_Te: cAHM → ppdsup DO_CALC_IF jika conlykpb

mbrg_Te: cKPBNSS → ppdsup DO_CALC_IF jika conlykpbnss

mbrg_Te: cKPBSINSEN → ppdsup DO_CALC_IF jika conlykpbsinsen

mbrg_Te: cKPBTDM → ppdsup DO_CALC_IF jika conlykpbtdm

mbrg_Te: cVOUCHER → ppdsup DO_CALC_IF jika conlyvoucher

mbrg_Te: cKPBHSO → ppdsup DO_CALC_IF jika conlykpbhso

mbrg_Te: cKPB1TAHUN → ppdsup DO_CALC_IF jika conlykpb1tahun

mbrdBR_Te: cAHM → ppdsup DO_CALC_IF jika conlykpb

mbrdBR_Te: cKPBNSS → ppdsup DO_CALC_IF jika conlykpbnss

mbrdBR_Te: cKPBSINSEN → ppdsup DO_CALC_IF jika conlykpbsinsen

mbrdBR_Te: cKPBTDM → ppdsup DO_CALC_IF jika conlykpbtdm

CALCS yang membaca field ini

cadalok15ppdsup == "AHM"

cjikaadadetail(ppdjasbrg == "BR" || ppdjasbrg == "JI" || ppdjasbrg == "JE") && ppdsup != "AHM"

cjoinbrcU1djoinbrcU1 == 1 && ppdjasbrg =="BR" && ppdsup == "AHM" && djointbd_promoJasa == 0

cjoinbrcU2djoinbrcU2 == 1 && ppdjasbrg =="BR" && ppdsup != "AHM" && djointbd_promoJasa == 0 && djoinrmdstrukturh2e == 0

cjoinbrcU3djoinbrcU3 == 1 && ppdjasbrg =="BR" && ppdsup != "AHM" && djointbd_promoJasa == 0 && djoinrmdstrukturh2e == 0

ckpb234(djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && ppdsup != "AHM" && (btmwrn == "PKTSERVICEKPB2" || btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4")) || djointbd_promoJasa == 1

cserviceoli(djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && ppdsup != "AHM" && (btmrekomen == "SERVICE" || btmrekomen == "SERVIS RINGAN" || btmrekomen == "HEAVY REPAIR" || btmrekomen == "LCR" || btmwrn == "PKTSERVICEKPB2" || btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4"))

ckpb234x(ppdjasbrg == "BR" && ppdsup != "AHM" && (btmwrn == "PKTSERVICEKPB1" || btmwrn == "PKTSERVICEKPB2" || btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4" || btmrekomen == "SERVICE" || btmrekomen == "OLI" || btmrekomen == "GANTIPART" || btmrekomen == "AKI" || btmrekomen == "BAN" || btmrekomen == "SERVIS RINGAN" || btmrekomen == "ADDITIONAL" || btmrekomen == "HEAVY REPAIR" || btmrekomen == "LCR") || (ppdjasbrg == "BR" && ppdsup != "AHM" && (btmrekomen == "KPBNSS" || btmrekomen == "KPBSINSEN" || btmrekomen == "KPBTDM") && djoinbrg == 1 && lbrgkat4 != "OLI" && lbrgkat4 != "OIL"))

ckpb234xx((btmwrn == "PKTSERVICEKPB2" && djointbd_promooli == 1 && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5!="OLI GEAR" && ppdsup == "AHM")) || ((btmwrn == "PKTSERVICEKPB2" && djointbd_promooli2 == 1 && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5!="OLI GEAR" && ppdsup == "AHM")) || ((btmwrn == "PKTSERVICEKPB2" || btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4") && djointbd_promooli3 == 1 && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5!="OLI GEAR" && ppdsup == "AHM") || ((btmrekomen == "KPBNSS" || btmrekomen == "KPBSINSEN") && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL")) || (btmrekomen == "KPBTDM" && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 == "OLI GEAR") || (btmwrn == "PKTSERVICEKPB1" && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 == "OLI GEAR") || (btmwrn == "PKTSERVICEKPB2" && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 == "OLI GEAR" && djointbd_promooli6 == 1) || (btmrekomen == "KPBTDM" && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 != "OLI GEAR" && djoinrmdstrukturh2_kpbtdm3 == 0 && djoinrmdstrukturh2_kpbtdm4 == 0) || ((btmwrn == "PKTSERVICEKPB2" || btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4") && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 != "OLI GEAR" && djoinrmdstrukturh2_kpbhso == 1 && lrmdgabpaket5 != BLANKS)

cpktkpbdjoinbrgJS == 1 && ppdjasbrg == "JI" && ppdsup == "AHM"

ckpb1btmwrn == "PKTSERVICEKPB1" && ppdsup == "AHM"

ckpb1xx(djoinbrg == 1 && lbrgkat4 != "OLI" && lbrgkat4 != "OIL" && ppdsup != "AHM" && djointbd_promoJasa == 0) || (btmrekomen == "OLI")

cppdINPG(btmsts == "OPEN" && ppdsup == "AHM" && (g_grpnam == "AHASSHEAD" || g_grpnam == "RI" || g_grpnam == "AHASSSPV" || g_grpnam == "IT")) || (btmsts == "OPEN" && ppdsup != "AHM" && ppdnokrm == BLANKS) || (btmsts == "OPEN" && ppdnokrm != BLANKS && (g_grpnam == "AHASSHEAD" || g_grpnam == "AHASSSPV" || g_grpnam == "IT" || g_grpnam == "RI"))

cnotkpbppdsup != "AHM" && ppdtybuk2 == "Y" && djointbd_promooli == 0 && djointbd_promooli2 == 0

cnotkpb2((ppdsup == "AHM" && ppdtybuk2 == "Y" && djointbd_promooli == 1 && djoinrmdstrukturh2a == 1 && lrmdgabpaket1 != BLANKS) || (ppdsup == "AHM" && ppdtybuk2 == "Y" && djointbd_promooli2 == 1 && djoinrmdstrukturh2c == 1 && lrmdgabpaket3 != BLANKS))

cyeskpbppdsup == "AHM" && djointbd_promooli == 0

cyeskpb1ppdsup == "AHM" && djointbd_promooli == 1 && djoinrmdstrukturh2b == 1 && lrmdgabpaket2 != BLANKS && djointbd_promooli6 == 0

cyeskpb2ppdsup == "AHM" && ppdkat == "ASS" && djointbd_promooli == 1 && djoinrmdstrukturh2a == 1 && lrmdgabpaket1 != BLANKS

ckpbolix((djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 != "OLI GEAR" && ppdsup == "AHM" && djoinrmdstrukturh2a == 1 && lrmdgabpaket1 != BLANKS && (djointbd_promooli == 0 || djointbd_promooli == 1)) || (djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 != "OLI GEAR" && ppdsup == "AHM" && djoinrmdstrukturh2c == 1 && lrmdgabpaket3 != BLANKS && (djointbd_promooli2 == 1 || djointbd_promooli == 1)) || (djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 != "OLI GEAR" && ppdsup == "AHM" && djoinrmdstrukturh2c == 1 && lrmdgabpaket3 != BLANKS && (djointbd_promooli3 == 1)) || (djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 != "OLI GEAR" && ppdsup == "AHM" && djoinrmdstrukturh2d == 1 && lrmdgabpaket4 != BLANKS && (djointbd_promooli4 == 1)) || (djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 != "OLI GEAR" && ((ppdsup == "KPBNSS" && btmrekomen == "KPBNSS") || (ppdsup == "KPBSINSEN" && btmrekomen == "KPBSINSEN") || (ppdsup == "KPBTDM" && btmrekomen == "KPBTDM") || (btmrekomen == "KPB" && ppdsup == "KPB1TAHUN" && djoinppm614 == 1 && ltglkirimmtr >= 20240901 && (lppmtk614 == "K" || (djoinrmdstrukturh2_kpb1tahun_tunai == 1 && lbtmytplg611 == "Y")) && btmhrg == 2))) || (djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 != "OLI GEAR" && ppdsup == "VOUCHER" && djoinrmdstrukturh2f == 1 && lrmdgabpaket5 != BLANKS && djointbd_promooli2 == 1) || (djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 != "OLI GEAR" && ppdsup == "KPBHSO" && djoinrmdstrukturh2_kpbhso == 1 && lrmdgabpaket5 != BLANKS))

ckpbolixx(djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 == "OLI GEAR" && ppdsup == "AHM" && djointbd_promooli6 == 1)

+ 3 CALCS lain
POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

lstatus

STRING(21)

LOCALINPUTRI 8

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
lstatus       PROTECT                INPUTRI     8
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mbrg: cBLANKS → lstatus DO_CALC

mbrg: cstart → lstatus DO_CALC_IF jika cstartx

mbrg: ctake → lstatus DO_CALC_IF jika ctakex

mbrg: cpend → lstatus DO_CALC_IF jika cpendx

mbrg: cfinish → lstatus DO_CALC_IF jika cfinishx

mbrg: cvoid → lstatus DO_CALC_IF jika cvoidx

mbrgBR: cBLANKS → lstatus DO_CALC

mbrgBR: cstart → lstatus DO_CALC_IF jika cstartx

mbrgBR: ctake → lstatus DO_CALC_IF jika ctakex

mbrgBR: cpend → lstatus DO_CALC_IF jika cpendx

mbrgBR: cfinish → lstatus DO_CALC_IF jika cfinishx

mbrgBR: cvoid → lstatus DO_CALC_IF jika cvoidx

mbrcJS: cBLANKS → lstatus DO_CALC

mbrcJS: cstart → lstatus DO_CALC_IF jika cstartx

mbrcJS: ctake → lstatus DO_CALC_IF jika ctakex

mbrcJS: cpend → lstatus DO_CALC_IF jika cpendx

mbrcJS: cfinish → lstatus DO_CALC_IF jika cfinishx

mbrcJS: cvoid → lstatus DO_CALC_IF jika cvoidx

mbrg_Te: cBLANKS → lstatus DO_CALC

mbrg_Te: cstart → lstatus DO_CALC_IF jika cstartx

mbrg_Te: ctake → lstatus DO_CALC_IF jika ctakex

mbrg_Te: cpend → lstatus DO_CALC_IF jika cpendx

mbrg_Te: cfinish → lstatus DO_CALC_IF jika cfinishx

mbrg_Te: cvoid → lstatus DO_CALC_IF jika cvoidx

mbrdBR_Te: cBLANKS → lstatus DO_CALC

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

lbrchrgjla

DFLOAT(8)

LOCALINPUTRI 9

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
lbrchrgjla    PROTECT                INPUTRI     9
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

mbrg: lbrchrgjla → lbrchrgjla REPLACE_IF jika cjoinbrcU1

mbrg: lbrchrgjla → lbrchrgjla REPLACE_IF jika cjoinbrcU2

mbrgBR: lbrchrgjla → lbrchrgjla REPLACE_IF jika cjoinbrcU1

mbrgBR: lbrchrgjla → lbrchrgjla REPLACE_IF jika cjoinbrcU2

mbrg_Te: lbrchrgjla → lbrchrgjla REPLACE_IF jika cjoinbrcU1

mbrg_Te: lbrchrgjla → lbrchrgjla REPLACE_IF jika cjoinbrcU2

mbrdBR_Te: lbrchrgjla → lbrchrgjla REPLACE_IF jika cjoinbrcU1

mbrdBR_Te: lbrchrgjla → lbrchrgjla REPLACE_IF jika cjoinbrcU2

MAP menulis ke field ini

mjoinbrca: brchrgjl → lbrchrgjla REPLACE

mbrg: c0 → lbrchrgjla DO_CALC

mbrg: lbrchrgjla → lbrchrgjla REPLACE_IF jika cjoinbrcU1

mbrg: lbrchrgjla → lbrchrgjla REPLACE_IF jika cjoinbrcU2

mbrg: chrgtot2 → lbrchrgjla DO_CALC_IF jika cjikatdktambah

mbrg: c0 → lbrchrgjla DO_CALC_IF jika cppdbrgBlank

mbrgBR: c0 → lbrchrgjla DO_CALC

mbrgBR: lbrchrgjla → lbrchrgjla REPLACE_IF jika cjoinbrcU1

mbrgBR: lbrchrgjla → lbrchrgjla REPLACE_IF jika cjoinbrcU2

mbrgBR: c0 → lbrchrgjla DO_CALC_IF jika cJI

mbrgBR: chrgtot2 → lbrchrgjla DO_CALC_IF jika cjikatdktambah

mbrcJS: c0 → lbrchrgjla DO_CALC

mbrcJS: c0 → lbrchrgjla DO_CALC_IF jika cJI

mHitungBarangAll: c0 → lbrchrgjla DO_CALC_IF jika cJI

mbrg_Te: c0 → lbrchrgjla DO_CALC

mbrg_Te: lbrchrgjla → lbrchrgjla REPLACE_IF jika cjoinbrcU1

mbrg_Te: lbrchrgjla → lbrchrgjla REPLACE_IF jika cjoinbrcU2

mbrg_Te: chrgtot2 → lbrchrgjla DO_CALC_IF jika cjikatdktambah

mbrg_Te: c0 → lbrchrgjla DO_CALC_IF jika cppdbrgBlank

mbrdBR_Te: c0 → lbrchrgjla DO_CALC

mbrdBR_Te: lbrchrgjla → lbrchrgjla REPLACE_IF jika cjoinbrcU1

mbrdBR_Te: lbrchrgjla → lbrchrgjla REPLACE_IF jika cjoinbrcU2

mbrdBR_Te: c0 → lbrchrgjla DO_CALC_IF jika cJI

mbrdBR_Te: chrgtot2 → lbrchrgjla DO_CALC_IF jika cjikatdktambah

mbrdBR_Te: c0 → lbrchrgjla DO_CALC_IF jika cJI

CALCS yang membaca field ini

chrgtot(lbrchrgjla * ppdjml) + lhrgjs

chrgtot3(lbrchrgjla * ppdjml)

chrgtot4a((lhasil1kpbtdm / 100) * lbrchrgjla)

chrgtot4b(lhasiltot4 + lbrchrgjla)

cHrgBrgKosong((ppdjasbrg == "BR" && lbrchrgjla > 0) || ppdjasbrg != "BR")

cdis1((lbrchrgjla * ppdperdis) / 100 * ppdjml)

cdis4(lbrchrgjla * ppdperdis3) / 100 * ppdjml

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ppdhrgbp

ppd.ppdhrgbp • DOUBLE • Harga Biaya/jasa/pendapatan

FIELDINPUTRI 10

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
ppdhrgbp      PROTECT                INPUTRI     10
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mbrg: c0 → ppdhrgbp DO_CALC_IF jika ckpbxx

mbrg: c0 → ppdhrgbp DO_CALC_IF jika cdjointbd_promoJasa

mbrg: lppdhrgbp → ppdhrgbp REPLACE_IF jika ckpb1xx

mbrg: c0 → ppdhrgbp DO_CALC_IF jika crmdstrukturh2e

mbrgBR: c0 → ppdhrgbp DO_CALC_IF jika ckpbxx

mbrgBR: c0 → ppdhrgbp DO_CALC_IF jika cdjointbd_promoJasa

mbrgBR: lppdhrgbp → ppdhrgbp REPLACE_IF jika ckpb1xx

mbrgBR: c0 → ppdhrgbp DO_CALC_IF jika crmdstrukturh2e

monlykpb: c0 → ppdhrgbp DO_CALC_IF jika conlykpbx

mbrg_Te: c0 → ppdhrgbp DO_CALC_IF jika ckpbxx

mbrg_Te: c0 → ppdhrgbp DO_CALC_IF jika cdjointbd_promoJasa

mbrg_Te: lppdhrgbp → ppdhrgbp REPLACE_IF jika ckpb1xx

mbrg_Te: c0 → ppdhrgbp DO_CALC_IF jika crmdstrukturh2e

mbrdBR_Te: c0 → ppdhrgbp DO_CALC_IF jika ckpbxx

mbrdBR_Te: c0 → ppdhrgbp DO_CALC_IF jika cdjointbd_promoJasa

mbrdBR_Te: lppdhrgbp → ppdhrgbp REPLACE_IF jika ckpb1xx

mbrdBR_Te: c0 → ppdhrgbp DO_CALC_IF jika crmdstrukturh2e

CALCS yang membaca field ini

cadalok6(ppdjasbrg == "BR" && ppdhrgbp > 0)

cadalok7((ppdjasbrg == "JI" || ppdjasbrg == "JE") && ppdhrg > 0) || (ppdjasbrg=="BR" && ppdhrgbp>0)

chppbeda(ppdjasbrg=="BR" && (ppdtothpp > ((ppdhrg - ppdhrgbp / (1 + (stsperppn/100))) - ppdtotdis)) && ppdjmlren > 0 && djointbdpromo == 0 && djointbd_promoparttdm == 0 && djointbdmasterpromo1 == 0)

ctotal(ppdhrg * ppdjml) - (ppdhrgbp * (ppdjml - 1))

chrgtot2((ppdhrg - ppdhrgbp) / ppdjml)

cdis2(ppdhrgbp * ppdperdis1) / 100

cdis4a((((ppdhrg - ppdhrgbp) * ppdperdis3) / 100) * ppdjml)

cTot3a(ppdhrg * ppdjml) + btmdf3 - (ppdhrgbp * (ppdjml - 1))

cTot3bbtmdf3 - (ppdhrg * ppdjml) - (ppdhrgbp * (ppdjml - 1))

cTot3cbtmdf3 - ltotal + (ppdhrg * ppdjml) - (ppdhrgbp * (ppdjml - 1))

cdisjs1((ppdhrgbp * ppdperdis1 ) / 100)

ctothrg(ppdhrg * ppdjml) - (ppdperdis4 + ppdperdis5 + ppdperdis6 + ppdperdis7) - (ppdhrgbp * (ppdjml - 1))

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ppdhrg

ppd.ppdhrg • DOUBLE • Hrg Per Unit Satuan

FIELDINPUTRI 11

Field input • angka • 1 validasi • 1 hook.

① Tampilan / FIELD
NUMERIC: input angka
ppdhrg        NUMERIC                INPUTRI     11
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
MAND_ZERO_PLUSWajib diisi.
④ Event / HOOKS
BEFORE_INPUT

Lewati field jika chrg0 terpenuhi.

BEFORE_INPUT   cur_field=ppdhrg        DO_SKIP_IF chrg0
⑤ Aliran data & proses lanjutan
MAP membaca field ini

mscanppd2: ppdhrg → ljmlhrgpromo REPLACE_IF jika chitungpromo

mscanppd: ppdhrg → btmdf4 REPLACE_IF jika cjikaY

mscanppd: ppdhrg → btmtotal REPLACE_IF jika cnotkpb

mscanppd: ppdhrg → btmtotal REPLACE_IF jika cnotkpb2

mscanppd: ppdhrg → btmdf3 REPLACE_IF jika cyeskpb

mscanppd: ppdhrg → btmdf3 REPLACE_IF jika cyeskpb1

mscanppd4: ppdhrg → lttlAHM REPLACE_IF jika cadalok15

mapbtf: ppdhrg → btfhrgjl REPLACE

MAP menulis ke field ini

mbrcJS: brchrgjl → ppdhrg REPLACE_IF jika crmdstrukturh2_asuransi2a

mbrcJS: chrgAsuransi → ppdhrg DO_CALC_IF jika crmdstrukturh2_asuransi2b

mbrcJS: chrgPersencab → ppdhrg DO_CALC_IF jika cdjoinhrgpersen

monlykpb: lbtfhrg → ppdhrg REPLACE_IF jika conlykpbxx

monlykpb: chtngppn → ppdhrg DO_CALC_IF jika conlykpbxx

mmapppd: lbtfhrg → ppdhrg REPLACE_IF jika conlykpbxx

mHitungBarangAll: lbrchrgjlJS → ppdhrg REPLACE_IF jika cJI

mHitungBarangAll: lhrgtot → ppdhrg REPLACE_IF jika ckpb234x

mHitungBarangAll: lhrgtot3 → ppdhrg REPLACE_IF jika cserviceoli

mHitungBarangAll: chrgtot3 → ppdhrg DO_CALC_IF jika ckpb234

mHitungBarangAll: chrgtot3 → ppdhrg DO_CALC_IF jika ckpb234xx

mHitungBarangAll: chrgtot4b → ppdhrg DO_CALC_IF jika ckpb34tdm

mHitungBarangAll: lhasil1hrg_amic → ppdhrg REPLACE_IF jika crmdstrukturh2e

mHitungBarangAll: lhasil1hrg_amic → ppdhrg REPLACE_IF jika cpromomaster

mHitungBarangAll2: c0 → ppdhrg DO_CALC_IF jika cLokRenKosong

mbrdBR_Te: lbrchrgjlJS → ppdhrg REPLACE_IF jika cJI

mbrdBR_Te: lhrgtot → ppdhrg REPLACE_IF jika ckpb234x

mbrdBR_Te: lhrgtot3 → ppdhrg REPLACE_IF jika cserviceoli

mbrdBR_Te: chrgtot3 → ppdhrg DO_CALC_IF jika ckpb234

mbrdBR_Te: chrgtot3 → ppdhrg DO_CALC_IF jika ckpb234xx

mbrdBR_Te: chrgtot4b → ppdhrg DO_CALC_IF jika ckpb34tdm

mbrdBR_Te: lhasil1hrg_amic → ppdhrg REPLACE_IF jika crmdstrukturh2e

mbrdBR_Te: c0 → ppdhrg DO_CALC_IF jika cLokRenKosong

CALCS yang membaca field ini

cadalok2(ppdhrg == 0 && ppdjasbrg == "BR" && ppdjmlren != 0)

cadalok3(ppdjasbrg == "JI" && ppdhrg == 0)

cadalok5(ppdjasbrg == "BR" && ppdjmlren > 0 && ppdhrg > 0)

cadalok7((ppdjasbrg == "JI" || ppdjasbrg == "JE") && ppdhrg > 0) || (ppdjasbrg=="BR" && ppdhrgbp>0)

cadalok11((ppdjasbrg == "JI" || ppdjasbrg == "JE") && ppdhrg > 0 && ppdkat == "TUNEUP" && djoinbrgJS == 1 && lbrgjmlmin == 1)

chppbeda(ppdjasbrg=="BR" && (ppdtothpp > ((ppdhrg - ppdhrgbp / (1 + (stsperppn/100))) - ppdtotdis)) && ppdjmlren > 0 && djointbdpromo == 0 && djointbd_promoparttdm == 0 && djointbdmasterpromo1 == 0)

ctotal(ppdhrg * ppdjml) - (ppdhrgbp * (ppdjml - 1))

chrgtot2((ppdhrg - ppdhrgbp) / ppdjml)

cttlhrg2(ppdhrg - (ppdperdis4 + ppdperdis5 + ppdperdis6 + ppdperdis7))

clbhbesardjoinbrgJS ==1 && lbrgdisrp <= ppdhrg && (ltkmtotal==1 && btmsoa == "SPKSALES")

chrgolitdmppdhrg - ppdretren

cdis3(ppdhrg * ppdperdis2) / 100

cdis4a((((ppdhrg - ppdhrgbp) * ppdperdis3) / 100) * ppdjml)

cdis3yppdjasbrg == "JI" && btmsoa =="SPKSALES" && ppdhrg >= lbrgdisrp

cTotr2abtmdf4 + ppdhrg

cTotdel2abtmdf4 - ppdhrg - lhasil1asuransi

cTotupd2abtmdf4 + ppdhrg

cbrokxppdjasbrg == "BR" && ppdjmlren >= 1 && ppdhrg > 0

cTot3a(ppdhrg * ppdjml) + btmdf3 - (ppdhrgbp * (ppdjml - 1))

cTot3bbtmdf3 - (ppdhrg * ppdjml) - (ppdhrgbp * (ppdjml - 1))

+ 4 CALCS lain
POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ppdtotdis

ppd.ppdtotdis • DOUBLE • Total Diskon

FIELDINPUTRI 13

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
ppdtotdis     PROTECT                INPUTRI     13
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mbrgBR: cdisco → ppdtotdis DO_CALC

mbrcJS: cdisco → ppdtotdis DO_CALC

mbrcJS: lbrgdisrp → ppdtotdis REPLACE_IF jika clbhbesar

mHitungBarangAll: cdisco → ppdtotdis DO_CALC_IF jika cLokRenAda

mHitungBarangAll2: c0 → ppdtotdis DO_CALC_IF jika cLokRenKosong

mbrdBR_Te: cdisco → ppdtotdis DO_CALC

mbrdBR_Te: cdisco → ppdtotdis DO_CALC_IF jika cLokRenAda

mbrdBR_Te: c0 → ppdtotdis DO_CALC_IF jika cLokRenKosong

CALCS yang membaca field ini

chppbeda(ppdjasbrg=="BR" && (ppdtothpp > ((ppdhrg - ppdhrgbp / (1 + (stsperppn/100))) - ppdtotdis)) && ppdjmlren > 0 && djointbdpromo == 0 && djointbd_promoparttdm == 0 && djointbdmasterpromo1 == 0)

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ppdtotfak

ppd.ppdtotfak • DOUBLE • Total Setelah Diskon

FIELDINPUTRI 14

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
ppdtotfak     PROTECT                INPUTRI     14
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

mscanppd2: ppdtotfak → lppdtotfak REPLACE_IF jika cjikaadadetail

MAP menulis ke field ini

mbrgBR: cttlhrg2 → ppdtotfak DO_CALC

mbrcJS: cttlhrg2 → ppdtotfak DO_CALC

mHitungBarangAll: cttlhrg2 → ppdtotfak DO_CALC_IF jika cLokRenAda

mHitungBarangAll2: c0 → ppdtotfak DO_CALC_IF jika cLokRenKosong

mbrdBR_Te: cttlhrg2 → ppdtotfak DO_CALC

mbrdBR_Te: cttlhrg2 → ppdtotfak DO_CALC_IF jika cLokRenAda

mbrdBR_Te: c0 → ppdtotfak DO_CALC_IF jika cLokRenKosong

CALCS yang membaca field ini

ctotfakberkuranglppmtotfak - #ppdtotfak

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ppdperdism

ppd.ppdperdism • DOUBLE • Persen Diskon Master

FIELDINPUTRI 15

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
ppdperdism    PROTECT                INPUTRI     15
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

mscanppd2: ppdperdism → lppdperdism REPLACE_IF jika cjikaapr

MAP menulis ke field ini

murut: lbrgjmlmax → ppdperdism REPLACE_IF jika cdjoinestimasi1

murut: lbrgjmlmax2 → ppdperdism REPLACE_IF jika cdjoinestimasi2

minstansi: lbrgjmlmax → ppdperdism REPLACE_IF jika cdjoinestimasi1

minstansi: lbrgjmlmax2 → ppdperdism REPLACE_IF jika cdjoinestimasi2

mpromo: lbrgjmlmax → ppdperdism REPLACE_IF jika cdjoinestimasi1

mpromo: lbrgjmlmax2 → ppdperdism REPLACE_IF jika cdjoinestimasi2

mHitungBarangAll: lbrgjmlmax → ppdperdism REPLACE_IF jika cdjoinestimasi1

mHitungBarangAll: lbrgjmlmax2 → ppdperdism REPLACE_IF jika cdjoinestimasi2

mHitungBarangAll: lbrgjmlmax → ppdperdism REPLACE_IF jika cdjoinestimasi1

mHitungBarangAll: lbrgjmlmax2 → ppdperdism REPLACE_IF jika cdjoinestimasi2

mbrdBR_Te: lbrgjmlmax → ppdperdism REPLACE_IF jika cdjoinestimasi1

mbrdBR_Te: lbrgjmlmax2 → ppdperdism REPLACE_IF jika cdjoinestimasi2

mbrdBR_Te: lbrgjmlmax → ppdperdism REPLACE_IF jika cdjoinestimasi1

mbrdBR_Te: lbrgjmlmax2 → ppdperdism REPLACE_IF jika cdjoinestimasi2

mbrdBR_Te: lbrgjmlmax → ppdperdism REPLACE_IF jika cdjoinestimasi1

mbrdBR_Te: lbrgjmlmax2 → ppdperdism REPLACE_IF jika cdjoinestimasi2

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ppdtybuk2

ppd.ppdtybuk2 • TEXT(5) • Type Bukti 2

FIELDINPUTRI 16

Field NOCHANGE • 1 default • 1 validasi • 6 hook.

① Tampilan / FIELD
NOCHANGE: tidak diubah seperti input biasa
ppdtybuk2     NOCHANGE               INPUTRI     16
② Nilai awal / DEFAULT
Pilihan scan, boleh kosongnilai: Y
③ Validasi / EDITS
MANDATORY_IFWajib diisi jika cbarutambah terpenuhi.cbarutambah = btmsts == "INPG" && btmstsdata == "OK" && ppdjasbrg == "BR" && g_curcmd == 1
④ Event / HOOKS
BEFORE_INPUT

Lewati field jika copen_1 terpenuhi.

BEFORE_INPUT   cur_field=ppdtybuk2     DO_SKIP_IF copen_1
BEFORE_INPUT

Lewati field jika copen_3 terpenuhi.

BEFORE_INPUT   cur_field=ppdtybuk2     DO_SKIP_IF copen_3
BEFORE_INPUT

Lewati field jika copen_4 terpenuhi.

BEFORE_INPUT   cur_field=ppdtybuk2     DO_SKIP_IF copen_4
BEFORE_INPUT

Lewati field jika copen_5 terpenuhi.

BEFORE_INPUT   cur_field=ppdtybuk2     DO_SKIP_IF copen_5
BEFORE_INPUT

Lewati field jika copen_6 terpenuhi.

BEFORE_INPUT   cur_field=ppdtybuk2     DO_SKIP_IF copen_6
AFTER_INPUT

Validasi interaktif: jika capprove benar jalankan mdumstr; jika gagal cursor ditahan/diarahkan (ppdtybuk2) dan tampil pesan Approve Partman yang absen, jk tdk masuk ke FD.

AFTER_INPUT    cur_field=ppdtybuk2      DO_MAP SHOW
IF capprove mdumstr
ELSE HKCURSOR ppdtybuk2
HKMSG Approve Partman yang absen, jk tdk masuk ke FD
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

murut: cisiY → ppdtybuk2 DO_CALC_IF jika ccmJS

minstansi: cisiY → ppdtybuk2 DO_CALC_IF jika ccmJS

mpromo: cisiY → ppdtybuk2 DO_CALC_IF jika ccmJS

mHitungBarangAll: cisiY → ppdtybuk2 DO_CALC_IF jika ccmJS

mHitungBarangAll: cisiY → ppdtybuk2 DO_CALC_IF jika ccmJS

mppdkdmua7: cY → ppdtybuk2 DO_CALC

mbrdBR_Te: cisiY → ppdtybuk2 DO_CALC_IF jika ccmJS

mbrdBR_Te: cisiY → ppdtybuk2 DO_CALC_IF jika ccmJS

mbrdBR_Te: cisiY → ppdtybuk2 DO_CALC_IF jika ccmJS

CALCS yang membaca field ini

cadalok8(ppdjasbrg == "BR" && ppdtybuk2== BLANKS)

cadalok9(ppdjasbrg == "BR" && ppdtybuk2== "T")

cadalok10(ppdjasbrg == "BR" && ppdtybuk2== "Y")

cjikaaprppdtybuk2== "Y"

cstartxppdsts == "OPEN" && ppdtybuk2 == "Y" && djoinppm == 1 && lppmsts == "PROS" && lppmpry2 == ppdnomst2

ctakexppdsts == "INPG" && ppdtybuk2 == "Y" && djoinppm == 1 && lppmsts == "PROS" && lppmpry2 == ppdnomst2

cpendxppdsts == "PEND" && ppdtybuk2 == "Y" && djoinppm == 1 && (lppmsts == "PEND" || lppmsts == "SAOK") && lppmpry2 == ppdnomst2

cfinishx(ppdsts == "INPG" || ppdsts == "CLSD") && ppdtybuk2 == "Y" && djoinppm == 1 && (lppmsts == "SVOK" || lppmsts == "INPG" || lppmsts == "CLSD") && lppmpry2 == ppdnomst2

cvoidxppdsts == "VOID" && ppdtybuk2 == "Y" && djoinppm == 1 && lppmsts == "VOID"

cnotkpbppdsup != "AHM" && ppdtybuk2 == "Y" && djointbd_promooli == 0 && djointbd_promooli2 == 0

cnotkpb2((ppdsup == "AHM" && ppdtybuk2 == "Y" && djointbd_promooli == 1 && djoinrmdstrukturh2a == 1 && lrmdgabpaket1 != BLANKS) || (ppdsup == "AHM" && ppdtybuk2 == "Y" && djointbd_promooli2 == 1 && djoinrmdstrukturh2c == 1 && lrmdgabpaket3 != BLANKS))

cjikaYppdtybuk2 == "Y"

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ppdsts

ppd.ppdsts • TEXT(5) • Status

FIELDINPUTRI 17

Field terlindungi (PROTECT) • 1 default.

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
ppdsts        PROTECT                INPUTRI     17
② Nilai awal / DEFAULT
Saat T / tambahnilai: OPEN
③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mupdppd_d1: gv_OPEN → ppdsts REPLACE

CALCS yang membaca field ini

chnyBRnoVOIDppdjasbrg == "BR" && ppdsts != "VOID"

cstartxppdsts == "OPEN" && ppdtybuk2 == "Y" && djoinppm == 1 && lppmsts == "PROS" && lppmpry2 == ppdnomst2

ctakexppdsts == "INPG" && ppdtybuk2 == "Y" && djoinppm == 1 && lppmsts == "PROS" && lppmpry2 == ppdnomst2

cpendxppdsts == "PEND" && ppdtybuk2 == "Y" && djoinppm == 1 && (lppmsts == "PEND" || lppmsts == "SAOK") && lppmpry2 == ppdnomst2

cfinishx(ppdsts == "INPG" || ppdsts == "CLSD") && ppdtybuk2 == "Y" && djoinppm == 1 && (lppmsts == "SVOK" || lppmsts == "INPG" || lppmsts == "CLSD") && lppmpry2 == ppdnomst2

cvoidxppdsts == "VOID" && ppdtybuk2 == "Y" && djoinppm == 1 && lppmsts == "VOID"

cbrgokppdjasbrg == "BR" && ppdsts== "OPEN" && ppdjml > 0

cbrgok1ppdjasbrg == "BR" && ppdsts== "OPEN" && ppdjml > 0 && djoinbtfupd == 0

cbrgok2ppdjasbrg == "BR" && ppdsts== "OPEN" && ppdjml > 0 && djoinbtfupd == 1

cppdhnyBRppdjasbrg == "BR" && ppdsts != "VOID"

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

lenter

STRING(21)

LOCALINPUTRI 18

Field NOCHANGE.

① Tampilan / FIELD
NOCHANGE: tidak diubah seperti input biasa
lenter        NOCHANGE               INPUTRI     18
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

KOMPONEN LAYAR

trans2

4 field • data detail tabel btf via index btfbrglokidx

FIELD block: trans2

4 field
Lihat IMAGE / bentuk layar
IMAGE(trans2)
|________________|___________|_______|___________________|
SUBFILE

Detail membaca tabel btf memakai index btfbrglokidx (btfnobuk, btfbrg, btflok, btfbukoto, btfsts, btftglbrd).

PERMIT

Hapus diizinkan jika c0 terpenuhi PMT_DEL_COND c0

Tambah diizinkan jika c0 terpenuhi PMT_ADD_COND c0

Ubah diizinkan jika c0 terpenuhi PMT_UPDALL_COND c0

btfbrg

btf.btfbrg • TEXT(21) • Kode Barang

FIELDINPUTRI 1

Field NOCHANGE.

① Tampilan / FIELD
NOCHANGE: tidak diubah seperti input biasa
btfbrg        NOCHANGE               INPUTRI     1
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btflok

btf.btflok • TEXT(21) • Lokasi

FIELDINPUTRI 2

Field NOCHANGE.

① Tampilan / FIELD
NOCHANGE: tidak diubah seperti input biasa
btflok        NOCHANGE               INPUTRI     2
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btfjml

btf.btfjml • DOUBLE • Jumlah Unit

FIELDINPUTRI 3

Field NOCHANGE.

① Tampilan / FIELD
NOCHANGE: tidak diubah seperti input biasa
btfjml        NOCHANGE               INPUTRI     3
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

mscanbtf: btfjml → lbtfjml REPLACE

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

btfbrdoto

btf.btfbrdoto • TEXT(21) • Nomer Fifo

FIELDINPUTRI 3

Field NOCHANGE.

① Tampilan / FIELD
NOCHANGE: tidak diubah seperti input biasa
btfbrdoto     NOCHANGE               INPUTRI     3
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

mjoinbtf: btfbrdoto → lbtfbrdoto REPLACE

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

KOMPONEN LAYAR

transa

2 field • data detail tabel tmp via index tmpdatdvskod

FIELD block: transat, transa

2 field
Lihat IMAGE / bentuk layar
IMAGE(transat)
/-----------------------------\
|____________________         |
|--------------------------t--|
| t.DetailInfo             |  |
\--------------------------.--/
IMAGE(transa)
|__________________________________|
SUBFILE

Detail membaca tabel tmp memakai index tmpdatdvskod (tmpdata, tmpdtmkode, tmpdvs, tmptypjl, tmpkode).

PERMIT

Hapus diizinkan jika c0 terpenuhi PMT_DEL_COND c0

Tambah diizinkan jika c0 terpenuhi PMT_ADD_COND c0

Ubah diizinkan jika c0 terpenuhi PMT_UPDALL_COND c0

ltomdet

STRING(31)

LOCALINPUTRI 1

Field input • tombol.

① Tampilan / FIELD
TOMBOL: ditampilkan sebagai tombol
ltomdet         TOMBOL          INPUTRI 1
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

tmpket

tmp.tmpket • TEXT(61) • Keterangan Template

FIELDINPUTRI 1

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasaSCROLL: mode scroll/lookup framework
tmpket            PROTECT SCROLL  INPUTRI 1
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

KOMPONEN LAYAR

transa2

0 field • template tmp_ahass2_infodetail620

0 field
SUBFILE

Detail memakai template tmp_ahass2_infodetail620.

PERMIT

Hapus diizinkan jika c0 terpenuhi PMT_DEL_COND c0

Tambah diizinkan jika c0 terpenuhi PMT_ADD_COND c0

Ubah diizinkan jika cjkrcls terpenuhi PMT_UPDALL_COND cjkrcls

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transa2g1

0 field • template tmp_ahass2_infodataktp

0 field
SUBFILE

Detail memakai template tmp_ahass2_infodataktp.

PERMIT

Hapus diizinkan jika c0 terpenuhi PMT_DEL_COND c0

Tambah diizinkan jika cdjointkd620_0 terpenuhi PMT_ADD_COND cdjointkd620_0

Ubah diizinkan jika cBoleh1a terpenuhi PMT_UPDALL_COND cBoleh1a

PMT_ADD_MSG t.HarusInputMotorDulu PMT_ADD_MSG t.HarusInputMotorDulu

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transa2g2

0 field • template tmp_ahass2_infodatatlp

0 field
SUBFILE

Detail memakai template tmp_ahass2_infodatatlp.

PERMIT

Hapus diizinkan jika c0 terpenuhi PMT_DEL_COND c0

Tambah diizinkan jika cdjoincon0 terpenuhi PMT_ADD_COND cdjoincon0

Ubah diizinkan jika conlyhead2 terpenuhi PMT_UPDALL_COND conlyhead2

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transa2g3

0 field • template tmp_ahass2_infodatamotor

0 field
SUBFILE

Detail memakai template tmp_ahass2_infodatamotor.

PERMIT

Hapus diizinkan jika c0 terpenuhi PMT_DEL_COND c0

Tambah diizinkan jika cdjoinast0 terpenuhi PMT_ADD_COND cdjoinast0

Ubah diizinkan jika cbtmCLSD terpenuhi PMT_UPDALL_COND cbtmCLSD

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transa2g4

0 field • template tmp_ahass2_infodatatlp2

0 field
SUBFILE

Detail memakai template tmp_ahass2_infodatatlp2.

PERMIT

Hapus diizinkan jika c0 terpenuhi PMT_DEL_COND c0

Tambah diizinkan jika c0 terpenuhi PMT_ADD_COND c0

Ubah diizinkan jika c0 terpenuhi PMT_UPDALL_COND c0

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb

2 field • data detail tabel tmp via index tmpdatdvskod

FIELD block: transbt, transb

2 field
Lihat IMAGE / bentuk layar
IMAGE(transbt)
/-----------------------------\
|____________________         |
|--------------------------t--|
| t.DetailInfo	           |  |
\--------------------------.--/
IMAGE(transb)
|__________________________________|
SUBFILE

Detail membaca tabel tmp memakai index tmpdatdvskod (tmpdata, tmpdtmkode, tmpdvs, tmptypjl, tmpkode).

PERMIT

Hapus diizinkan jika c0 terpenuhi PMT_DEL_COND c0

Tambah diizinkan jika c0 terpenuhi PMT_ADD_COND c0

Ubah diizinkan jika c0 terpenuhi PMT_UPDALL_COND c0

ltomdet

STRING(31)

LOCALINPUTRI 1

Field input • tombol.

① Tampilan / FIELD
TOMBOL: ditampilkan sebagai tombol
ltomdet         TOMBOL          INPUTRI 1
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

tmpket

tmp.tmpket • TEXT(61) • Keterangan Template

FIELDINPUTRI 1

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasaSCROLL: mode scroll/lookup framework
tmpket            PROTECT SCROLL  INPUTRI 1
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

KOMPONEN LAYAR

transb2

0 field • template tmp_ahass_infopembawa

0 field
SUBFILE

Detail memakai template tmp_ahass_infopembawa.

PERMIT

Tambah diizinkan jika cjkrcls terpenuhi PMT_ADD_COND cjkrcls

Hapus diizinkan jika conlyhead terpenuhi PMT_DEL_COND conlyhead

Ubah diizinkan jika cjkrcls terpenuhi PMT_UPDALL_COND cjkrcls

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g1

0 field • template tmp_ahass_infokantor

0 field
SUBFILE

Detail memakai template tmp_ahass_infokantor.

PERMIT

Tambah diizinkan jika cjkrcls terpenuhi PMT_ADD_COND cjkrcls

Hapus diizinkan jika conlyhead terpenuhi PMT_DEL_COND conlyhead

Ubah diizinkan jika c0 terpenuhi PMT_UPDALL_COND c0

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g2

0 field • template tmp_ahass_infoketerangan

0 field
SUBFILE

Detail memakai template tmp_ahass_infoketerangan.

PERMIT

Tambah diizinkan jika c0 terpenuhi PMT_ADD_COND c0

Hapus diizinkan jika c0 terpenuhi PMT_DEL_COND c0

Ubah diizinkan jika c0 terpenuhi PMT_UPDALL_COND c0

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g3

0 field • template tmp_ahass_infopos_servis

0 field
SUBFILE

Detail memakai template tmp_ahass_infopos_servis.

PERMIT

Tambah diizinkan jika ctmbhPos terpenuhi PMT_ADD_COND ctmbhPos

Hapus diizinkan jika conlyhead terpenuhi PMT_DEL_COND conlyhead

Ubah diizinkan jika c0 terpenuhi PMT_UPDALL_COND c0

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g4

0 field • template tmp_ahass_infosaranmek

0 field
SUBFILE

Detail memakai template tmp_ahass_infosaranmek.

PERMIT

Tambah diizinkan jika ctmbhMekanik terpenuhi PMT_ADD_COND ctmbhMekanik

Hapus diizinkan jika conlyhead terpenuhi PMT_DEL_COND conlyhead

Ubah diizinkan jika cjkrcls terpenuhi PMT_UPDALL_COND cjkrcls

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g5

0 field • template tmp_ahass_infodataRTM

0 field
SUBFILE

Detail memakai template tmp_ahass_infodataRTM.

PERMIT

Tambah diizinkan jika c0 terpenuhi PMT_ADD_COND c0

Hapus diizinkan jika conlyhead2 terpenuhi PMT_DEL_COND conlyhead2

Ubah diizinkan jika conlyhead2 terpenuhi PMT_UPDALL_COND conlyhead2

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g6

0 field • template tmp_ahass_inforekomendasi

0 field
SUBFILE

Detail memakai template tmp_ahass_inforekomendasi.

PERMIT

Tambah diizinkan jika c0 terpenuhi PMT_ADD_COND c0

Hapus diizinkan jika c0 terpenuhi PMT_DEL_COND c0

Ubah diizinkan jika cBoleh1 terpenuhi PMT_UPDALL_COND cBoleh1

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g7

0 field • template tmp_ahass_infolost_order

0 field
SUBFILE

Detail memakai template tmp_ahass_infolost_order.

PERMIT

Tambah diizinkan jika cBoleh1 terpenuhi PMT_ADD_COND cBoleh1

Hapus diizinkan jika conlyhead2 terpenuhi PMT_DEL_COND conlyhead2

Ubah diizinkan jika cBoleh1 terpenuhi PMT_UPDALL_COND cBoleh1

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g8

0 field • template tmp_ahass_infodataMNT

0 field
SUBFILE

Detail memakai template tmp_ahass_infodataMNT.

PERMIT

Tambah diizinkan jika conlyhead2 terpenuhi PMT_ADD_COND conlyhead2

Hapus diizinkan jika conlyhead2 terpenuhi PMT_DEL_COND conlyhead2

Ubah diizinkan jika conlyhead2 terpenuhi PMT_UPDALL_COND conlyhead2

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g9

0 field • template tmp_ahass_infokonsumen

0 field
SUBFILE

Detail memakai template tmp_ahass_infokonsumen.

PERMIT

Tambah diizinkan jika cjkrcls terpenuhi PMT_ADD_COND cjkrcls

Hapus diizinkan jika conlyhead2 terpenuhi PMT_DEL_COND conlyhead2

Ubah diizinkan jika cjkrcls terpenuhi PMT_UPDALL_COND cjkrcls

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g10

0 field • template tmp_ahass_infonomorspk

0 field
SUBFILE

Detail memakai template tmp_ahass_infonomorspk.

PERMIT

Tambah diizinkan jika ctmbhSpk terpenuhi PMT_ADD_COND ctmbhSpk

Hapus diizinkan jika conlyhead2 terpenuhi PMT_DEL_COND conlyhead2

Ubah diizinkan jika cjkopen terpenuhi PMT_UPDALL_COND cjkopen

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g11

0 field • template tmp_ahass_infoshowroom

0 field
SUBFILE

Detail memakai template tmp_ahass_infoshowroom.

PERMIT

Tambah diizinkan jika c0 terpenuhi PMT_ADD_COND c0

Hapus diizinkan jika c0 terpenuhi PMT_DEL_COND c0

Ubah diizinkan jika c0 terpenuhi PMT_UPDALL_COND c0

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g12

0 field • template tmp_ahass_infodataDGI

0 field
SUBFILE

Detail memakai template tmp_ahass_infodataDGI.

PERMIT

Tambah diizinkan jika conlyhead2 terpenuhi PMT_ADD_COND conlyhead2

Hapus diizinkan jika conlyhead2 terpenuhi PMT_DEL_COND conlyhead2

Ubah diizinkan jika conlyhead2 terpenuhi PMT_UPDALL_COND conlyhead2

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g13

0 field • template tmp_ahass_infoupld_promo1

0 field
SUBFILE

Detail memakai template tmp_ahass_infoupld_promo1.

PERMIT

Tambah diizinkan jika ctmbhLcr2 terpenuhi PMT_ADD_COND ctmbhLcr2

Hapus diizinkan jika conlyhead2 terpenuhi PMT_DEL_COND conlyhead2

Ubah diizinkan jika cjkrcls terpenuhi PMT_UPDALL_COND cjkrcls

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g14

0 field • template tmp_ahass_infoupld_promo2

0 field
SUBFILE

Detail memakai template tmp_ahass_infoupld_promo2.

PERMIT

Tambah diizinkan jika c0 terpenuhi PMT_ADD_COND c0

Hapus diizinkan jika conlyhead2 terpenuhi PMT_DEL_COND conlyhead2

Ubah diizinkan jika c0 terpenuhi PMT_UPDALL_COND c0

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g15

0 field • template tmp_ahass_infocek_LCR

0 field
SUBFILE

Detail memakai template tmp_ahass_infocek_LCR.

PERMIT

Tambah diizinkan jika ctmbhLcr terpenuhi PMT_ADD_COND ctmbhLcr

Hapus diizinkan jika conlyhead2 terpenuhi PMT_DEL_COND conlyhead2

Ubah diizinkan jika c0 terpenuhi PMT_UPDALL_COND c0

PMT_ADD_MSG t.MotorBukanEsaf PMT_ADD_MSG t.MotorBukanEsaf

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g16

0 field • template tmp_ahass_inforeq_mekanik

0 field
SUBFILE

Detail memakai template tmp_ahass_inforeq_mekanik.

PERMIT

Tambah diizinkan jika ctmbhMeka terpenuhi PMT_ADD_COND ctmbhMeka

Hapus diizinkan jika cjkopen terpenuhi PMT_DEL_COND cjkopen

Ubah diizinkan jika c0 terpenuhi PMT_UPDALL_COND c0

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g17

0 field • template tmp_ahass_infoupld_stnk

0 field
SUBFILE

Detail memakai template tmp_ahass_infoupld_stnk.

PERMIT

Tambah diizinkan jika c0 terpenuhi PMT_ADD_COND c0

Hapus diizinkan jika c0 terpenuhi PMT_DEL_COND c0

Ubah diizinkan jika cupdstnk terpenuhi PMT_UPDALL_COND cupdstnk

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g18

0 field • template tmp_ahass_infopembawadgi

0 field
SUBFILE

Detail memakai template tmp_ahass_infopembawadgi.

PERMIT

Tambah diizinkan jika cjkrcls terpenuhi PMT_ADD_COND cjkrcls

Hapus diizinkan jika conlyhead terpenuhi PMT_DEL_COND conlyhead

Ubah diizinkan jika cjkrcls terpenuhi PMT_UPDALL_COND cjkrcls

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g19

0 field • template tmp_ahass_infokomisi_LCR

0 field
SUBFILE

Detail memakai template tmp_ahass_infokomisi_LCR.

PERMIT

Tambah diizinkan jika c0 terpenuhi PMT_ADD_COND c0

Hapus diizinkan jika conlyhead terpenuhi PMT_DEL_COND conlyhead

Ubah diizinkan jika cjkrcls terpenuhi PMT_UPDALL_COND cjkrcls

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transb2g20

0 field • template tmp_ahass_promo_master

0 field
SUBFILE

Detail memakai template tmp_ahass_promo_master.

PERMIT

Tambah diizinkan jika c0 terpenuhi PMT_ADD_COND c0

Hapus diizinkan jika c0 terpenuhi PMT_DEL_COND c0

Ubah diizinkan jika c0 terpenuhi PMT_UPDALL_COND c0

Komponen ini punya SUBFILE/template tetapi tidak mendeklarasikan FIELD langsung di SCT ini.
KOMPONEN LAYAR

transc

11 field • data detail tabel tkm via index tkmdtkdstlok

FIELD block: transct

11 field
Lihat IMAGE / bentuk layar
IMAGE(transct)
/--------------------------------------\
|/------------------------------------\|
||t.MintaCetakFp                   ___||__
||t.PakaiKtpKons                   ___||
||t.t                                 ||
||t.Npwp         _____________________||
||i.Ktp          _____________________||
||i.Nama         _____________________||
||i.Alamat       _____________________||
||               _____________________||
||i.Usr          _____________________||
||               _____________________||
|\------------------------------------/|
|______________________________________|
\--------------------------------------/
IMAGE(transc)
SUBFILE

Detail membaca tabel tkm memakai index tkmdtkdstlok (tkmdata, tkmkode, tkmsts, tkmlok1).

PERMIT

Tambah diizinkan jika cadd_FP terpenuhi PMT_ADD_COND cadd_FP

Ubah diizinkan jika c0 terpenuhi PMT_UPDALL_COND c0

Hapus diizinkan jika cupddel_FP terpenuhi PMT_DEL_COND cupddel_FP

Akses/perilaku detail dikontrol oleh cupddel_FP PMT_IGNDET_COND cupddel_FP

POSTING

PST_ADDCMD sptransc_add

PST_DELCMD sptransc_del

tkmlokjl

tkm.tkmlokjl • TEXT(21) • Lokasi Jual

FIELDINPUTRI 1

Field NOCHANGE • 2 default • 1 validasi • 1 hook.

① Tampilan / FIELD
NOCHANGE: tidak diubah seperti input biasa
tkmlokjl	NOCHANGE		INPUTRI		1
② Nilai awal / DEFAULT
Pilihan scan, boleh kosonghanya jika ciniperoranganbtmbichek == "1"nilai: Y "Ikut Permintaan Cetak FP"
T "Tidak Ikut Permintaan Cetak FP"
Pilihan scan, boleh kosonghanya jika ciniinstansibtmbichek == "2"nilai: Y "Ikut Permintaan Cetak FP"
③ Validasi / EDITS
MANDATORYWajib diisi.
④ Event / HOOKS
AFTER_INPUT

DO_MAP mresetFP

AFTER_INPUT	cur_field=tkmlokjl	DO_MAP mresetFP
⑤ Aliran data & proses lanjutan
MAP membaca field ini

mjointkmFP: tkmlokjl → lurusFP REPLACE

MAP menulis ke field ini

maddtkm_faktur: cT → tkmlokjl DO_CALC

CALCS yang membaca field ini

curusFP_Ytkmlokjl == "Y"

curusFP_Ttkmlokjl == "T"

curusFP_YYtkmlokjl == "Y" && tkmtype == "Y"

curusFP_YTtkmlokjl == "Y" && tkmtype == "T"

curusFP_Y1tkmlokjl == "Y" && btmsts == "OPEN"

curusFP_Y2tkmlokjl == "Y" && btmsts != "OPEN"

cadaktp((tkmlokjl == "Y" && tkmtype == "Y" && btmplg != BLANKS) || (tkmtype != "Y") || (tkmlokjl != "Y"))

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

tkmkode

tkm.tkmkode • TEXT(21) • Kode

FIELDINPUTRI 2

Field terlindungi (PROTECT) • 1 validasi.

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasaUNSEEN: tidak terlihat
tkmkode		PROTECT UNSEEN		INPUTRI		2
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
VALIDATENilai harus tervalidasi ke tabel btm via index btmbukidx. MAP hasil: mbtmd.Index: btmbukidx → btm [btmnobuk]
MAP validasi mbtmd
btmnobuk	tkmkode		REPLACE
lket_FP_Y	lket_FP		REPLACE_IF curusFP_Y
lket_FP_T	lket_FP		REPLACE_IF curusFP_T
④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mbtmd: btmnobuk → tkmkode REPLACE

maddtkm_faktur: btmnobuk → tkmkode REPLACE

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

SUBFILE

btmnobuk tkmkode REPLACE

tkmtype

tkm.tkmtype • TEXT(11) • Type

FIELDINPUTRI 2

Field NOCHANGE • 2 default • 1 validasi • 2 hook.

① Tampilan / FIELD
NOCHANGE: tidak diubah seperti input biasa
tkmtype		NOCHANGE		INPUTRI		2
② Nilai awal / DEFAULT
Pilihan scan, boleh kosonghanya jika cplgadabtmplg != BLANKSnilai: Y "Pakai KTP Konsumen"
T "Input KTP lain"
Pilihan scan, boleh kosonghanya jika cplgtdkadabtmplg == BLANKSnilai: T "Input KTP lain"
③ Validasi / EDITS
MANDATORY_IFWajib diisi jika curusFP_Y terpenuhi.curusFP_Y = tkmlokjl == "Y"
④ Event / HOOKS
BEFORE_INPUT

Lewati field jika curusFP_T terpenuhi.

BEFORE_INPUT	cur_field=tkmtype	DO_SKIP_IF curusFP_T
AFTER_INPUT

DO_MAP mautofillFP

AFTER_INPUT	cur_field=tkmtype	DO_MAP mautofillFP
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mresetFP: cBLANKS → tkmtype DO_CALC_IF jika curusFP_T

CALCS yang membaca field ini

curusFP_YYtkmlokjl == "Y" && tkmtype == "Y"

curusFP_YTtkmlokjl == "Y" && tkmtype == "T"

cadaktp((tkmlokjl == "Y" && tkmtype == "Y" && btmplg != BLANKS) || (tkmtype != "Y") || (tkmlokjl != "Y"))

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

tkmlok1

tkm.tkmlok1 • TEXT(21) • Lokasi 1

FIELDINPUTRI 4

Field input • 1 validasi • 1 hook.

① Tampilan / FIELD
DIGITS
tkmlok1		DIGITS			INPUTRI		4
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
MANDATORY_IFWajib diisi jika curusFP_Y terpenuhi.curusFP_Y = tkmlokjl == "Y"
④ Event / HOOKS
BEFORE_INPUT

Lewati field jika curusFP_T terpenuhi.

BEFORE_INPUT	cur_field=tkmlok1	DO_SKIP_IF curusFP_T
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mresetFP: cBLANKS → tkmlok1 DO_CALC_IF jika curusFP_T

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

tkmplg

tkm.tkmplg • TEXT(21) • Plg

FIELDINPUTRI 5

Field input • 2 validasi • 2 hook.

① Tampilan / FIELD
DIGITS
tkmplg		DIGITS			INPUTRI		5
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
MANDATORY_IFWajib diisi jika curusFP_YT terpenuhi.curusFP_YT = tkmlokjl == "Y" && tkmtype == "T"
VALIDATE_IFNilai harus tervalidasi ke tabel psm via index psmktpidx jika curusFP_Y terpenuhi. MAP hasil: mpsmFP.curusFP_Y = tkmlokjl == "Y"Index: psmktpidx → psm [psmktp]
MAP validasi mpsmFP
psmktp		tkmplg		REPLACE
④ Event / HOOKS
BEFORE_INPUT

Lewati field jika curusFP_T terpenuhi.

BEFORE_INPUT	cur_field=tkmplg	DO_SKIP_IF curusFP_T
BEFORE_INPUT

Lewati field jika curusFP_YY terpenuhi.

BEFORE_INPUT	cur_field=tkmplg	DO_SKIP_IF curusFP_YY
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mpsmFP: psmktp → tkmplg REPLACE

mautofillFP: btmplg → tkmplg REPLACE_IF jika curusFP_YY

mresetFP: cBLANKS → tkmplg DO_CALC_IF jika curusFP_T

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

tkmnama

tkm.tkmnama • TEXT(51) • Nama

FIELDINPUTRI 6

Field input • huruf besar • 1 validasi • 1 hook.

① Tampilan / FIELD
ALLCAPS: input huruf besarSCROLL: mode scroll/lookup framework
tkmnama		ALLCAPS SCROLL		INPUTRI		6
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
MANDATORY_IFWajib diisi jika curusFP_Y terpenuhi.curusFP_Y = tkmlokjl == "Y"
④ Event / HOOKS
BEFORE_INPUT

Lewati field jika curusFP_T terpenuhi.

BEFORE_INPUT	cur_field=tkmnama	DO_SKIP_IF curusFP_T
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mresetFP: cBLANKS → tkmnama DO_CALC_IF jika curusFP_T

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

tkmket

tkm.tkmket • TEXT(151) • Keterangan

FIELDINPUTRI 7

Field input • huruf besar • 1 validasi • 1 hook.

① Tampilan / FIELD
TEXTAREAALLCAPS: input huruf besar
tkmket		TEXTAREA ALLCAPS	INPUTRI		7
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
MANDATORY_IFWajib diisi jika curusFP_Y terpenuhi.curusFP_Y = tkmlokjl == "Y"
④ Event / HOOKS
BEFORE_INPUT

Lewati field jika curusFP_T terpenuhi.

BEFORE_INPUT	cur_field=tkmket	DO_SKIP_IF curusFP_T
⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mresetFP: cBLANKS → tkmket DO_CALC_IF jika curusFP_T

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

lket_FP

STRING(251)

LOCALINPUTRI 8

Field terlindungi (PROTECT).

① Tampilan / FIELD
TEXTAREAPROTECT: dilindungi / bukan input biasa
lket_FP		TEXTAREA PROTECT	INPUTRI		8
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mbtmd: lket_FP_Y → lket_FP REPLACE_IF jika curusFP_Y

mbtmd: lket_FP_T → lket_FP REPLACE_IF jika curusFP_T

mautofillketFP: cBLANKS → lket_FP DO_CALC

mautofillketFP: lket_FP_Y → lket_FP REPLACE_IF jika curusFP_Y

mautofillketFP: lket_FP_T → lket_FP REPLACE_IF jika curusFP_T

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

tkmbuk2

tkm.tkmbuk2 • TEXT(21) • No Bukti 2

FIELDINPUTRI 9

Field terlindungi (PROTECT) • 1 default.

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
tkmbuk2		PROTECT			INPUTRI		9
② Nilai awal / DEFAULT
Nilai awal umumnilai: {g_usrkode}
③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

maddtkm_faktur: g_usrkode → tkmbuk2 REPLACE

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

lenter

STRING(21)

LOCALINPUTRI 10

Field NOCHANGE • 1 default.

① Tampilan / FIELD
NOCHANGE: tidak diubah seperti input biasa
lenter		NOCHANGE		INPUTRI		10
② Nilai awal / DEFAULT
Nilai awal umumnilai: ENTER
③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ltomdet_5dd

STRING(31)

LOCALINPUTRI 11

Field input • tombol • 1 default.

① Tampilan / FIELD
TOMBOL: ditampilkan sebagai tombol
ltomdet_5dd	TOMBOL			INPUTRI		11
② Nilai awal / DEFAULT
Nilai awal umumnilai: "d.Buka Upl Foto FP"
③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

KOMPONEN LAYAR

transc2

4 field • data detail tabel svi via index svidatkodtyp

FIELD block: transc2t

4 field
Lihat IMAGE / bentuk layar
IMAGE(transc2t)
/--------------------------------------\
|/----UPLOAD--------------------------\|
||                                    ||
||                                    ||
||                                    ||
|\------------------------------------/|
|/------------------------------------\|
||____________________________________||
||t.Upl0                         _____||
||___________  _______________________||
|\------------------------------------/|
\--------------------------------------/
IMAGE(transc2)
SUBFILE

Detail membaca tabel svi memakai index svidatkodtyp (svidata, svikode, svitype, svists).

Masuk/detail aktif dengan kondisi curusFP_Y1tkmlokjl == "Y" && btmsts == "OPEN"

PERMIT

Tambah diizinkan jika c0 terpenuhi PMT_ADD_COND c0

Ubah diizinkan jika c0 terpenuhi PMT_UPDALL_COND c0

Hapus diizinkan jika c0 terpenuhi PMT_DEL_COND c0

svinama

svi.svinama • TEXT(61) • Nama

FIELDINPUTRI 1

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
svinama		PROTECT		INPUTRI		1
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

maddsviFP_fotoktp: lket_fotoktp → svinama REPLACE

maddsviFP_fotonpwp: lket_fotonpwp → svinama REPLACE

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

svidf1

svi.svidf1 • DOUBLE • Df1

FIELDINPUTRI 2

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
svidf1		PROTECT		INPUTRI		2
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

mjoinsvi: svidf1 → ljmluplstnk REPLACE

mjoinsviFP_fotoktp: svidf1 → luplFP_fotoktp REPLACE

mjoinsviFP_fotonpwp: svidf1 → luplFP_fotonpwp REPLACE

MAP menulis ke field ini

mupdsviuplFP: csvidf1_1 → svidf1 DO_CALC

CALCS yang membaca field ini

csvidf1_1svidf1 + 1

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

svistr5

svi.svistr5 • TEXT(21) • Str5

FIELDINPUTRI 3

Field terlindungi (PROTECT) • 1 validasi.

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
svistr5		PROTECT		INPUTRI		3
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
VALIDATENilai harus tervalidasi ke tabel psi via index psikodidx. MAP hasil: mpsi_upl.Index: psikodidx → psi [psikode]
MAP validasi mpsi_upl
psikode		svistr5		REPLACE
psinama		lnamaupl	REPLACE
④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mpsi_upl: psikode → svistr5 REPLACE

mupdsviuplFP: g_usrkode → svistr5 REPLACE

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

lnamaupl

STRING(61)

LOCALINPUTRI 4

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
lnamaupl	PROTECT		INPUTRI		4
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mpsi_upl: psinama → lnamaupl REPLACE

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

KOMPONEN LAYAR

transc2g1

4 field • data detail tabel svi via index svidatkodtyp

FIELD block: transc2g1t

4 field
Lihat IMAGE / bentuk layar
IMAGE(transc2g1t)
/--------------------------------------\
|/----UPLOAD--------------------------\|
||                                    ||
||                                    ||
||                                    ||
|\------------------------------------/|
|/------------------------------------\|
||____________________________________||
||t.Upl0                         _____||
||___________  _______________________||
|\------------------------------------/|
\--------------------------------------/
IMAGE(transc2g1)
SUBFILE

Detail membaca tabel svi memakai index svidatkodtyp (svidata, svikode, svitype, svists).

Masuk/detail aktif dengan kondisi curusFP_Y2tkmlokjl == "Y" && btmsts != "OPEN"

PERMIT

Tambah diizinkan jika c0 terpenuhi PMT_ADD_COND c0

Ubah diizinkan jika c0 terpenuhi PMT_UPDALL_COND c0

Hapus diizinkan jika c0 terpenuhi PMT_DEL_COND c0

svinama

svi.svinama • TEXT(61) • Nama

FIELDINPUTRI 1

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
svinama		PROTECT		INPUTRI		1
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

maddsviFP_fotoktp: lket_fotoktp → svinama REPLACE

maddsviFP_fotonpwp: lket_fotonpwp → svinama REPLACE

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

svidf1

svi.svidf1 • DOUBLE • Df1

FIELDINPUTRI 2

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
svidf1		PROTECT		INPUTRI		2
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

mjoinsvi: svidf1 → ljmluplstnk REPLACE

mjoinsviFP_fotoktp: svidf1 → luplFP_fotoktp REPLACE

mjoinsviFP_fotonpwp: svidf1 → luplFP_fotonpwp REPLACE

MAP menulis ke field ini

mupdsviuplFP: csvidf1_1 → svidf1 DO_CALC

CALCS yang membaca field ini

csvidf1_1svidf1 + 1

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

svistr5

svi.svistr5 • TEXT(21) • Str5

FIELDINPUTRI 3

Field terlindungi (PROTECT) • 1 validasi.

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
svistr5		PROTECT		INPUTRI		3
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
VALIDATENilai harus tervalidasi ke tabel psi via index psikodidx. MAP hasil: mpsi_upl.Index: psikodidx → psi [psikode]
MAP validasi mpsi_upl
psikode		svistr5		REPLACE
psinama		lnamaupl	REPLACE
④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mpsi_upl: psikode → svistr5 REPLACE

mupdsviuplFP: g_usrkode → svistr5 REPLACE

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

lnamaupl

STRING(61)

LOCALINPUTRI 4

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
lnamaupl	PROTECT		INPUTRI		4
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

Tidak ditemukan.

MAP menulis ke field ini

mpsi_upl: psinama → lnamaupl REPLACE

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

KOMPONEN LAYAR

transd

5 field • data detail tabel ppd via index ppdbuk2bbmid

FIELD block: transd

5 field
Lihat IMAGE / bentuk layar
IMAGE(transd)
|_______|_________________|_________________|_________|_______|
SUBFILE

Detail membaca tabel ppd memakai index ppdbuk2bbmid (ppdnomst2, ppdnobbm, ppdkb, ppdcab, ppddvs).

Masuk/detail aktif dengan kondisi chnyINPGbtmsts != "OPEN" && btmsales == BLANKS

PERMIT

Tambah diizinkan jika c0 terpenuhi PMT_ADD_COND c0

Ubah diizinkan jika cupdtransd terpenuhi PMT_UPDALL_COND cupdtransd

Hapus diizinkan jika c0 terpenuhi PMT_DEL_COND c0

PMT_UPD_MSG IF cCABNAS416 t.CabTdkAdaDiCABNAS416 PMT_UPD_MSG IF cCABNAS416 t.CabTdkAdaDiCABNAS416

IF chnyaINPG t.620StsBknINPG IF chnyaINPG t.620StsBknINPG

IF cbrg1x t.HnyBisaUbhBrg1x IF cbrg1x t.HnyBisaUbhBrg1x

IF cbrg2x t.HnyBisaUbhBrg2x IF cbrg2x t.HnyBisaUbhBrg2x

IF cbrg3x t.HnyBisaUbhBrg3x IF cbrg3x t.HnyBisaUbhBrg3x

POSTING

PST_UPDCMD sptransd

ppdjasbrg

ppd.ppdjasbrg • TEXT(3) • JS BR

FIELDINPUTRI 1

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
ppdjasbrg	PROTECT		INPUTRI		1
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

maddtld416tambahan: ppdjasbrg → tldsts REPLACE

MAP menulis ke field ini

Tidak ditemukan.

CALCS yang membaca field ini

cadalok1(ppdlok == BLANKS && ppdjasbrg == "BR" && ppdjmlren != 0 )

cadalok2(ppdhrg == 0 && ppdjasbrg == "BR" && ppdjmlren != 0)

cadalok3(ppdjasbrg == "JI" && ppdhrg == 0)

cadalok4(ppdjasbrg == "BR" && ppdjmlren == 0)

cadalok5(ppdjasbrg == "BR" && ppdjmlren > 0 && ppdhrg > 0)

cadalok6(ppdjasbrg == "BR" && ppdhrgbp > 0)

cadalok7((ppdjasbrg == "JI" || ppdjasbrg == "JE") && ppdhrg > 0) || (ppdjasbrg=="BR" && ppdhrgbp>0)

cadalok8(ppdjasbrg == "BR" && ppdtybuk2== BLANKS)

cadalok9(ppdjasbrg == "BR" && ppdtybuk2== "T")

cadalok10(ppdjasbrg == "BR" && ppdtybuk2== "Y")

cadalok11((ppdjasbrg == "JI" || ppdjasbrg == "JE") && ppdhrg > 0 && ppdkat == "TUNEUP" && djoinbrgJS == 1 && lbrgjmlmin == 1)

cadalok12(ppdjasbrg == "BR" && djoinbrg == 1 && lbrgkat4 == "OLI" && lbrgkat5 != "OLI GEAR")

cadalok13(ppdjasbrg == "BR" && djoinbrg == 1 && lbrgkat4 == "PART" && lbrgkat5 == "WASHER")

cadalok14(ppdjasbrg == "BR" && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL"))

cadalok16(ppdjasbrg == "BR" && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 == "OLI GEAR")

cadalok17((ppdjasbrg == "JI" || ppdjasbrg == "BR") && ppdjml == 0)

cjikaadadetail(ppdjasbrg == "BR" || ppdjasbrg == "JI" || ppdjasbrg == "JE") && ppdsup != "AHM"

cjikaadadetail2(ppdjasbrg == "BR" || ppdjasbrg == "JI" || ppdjasbrg == "JE")

cBRppdjasbrg == "BR"

chppbeda(ppdjasbrg=="BR" && (ppdtothpp > ((ppdhrg - ppdhrgbp / (1 + (stsperppn/100))) - ppdtotdis)) && ppdjmlren > 0 && djointbdpromo == 0 && djointbd_promoparttdm == 0 && djointbdmasterpromo1 == 0)

+ 66 CALCS lain
POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ppdbrg

ppd.ppdbrg • TEXT(21) • Kode Barang

FIELDINPUTRI 2

Field input • huruf besar • 3 validasi • 1 hook.

① Tampilan / FIELD
ALLCAPS: input huruf besarSCROLL: mode scroll/lookup framework
ppdbrg		ALLCAPS SCROLL	INPUTRI		2
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
VALIDATE_IFNilai harus tervalidasi ke tabel brd via index brdbbmbrgidx jika cbknJSKatKsg2 terpenuhi. MAP hasil: mbrdBR_Te.cbknJSKatKsg2 = ppdjasbrg != "JE" && ppdjasbrg != "JI" && ppdkat == BLANKS && g_grpnam == "TUTUP"Index: brdbbmbrgidx → brd [brdnobbm, brdsts, brdcab, brdbrg]
MAP validasi mbrdBR_Te
crmdgabamic 	 lrmdgabamic	 DO_CALC
cBLANKS		 lstatus	 DO_CALC
c0		 lbrchrgjla	 DO_CALC
c0		 lhrgjs		 DO_CALC
c0		 lppdhrgbp	 DO_CALC
c0		 lppdhrgbp	 DO_CALC_IF ckpbxx
c0		 ppdhrgbp	 DO_CALC_IF ckpbxx
c0		 lppdhrgbp	 DO_CALC_IF cdjointbd_promoJasa
c0		 ppdhrgbp	 DO_CALC_IF cdjointbd_promoJasa
c0		 ppdretpos	 DO_CALC
c0		 lhrgolitdm	 DO_CALC
cAHM		 ppdsup		 DO_CALC_IF conlykpb
cKPBNSS		 ppdsup		 DO_CALC_IF conlykpbnss
cKPBSINSEN	 ppdsup		 DO_CALC_IF conlykpbsinsen
cKPBTDM   	 ppdsup		 DO_CALC_IF conlykpbtdm
cVOUCHER	 ppdsup		 DO_CALC_IF conlyvoucher
cKPBHSO		 ppdsup		DO_CALC_IF conlykpbhso
cKPB1TAHUN       ppdsup          DO_CALC_IF conlykpb1tahun
gv_svgratis	 ppdnorangka	 REPLACE_IF conlykpb
crekpiu		 lRekPiuastra	 DO_CALC
crekpiu		 ppdnomesin	 DO_CALC_IF conlykpb
ppdjmlren    	 ppdjmlren   	 REPLACE_IF cstock
brdbrg		 ppdbrg		 REPLACE
lbrgnama	 ppdket		 REPLACE_IF cdjoinbrg_1
lbrgkat		 ppdkat		 REPLACE_IF cdjoinbrg_1
lbrgsat		 ppdsat		 REPLACE_IF cdjoinbrg_1
cstart		 lstatus	 DO_CALC_IF cstartx
ctake		 lstatus	 DO_CALC_IF ctakex
cpend		 lstatus	 DO_CALC_IF cpendx
cfinish		 lstatus	 DO_CALC_IF cfinishx
cvoid		 lstatus	 DO_CALC_IF cvoidx
lbrchrgjla       lbrchrgjla      REPLACE_IF cjoinbrcU1
lbrchrgjla       lbrchrgjla      REPLACE_IF cjoinbrcU2
lhrgjs           lhrgjs          REPLACE_IF cjoinbrcU1
lhrgjs           lhrgjs          REPLACE_IF cjoinbrcU2
chrgjs           lppdhrgbp       DO_CALC
lppdhrgbp	 ppdhrgbp	 REPLACE_IF ckpb1xx
c0		 lppdhrgbp	 DO_CALC_IF crmdstrukturh2e
c0		 ppdhrgbp	 DO_CALC_IF crmdstrukturh2e
cdisco 		 ppdtotdis	 DO_CALC
c0		 lbrchrgjla	 DO_CALC_IF cJI
lhasil1hrg	 ppdretpos	 REPLACE_IF crmdstrukturh2a
lhasil1hrg	 ppdretren	 REPLACE_IF crmdstrukturh2c
lhasil2hrg	 ppdsatbsr	 REPLACE_IF crmdstrukturh2c
chrgolitdm	 lhrgolitdm	 DO_CALC_IF crmdstrukturh2c
lhrgolitdm	 ppdretpos	 REPLACE_IF crmdstrukturh2c
cttlhrg2	 ppdtotfak	 DO_CALC
chrgtot2	 lbrchrgjla	 DO_CALC_IF cjikatdktambah
c1           	ppdnourt2       DO_CALC_IF cjoinppdu0
curut2          ppdnourt2       DO_CALC_IF cjoinppdu1
lppdnobuk       ppdnobuk        REPLACE_IF cjoinppdu1
ppdnourt2       ppdnourt        REPLACE_IF cbkn_svgratis
ldiskonparta    ppdperdis       REPLACE_IF cdiskonparta
ldsjs1          ppdperdis       REPLACE_IF cdoskonjasaa
ldiskonolia     ppdperdis       REPLACE_IF cdoskonolia
ldiskonpparta   ppdperdis       REPLACE_IF cdiskonperparta
lbrgjmlmax      ppdperdism      REPLACE_IF cdjoinestimasi1
lbrgjmlmax2     ppdperdism      REPLACE_IF cdjoinestimasi2
cisiY           ppdtybuk2       DO_CALC_IF ccmJS
lhasil1hrg      ppdretpos       REPLACE_IF crmdstrukturh2a
lhasil1hrg      ppdretpos       REPLACE_IF crmdstrukturh2c
lhasil2hrg      ppdsatbsr       REPLACE_IF crmdstrukturh2c
ldis1           ppdperdis       REPLACE_IF cdjoincmp1
ldis2           ppdperdis1      REPLACE_IF cdjoincmp1
ldis3           ppdperdis2      REPLACE_IF cdjoincmp1
ldis4           ppdperdis3      REPLACE_IF cdjoincmp1
cdis1           ppdperdis4      DO_CALC_IF cdis1x
cdis1_amic      ppdperdis4      DO_CALC_IF crmdstrukturh2e
cdis2           ppdperdis5      DO_CALC_IF cdis2x
cdis3           ppdperdis6      DO_CALC_IF cdis3x
lbrgdisrp       ppdperdis6      REPLACE_IF cdis3y
cdis4           ppdperdis7      DO_CALC_IF cdis4x
lbrgjmlmax      ppdperdism      REPLACE_IF cdjoinestimasi1
lbrgjmlmax2     ppdperdism      REPLACE_IF cdjoinestimasi2
cisiY           ppdtybuk2       DO_CALC_IF ccmJS
ldispart        ppdperdis       REPLACE_IF cpromo
ldisjs1         ppdperdis1      REPLACE_IF cpromo
ldisjs2         ppdperdis2      REPLACE_IF cpromo
ldisoli         ppdperdis3      REPLACE_IF cpromo
ltbljml         ppdperdis       REPLACE_IF cpromo2a
ltbljml         ppdperdis1      REPLACE_IF cpromo2b
ltbljml         ppdperdis2      REPLACE_IF cpromo2c
ltbljml         ppdperdis3      REPLACE_IF cpromo2d
ltbddf1         ppdperdis       REPLACE_IF cpromo4a
ltbddf1         ppdperdis1      REPLACE_IF cpromo4b
ltbddf1         ppdperdis2      REPLACE_IF cpromo4c
ltbddf1         ppdperdis3      REPLACE_IF cpromo4d
cdis1           ppdperdis4      DO_CALC_IF cdis1x
cdis1_amic      ppdperdis4      DO_CALC_IF crmdstrukturh2e
cdis2           ppdperdis5      DO_CALC_IF cdis2x
cdis3           ppdperdis6      DO_CALC_IF cdis3x
lbrgdisrp       ppdperdis6      REPLACE_IF cdis3y
cdis4           ppdperdis7      DO_CALC_IF cdis4x
cdis1           ppdperdis4      DO_CALC_IF ckategori1
cdis1_amic      ppdperdis4      DO_CALC_IF crmdstrukturh2e
cdis2           ppdperdis5      DO_CALC_IF ckategori1
cdis3           ppdperdis6      DO_CALC_IF ckategori1
cdis4a          ppdperdis7      DO_CALC_IF ckategori1
ctbljml2a       ppdperdis4      DO_CALC_IF cpromo3a
ctbljml2b       ppdperdis5      DO_CALC_IF cpromo3b
ctbljml2c       ppdperdis6      DO_CALC_IF cpromo3c
ctbljml2d       ppdperdis7      DO_CALC_IF cpromo3d
ctbddf2a        ppdperdis4      DO_CALC_IF cpromo5a
ctbddf2b        ppdperdis5      DO_CALC_IF cpromo5b
ctbddf2c        ppdperdis6      DO_CALC_IF cpromo5c
ctbddf2d        ppdperdis7      DO_CALC_IF cpromo5d
lbrgjmlmax      ppdperdism      REPLACE_IF cdjoinestimasi1
lbrgjmlmax2     ppdperdism      REPLACE_IF cdjoinestimasi2
cisiY           ppdtybuk2       DO_CALC_IF ccmJS
cppdjmlblt      ppdjml          DO_CALC
chrgtot          lhrgtot        DO_CALC
chrgtot3         lhrgtot3       DO_CALC
lbrchrgjlJS      lbrchrgjlJS    REPLACE_IF cdjoinbrcJS
lbrchrgjlJS      ppdhrg         REPLACE_IF cJI
lhrgtot          ppdhrg         REPLACE_IF ckpb234x
lhrgtot3         ppdhrg         REPLACE_IF cserviceoli
chrgtot3         ppdhrg         DO_CALC_IF ckpb234
chrgtot3         ppdhrg         DO_CALC_IF ckpb234xx
chrgtot4a        lhasiltot4     DO_CALC_IF ckpb34tdm
chrgtot4b        ppdhrg         DO_CALC_IF ckpb34tdm
lhasil1hrg_amic  ppdhrg         REPLACE_IF crmdstrukturh2e
cdisco           ppdtotdis      DO_CALC_IF cLokRenAda
c0               lbrchrgjla     DO_CALC_IF cJI
lhasil1hrg       ppdretpos      REPLACE_IF crmdstrukturh2a
lhasil1hrg       ppdretren      REPLACE_IF crmdstrukturh2c
lhasil2hrg       ppdsatbsr      REPLACE_IF crmdstrukturh2c
chrgolitdm       lhrgolitdm     DO_CALC_IF crmdstrukturh2c
lhrgolitdm       ppdretpos      REPLACE_IF crmdstrukturh2c
cttlhrg2         ppdtotfak      DO_CALC_IF cLokRenAda
c0              ppdhrg          DO_CALC_IF cLokRenKosong
c0              ppdtotdis       DO_CALC_IF cLokRenKosong
c0              ppdtotfak       DO_CALC_IF cLokRenKosong
VALIDATE_IFNilai harus tervalidasi ke tabel brg via index brgdatstskat jika cbknJSKatKsg terpenuhi. MAP hasil: mbrg_Te.cbknJSKatKsg = ppdjasbrg != "JE" && ppdjasbrg != "JI" && ppdnokrm != BLANKSIndex: brgdatstskat → brg [brgdata, brgsts, brgjaba, brgcab, brgkat, brgkode]
MAP validasi mbrg_Te
crmdgabamic	lrmdgabamic	DO_CALC
cBLANKS		lstatus		DO_CALC
c0		lbrchrgjla	DO_CALC
c0		lhrgjs		DO_CALC
c0		lppdhrgbp	DO_CALC
c0		lppdhrgbp	DO_CALC_IF ckpbxx
c0		ppdhrgbp	DO_CALC_IF ckpbxx
c0		lppdhrgbp	DO_CALC_IF cdjointbd_promoJasa
c0		ppdhrgbp	DO_CALC_IF cdjointbd_promoJasa
c0		ppdretpos	DO_CALC
c0		lhrgolitdm	DO_CALC
gv_svgratis	ppdnorangka	REPLACE_IF conlykpb
cAHM		ppdsup		DO_CALC_IF conlykpb
cKPBNSS		ppdsup		DO_CALC_IF conlykpbnss
cKPBSINSEN	ppdsup		DO_CALC_IF conlykpbsinsen
cKPBTDM		ppdsup		DO_CALC_IF conlykpbtdm
cVOUCHER	ppdsup		DO_CALC_IF conlyvoucher
cKPBHSO		ppdsup		DO_CALC_IF conlykpbhso
cKPB1TAHUN      ppdsup          DO_CALC_IF conlykpb1tahun
crekpiu		lRekPiuastra	DO_CALC
lRekPiuastra	ppdnomesin	REPLACE_IF conlykpb
ppdjmlren	ppdjmlren	REPLACE
cstart		 lstatus	DO_CALC_IF cstartx
ctake		 lstatus	DO_CALC_IF ctakex
cpend		 lstatus	DO_CALC_IF cpendx
cfinish		 lstatus	DO_CALC_IF cfinishx
cvoid		 lstatus	DO_CALC_IF cvoidx
brgkat4          lbrgkat4a      REPLACE
lbrchrgjla       lbrchrgjla     REPLACE_IF cjoinbrcU1
lbrchrgjla       lbrchrgjla     REPLACE_IF cjoinbrcU2
lhrgjs           lhrgjs         REPLACE_IF cjoinbrcU1
lhrgjs           lhrgjs         REPLACE_IF cjoinbrcU2
chrgjs           lppdhrgbp      DO_CALC
lppdhrgbp        ppdhrgbp       REPLACE_IF ckpb1xx
c0               lppdhrgbp      DO_CALC_IF crmdstrukturh2e
c0               ppdhrgbp       DO_CALC_IF crmdstrukturh2e
chrgtot2	 lbrchrgjla	DO_CALC_IF cjikatdktambah
c0		 lbrchrgjla	DO_CALC_IF cppdbrgBlank
DEBUG           ldumstr    ldumstr    REPLACE
VALIDATE_IFNilai harus tervalidasi ke tabel brd via index brdbbmbrgidx jika cbknJSKatKsg3 terpenuhi. MAP hasil: mbrdBR_Te.cbknJSKatKsg3 = ppdjasbrg != "JE" && ppdjasbrg != "JI" && ppdnokrm == BLANKSIndex: brdbbmbrgidx → brd [brdnobbm, brdsts, brdcab, brdbrg]
MAP validasi mbrdBR_Te
crmdgabamic 	 lrmdgabamic	 DO_CALC
cBLANKS		 lstatus	 DO_CALC
c0		 lbrchrgjla	 DO_CALC
c0		 lhrgjs		 DO_CALC
c0		 lppdhrgbp	 DO_CALC
c0		 lppdhrgbp	 DO_CALC_IF ckpbxx
c0		 ppdhrgbp	 DO_CALC_IF ckpbxx
c0		 lppdhrgbp	 DO_CALC_IF cdjointbd_promoJasa
c0		 ppdhrgbp	 DO_CALC_IF cdjointbd_promoJasa
c0		 ppdretpos	 DO_CALC
c0		 lhrgolitdm	 DO_CALC
cAHM		 ppdsup		 DO_CALC_IF conlykpb
cKPBNSS		 ppdsup		 DO_CALC_IF conlykpbnss
cKPBSINSEN	 ppdsup		 DO_CALC_IF conlykpbsinsen
cKPBTDM   	 ppdsup		 DO_CALC_IF conlykpbtdm
cVOUCHER	 ppdsup		 DO_CALC_IF conlyvoucher
cKPBHSO		 ppdsup		DO_CALC_IF conlykpbhso
cKPB1TAHUN       ppdsup          DO_CALC_IF conlykpb1tahun
gv_svgratis	 ppdnorangka	 REPLACE_IF conlykpb
crekpiu		 lRekPiuastra	 DO_CALC
crekpiu		 ppdnomesin	 DO_CALC_IF conlykpb
ppdjmlren    	 ppdjmlren   	 REPLACE_IF cstock
brdbrg		 ppdbrg		 REPLACE
lbrgnama	 ppdket		 REPLACE_IF cdjoinbrg_1
lbrgkat		 ppdkat		 REPLACE_IF cdjoinbrg_1
lbrgsat		 ppdsat		 REPLACE_IF cdjoinbrg_1
cstart		 lstatus	 DO_CALC_IF cstartx
ctake		 lstatus	 DO_CALC_IF ctakex
cpend		 lstatus	 DO_CALC_IF cpendx
cfinish		 lstatus	 DO_CALC_IF cfinishx
cvoid		 lstatus	 DO_CALC_IF cvoidx
lbrchrgjla       lbrchrgjla      REPLACE_IF cjoinbrcU1
lbrchrgjla       lbrchrgjla      REPLACE_IF cjoinbrcU2
lhrgjs           lhrgjs          REPLACE_IF cjoinbrcU1
lhrgjs           lhrgjs          REPLACE_IF cjoinbrcU2
chrgjs           lppdhrgbp       DO_CALC
lppdhrgbp	 ppdhrgbp	 REPLACE_IF ckpb1xx
c0		 lppdhrgbp	 DO_CALC_IF crmdstrukturh2e
c0		 ppdhrgbp	 DO_CALC_IF crmdstrukturh2e
cdisco 		 ppdtotdis	 DO_CALC
c0		 lbrchrgjla	 DO_CALC_IF cJI
lhasil1hrg	 ppdretpos	 REPLACE_IF crmdstrukturh2a
lhasil1hrg	 ppdretren	 REPLACE_IF crmdstrukturh2c
lhasil2hrg	 ppdsatbsr	 REPLACE_IF crmdstrukturh2c
chrgolitdm	 lhrgolitdm	 DO_CALC_IF crmdstrukturh2c
lhrgolitdm	 ppdretpos	 REPLACE_IF crmdstrukturh2c
cttlhrg2	 ppdtotfak	 DO_CALC
chrgtot2	 lbrchrgjla	 DO_CALC_IF cjikatdktambah
c1           	ppdnourt2       DO_CALC_IF cjoinppdu0
curut2          ppdnourt2       DO_CALC_IF cjoinppdu1
lppdnobuk       ppdnobuk        REPLACE_IF cjoinppdu1
ppdnourt2       ppdnourt        REPLACE_IF cbkn_svgratis
ldiskonparta    ppdperdis       REPLACE_IF cdiskonparta
ldsjs1          ppdperdis       REPLACE_IF cdoskonjasaa
ldiskonolia     ppdperdis       REPLACE_IF cdoskonolia
ldiskonpparta   ppdperdis       REPLACE_IF cdiskonperparta
lbrgjmlmax      ppdperdism      REPLACE_IF cdjoinestimasi1
lbrgjmlmax2     ppdperdism      REPLACE_IF cdjoinestimasi2
cisiY           ppdtybuk2       DO_CALC_IF ccmJS
lhasil1hrg      ppdretpos       REPLACE_IF crmdstrukturh2a
lhasil1hrg      ppdretpos       REPLACE_IF crmdstrukturh2c
lhasil2hrg      ppdsatbsr       REPLACE_IF crmdstrukturh2c
ldis1           ppdperdis       REPLACE_IF cdjoincmp1
ldis2           ppdperdis1      REPLACE_IF cdjoincmp1
ldis3           ppdperdis2      REPLACE_IF cdjoincmp1
ldis4           ppdperdis3      REPLACE_IF cdjoincmp1
cdis1           ppdperdis4      DO_CALC_IF cdis1x
cdis1_amic      ppdperdis4      DO_CALC_IF crmdstrukturh2e
cdis2           ppdperdis5      DO_CALC_IF cdis2x
cdis3           ppdperdis6      DO_CALC_IF cdis3x
lbrgdisrp       ppdperdis6      REPLACE_IF cdis3y
cdis4           ppdperdis7      DO_CALC_IF cdis4x
lbrgjmlmax      ppdperdism      REPLACE_IF cdjoinestimasi1
lbrgjmlmax2     ppdperdism      REPLACE_IF cdjoinestimasi2
cisiY           ppdtybuk2       DO_CALC_IF ccmJS
ldispart        ppdperdis       REPLACE_IF cpromo
ldisjs1         ppdperdis1      REPLACE_IF cpromo
ldisjs2         ppdperdis2      REPLACE_IF cpromo
ldisoli         ppdperdis3      REPLACE_IF cpromo
ltbljml         ppdperdis       REPLACE_IF cpromo2a
ltbljml         ppdperdis1      REPLACE_IF cpromo2b
ltbljml         ppdperdis2      REPLACE_IF cpromo2c
ltbljml         ppdperdis3      REPLACE_IF cpromo2d
ltbddf1         ppdperdis       REPLACE_IF cpromo4a
ltbddf1         ppdperdis1      REPLACE_IF cpromo4b
ltbddf1         ppdperdis2      REPLACE_IF cpromo4c
ltbddf1         ppdperdis3      REPLACE_IF cpromo4d
cdis1           ppdperdis4      DO_CALC_IF cdis1x
cdis1_amic      ppdperdis4      DO_CALC_IF crmdstrukturh2e
cdis2           ppdperdis5      DO_CALC_IF cdis2x
cdis3           ppdperdis6      DO_CALC_IF cdis3x
lbrgdisrp       ppdperdis6      REPLACE_IF cdis3y
cdis4           ppdperdis7      DO_CALC_IF cdis4x
cdis1           ppdperdis4      DO_CALC_IF ckategori1
cdis1_amic      ppdperdis4      DO_CALC_IF crmdstrukturh2e
cdis2           ppdperdis5      DO_CALC_IF ckategori1
cdis3           ppdperdis6      DO_CALC_IF ckategori1
cdis4a          ppdperdis7      DO_CALC_IF ckategori1
ctbljml2a       ppdperdis4      DO_CALC_IF cpromo3a
ctbljml2b       ppdperdis5      DO_CALC_IF cpromo3b
ctbljml2c       ppdperdis6      DO_CALC_IF cpromo3c
ctbljml2d       ppdperdis7      DO_CALC_IF cpromo3d
ctbddf2a        ppdperdis4      DO_CALC_IF cpromo5a
ctbddf2b        ppdperdis5      DO_CALC_IF cpromo5b
ctbddf2c        ppdperdis6      DO_CALC_IF cpromo5c
ctbddf2d        ppdperdis7      DO_CALC_IF cpromo5d
lbrgjmlmax      ppdperdism      REPLACE_IF cdjoinestimasi1
lbrgjmlmax2     ppdperdism      REPLACE_IF cdjoinestimasi2
cisiY           ppdtybuk2       DO_CALC_IF ccmJS
cppdjmlblt      ppdjml          DO_CALC
chrgtot          lhrgtot        DO_CALC
chrgtot3         lhrgtot3       DO_CALC
lbrchrgjlJS      lbrchrgjlJS    REPLACE_IF cdjoinbrcJS
lbrchrgjlJS      ppdhrg         REPLACE_IF cJI
lhrgtot          ppdhrg         REPLACE_IF ckpb234x
lhrgtot3         ppdhrg         REPLACE_IF cserviceoli
chrgtot3         ppdhrg         DO_CALC_IF ckpb234
chrgtot3         ppdhrg         DO_CALC_IF ckpb234xx
chrgtot4a        lhasiltot4     DO_CALC_IF ckpb34tdm
chrgtot4b        ppdhrg         DO_CALC_IF ckpb34tdm
lhasil1hrg_amic  ppdhrg         REPLACE_IF crmdstrukturh2e
cdisco           ppdtotdis      DO_CALC_IF cLokRenAda
c0               lbrchrgjla     DO_CALC_IF cJI
lhasil1hrg       ppdretpos      REPLACE_IF crmdstrukturh2a
lhasil1hrg       ppdretren      REPLACE_IF crmdstrukturh2c
lhasil2hrg       ppdsatbsr      REPLACE_IF crmdstrukturh2c
chrgolitdm       lhrgolitdm     DO_CALC_IF crmdstrukturh2c
lhrgolitdm       ppdretpos      REPLACE_IF crmdstrukturh2c
cttlhrg2         ppdtotfak      DO_CALC_IF cLokRenAda
c0              ppdhrg          DO_CALC_IF cLokRenKosong
c0              ppdtotdis       DO_CALC_IF cLokRenKosong
c0              ppdtotfak       DO_CALC_IF cLokRenKosong
④ Event / HOOKS
BEFORE_INPUT

Jalankan MAP mppdbrglama.

BEFORE_INPUT	cur_field=ppdbrg	DO_MAP SHOW mppdbrglama
⑤ Aliran data & proses lanjutan
MAP membaca field ini

mppdbrglama: ppdbrg → lppdbrglama NO_REPLACE

maddtld416tambahan: ppdbrg → tldbrg REPLACE

maddakt_6d: ppdbrg → aktbrg REPLACE

mupdtld416: ppdbrg → tldbrg REPLACE

MAP menulis ke field ini

mbrdlok: brdbrg → ppdbrg REPLACE

mbrg: brgkode → ppdbrg REPLACE

mbrgBR: brgkode → ppdbrg REPLACE

mbrcJS: brcbrg → ppdbrg REPLACE

mbrdlok_Te: brdbrg → ppdbrg REPLACE

mbrdBR_Te: brdbrg → ppdbrg REPLACE

CALCS yang membaca field ini

chrussamappdbrg == lrmdkode2

crmdgabasuransi2"PROMOASURANSI2" + STRIP(btmcab) + STRIP(ppdbrg)

crmdgabamic"HARGAAMIC" + STRIP(ppdbrg) + STRIP(btmcab)

cppdbrgBlankppdbrg == BLANKS

POSTING yang menyentuh field

PST_UPDCMDsptransdDO_LIB ap_dlbtf(gv_O,ppdbrdoto,ppdnomst2,ppdbrg,ppdlok,ppdoto,ppdukrwrn,ppdsat,ppdjml,&ldipenuhi,&ltothpp,&lhrgrata,g_strksg,g_strksg,g_strksg,g_str_empty,lnamtrnjml);

ppdket

ppd.ppdket • TEXT(61) • Keterangan

FIELDINPUTRI 3

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
ppdket		PROTECT		INPUTRI		3
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

maddtld416tambahan: ppdket → tldket REPLACE

mupdtld416: ppdket → tldket REPLACE

MAP menulis ke field ini

mbrg: brgnama → ppdket REPLACE

mbrgBR: brgnama → ppdket REPLACE

mbrcJS: lbrgnama → ppdket REPLACE_IF jika cdjoinestimasi1

mbrdBR_Te: lbrgnama → ppdket REPLACE_IF jika cdjoinbrg_1

CALCS yang membaca field ini

Tidak ditemukan.

POSTING yang menyentuh field

Tidak ditemukan secara langsung pada SPCALCS komponen ini.

ppdlok

ppd.ppdlok • TEXT(21) • Kode Lokasi

FIELDINPUTRI 4

Field input • huruf besar • 1 validasi.

① Tampilan / FIELD
ALLCAPS: input huruf besarSCROLL: mode scroll/lookup framework
ppdlok		ALLCAPS	SCROLL	INPUTRI		4
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS
VALIDATE_IFNilai harus tervalidasi ke tabel brd via index brdbrglokoto jika cBRLok terpenuhi. MAP hasil: mbrdlok_Te.cBRLok = (g_curcmd == 1 && ppdjasbrg == "BR" && ppdjmlren > 0 && ppdscr == "620") || (g_curcmd == 2 && ppdjasbrg == "BR" && ppdjmlren > 0 && ppdscr != "620" && btmstsdata == BLANKS) || (g_curcmd == 2 && ppdjasbrg == "BR" && ppdjmlren > 0 && ppdscr == "620" && btmstsdata == BLANKS) || (g_curcmd == 2 && ppdjasbrg == "BR" && ppdjmlren > 0 && djoincabapi2 == 1 && ltbdkettype == "ADA" ) || (g_curcmd == 2 && ppdjasbrg == "BR" && ppdjmlren > 0 && djoincabapi2 == 1 && ltbdkettype == BLANKS )Index: brdbrglokoto → brd [brdsts, brdbrg, brdcab, brdlok, brdukrwrn, brdsat, brdoto]
MAP validasi mbrdlok_Te
brdbrg		ppdbrg		REPLACE
brdlok		ppdlok		REPLACE_IF cjmlren
brdukrwrn	ppdukrwrn	REPLACE
brdsat		ppdsat		REPLACE
brdoto		ppdbrdoto	REPLACE
brdoto		ppdpsnoto2      REPLACE
④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

m4579: ppdlok → r_string5 REPLACE

m4579a: ppdlok → r_string5 REPLACE

m4579b: ppdlok → r_string5 REPLACE

maddtld416tambahan: ppdlok → tldlok REPLACE

mupdtld416: ppdlok → tldlok REPLACE

MAP menulis ke field ini

mbrdlok: brdlok → ppdlok REPLACE_IF jika cjmlren

mbrdlok_Te: brdlok → ppdlok REPLACE_IF jika cjmlren

CALCS yang membaca field ini

cadalok1(ppdlok == BLANKS && ppdjasbrg == "BR" && ppdjmlren != 0 )

cbrgksg(ppdjasbrg == "BR" && ppdjmlren > 0 && ppdlok != BLANKS) || (ppdjasbrg != "BR") || (ppdjasbrg == "BR" && ppdlok == BLANKS)

copen_2abtmsts == "OPEN" && btmstsdata == "OK" && g_curcmd == 2 && ppdlok != BLANKS

cadddgi( g_curcmd == 1 && djoincabapi2 == 1 && ltbdkettype == "ADA" && ppdjasbrg == "BR" && djoinmasterbr == 1 ) || ( djoincabapi2 == 0 ) || ( g_curcmd == 2 && djoincabapi2 == 1 && ltbdkettype == "ADA" && ppdjasbrg == "BR" && djoinmasterbr == 1 ) || ( djoincabapi2 == 1 && ltbdkettype == BLANKS ) || ( g_curcmd == 2 && djoincabapi2 == 1 && ltbdkettype == "ADA" && ppdjasbrg == "BR" && ppdlok != BLANKS ) || ( ppdjasbrg == "JI" )

ckategori1(ppdjasbrg == "BR" && ppdnokrm != BLANKS && ppdlok != BLANKS)

cLokRenKosong(ppdjasbrg == "BR" && (ppdlok == BLANKS || ppdjmlren == 0))

cstsinpg1(djointbdCAB416 == 1 || djointbdNAS416 == 1) && btmsts == "INPG" && ppdjasbrg == "BR" && ppdlok != BLANKS && (djointlm416_last == 0 || (djointlm416_last == 1 && ltlmsts416_last == "VOID"))

cstsinpg2(djointbdCAB416 == 1 || djointbdNAS416 == 1) && btmsts == "INPG" && ppdjasbrg == "BR" && ppdlok != BLANKS && djointlm416_last == 1

cstsinpg3(djointbdCAB416 == 1 || djointbdNAS416 == 1) && btmsts == "INPG" && ppdjasbrg == "BR" && ppdlok != BLANKS && djointlm416_abk == 1 && djoinabk416 == 0

cstsinpg1api(djointbdCAB416 == 1 || djointbdNAS416 == 1) && btmsts == "INPG" && ppdjasbrg == "BR" && ppdlok != BLANKS && (djointlm416_last == 0 || (djointlm416_last == 1 && ltlmsts416_last == "VOID")) && ( g_curcmd == 2 && djoincabapi2 == 1 && ltbdkettype == "ADA" && ppdkdmua == BLANKS )

cstsinpg2api(djointbdCAB416 == 1 || djointbdNAS416 == 1) && btmsts == "INPG" && ppdjasbrg == "BR" && ppdlok != BLANKS && djointlm416_last == 1 && ( g_curcmd == 1 && djoincabapi2 == 1 && ltbdkettype == "ADA" && ppdkdmua == BLANKS )

cstsinpg3api(djointbdCAB416 == 1 || djointbdNAS416 == 1) && btmsts == "INPG" && ppdjasbrg == "BR" && ppdlok != BLANKS && djointlm416_abk == 1 && djoinabk416 == 0 && ( g_curcmd == 1 && djoincabapi2 == 1 && ltbdkettype == "ADA" && ppdkdmua == BLANKS )

POSTING yang menyentuh field

PST_UPDCMDsptransdDO_LIB ap_dlbtf(gv_O,ppdbrdoto,ppdnomst2,ppdbrg,ppdlok,ppdoto,ppdukrwrn,ppdsat,ppdjml,&ldipenuhi,&ltothpp,&lhrgrata,g_strksg,g_strksg,g_strksg,g_str_empty,lnamtrnjml);

ppdjml

ppd.ppdjml • DOUBLE • Jumlah Unit Satuan

FIELDINPUTRI 5

Field terlindungi (PROTECT).

① Tampilan / FIELD
PROTECT: dilindungi / bukan input biasa
ppdjml		PROTECT		INPUTRI		5
② Nilai awal / DEFAULT

Tidak ada DEFAULT langsung untuk field ini.

③ Validasi / EDITS

Tidak ada EDITS langsung untuk field ini.

④ Event / HOOKS

Tidak ada BEFORE_INPUT/AFTER_INPUT langsung.

⑤ Aliran data & proses lanjutan
MAP membaca field ini

mscanppd2: ppdjml → lppdjml REPLACE_IF jika cjikaadadetail2

mscanppd2: ppdjml → lppdjml_BR REPLACE_IF jika cBR

mjml: ppdjml → ppddf2 REPLACE_IF jika cBRLok2

m4579: ppdjml → r_count2 REPLACE

m4579a: ppdjml → r_count2 REPLACE

m4579b: ppdjml → r_count2 REPLACE

maddtld416tambahan: ppdjml → tldjml REPLACE_IF jika cBR

MAP menulis ke field ini

mmapbulat: cppdjmlblt → ppdjml DO_CALC

mbrdBR_Te: cppdjmlblt → ppdjml DO_CALC

CALCS yang membaca field ini

cadalok17((ppdjasbrg == "JI" || ppdjasbrg == "BR") && ppdjml == 0)

ctotal(ppdhrg * ppdjml) - (ppdhrgbp * (ppdjml - 1))

chrgtot(lbrchrgjla * ppdjml) + lhrgjs

chrgtot2((ppdhrg - ppdhrgbp) / ppdjml)

chrgtot3(lbrchrgjla * ppdjml)

cdis1((lbrchrgjla * ppdperdis) / 100 * ppdjml)

cdis1_amic((lhasil1hrg_amic * ppdperdis) / 100 * ppdjml)

cdis4(lbrchrgjla * ppdperdis3) / 100 * ppdjml

cdis4a((((ppdhrg - ppdhrgbp) * ppdperdis3) / 100) * ppdjml)

cbrgokppdjasbrg == "BR" && ppdsts== "OPEN" && ppdjml > 0

cbrgok1ppdjasbrg == "BR" && ppdsts== "OPEN" && ppdjml > 0 && djoinbtfupd == 0

cbrgok2ppdjasbrg == "BR" && ppdsts== "OPEN" && ppdjml > 0 && djoinbtfupd == 1

cppdjmlbltDO_LIB ap_bulat(ppdjml,l1,&ppdjml,lN);

ctothppppdtothpp / ppdjml

ctothpp1ppdtothpp > 0 && ppdjml > 0 && ppdjasbrg == "BR"

ctothpp2ppdhpp * ppdjml

csaldobrd1((ppdjasbrg == "BR" && ppdjml <= lbrdsisprc + ~ppdjml) || (ppdjasbrg != "BR"))

cTot3a(ppdhrg * ppdjml) + btmdf3 - (ppdhrgbp * (ppdjml - 1))

cTot3bbtmdf3 - (ppdhrg * ppdjml) - (ppdhrgbp * (ppdjml - 1))

cTot3cbtmdf3 - ltotal + (ppdhrg * ppdjml) - (ppdhrgbp * (ppdjml - 1))

+ 1 CALCS lain
POSTING yang menyentuh field

PST_UPDCMDsptransdDO_LIB ap_dlbtf(gv_O,ppdbrdoto,ppdnomst2,ppdbrg,ppdlok,ppdoto,ppdukrwrn,ppdsat,ppdjml,&ldipenuhi,&ltothpp,&lhrgrata,g_strksg,g_strksg,g_strksg,g_str_empty,lnamtrnjml);

Raw source SCT
SCREEN 620 QUERY_TYPE t.BukuTamuAhass  
SCR_FILE btm
SCR_LOGFLD btmnobuk
SCR_GRPMENU s.PenjServis
SCR_NXT_POSTING 4521
SCR_NXT_COND cmasihopen
SCR_NXT_MAP mnext
SCR_NXT_MSG  IF cbknOPEN1 t.StsTdkOpen
	     IF cbknOPEN2 t.UntungTdkBlhMinus
	     IF cbknOPEN3 t.isi3ddulu 
	     IF cbknOPEN4 t.LokKsng
	     IF cbknOPEN5 t.HrgBrgKsg
	     IF cbknOPEN6 t.HrgJsaKsg
	     IF cbknOPEN6a t.QtyBrgJsaKsg
	     IF cbknOPEN7 t.JmlStokBeda
	     IF cbknOPEN8 t.KdBrgMin1
	     IF cbknOPEN9 t.KdBrgMin1
	     IF cbknOPEN10 t.BrgBlmApr 
	     IF cbknOPEN11 t.BrgAdaT   
	     IF cbknOPEN12 t.KdJsaMin1 
	     IF cbknOPEN13 t.KdJsaTuneUpMin1
	     IF cbknOPEN16 t.IsiSemuaRekomPart
     	     IF cbknOPEN17 t.IsiDetailNomorSpk
	     IF cbknOPEN18 t.HrsAdaWasher
	     IF cbknOPEN19 t.HrsAdaOli
	     IF cbknOPEN20 t.MtrEsafInputDetailLcr
	     IF cbknOPEN21 t.HrsAdaOliGardan
	     IF cbknOPEN22 t.InptReqMekanik
	     IF cbknOPEN23 t.TbhDulu5dMintaFP
	     IF cbknOPEN24 t.UplDuluFotoKtpFP
	     IF cbknOPEN24a t.UplDuluFotoNpwpFP
	     IF cbknOPEN25 t.TipeDtgGCUplDuluStnkdi4d
	     IF cbknOPEN26 t.TipeDtgGCMBMIsiCanInstdi4d
             IF cbknOPEN27 t.Promotidakberlakuuntukcabangini
             IF cbknOPEN28 t.minimumparthargatidakterpenuhi
             IF cbknOPEN29 t.syaratpromobelumterpenuhi

SCR_PRINT_FAKTUR_COND cfakINPG
SCR_QRYCMD_IGNORE_CABDVS
SCR_UPL_DIRFLD btmtgl

CALCS()
cfakINPG    btmsts =="OPEN" && btmstsdata == "OK" 


LOCAL
PGM_FIELDS
lmntlon3        STRING          11
lWASHER		STRING		21
lVERSI		STRING		21
ldtahass        STRING          11
lDD             INT2            2
lplus3          INT2            2
lmin3           INT2            2
ljmlhari        INT2            2
ljmlbln         INT2            2
lKpbKe		INT2		2
lppdtybuk2      STRING          3
ltkmtotal       INT2            2
lSPK            STRING         	11
lcabdealer      STRING         	21
ltomdet_d       STRING         	31
ltomdet_2d      STRING         	31
ltomdet_3d      STRING         	31
ltomdet_4d	STRING	       	31
ltomdet_5d	STRING	       	31
ltomdet		STRING		31
lktp            STRING         	21
lastpj          DFLOAT          8
lastbrg         STRING         	21
lnamabarang     STRING        	101
lurut           INT2            2
luruttkd        INT2            2
luruttkd_str	STRING		3
lhasil1         DFLOAT          8 
lhasil2         DFLOAT          8 
lhasil3         DFLOAT          8 
lrmdtotal1      DFLOAT          8 
lhasil1asuransi	DFLOAT		8
lhasil1kpbtdm	DFLOAT		8
lhasil1hrg	DFLOAT		8
lhasil1hrg_amic	DFLOAT		8
lhasil1kpb	DFLOAT		8
lhasil2kpb	DFLOAT		8
lhasil2hrg	DFLOAT		8
lhasil1_txtkm   STRING         	21
lhasil2_txt     STRING         	21
lhasil1_txtusia STRING         	21
lhasil1_txtkilo STRING         	21
lhasil1_txtHitungKpb STRING     21
ldata           STRING         	11
lbts1           DFLOAT          8
lbts2           DFLOAT          8
lbts3           DFLOAT          8
lUsia           DFLOAT          8
lUsia2          DFLOAT          8
lhitunghari     INT2            2
lrmdgab         STRING         	61
lrmdgabJS       STRING        	61
lrmdgabpaket1   STRING         	61
lrmdgabpaket2   STRING         	61
lrmdgabpaket3   STRING         	61
lrmdgabpaket4   STRING         	61
lrmdgabpaket5   STRING         	61
lrmdgabUsia     STRING         	61
lrmdgabKilo     STRING         	61
lrmdgabHitungKpb STRING      	61
lrmdgabasuransi1 STRING         61
lrmdgabasuransi2 STRING         61
lrmdgabamic	STRING		61
lrmdgabkpbtdm3	STRING		61
lrmdgabkpbtdm4	STRING		61
lrmdgabkpbtunai STRING		61
lastth		STRING		21
lasttgl         DATE            4
ldumstr         INT2            2
lbrchrgjla      DFLOAT          8
lbrchrgjlax     DFLOAT          8
lbrchrgjl2a     DFLOAT          8
lbrchrgjlJS     DFLOAT          8
lppdnobuk       STRING         	21
lpsmdtkry       STRING         	21
lhrgjs          DFLOAT          8
lbrgkat4a       STRING         	21
lbrgdisrp       DFLOAT          8
ldsjs1          DFLOAT          8
ldiskonparta    DFLOAT          8
ldiskonolia     DFLOAT          8
ldiskonpparta   DFLOAT          8
lpromoahsa      STRING         	21
ljasaa          STRING         	21
lsvpromoa       STRING         	21
lhrgtot         DFLOAT          8
lhrgtot3        DFLOAT          8
lahass		STRING	       	21
lahass11	STRING	       	11
lalasan		STRING	       	21
lkedatangan	STRING	       	21
lkedatangan1	STRING	       	21
lkedatangan2    STRING          21
lTYPDATANG	STRING		21
lPROMOKPB1	STRING		21
lPROMOOLI	STRING		21
lPROMOOLI2	STRING		21
lPROMOOLI3	STRING		21
lPROMOOLI4	STRING		21
lPROMOOLI5	STRING		21
lPROMOOLI6	STRING		21
lPROMOHITAM	STRING		21
lPROMOJASA	STRING		21
lPROMOPARTTDM	STRING		21
lMASTERPROMOAHS	STRING		21
lPROMOPARTLCR	STRING		21
lPAKETOTOKILO	STRING		21
lpktahass	STRING		11
laddservis	STRING		21
lastno1   	STRING		21
lastnopol	STRING		21
lastnotelp	STRING		21
lastmotor	STRING		21
lastktp		STRING		21
lastnorangka	STRING		21
lastnomesin	STRING		21
lastnsnon	DFLOAT		8
lastkmmotor	DFLOAT		8
lnosin5		STRING		21
lseriesesaf	STRING		21
lketastns	STRING		21
lssumesin	STRING		21
lssurangka	STRING		21
lssunobuk2	STRING		21
lpaket		STRING		21
lKATBRGPAKET	STRING		21
l4579           INT2            2
lm4579          STRING          21
lm4579a         STRING          21
lm4579b         STRING          21
l4573           INT2            2
l4883		INT2		2
lm4883		STRING		21
lspm		STRING		21
lstatus		STRING		21
lppmsts		STRING		5
lppmnoll614	STRING		21
lppmtk614       STRING          2
lbtmytplg611	STRING		2
ltglkirimmtr	DATE		4
ltotal		DFLOAT		8
lbtmperbns	INT2		2
lbtmperppn	INT2		2
lok1		INT2		2
lok2		INT2		2
lok3		INT2		2
lok4		INT2		2
lok5		INT2		2
lok6		INT2		2
lok7		INT2		2
lok8		INT2		2
lok9		INT2		2
lok10		INT2		2
lok11		INT2		2
lok12		INT2		2
lok13		INT2		2
lok14		INT2		2
lok15		INT2		2
lok16		INT2		2
lok17		INT2		2
lok18		INT2		2
lok19		INT2		2
lhppbeda	INT2		2
ladakpbnss	INT2		2
ltdkkpbnss	INT2		2

ladakpbsinsen	INT2		2
ltdkkpbsinsen	INT2		2

ladapromo821	INT2		2

lhrgbli		DFLOAT		8
lpanjangnopol   INT2            2
lpanjangnosin   INT2            2
lbrgkat4	STRING		21
lbrgkat5	STRING		21
lbrgkat		STRING		21
lbrgsat		STRING		21
lbrgnama	STRING		101
lppdhrgbp	DFLOAT		8
lPIUASTRA	STRING		21
lRekPiuastra	STRING		21
lJASA		STRING		21
lJASAIN		STRING		21
lhasildis	DFLOAT		8
lhasil1_txt     STRING          21
lrmdgab3         STRING          61
ljmlbrg		DFLOAT		8
ljumlah		DFLOAT		8
lttldsc		DFLOAT		8
lttlAHM		DFLOAT		8
lkodebukti	STRING		21
lpsmsts 	STRING		5 
ln1		INT2		2
ln2		INT2		2
ln5		INT2		2
lbtmtypjl	STRING		5
lbtmtypmtr	STRING		21
lpsmnama	STRING		61
lpsmins		STRING		21
lpsinamaFLP	STRING		61
lpsinamaMEK	STRING		61
lpanjang	INT2		2
ldis1		DFLOAT		8
ldis2		DFLOAT		8
ldis3		DFLOAT		8
ldis4		DFLOAT		8
ltbltype2       STRING		21
ltblyt          STRING		2
ltblsistem      STRING		21
ltbljml         DFLOAT		8
ltbljml2        DFLOAT		8
ldisjs1		DFLOAT		8
ldisjs2		DFLOAT		8
ldispart	DFLOAT		8
ldisoli		DFLOAT		8
lupld1_voucher	STRING		2
lupld2_voucher	STRING		2
ltbdlv1		STRING		21
ltbdlv2		STRING		21
ltbddf1		DFLOAT		8
ltbddf2		DFLOAT		8
lbrdhrg		DFLOAT		8
lbtfhrg		DFLOAT		8
lbtfbrdoto	STRING		21
lcabpartman	STRING		21
lnippartman	STRING		21
ljamdtg		TIME  		4
lcababsen	STRING		21
lbrgjmlmax	INT2		2
lbrgjmlmax2	INT2		2
lbrgjmlmin	INT2		2
lbrcstr1	STRING		21
ladanopol	INT2		2
ladaopen 	INT2		2
ladainpg 	INT2		2
lwaktuest       TIME            4
laktjam_start   TIME            4
lestimasi       DFLOAT          8
lppdperdism     DFLOAT          8
lppdtotfak      DFLOAT          8
lppdjml		INT2		2
lppdjml_BR	INT2		2
lbtfjml		INT2		2
ltotalharga	DFLOAT		8
ltotalqty	INT2		2
lppdnokrm	STRING		11
lmekstart	STRING		21
lketisi		STRING		100	
lthbl		STRING		21
lthbl1		STRING		21
l0000		TIME  		4 
ltipepaket	DFLOAT		8
laktif		STRING		5
lbengkel        STRING         11
lchanel         STRING         21
lantri          INT2            2
lscrnum		INT2	  	2
lscrstr		STRING		21
lenter		STRING		21
lANTRIAN	STRING		21
lasset		STRING		11
lconhp		STRING		15
lppmsup		STRING		21
lppmpry		STRING		21
lppmpry2	STRING		21
lppmtglfak	DATE		4
lRO		STRING		11
lROKPB		STRING		11
lRONONKPB	STRING		11
ltmpisidf1	DFLOAT		8
ltmpisidf2	STRING		21
lINFOPEMBW	STRING		11
lINFOKNTR	STRING		11
lINFOSARAN	STRING		11
lPKT		STRING		5
lpanjangTexta	INT2		2
lJI		STRING		3
lH2		STRING		21
ldtthbl         STRING          11
lCABAPI		STRING		21
ltbdtblkode_fast STRING		21
ltbdkettype_fast STRING		21
lTMPINFOAHASS	STRING		21
lTMPINFOAHASS2	STRING		21
lalmjalan1	STRING		61
lalmprop1	STRING		21
lalmkota1	STRING		21
lalmkec1	STRING		21
lalmkel1	STRING		21
ldiskonoli2	DFLOAT		8
lTYPDATANG1	STRING		21
lTYPDATANG2	STRING		21
lTYPDATANG3	STRING		21
lMOTORGRATISOLI	STRING		21
lNOMESINESAF	STRING		21
ltrans		STRING		11
ltransg1	STRING		11
ltransg2	STRING		11
ltransg7	STRING		11
lkirimdata	STRING		61
lINFORKMN	STRING		11
lINFOCEKLCR	STRING		11
lINFOLPART	STRING		11
lnamaBrgRekomen	STRING		21
lK		STRING		2
lADDSERVIS	STRING		21
lDTAHASS	STRING		11
lSERVICE	STRING		21
lPAKETSERVICE	STRING		21
ltotaltdkYT	INT2  		2
ltanggalJtp	DATE		4
lkodert		STRING		21
lPSMAHASS	STRING		11
lPSMKTP		STRING		11
lCABANGAHASS	STRING		21
lCABREKOMPART	STRING		21
lCABLOKASILIBUR	STRING		21
lCABLOKASISHIFT	STRING		21
lCABSHOW	STRING		21
lCABSINSEN	STRING		21
lCABDGI		STRING		21
lCABDGIOTO	STRING		21
lCABOTOMEKANIK	STRING		21
lCABOTOPAKET  	STRING		21
lCABTDKKPB1TAHUN STRING		21
lCABONLYKPB1TAHUN STRING	21
lCABNSSPEDULI   STRING		21
lNASIONAL	STRING		21
lPARTSPM	STRING		21
lBLANKS		STRING		21
lnamamotormampat	STRING	21
lhrgolitdm	DFLOAT		8
linfokpbnss	STRING		61
lppskdpm	STRING		21
lSPKINSTAN	STRING		11
lTELP		STRING		11
lTELPAHS	STRING		11
ljumlahnomor	INT2		2
ln1i		INT2		2
ln2i		INT2		2
ldigit1		STRING		2
ldigit2		STRING		2
l1		DFLOAT		8
lN		STRING		2
lketbtmbichek	STRING		21
lKODEWASHERCUB		STRING	21
lKODEWASHERMATIC	STRING	21
lKODEWASHERSPORT	STRING	21
lPARTPERMOTOR		STRING	21
lFASTMOVING		STRING	21
lLOKAHASS		STRING	21
lMASTERWASHER		STRING	21
lMASTERAMIC  		STRING	21
lMASTERJASAESAF		STRING	21
lKODEJASAESAF1		STRING	21
lKODEJASAESAF2		STRING	21
lJASACEKESAF		STRING	21
lEVENT			STRING	11
lbrdnobbm		STRING  21
lbrdsisa2		INT2	2
lbrdsisprc2		INT2	2
lbrdsisprc		INT2	2
lpmtmekanik		INT2	2
lPMTMEKA		STRING	11
lPMTMEKA21		STRING	21
ltgmtype		STRING	11

ltbtdf1_biaya		DFLOAT	8
lDATAAPIH2		STRING	11
ltlmnobuk1473		STRING	21

lDATADGI		STRING	11
lDTREQMEKA		STRING	11
lnamaMek		STRING	61
lpsijabatan		STRING	21
lSYSTIME		TIME	4
lTAMBAHAN		STRING	21
lREQUEST		STRING	21
l000000			TIME	4

lbtmnokk3		STRING	4
lfotostnk11		STRING	11
lfotostnk21		STRING	21
ljmluplstnk		DFLOAT	8
lcabinstansistnk	STRING	251
lgc_instansi		STRING	21
lTMPPROMOVC		STRING	11
lCABANGPROMO		STRING	21
laktdk_memo		STRING	2
lENTER			STRING	11
lPROMOTDM		STRING	11
lPROMOTDM4		STRING	21
lDTKPBAHS               STRING  11
lDTKPBAHS21             STRING  21
laktdf1_tdm		DFLOAT	8
laktdf2_tdm		DFLOAT	8
laktdf3_tdm		DFLOAT	8
laktdf4_tdm		DFLOAT	8
lhasiltot4		DFLOAT	8

lJTPSERVIS2		STRING	21
lJTPSERVIS2a		STRING	21
ltbtdf1_jtp		DFLOAT	8
lhitungtglkirim		DATE	4
labdtype		STRING	11
lfktpjk			STRING	11
lfotoktp		STRING	11
lfotonpwp		STRING	11
lket_fotoktp		STRING	151
lket_fotonpwp		STRING	151
/*lket_fotostnk		STRING  151*/
ltomdet_5dd		STRING	31
lket_FP			STRING	251
lket_FP_Y		STRING	251
lket_FP_T		STRING	251
lurusFP			STRING	2
ltkmsts			STRING	5
luplFP_fotoktp		DFLOAT	8
luplFP_fotonpwp		DFLOAT	8
l1xx			INT2	2
l2xx			INT2	2
lnobuk994		STRING	21
l994			STRING	5
lnamaupl		STRING	61
l620			STRING	21
l416			STRING	21
lJASATUNEUPPKT		STRING	21
lUPLOADPROMO1		STRING	21
lUPLOADPROMO2		STRING	21

lSPAREPARTG		STRING	11
lnourt416		INT2	2
ltlmnobuk416_last	STRING	21
ltlmsts416_last		STRING	5
lHLVOUCHER		STRING	11
lrecordppd_6d		INT2	2
lrecordakt_6d		INT2	2
lUBAHBRG6D_11		STRING	11
lUBAHBRG6D_21		STRING	21
lppdbrglama		STRING	21
ldipenuhi       	DFLOAT  8
ltothpp         	DFLOAT  8
lhrgrata        	DFLOAT  8
lnamtrnjml		STRING	21
lBR			STRING	5

lKUNCIABSEN		STRING	11
lket620         	STRING	21
lnipADMPART		STRING	21
lADMPART		STRING	21
lADH            	STRING	21
lADHDCA			STRING	21
lAHASSKABENG		STRING	21
lAHASSSA		STRING	21
lAHASSFD		STRING	21
lnipAHASSKABENG		STRING	21
lnipAHASSSA		STRING	21
lnipAHASSFD		STRING	21
lnipADH			STRING	21
lnipADHDCA              STRING  21
lHotline		STRING	21

lCAB416			STRING	21
lNAS			STRING	21
lppmtotfak		DFLOAT	8

lLOKRUSAK       STRING          21
lLOKKASUS       STRING          21
lstokbarangsekarang     DFLOAT  8

ltlmnobuk416    STRING		21
ltlmplg416      STRING		21
ltlmnobbm416    STRING		21	
ltlmtgl416      DATE		4
ltlmdari416	STRING		21
ltlmuntuk416	STRING		21
ltlmcab416	STRING		21
ltlmscr416	STRING		11
ltlmdata416	STRING		11
ltlmsts416 	STRING		5

ltlmnobuk416_abk	STRING	21
lrecordtlm416	INT2		2

lANT		STRING		11
laktlok_barcode	STRING		21
laktbrg_barcode	STRING		21
lmapbtf		STRING		30

lCABTDKREF  	STRING		21
lCABDPTREF  	STRING		21
lAHASS          STRING          11
lahmnofak2      STRING          21
lketyt1         STRING          21
lmntkode        STRING          21
lsatu           STRING          11
ldua            STRING          11
lCABAPIV2       STRING          21
ltbddfapi1      INT2            2
ltbddfapi2      INT2            2 
ltbddfapi3      INT2            2 
lKetTinggal     STRING          51
lftmnourt       INT2            2
ltlmnobuk       STRING          21
lnobukclaim     STRING          31
lSPKGARANSI     STRING          11
lSPKGARANSI21   STRING          21
laktnobuk       STRING          61
lpanjangspk     INT2            2 
laktkode2_620   STRING          21
laktbrg_620     STRING          21                                                                                                                                             
lakttgl2_620    DATE            4
lakthrg_620     DFLOAT          8
lakttype2_620   STRING          21
lPROMOLCR11     STRING          11                                                                                                                                             
lPROMOLCR       STRING          21

lEstPengType    STRING          21                                                                                                                                                     
lWktEstPeng     TIME            4
lwaktuest2      TIME            4
lbtmcab         STRING          21                                                                                                                                                     
lantrian1       STRING          21
lbtmidprsp      STRING          21

lUPLOADSTNK     STRING  	21
luploadtacc     STRING          21
luploadacc      STRING          21
l1600		TIME		4
l1500		TIME		4
l1400		TIME		4
lcabkdjam	STRING		11
lKOMLCRAHS	STRING		11

lfield          STRING          11                                                                                                                                                     
lkodeMD         STRING          21
lnoWODepan      STRING          31
lnoWOBelakang   STRING          31
lmampatNoWO     STRING          31
l1int           INT2            2
l15int          INT2            2
l21             INT2            2
l25             INT2            2
lAPIMD          STRING          21
ldumstr31       STRING          31
ltbdkettype     STRING          31
lBARANGAHASS    STRING          21

lgroupcustomer	STRING		21
lnamaPT		STRING		61
lytgc		STRING		11
lDTLCRTREAT11 	STRING		11
lDTLCRTREAT	STRING		21
lTREATMENT      STRING          21
lREPLACEMENT    STRING          21
lnominalpromo   INT2            2
ltbdlv4         STRING          11
lCABPROMO       STRING          11
lAKTIF          STRING          21
lcekpromo       STRING          21
ljmlhrgpromo    DFLOAT          8
lppdpromo       INT2            21
lrmdkode2       STRING          21          
lSYARATPROMO11  STRING          11
lBARANG         STRING          21
lPAKET          STRING          21
lBR21           STRING          21 
lMSTPROMO       STRING          11
lbrgjaba        STRING          21
ltotaltkd       INT2            2
lH221           STRING          21
lTMPMASTEROPR           STRING  21
lMASTERPERSENJASA       STRING  21
ltbtdf_persen   DFLOAT  8
lstatuscab      STRING  21

MAP(mnext)
btmnobuk        r_string1       REPLACE
btmkdsam	r_string2	REPLACE
btmscr          r_string5       REPLACE
lwaktuest       r_time1         REPLACE
btmtgl		r_date1		REPLACE


/*--------djoinLOKRUSAK&&KASUS-------------*/

DBCALCS(djointbdlokrusak)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddtmstidx gv_dttabel  gv_barang lLOKRUSAK  gv_BR btmcab brdlok


DBCALCS(djointbdlokkasus)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddtmstidx gv_dttabel  gv_barang lLOKKASUS  gv_BR btmcab brdlok


DBCALCS(djoinmasterbr)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddatkodidx gv_dttabel  gv_barang lBARANGAHASS ppdbrg

CALCS()
cadastoksekarang        djointbdlokrusak == 0 && djointbdlokkasus == 0

MAP(mscanstoksekarang)
brdsisa         lstokbarangsekarang         REPLACE_IF cadastoksekarang

DBCALCS(dscanstoksekarang)
        DBC_COMMAND     SCANSCAN
        DBC_TARGET      brdbrglokoto    gv_INPG tkdnoll btmcab
        DBC_SUM_MAP     mscanstoksekarang

/*------------------djoin_nnm--------------*/
DBCALCS(djoin_nnm)
	DBC_COMMAND	JOIN
	DBC_TARGET 	nnmbukidx   lchanel 

MAP(madmpart)
abdtype         labdtype        REPLACE

DBCALCS(djoin_abd)
        DBC_COMMAND     JOIN
        DBC_TARGET      abdcabstsjab    btmcab  gv_INPG g_tgltrn lADMPART
        DBC_MAP         madmpart

MAP(mjoinbtmDaf)
btmnoantri       lantri		REPLACE

DBCALCS(djoinbtmDaf)
	DBC_COMMAND	JOIN_LAST_SFL
	DBC_TARGET	btmnnmurtidx   lchanel 
	DBC_MAP         mjoinbtmDaf

MAP(mjoinket)
ketisi2		lketisi		REPLACE

DBCALCS(djoinket)
	DBC_COMMAND	JOIN_LAST_SFL
	DBC_TARGET	ketdatbukkod   lINFOSARAN btmnobuk btmnobuk
	DBC_MAP		mjoinket

MAP(mjoinbtf)
btfbrdoto	lbtfbrdoto	REPLACE
btfhrg		lbtfhrg		REPLACE

DBCALCS(djoinbtf)
	DBC_COMMAND	JOIN
	DBC_TARGET	btfbukotobrd	ppdnomst2 ppdoto
	DBC_MAP		mjoinbtf

MAP(mjoincmp)
cmpdf1		ldis1		REPLACE
cmpdf2		ldis2		REPLACE
cmpdf3		ldis3		REPLACE
cmpdf4		ldis4		REPLACE

DBCALCS(djoincmp)
	DBC_COMMAND	JOIN
	DBC_TARGET	cmpplgkodidx gv_dtplg btmplg
	DBC_MAP		mjoincmp
/*
MAP(mjoincad)
cadtot5		lcadtot5	REPLACE
	
DBCALCS(djoincad)
	DBC_COMMAND	JOIN
	DBC_TARGET	cadcabdtidx btmcab gv_cabbis btmcab btmdvs
	DBC_MAP		mjoincad
*/

MAP(mjointbdcab)                                                                                                                                                                       
tbdlv2        lkodeMD         REPLACE
DBCALCS(djointbdcab)                                                                                                                                                                                       
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddatkodidx     gv_dttabel gv_infoumum lAPIMD lbtmcab
        DBC_MAP         mjointbdcab


CALCS()
c0		0
c1		1
c2		2
/*ccadok		djoincad == 1 && lcadtot5 > 0
cbrchrgjl	brchrgjl + ((brchrgjl * lcadtot5) / 100 )*/
cdtthbl         "DT" + THBLS(g_tgltrn)

/* calcs auto dgi */
cdjointbdcab1     djointbdcab == 1
/*
ckodeMD_hso       lkodeMD == "HSO"
ckodeMD_daw       lkodeMD == "DAW" || lkodeMD == "DAM"
ckodeMD_tdm       lkodeMD == "TDM"
ckodeMD_trio      lkodeMD == "TRIO"
ckodeMD_capella   lkodeMD == "CAPELLA"
ckodeMD_indako    lkodeMD == "INDAKO"
*/
ckodeMD_mpm       lkodeMD == "MPM"
ckodeMD_sinsen    lkodeMD == "SINSEN"

cnoWO_sinsen    MAMPAT(ldumstr31)

cmampatNoWO     MAMPAT_ALPHANUM(ldumstr31)
cnoWODepan      DO_LIB ap_amstr(lmampatNoWO,l1int,l15int,&lnoWODepan);
cnoWOBelakang   DO_LIB ap_amstr(lmampatNoWO,l21,l25,&lnoWOBelakang);
cnoWO           STRIP(lnoWODepan) + STRIP(lnoWOBelakang)


MAP(mjoinbrca)
brchrgjl        lbrchrgjla      REPLACE
/*cbrchrgjl       lbrchrgjla      DO_CALC_IF ccadok*/
brchrgjl2       lbrchrgjl2a     REPLACE
brcdf1          lhrgjs          REPLACE
brchrgbl	lhrgbli		REPLACE
brcstr1		lbrcstr1	REPLACE

DBCALCS(djoinbrcU1)  /*Cabang saja*/
DBC_COMMAND     JOIN_LAST_SFL
DBC_TARGET      brcdttykodid  gv_dtbarang ppdbrg btmcab gv_INPG
DBC_MAP         mjoinbrca

DBCALCS(djoinbrcU2)  /*Cabang Dan Suplier*/
DBC_COMMAND     JOIN
DBC_TARGET      brcdttypidx   gv_dtbarang ppdbrg btmcab gv_dtbarang21 ppmplg
DBC_MAP         mjoinbrca

DBCALCS(djoinbrcU3)  /* Brc tmp */
DBC_COMMAND     JOIN_LAST_SFL
DBC_TARGET      brcdttykodid  gv_dtbarang tkdjenis btmcab gv_INPG
DBC_MAP         mjoinbrca

DBCALCS(djoinbrcU5)  /* Brc tmp loss Order */
DBC_COMMAND     JOIN_LAST_SFL
DBC_TARGET      brcdttykodid  gv_dtbarang tkdnoll btmcab gv_INPG
DBC_MAP         mjoinbrca

MAP(mjoinbrcax)
brchrgjl	lbrchrgjlax	REPLACE

DBCALCS(djoinbrcU4)
DBC_COMMAND     JOIN_LAST_SFL
DBC_TARGET      brcdttykodid  gv_jasain tkdrek btmcab
DBC_MAP         mjoinbrcax

MAP(mjoinbrg_1)
brgjmlmax       lbrgjmlmax2      REPLACE

DBCALCS(djoinbrgJS_1)
        DBC_COMMAND     JOIN
        DBC_TARGET      brgdatkodidx gv_jasain lbrcstr1
        DBC_MAP         mjoinbrg_1

MAP(mjoinbrcJS)
brchrgjl	lbrchrgjlJS	REPLACE

DBCALCS(djoinbrcJS)
	DBC_COMMAND	JOIN
	DBC_TARGET	brcdatstskod gv_jasain gv_INPG btmcab lJASAIN lJASA ppdbrg
	DBC_MAP		mjoinbrcJS


DBCALCS(djointkd620)
DBC_COMMAND	JOIN
DBC_TARGET	tkddatbukll	lPSMKTP	btmnobuk

MAP(mjoinpsm)
psmdatakry      lpsmdtkry       REPLACE
psmins		lpsmins		REPLACE
psmsts		lpsmsts		REPLACE
psmnama		lpsmnama	REPLACE

DBCALCS(djoinpsm)
DBC_COMMAND     JOIN
DBC_TARGET      psmktpidx btmplg
DBC_MAP         mjoinpsm

MAP(mjoinpsiFLP)
psinama		lpsinamaFLP	REPLACE

DBCALCS(djoinpsiFLP)
DBC_COMMAND	JOIN
DBC_TARGET	psikodidx btmnopj
DBC_MAP		mjoinpsiFLP

MAP(mjoinpsiMEK)
psinama         lpsinamaMEK     REPLACE

DBCALCS(djoinpsiMEK)
DBC_COMMAND     JOIN
DBC_TARGET      psikodidx btmsales
DBC_MAP         mjoinpsiMEK

MAP(mdumstr)
DEBUG ldumstr         ldumstr         REPLACE

MAP(mjoinppdu)
ppdnourt2       lurut           REPLACE
ppdnobuk        lppdnobuk       REPLACE

DBCALCS(djoinppdu)
DBC_COMMAND     JOIN_LAST_SFL
DBC_TARGET      ppdbuk2bbmid    btmnobuk
DBC_MAP         mjoinppdu

MAP(mjointkdu)
tkdnourt        luruttkd        REPLACE

DBCALCS(djointkdu)
DBC_COMMAND     JOIN_LAST_SFL
DBC_TARGET      tkddatbukll	lINFOLPART	btmnobuk
DBC_MAP         mjointkdu

MAP(mjoinppm)
ppmsts       lppmsts            REPLACE
ppmpry	     lppmpry2		REPLACE

DBCALCS(djoinppm)
DBC_COMMAND     JOIN
DBC_TARGET      ppmbukidx       ppdnobuk
DBC_MAP         mjoinppm 

DBCALCS(djoinppdKG)
DBC_COMMAND     JOIN
DBC_TARGET      ppdbuk2bbmid   btmnobuk  

DBCALCS(djoinrmd1)
DBC_COMMAND     JOIN
DBC_TARGET      rmdstsgabidx   gv_INPG   lrmdgab


MAP(mjoinast)
astpsmkode      lktp       REPLACE
astpj           lastpj     REPLACE
astbrg          lastbrg    REPLACE
astno1		lastno1	   REPLACE

DBCALCS(djoinast1)
        DBC_COMMAND     JOIN
        DBC_TARGET      astdatkodidx lasset btmplg gv_bpkb btmkdsam
        DBC_MAP         mjoinast

MAP(mjoinast2)
astnopol	lastnopol	REPLACE
astno1		lastnotelp	REPLACE
astbrg		lastmotor	REPLACE
astpsmkode	lastktp		REPLACE
astrangka	lastnorangka	REPLACE
astmesin	lastnomesin	REPLACE
asthrg		lastnsnon	REPLACE
astpj		lastkmmotor	REPLACE
asttgl          lasttgl    	REPLACE
astth		lastth		REPLACE

DBCALCS(djoinast2)
        DBC_COMMAND     JOIN
        DBC_TARGET      astjnspolidx gv_bpkb btmkdsam
        DBC_MAP         mjoinast2

MAP(mjoinssu)
ssumesin	lssumesin	REPLACE
ssurangka	lssurangka	REPLACE
ssunobuk2	lssunobuk2	REPLACE

DBCALCS(djoinssu)
	DBC_COMMAND	JOIN
	DBC_TARGET	ssumridx	lastnomesin
	DBC_MAP		mjoinssu

MAP(mjoinppm614)
ppmnoll		lppmnoll614	REPLACE
ppmtglbyrakh	ltglkirimmtr	REPLACE
ppmtk		lppmtk614	REPLACE

DBCALCS(djoinppm614)
	DBC_COMMAND	JOIN
	DBC_TARGET	ppmbukidx	lssunobuk2
	DBC_MAP		mjoinppm614

MAP(mjoinbtm611)
btmytplg	lbtmytplg611	REPLACE

DBCALCS(djoinbtm611)
    	DBC_COMMAND	JOIN
	DBC_TARGET	btmbukidx	lppmnoll614
	DBC_MAP		mjoinbtm611

CALCS()
cpktservice		ppstgljtp >= g_tgltrn && ppsplg == "PKTSERVICE" && ppssts == "INPG" && ppsstsprc != "CLSD" && ppsstsprc != "RCLS"
cpktsvcsinsen		ppstgljtp >= g_tgltrn && ppsplg == "PKTSVCSINSEN" && ppssts == "INPG" && ppsstsprc != "CLSD" && ppsstsprc != "RCLS"

MAP(mjoinpps_kpbnss)
ppskdpm		lppskdpm	REPLACE

DBCALCS(djoinpps_kpbnss)
	DBC_COMMAND	JOIN
	DBC_TARGET	ppsdattypbuk	gv_dthut   gv_strbia   gv_INPG	lppmnoll614
	DBC_SELECT	cpktservice
	DBC_MAP		mjoinpps_kpbnss

DBCALCS(djoinpps_kpbsinsen)
        DBC_COMMAND     JOIN
        DBC_TARGET      ppsdattypbuk    gv_dthut   gv_strbia   gv_INPG  lppmnoll614
        DBC_SELECT      cpktsvcsinsen
        DBC_MAP         mjoinpps_kpbnss


CALCS()
ckpbhangus		ppstgljtp < g_tgltrn && ppsplg == "PKTSERVICE" && ppssts == "INPG" && ppsstsprc != "CLSD" && ppsstsprc != "RCLS"
ckpbbisa		ppstgljtp >= g_tgltrn && ppsplg == "PKTSERVICE" && ppssts == "INPG" && ppsstsprc != "CLSD" && ppsstsprc != "RCLS"

ckpbhangus_sinsen	ppstgljtp < g_tgltrn && ppsplg =="PKTSVCSINSEN" && ppssts == "INPG" 
ckpbbisa_sinsen		ppstgljtp >= g_tgltrn && ppsplg =="PKTSVCSINSEN" && ppssts == "INPG" 

MAP(mscanpps_kpbnss)
c1	ltdkkpbnss		DO_CALC_IF ckpbhangus
c1	ladakpbnss		DO_CALC_IF ckpbbisa	

c1	ltdkkpbsinsen		DO_CALC_IF ckpbhangus_sinsen
c1	ladakpbsinsen		DO_CALC_IF ckpbbisa_sinsen

DBCALCS(dscanpps_kpbnss)
	DBC_COMMAND	SCANSCAN
	DBC_TARGET	ppsdattypbuk	gv_dthut   gv_strbia   gv_INPG	lppmnoll614
	DBC_LAST_TARGET	ppsdattypbuk	gv_dthut   gv_strbia   gv_INPG	lppmnoll614
	DBC_SUM_MAP	mscanpps_kpbnss

CALCS()
cadapromo821		(tlmsts=="INPG" && tlmdari == "VST_H1" && g_tgltrn >= tlmtgl && g_tgltrn <= tlmtgljtp)

MAP(mscantlm_Event821)
c1		ladapromo821	DO_CALC_IF cadapromo821

DBCALCS(dscantlm_Event821)
        DBC_COMMAND     SCANSCAN
        DBC_TARGET      tlmdatplgtgl lEVENT btmcab
	DBC_LAST_TARGET	tlmdatplgtgl lEVENT btmcab
        DBC_SUM_MAP     mscantlm_Event821

CALCS()
ckondTelp		condata == "TELP"

MAP(mjoincon)
conhp           lconhp          REPLACE

DBCALCS(djoincon)
        DBC_COMMAND     JOIN
        DBC_TARGET      conkodstsidx    btmplg gv_INPG
	DBC_SELECT	ckondTelp
        DBC_MAP         mjoincon

/* Diskon Promo di trans */

MAP(mbrcjs)
brcdf1     ldsjs1    REPLACE


DBCALCS(djoinbrcjs)
DBC_COMMAND     JOIN
DBC_TARGET      brcdttypidx   gv_svgratis  lpromoahsa btmcab btmsurveyor lsvpromoa ljasaa
DBC_MAP         mbrcjs

MAP(mbrcbrt)
brcdf1     ldiskonparta    REPLACE
brcdf1     ldiskonolia     REPLACE

DBCALCS(djoinbrcbrt)
DBC_COMMAND     JOIN
DBC_TARGET      brcdttypidx   gv_svgratis  lpromoahsa btmcab btmsurveyor lsvpromoa lbrgkat4a
DBC_MAP         mbrcbrt

MAP(mbrcbrta)
brcdf1     ldiskonpparta    REPLACE

DBCALCS(djoinbrcbrta)
DBC_COMMAND     JOIN
DBC_TARGET      brcdttypidx   gv_svgratis  lpromoahsa btmcab btmsurveyor lsvpromoa  ppdbrg
DBC_MAP         mbrcbrta

MAP(mjoinbrg)
brgkat4		lbrgkat4	REPLACE
brgkat5		lbrgkat5	REPLACE
brgkat		lbrgkat		REPLACE
brgnama		lbrgnama	REPLACE
brgsat		lbrgsat		REPLACE
brgjaba         lbrgjaba        REPLACE

DBCALCS(djoinbrg)
	DBC_COMMAND	JOIN
	DBC_TARGET	brgdatkodidx gv_dtbarang ppdbrg
	DBC_MAP		mjoinbrg

MAP(mjoinbrgJS)
brgkat		lbrgkat		REPLACE
brgnama		lbrgnama	REPLACE
brgjmlmax	lbrgjmlmax	REPLACE
brgjmlmin	lbrgjmlmin	REPLACE
brgdisrp	lbrgdisrp	REPLACE
brgkat5         lbrgkat5        REPLACE

DBCALCS(djoinbrgJS)
	DBC_COMMAND	JOIN
	DBC_TARGET	brgdatkodidx gv_jasain ppdbrg
	DBC_MAP		mjoinbrgJS


MAP(mbrd)
brdsisa     ppdjmlren       REPLACE

DBCALCS(dscanbrd)
    DBC_COMMAND     SCANSCAN
    DBC_TARGET      brdstscabbrg    gv_INPG btmcab ppdbrg
    DBC_SUM_MAP     mbrd

MAP(mbrd2)
brdsisprc	lbrdsisprc	REPLACE

DBCALCS(dscanbrd2)
	DBC_COMMAND	SCANSCAN
	DBC_TARGET	brdstscabbrg	gv_INPG	btmcab ppdbrg ppdlok
	DBC_SUM_MAP	mbrd2
/*
DBCALCS(djointbtkode)
 DBC_COMMAND	JOIN
 DBC_TARGET	tbtdatkodtyp lpktahass btmwrn btmtypmtr2
*/

MAP(maddservis)
 ppdnopsn	laddservis REPLACE

DBCALCS(djoinppdaddsrv)
 DBC_COMMAND	JOIN_LAST_SFL
 DBC_TARGET	ppdbuk2bbmid btmnobuk
 DBC_MAP	maddservis

MAP(mjoindtm)
dtmbsrkurs	ldisjs1		REPLACE
dtmbsrkursp	ldisjs2		REPLACE
dtmperppn 	ldispart	REPLACE
dtmongkos 	ldisoli 	REPLACE
dtmimg1		lupld1_voucher	REPLACE
dtmimg2		lupld2_voucher	REPLACE

DBCALCS(djoindtm)
DBC_COMMAND	JOIN
DBC_TARGET	dtmdatstskod ldata gv_INPG btmsurveyor
DBC_MAP		mjoindtm

DBCALCS(djoindtm_voucher)
DBC_COMMAND	JOIN
DBC_TARGET	dtmdatstskod lTMPPROMOVC gv_INPG btmsurveyor
DBC_MAP		mjoindtm

MAP(mjoindtm2)
dtmperppn       ltipepaket      REPLACE
dtmimgbuk	laktif		REPLACE

DBCALCS(djoindtm2)
DBC_COMMAND     JOIN
DBC_TARGET      dtmdtkodidx lpktahass btmwrn
DBC_MAP         mjoindtm2

MAP(mjointbl)
tbltype2	ltbltype2	REPLACE
tblyt		ltblyt		REPLACE
tblsistem	ltblsistem	REPLACE
tbljml		ltbljml		REPLACE
tbljml2		ltbljml2	REPLACE

DBCALCS(djointbl)
DBC_COMMAND	JOIN
DBC_TARGET	tbldtdtmkod ldata btmsurveyor ppdbrg
DBC_MAP		mjointbl

MAP(mjointbd)
tbdlv1		ltbdlv1		REPLACE
tbdlv2		ltbdlv2		REPLACE
tbddf1		ltbddf1		REPLACE
tbddf2		ltbddf2		REPLACE

DBCALCS(djointbd)
DBC_COMMAND	JOIN
DBC_TARGET	tbddatkodidx ldata btmsurveyor ppdbrg btmcab
DBC_MAP		mjointbd


/********** Join 3201 Alamat **********/
MAP(mjoinalm1)
almjalan	lalmjalan1	REPLACE
almprop		lalmprop1	REPLACE
almkota		lalmkota1	REPLACE
almkec		lalmkec1	REPLACE
almkel		lalmkel1	REPLACE

DBCALCS(djoinalm1)
	DBC_COMMAND	JOIN
	DBC_TARGET	almotodatidx	btmplg	gv_psmktp
	DBC_MAP		mjoinalm1

/***** Detail 4 Pos Service *****/

DBCALCS(djoinalmPOS)
        DBC_COMMAND     JOIN
        DBC_TARGET      almdatbukidx btmdata btmnobuk

MAP(mjointkdSpk)
tkdtype2	lytgc		REPLACE

DBCALCS(djointkdSpk)
	DBC_COMMAND	JOIN
	DBC_TARGET	tkddatbukll	lSPKINSTAN	btmnobuk
	DBC_MAP		mjointkdSpk

CALCS()
calmlon1        almlon == 1
calmlon2        almlon == 2

MAP(mjoinmnt_MOTOR)
mntkode         lmntkode        REPLACE


DBCALCS(djoinmnt_PEMILIK)
        DBC_COMMAND     JOIN
        DBC_TARGET      mntdatbukidx    lsatu           btmnobuk
        DBC_COND        calmlon1
        DBC_MAP         mjoinmnt_MOTOR

DBCALCS(djoinmnt_PEMBAWA)
        DBC_COMMAND     JOIN
        DBC_TARGET      mntdatbukidx    ldua            btmnobuk
        DBC_COND        calmlon2
        DBC_MAP         mjoinmnt_MOTOR



/***** Detail 5 Info Pembawa ****

DBCALCS(djoinalmPembawa)
        DBC_COMMAND     JOIN
        DBC_TARGET      almdatbukidx lINFOPEMBW btmnobuk */

/***** Join tbd dengan tipe kedatangan wajib isi Detail 4 ****/

DBCALCS(djointbd_typdatang)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddatkodidx	gv_dttabel	gt_ahass	lTYPDATANG	btmsoa

/***** Join tbd dengan tipe kedatangan1 *****/

DBCALCS(djointbd_typdatang1)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddatkodidx	gv_dttabel	gt_ahass	lTYPDATANG1	btmsoa

/***** Join tbd dengan tipe kedatangan2 ****/

DBCALCS(djointbd_typdatang2)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddatkodidx	gv_dttabel	gt_ahass	lTYPDATANG2	btmsoa

/***** Join tbd dengan tipe kedatangan3 ****/

DBCALCS(djointbd_typdatang3)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddatkodidx    gv_dttabel      gt_ahass        lTYPDATANG3     btmsoa


DBCALCS(djointbd_motorgratisoli)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddatkodidx    gv_dttabel      gt_ahass        lMOTORGRATISOLI     btmtypmtr2

MAP(mjointbd_nomesinesaf)
tbdkettype		lseriesesaf	REPLACE

DBCALCS(djointbd_nomesinesaf)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddatkodidx    gv_dttabel      gt_ahass        lNOMESINESAF     lnosin5
	DBC_MAP		mjointbd_nomesinesaf

MAP(mjoinakt_promotdm)
aktdf1		laktdf1_tdm	REPLACE
aktdf2		laktdf2_tdm	REPLACE
aktdf3		laktdf3_tdm	REPLACE
aktdf4		laktdf4_tdm	REPLACE

DBCALCS(djoinakt_promotdm)
        DBC_COMMAND     JOIN
        DBC_TARGET      aktkodtypidx    lastnomesin        lPROMOTDM       lPROMOTDM4
	DBC_MAP		mjoinakt_promotdm

DBCALCS(djoinakt_historikpb)
        DBC_COMMAND     JOIN
        DBC_TARGET      aktkodtypidx    lastnomesin        lDTKPBAHS       lDTKPBAHS21
        DBC_MAP         mjoinakt_promotdm

/********* Join TMP untuk KPB 1 Gratis  OLI ***********/

MAP(mjointmp_promokpb)
tmpisidf1	ltmpisidf1	REPLACE
tmpisidf2	ltmpisidf2	REPLACE

DBCALCS(djointmp_promokpb)
	DBC_COMMAND	JOIN
	DBC_TARGET	tmpdatdvskod lpktahass	btmwrn	btmdvs	lPKT	btmtypmtr2
	DBC_MAP		mjointmp_promokpb

MAP(mjoinakt_pmtmekanik)
aktjml          lpmtmekanik        REPLACE

DBCALCS(djoinakt_pmtmekanik)
        DBC_COMMAND     JOIN
        DBC_TARGET      aktkodtypidx    btmsales         lPMTMEKA          lPMTMEKA21
        DBC_MAP         mjoinakt_pmtmekanik

/***************** Join TBD untuk Lokasi FASTMOVING ***************/

MAP(mjointbd_fastmoving)
tbdtblkode	ltbdtblkode_fast	REPLACE
tbdkettype	ltbdkettype_fast	REPLACE

DBCALCS(djointbd_fastmoving)
	DBC_COMMAND	JOIN
	DBC_TARGET	tbddtdtmkod	gv_dttabel	gv_barang	ppdlok
	DBC_MAP		mjointbd_fastmoving

DBCALCS(djointbd_fastmoving2)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddtdtmkod     gv_dttabel      gv_barang       tkdrek
        DBC_MAP         mjointbd_fastmoving

MAP(mjointgmLIBUR)
tgmtype		ltgmtype	REPLACE

DBCALCS(djointgmLIBUR)
	DBC_COMMAND	JOIN
	DBC_TARGET	tgmdattglidx	gv_tgl11	g_tgltrn
	DBC_MAP		mjointgmLIBUR

/******** Penanda RO / Non RO ***********/
CALCS()
ctdkbelipart		ppmsup != "BELIPART" && ppmsup != "SELESAISELISIH"

MAP(mjoinppmRO)
ppmtglfak	lppmtglfak	REPLACE
ppmpry		lppmpry		REPLACE
ppmsup		lppmsup		REPLACE

DBCALCS(djoinppmRO)
	DBC_COMMAND	JOIN_LAST_SFL
	DBC_SELECT	ctdkbelipart	
	DBC_TARGET	ppmnollidx	btmkdsam
	DBC_MAP		mjoinppmRO

DBCALCS(djoinbtmRO)
	DBC_COMMAND	JOIN         
	DBC_TARGET	btmbukidx 	lppmpry 

/********** TBD master PROMO KPB Gratis OLI **********/
DBCALCS(djointbd_promooli)
	DBC_COMMAND	JOIN
	DBC_TARGET	tbddatkodidx    gv_dttabel      gt_ahass        lPROMOOLI      btmsurveyor

DBCALCS(djointbd_promooli2)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddatkodidx    gv_dttabel      gt_ahass        lPROMOOLI2      btmsurveyor

DBCALCS(djointbd_promooli3)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddatkodidx    gv_dttabel      gt_ahass        lPROMOOLI3      btmsurveyor

DBCALCS(djointbd_promooli4)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddatkodidx    gv_dttabel      gt_ahass        lPROMOOLI4      btmsurveyor

DBCALCS(djointbd_promooli5)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddatkodidx    gv_dttabel      gt_ahass        lPROMOOLI5      btmsurveyor

DBCALCS(djointbd_promooli6)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddatkodidx    gv_dttabel      gt_ahass        lPROMOOLI6      btmsurveyor

DBCALCS(djointbd_promoJasa)
	DBC_COMMAND	JOIN
	DBC_TARGET	tbddatkodidx    gv_dttabel      gt_ahass        lPROMOJASA      btmsurveyor

DBCALCS(djointbd_promoparttdm)
	DBC_COMMAND	JOIN
	DBC_TARGET	tbddatkodidx    gv_dttabel      gt_ahass        lPROMOPARTTDM   btmsurveyor

DBCALCS(djointbdpromo)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddatkodidx    gv_dttabel      gt_ahass        lPROMOHITAM     btmsurveyor


DBCALCS(djointbt_promopartLCR)
	DBC_COMMAND	JOIN
	DBC_TARGET      tbtdattypkod    gv_dttabel	gv_dttabel21 	gt_ahass   lMASTERPROMOAHS  lPROMOPARTLCR   btmsurveyor

DBCALCS(djointbd_paketotokilo)
	DBC_COMMAND	JOIN
	DBC_TARGET	tbddatkodidx	gv_dttabel	gt_ahass	lPAKETOTOKILO	btmwrn

DBCALCS(djoinakt_promo1)
        DBC_COMMAND     JOIN
        DBC_TARGET      aktkodtypidx    btmnobuk         btmdata          lUPLOADPROMO1

DBCALCS(djoinakt_promo2)
        DBC_COMMAND     JOIN
        DBC_TARGET      aktkodtypidx    btmnobuk         btmdata          lUPLOADPROMO2

MAP(mjoinjtpservis_kpbtdm)
tbtdf1		ltbtdf1_jtp	REPLACE

DBCALCS(djoinjtpservis_kpbtdm)
	DBC_COMMAND	JOIN
        DBC_TARGET      tbtdattypkod    gv_dttabel gv_dttabel21 gt_ahass lJTPSERVIS2 lJTPSERVIS2a btmwrn
	DBC_MAP		mjoinjtpservis_kpbtdm


/****** TBD Master Kode Washer Per Type Motor ***********/

DBCALCS(djointbd_kodewashercub)
	DBC_COMMAND	JOIN
	DBC_TARGET	tbddatkodidx	gv_dttabel	gt_ahass	lKODEWASHERCUB		ppdbrg

DBCALCS(djointbd_kodewashermatic)
	DBC_COMMAND	JOIN
	DBC_TARGET	tbddatkodidx	gv_dttabel	gt_ahass	lKODEWASHERMATIC	ppdbrg

DBCALCS(djointbd_kodewashersport)
	DBC_COMMAND	JOIN
	DBC_TARGET	tbddatkodidx	gv_dttabel	gt_ahass	lKODEWASHERSPORT	ppdbrg

DBCALCS(djointbt_kodewasher1)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod    gv_dttabel gv_dttabel21 gt_ahass lMASTERWASHER lKODEWASHERCUB brdbrg

DBCALCS(djointbt_kodewasher2)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod    gv_dttabel gv_dttabel21 gt_ahass lMASTERWASHER lKODEWASHERMATIC brdbrg

DBCALCS(djointbt_kodewasher3)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod    gv_dttabel gv_dttabel21 gt_ahass lMASTERWASHER lKODEWASHERSPORT brdbrg

DBCALCS(djointbt_kodewasher3jalan)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod    gv_dttabel gv_dttabel21 gt_ahass lMASTERWASHER lKODEWASHERSPORT lWASHER

DBCALCS(djointbd_masteramic)
	DBC_COMMAND	JOIN
	DBC_TARGET	tbddatkodidx	gv_dttabel gt_ahass lMASTERAMIC ppdbrg

DBCALCS(djointbdfastmov)
	DBC_COMMAND	JOIN
	DBC_TARGET	tbddtmstidx	gv_dttabel gv_barang lFASTMOVING gv_BR brdcab brdlok

DBCALCS(djointbdlokinti)
	DBC_COMMAND	JOIN
	DBC_TARGET	tbddtmstidx	gv_dttabel gv_barang lLOKAHASS gv_BR brdcab brdlok

DBCALCS(djointbd_jasatuneup)
	DBC_COMMAND	JOIN
	DBC_TARGET	tbddatkodidx	gv_dttabel gt_ahass lJASATUNEUPPKT ppdbrg



CALCS()
cconbrdsisa     (((brgkat5 == "CUB" || brgkat5 == "CUB HIGH" || brgkat5 == "CUB LOW" || brgkat5 == "CUB MID") &&
                   djointbt_kodewasher1 == 1) ||
                 ((brgkat5 == "MATIC" || brgkat5 == "AT HIGH" || brgkat5 == "AT LOW" || brgkat5 == "AT MID") &&
                   djointbt_kodewasher2 == 1) ||
                 ((brgkat5 == "SPORT" || brgkat5 == "SPORT HIGH" || brgkat5 == "SPORT LOW" || brgkat5 == "SPORT MID") &&
                   djointbt_kodewasher3 == 1) && (djointbdfastmov == 1 || djointbdlokinti == 1) && brdsisa > 0)

cjalanwasher	djointbt_kodewasher3jalan==1
MAP(mscanbrd_washer)
c1		lbrdsisa2	DO_CALC_IF cconbrdsisa
brdsisprc	lbrdsisprc2	REPLACE_IF cconbrdsisa

DBCALCS(dbscanbrd_washer)
	DBC_COMMAND	SCANSCAN
	DBC_TARGET	brdbbmbrgidx	lbrdnobbm gv_INPG btmcab
	DBC_COND	cjalanwasher
	DBC_SUM_MAP	mscanbrd_washer


/************ TBT master cabang AHASS *********/
DBCALCS(djointbt_antrian)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod            gv_dttabel gv_dttabel21  gt_ahass   lkedatangan  lANTRIAN   btmcab

DBCALCS(djointbt_antrianNASIONAL)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod            gv_dttabel gv_dttabel21  gt_ahass   lkedatangan  lANTRIAN   lNASIONAL

DBCALCS(djointbt_cabrekompart1)
	DBC_COMMAND	JOIN
	DBC_TARGET      tbtdattypkod            gv_dttabel gv_dttabel21  gt_ahass   lCABANGAHASS  lCABREKOMPART   btmcab

DBCALCS(djointbt_cabrekompart2)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod            gv_dttabel gv_dttabel21  gt_ahass   lCABANGAHASS  lCABREKOMPART   lNASIONAL

DBCALCS(djointbt_cablokasilibur1)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod            gv_dttabel gv_dttabel21  gt_ahass   lCABANGAHASS  lCABLOKASILIBUR   btmcab

DBCALCS(djointbt_cablokasilibur2)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod            gv_dttabel gv_dttabel21  gt_ahass   lCABANGAHASS  lCABLOKASILIBUR   lNASIONAL


DBCALCS(djointbt_cablokasishift1)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod            gv_dttabel gv_dttabel21  gt_ahass   lCABANGAHASS  lCABLOKASISHIFT   btmcab

DBCALCS(djointbt_cablokasishift2)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod            gv_dttabel gv_dttabel21  gt_ahass   lCABANGAHASS  lCABLOKASISHIFT   lNASIONAL


DBCALCS(djointbt_cabdgi1)
	DBC_COMMAND	JOIN
	DBC_TARGET      tbtdattypkod            gv_dttabel gv_dttabel21  gt_ahass   lCABANGAHASS  lCABDGI   btmcab

DBCALCS(djointbt_cabdgi2)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod            gv_dttabel gv_dttabel21  gt_ahass   lCABANGAHASS  lCABDGI   lNASIONAL

/********** DGI PKB AUTO *******/
DBCALCS(djointbt_cabdgioto)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod            gv_dttabel gv_dttabel21  gt_ahass   lCABANGAHASS  lCABDGIOTO   lbtmcab

DBCALCS(djoinaktwo)
        DBC_COMMAND     JOIN
        DBC_TARGET      aktkod2typid    lbtmidprsp ldtahass  lantrian1 btmtgl

/*******************************/


DBCALCS(djointbt_cabotomekanik1)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod            gv_dttabel gv_dttabel21  gt_ahass   lCABANGAHASS  lCABOTOMEKANIK   btmcab

DBCALCS(djointbt_cabotomekanik2)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod            gv_dttabel gv_dttabel21  gt_ahass   lCABANGAHASS  lCABOTOMEKANIK   lNASIONAL

DBCALCS(djointbt_cabotopaket1)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod            gv_dttabel gv_dttabel21  gt_ahass   lCABANGAHASS  lCABOTOPAKET   btmcab

DBCALCS(djointbt_cabotopaket2)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod            gv_dttabel gv_dttabel21  gt_ahass   lCABANGAHASS  lCABOTOPAKET   lNASIONAL

MAP(mjointbt_cabshow)
tbtdf1		ltbtdf1_biaya	REPLACE

DBCALCS(djointbt_cabshow)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod            gv_dttabel gv_dttabel21  gt_ahass   lCABANGAHASS  lCABSHOW   btmcab
	DBC_MAP		mjointbt_cabshow

DBCALCS(djointbt_cabsinsen)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod            gv_dttabel gv_dttabel21  gt_ahass   lCABANGAHASS  lCABSINSEN   btmcab


DBCALCS(djointbt_cabtdkkpb1tahun)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod            gv_dttabel gv_dttabel21  gt_ahass   lCABANGAHASS  lCABTDKKPB1TAHUN   btmcab

DBCALCS(djointbt_cabonlykpb1tahun)
         DBC_COMMAND     JOIN
         DBC_TARGET      tbtdattypkod 			gv_dttabel gv_dttabel21 gt_ahass lCABANGAHASS lCABONLYKPB1TAHUN btmcab

DBCALCS(djointbt_cabtdkref)
         DBC_COMMAND     JOIN
         DBC_TARGET      tbtdattypkod 			gv_dttabel gv_dttabel21 gt_ahass lCABANGAHASS lCABTDKREF btmcab
 
DBCALCS(djointbt_cabdptref1)
         DBC_COMMAND     JOIN
         DBC_TARGET      tbtdattypkod 			gv_dttabel gv_dttabel21 gt_ahass lCABANGAHASS lCABDPTREF btmcab

DBCALCS(djointbt_cabdptref2)
         DBC_COMMAND     JOIN
         DBC_TARGET      tbtdattypkod 			gv_dttabel gv_dttabel21 gt_ahass lCABANGAHASS lCABDPTREF lNASIONAL

DBCALCS(djointbt_cabnsspeduli)
         DBC_COMMAND     JOIN
         DBC_TARGET      tbtdattypkod 			gv_dttabel gv_dttabel21 gt_ahass lCABANGAHASS lCABNSSPEDULI btmcab

DBCALCS(djoinakt_cabdgi)
	DBC_COMMAND	JOIN
	DBC_TARGET	aktkodtypidx		btmnobuk lDATADGI

MAP(mdjointbdpromo)
tbddf1       lnominalpromo      REPLACE
tbdlv4       ltbdlv4            REPLACE
tbdtblkode   lcekpromo          REPLACE


DBCALCS(djointbdmasterpromo1)                                                                                                                                                          
        DBC_COMMAND     JOIN 
        DBC_TARGET      tbddatkodidx     lCABPROMO   btmsurveyor    lAKTIF   btmcab
        DBC_MAP         mdjointbdpromo

DBCALCS(djointkdpromomasterji)
        DBC_COMMAND     JOIN
        DBC_TARGET      tkddatbukll     lMSTPROMO       btmnobuk lbrgkat5

DBCALCS(djointkdpromomasterbr)
        DBC_COMMAND     JOIN
        DBC_TARGET     tkddatbukll     lMSTPROMO       btmnobuk ppdbrg

DBCALCS(djointkdpromomasterkat)
        DBC_COMMAND     JOIN
        DBC_TARGET     tkddatbukll     lMSTPROMO       btmnobuk lbrgjaba

MAP(mdscantkdpromo)
gv_int1         ltotaltkd       REPLACE

DBCALCS(dscantkdpromo)
        DBC_COMMAND     SCANSCAN
        DBC_TARGET     tkddatbukll     lMSTPROMO       btmnobuk     
        DBC_SUM_MAP     mdscantkdpromo


MAP(mjointbt_cabpersen) 
tbtdf1         ltbtdf_persen    REPLACE 
tbtkolek       lstatuscab       REPLACE                                                                                                                             

DBCALCS(djointbt_cabpersen)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbtdattypkod            gv_dttemplate lH221 lTMPMASTEROPR   lMASTERPERSENJASA  lMASTERPERSENJASA   btmcab
        DBC_MAP         mjointbt_cabpersen


CALCS()
cadalok1	(ppdlok == BLANKS && ppdjasbrg == "BR" && ppdjmlren != 0 ) 
cadalok2	(ppdhrg == 0 && ppdjasbrg == "BR" && ppdjmlren != 0)  
cadalok3	(ppdjasbrg == "JI" && ppdhrg == 0)
cadalok4	(ppdjasbrg == "BR" && ppdjmlren == 0)
cadalok5	(ppdjasbrg == "BR" && ppdjmlren > 0 && ppdhrg > 0)
cadalok6	(ppdjasbrg == "BR" && ppdhrgbp > 0)
cadalok7	((ppdjasbrg == "JI" || ppdjasbrg == "JE") && ppdhrg > 0) || (ppdjasbrg=="BR" && ppdhrgbp>0)
cadalok8	(ppdjasbrg == "BR" && ppdtybuk2== BLANKS) 
cadalok9	(ppdjasbrg == "BR" && ppdtybuk2== "T") 
cadalok10	(ppdjasbrg == "BR" && ppdtybuk2== "Y") 
cadalok11	((ppdjasbrg == "JI" || ppdjasbrg == "JE") && ppdhrg > 0 && ppdkat == "TUNEUP" && djoinbrgJS == 1 && lbrgjmlmin == 1)
cadalok12	(ppdjasbrg == "BR" && djoinbrg == 1 && lbrgkat4 == "OLI" && lbrgkat5 != "OLI GEAR")
cadalok13	(ppdjasbrg == "BR" && djoinbrg == 1 && lbrgkat4 == "PART" && lbrgkat5 == "WASHER")
cadalok14	(ppdjasbrg == "BR" && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL"))
cadalok15	ppdsup == "AHM"
cadalok16	(ppdjasbrg == "BR" && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 == "OLI GEAR")
cadalok17	((ppdjasbrg == "JI" || ppdjasbrg == "BR") && ppdjml == 0)
cjikaapr	ppdtybuk2== "Y"
cjikaadadetail	(ppdjasbrg == "BR" || ppdjasbrg == "JI" || ppdjasbrg == "JE") && ppdsup != "AHM"
cjikaadadetail2	(ppdjasbrg == "BR" || ppdjasbrg == "JI" || ppdjasbrg == "JE")
cBR	     	ppdjasbrg == "BR"

chppbeda        (ppdjasbrg=="BR" && (ppdtothpp > ((ppdhrg - ppdhrgbp / (1 + (stsperppn/100))) - ppdtotdis)) && ppdjmlren > 0 && djointbdpromo == 0 && djointbd_promoparttdm == 0
                 && djointbdmasterpromo1 == 0)      
cjikaji         ppdjasbrg == "JI"
chitungpromo    ppdjasbrg == "BR" && djoinbrg == 1 && ( lbrgkat4 == "PART" || lbrgkat4 == "TIRE" || lbrgkat4 == "BATT" ) && lbrgkat5 != "WASHER"
csrtpromo       ( ( ppdjasbrg == "JI" && djoinbrgJS == 1  && djointkdpromomasterji == 1 ) || 
                ( ppdjasbrg == "BR" && ( djointkdpromomasterbr == 1 || ( djoinbrg == 1 && djointkdpromomasterkat == 1 ) ) ) )

MAP(mscanppd2)
c1		lok1		DO_CALC_IF cadalok1
c1		lok2		DO_CALC_IF cadalok2
c1		lok3		DO_CALC_IF cadalok3
c1		lok4		DO_CALC_IF cadalok4
c1		lok5		DO_CALC_IF cadalok5
c1		lok6		DO_CALC_IF cadalok6
c1		lok7		DO_CALC_IF cadalok7
c1		lok8		DO_CALC_IF cadalok8
c1		lok9		DO_CALC_IF cadalok9
c1		lok10		DO_CALC_IF cadalok10
c1		lok11		DO_CALC_IF cadalok11
c1		lok12		DO_CALC_IF cadalok12
c1		lok13		DO_CALC_IF cadalok13
c1		lok14		DO_CALC_IF cadalok14
c1		lok15		DO_CALC_IF cadalok15
c1		lok16		DO_CALC_IF cadalok16
c1		lok17		DO_CALC_IF cadalok17
c1		lok18		DO_CALC_IF cjikaji
c1		lhppbeda	DO_CALC_IF chppbeda
ppdperdism	lppdperdism     REPLACE_IF cjikaapr
ppdtotfak	lppdtotfak 	REPLACE_IF cjikaadadetail
ppdjml		lppdjml		REPLACE_IF cjikaadadetail2
ppdjml		lppdjml_BR	REPLACE_IF cBR
ppdhrg          ljmlhrgpromo    REPLACE_IF chitungpromo
c1              lok19           DO_CALC_IF csrtpromo

DBCALCS(dscanppd2)
	DBC_COMMAND	SCANSCAN
	DBC_TARGET	ppdbuk2bbmid btmnobuk
	DBC_LAST_TARGET	ppdbuk2bbmid btmnobuk
	DBC_SUM_MAP	mscanppd2

MAP(mscanbtf)
btfjml          lbtfjml         REPLACE

DBCALCS(dscanbtf)
        DBC_COMMAND     SCANSCAN
        DBC_TARGET      btfbrglokidx btmnobuk
        DBC_LAST_TARGET btfbrglokidx btmnobuk
        DBC_SUM_MAP     mscanbtf


MAP(mjoinakt)
aktjam          laktjam_start   REPLACE

DBCALCS(djoinakt)
        DBC_COMMAND     JOIN
        DBC_TARGET      aktkodtypidx btmkdkms ldtahass lmekstart
        DBC_MAP         mjoinakt

/*MAP(mjointbdapi)
tbdkettype	lkettype	REPLACE
DBCALCS(djointbdapi)
	DBC_COMMAND	JOIN
	DBC_TARGET	tbddatkodidx	gv_dttabel gv_infoumum lCABAPI btmcab
	DBC_MAP		mjointbdapi

MAP(mjoinrtm620)
rtmkode3        lrtmkode3       REPLACE
DBCALCS(djoinrtm620)
        DBC_COMMAND     JOIN
        DBC_TARGET      rtmdatkodtgl    ldtthbl btmdata btmkdsam 
        DBC_MAP         mjoinrtm620*/

MAP(mjoinrmdstrukturh2a)
rmdtotal1		ldiskonoli2	REPLACE

DBCALCS(djoinrmdstrukturh2a)
	DBC_COMMAND	JOIN
	DBC_TARGET      rmdstsgabidx   gv_INPG   lrmdgabpaket1
	DBC_MAP		mjoinrmdstrukturh2a

DBCALCS(djoinrmdstrukturh2b)
	DBC_COMMAND	JOIN
	DBC_TARGET	rmdstsgabidx   gv_INPG   lrmdgabpaket2

DBCALCS(djoinrmdstrukturh2c)
        DBC_COMMAND     JOIN
        DBC_TARGET      rmdstsgabidx   gv_INPG   lrmdgabpaket3
        DBC_MAP         mjoinrmdstrukturh2a

DBCALCS(djoinrmdstrukturh2d)
        DBC_COMMAND     JOIN
        DBC_TARGET      rmdstsgabidx   gv_INPG	lrmdgabpaket4

DBCALCS(djoinrmdstrukturh2f)
        DBC_COMMAND     JOIN
        DBC_TARGET      rmdstsgabidx   gv_INPG  lrmdgabpaket5
        DBC_MAP         mjoinrmdstrukturh2a

MAP(mjoinrmdstrukturh2e)
rmdtotal1	lhasil1hrg_amic		REPLACE
rmdkode2        lrmdkode2               REPLACE                                                                                                                                        


DBCALCS(djoinrmdstrukturh2e)
        DBC_COMMAND     JOIN
        DBC_TARGET      rmdstsgabidx   gv_INPG  lrmdgabamic
	DBC_MAP		mjoinrmdstrukturh2e


MAP(mjoinrmdstrukturh2_asuransi)
rmdtotal1	lhasil1asuransi		REPLACE

DBCALCS(djoinrmdstrukturh2_asuransi1)
        DBC_COMMAND     JOIN
        DBC_TARGET      rmdstsgabidx   gv_INPG  lrmdgabasuransi1
	DBC_MAP		mjoinrmdstrukturh2_asuransi

DBCALCS(djoinrmdstrukturh2_asuransi2)
        DBC_COMMAND     JOIN
        DBC_TARGET      rmdstsgabidx   gv_INPG	lrmdgabasuransi2
	DBC_MAP		mjoinrmdstrukturh2_asuransi

DBCALCS(djoinrmdstrukturh2_Usia)
        DBC_COMMAND     JOIN
        DBC_TARGET      rmdstsgabidx   gv_INPG   lrmdgabUsia

DBCALCS(djoinrmdstrukturh2_Kilo)
        DBC_COMMAND     JOIN
        DBC_TARGET      rmdstsgabidx   gv_INPG   lrmdgabKilo

DBCALCS(djoinrmdstrukturh2_hitungkpb)
        DBC_COMMAND     JOIN
        DBC_TARGET      rmdstsgabidx   gv_INPG   lrmdgabHitungKpb

CALCS()
chrussama      ppdbrg == lrmdkode2

MAP(mhitungpromo)
gv_int1         lppdpromo       REPLACE_IF chrussama

DBCALCS(dscanppdpromo)
        DBC_COMMAND     SCANSCAN
        DBC_TARGET      ppdbuk2bbmid    btmnobuk
        DBC_SUM_MAP     mhitungpromo


CALCS()
ckhusus         dtmnobbm == "KHUSUS"

DBCALCS(djoindmasterpromo) 
        DBC_COMMAND     JOIN
        DBC_TARGET      dtmkodidx btmsurveyor
        DBC_SELECT      ckhusus
               

DBCALCS(djoinrmdpromo) 
        DBC_COMMAND     JOIN
        DBC_TARGET      rmdstskodgab    gv_INPG btmsurveyor     ppdbrg
        DBC_MAP     mjoinrmdstrukturh2e

CALCS()
cdjoinmaster            djoindmasterpromo == 1 && tbdlv4 != BLANKS && tbddf1 != BLANKS

DBCALCS(djointbdmasterpromo)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddtdtmkod     lCABPROMO   btmsurveyor   btmcab
        DBC_SELECT      cdjoinmaster
        DBC_MAP         mdjointbdpromo


/*
MAP(mjoinrmdstrukturh2_PaketOtomatis)
rmdtotal1	lhasil1paket		REPLACE
rmdtotal2	lhasil2paket		REPLACE
rmdtext2	lhasil2paket_txt	REPLACE

DBCALCS(djoinrmdstrukturh2_PaketOtomatis)
        DBC_COMMAND     JOIN
        DBC_TARGET      rmdstsgabidx   gv_INPG   lrmdgabPaket
	DBC_MAP		mjoinrmdstrukturh2_PaketOtomatis
*/

MAP(mjoinrmdstrukturh2_kpbtdm)
rmdtotal1	lhasil1kpbtdm		REPLACE

DBCALCS(djoinrmdstrukturh2_kpbtdm3)
        DBC_COMMAND     JOIN
        DBC_TARGET      rmdstsgabidx   gv_INPG   lrmdgabkpbtdm3
	DBC_MAP		mjoinrmdstrukturh2_kpbtdm

DBCALCS(djoinrmdstrukturh2_kpbtdm4)
        DBC_COMMAND     JOIN
        DBC_TARGET      rmdstsgabidx   gv_INPG   lrmdgabkpbtdm4
	DBC_MAP		mjoinrmdstrukturh2_kpbtdm

DBCALCS(djoinrmdstrukturh2_kpbhso)
        DBC_COMMAND     JOIN
        DBC_TARGET      rmdstsgabidx   gv_INPG   lrmdgabpaket5

DBCALCS(djoinrmdstrukturh2_kpb1tahun_tunai)
    	DBC_COMMAND	JOIN
	DBC_TARGET	rmdstsgabidx   gv_INPG   lrmdgabkpbtunai

CALCS()
ctdkYT		tkdjwbstr1 == BLANKS

MAP(mscantkdRekom)
c1	ltotaltdkYT	DO_CALC_IF ctdkYT

DBCALCS(dscantkdRekom)
	DBC_COMMAND	SCANSCAN
	DBC_TARGET	tkddatbukll	lINFORKMN	btmnobuk
	DBC_SUM_MAP	mscantkdRekom

MAP(mjointlm1473)
tlmnobuk	ltlmnobuk1473	REPLACE

DBCALCS(djointlm1473)
	DBC_COMMAND	JOIN
	DBC_TARGET	tlmdatplgtgl	lDATAAPIH2 btmkdsam	g_tgltrn
	DBC_MAP		mjointlm1473

MAP(mjoinakt_barcode)
aktlok		laktlok_barcode		REPLACE
aktbrg		laktbrg_barcode		REPLACE


DBCALCS(djoinakt_barcode)
	DBC_COMMAND	JOIN
	DBC_TARGET	aktkodtypidx	ltlmnobuk1473	lANT
	DBC_MAP		mjoinakt_barcode

DBCALCS(djointkd1473)
	DBC_COMMAND	JOIN
	DBC_TARGET	tkdbukidx	ltlmnobuk1473

DBCALCS(djointkdLcr)
        DBC_COMMAND     JOIN
        DBC_TARGET      tkddatbukll     lINFOCEKLCR       btmnobuk

DBCALCS(djoinaktReqMeka1)
        DBC_COMMAND     JOIN
        DBC_TARGET      aktkodtypidx    btmnobuk lDTREQMEKA lTAMBAHAN g_tgltrn l000000

DBCALCS(djoinaktReqMekanik)
        DBC_COMMAND     JOIN
        DBC_TARGET      aktkodtypidx    btmnobuk lDTREQMEKA

MAP(mjoinaktmemo)
aktdk		laktdk_memo	REPLACE

DBCALCS(djoinaktmemo)
	DBC_COMMAND	JOIN
	DBC_TARGET	aktkodtypidx	btmsurveyor lTMPPROMOVC
	DBC_MAP		mjoinaktmemo

DBCALCS(djointbdcabpromo)
	DBC_COMMAND	JOIN
	DBC_TARGET	tbddatkodidx   lTMPPROMOVC btmsurveyor lCABANGPROMO btmcab

MAP(mjoinsvi)
svidf1		ljmluplstnk	REPLACE
sviket		lcabinstansistnk	REPLACE

DBCALCS(djoinsvi)
	DBC_COMMAND	JOIN
	DBC_TARGET	svidatbuktyp	btmdata btmnobuk lfotostnk11
	DBC_MAP		mjoinsvi

MAP(mjointlmGC)
tlmuntuk	lgc_instansi	REPLACE

DBCALCS(djointlmGC)
	DBC_COMMAND	JOIN
	DBC_TARGET	tlmbukidx	btmnokk
	DBC_MAP		mjointlmGC

MAP(mjointkmFP)
tkmlokjl	lurusFP		REPLACE
tkmsts		ltkmsts		REPLACE

DBCALCS(djointkmFP)
	DBC_COMMAND	JOIN
	DBC_TARGET	tkmdtkdstlok	lfktpjk btmnobuk
	DBC_MAP		mjointkmFP

MAP(mjoinsviFP_fotoktp)
svidf1		luplFP_fotoktp	REPLACE

DBCALCS(djoinsviFP_fotoktp)
	DBC_COMMAND	JOIN
	DBC_TARGET	svidatkodtyp	lfktpjk btmnobuk lfotoktp
	DBC_MAP		mjoinsviFP_fotoktp

MAP(mjoinsviFP_fotonpwp)
svidf1		luplFP_fotonpwp	REPLACE

DBCALCS(djoinsviFP_fotonpwp)
	DBC_COMMAND	JOIN
	DBC_TARGET	svidatkodtyp	lfktpjk btmnobuk lfotonpwp
	DBC_MAP		mjoinsviFP_fotonpwp

MAP(mjointlm416_last)
tlmnobuk        ltlmnobuk416_last	REPLACE
tlmsts		ltlmsts416_last		REPLACE
DBCALCS(djointlm416_last)
	DBC_COMMAND	JOIN_LAST_SFL
	DBC_TARGET      tlmdatplgtgl    lSPAREPARTG ppdnomst2
	DBC_MAP		mjointlm416_last        

DBCALCS(djointlm416_abk)
        DBC_COMMAND     JOIN
        DBC_TARGET      tlmbukidx	ltlmnobuk416_abk

CALCS()
csparepartg	tlddata == "SPAREPARTG"
chnyBRnoVOID	ppdjasbrg == "BR" && ppdsts != "VOID"

MAP(mjointld416)
tldnourt	lnourt416	REPLACE
DBCALCS(djointld416)
	DBC_COMMAND     JOIN_LAST_SFL
        DBC_TARGET      tldbukurtidx    ltlmnobuk416_last
        DBC_SELECT      csparepartg
        DBC_MAP         mjointld416

MAP(mscanppd_6d)
gv_int1		lrecordppd_6d	REPLACE
DBCALCS(dscanppd_6d)
	DBC_COMMAND	SCANSCAN
	DBC_TARGET	ppdbuk2bbmid	btmnobuk
	DBC_SELECT	chnyBRnoVOID
	DBC_SUM_MAP	mscanppd_6d

MAP(mscanakt_6d)
gv_int1		lrecordakt_6d	REPLACE
DBCALCS(dscanakt_6d)
	DBC_COMMAND	SCANSCAN
	DBC_TARGET	aktkodtypidx	btmnobuk lUBAHBRG6D_11 lUBAHBRG6D_21
	DBC_SUM_MAP	mscanakt_6d

MAP(mjoinsgmADMPART)
sgmstr5         lnipADMPART	REPLACE
DBCALCS(djoinsgmADMPART)
        DBC_COMMAND     JOIN
        DBC_TARGET      sgmdatstrbrg    gv_dtpiccab lH2 lADMPART lthbl btmcab
        DBC_MAP         mjoinsgmADMPART

MAP(mjoinsgmKABENG)
sgmstr5         lnipAHASSKABENG		REPLACE
DBCALCS(djoinsgmKABENG)
        DBC_COMMAND     JOIN
        DBC_TARGET      sgmdatstrbrg    gv_dtpiccab lH2 lAHASSKABENG lthbl btmcab
        DBC_MAP         mjoinsgmKABENG

MAP(mjoinsgmSA)
sgmstr5         lnipAHASSSA	        REPLACE
DBCALCS(djoinsgmSA)
        DBC_COMMAND     JOIN
        DBC_TARGET      sgmdatstrbrg    gv_dtpiccab lH2 lAHASSSA lthbl btmcab
        DBC_MAP         mjoinsgmSA

MAP(mjoinsgmFD)
sgmstr5         lnipAHASSFD         REPLACE
DBCALCS(djoinsgmFD)
        DBC_COMMAND     JOIN
        DBC_TARGET      sgmdatstrbrg    gv_dtpiccab lH2 lAHASSFD lthbl btmcab
        DBC_MAP         mjoinsgmFD

MAP(mjoinsgmADH)
sgmstr5         lnipADH		REPLACE
DBCALCS(djoinsgmADH)
        DBC_COMMAND     JOIN
        DBC_TARGET      sgmdatstrbrg    gv_dtpiccab lH2 lADH lthbl btmcab
        DBC_MAP         mjoinsgmADH

MAP(mjoinsgmADHDCA)
sgmstr5         lnipADHDCA         	REPLACE
DBCALCS(djoinsgmADHDCA)
        DBC_COMMAND     JOIN
        DBC_TARGET      sgmdatstrbrg    gv_dtpiccab lH2 lADHDCA lthbl btmcab
        DBC_MAP         mjoinsgmADHDCA
CALCS()
/*cabkkym20	abkkym2 == lket620*/
cabkkymKABENG	abkkym2 == lket620 && abknoll == "AHASSKABENG"
cabkkymSA	abkkym2 == lket620 && abknoll == "AHASSSA"
cabkkymFD	abkkym2 == lket620 && abknoll == "AHASSFD"

/*DBCALCS(djoinabkADHmstr)
	DBC_COMMAND	JOIN
	DBC_TARGET	abkdatbukidx    lKUNCIABSEN btmnobuk
	DBC_SELECT	cabkkym20*/

DBCALCS(djoinabkKABENGmstr)
        DBC_COMMAND     JOIN
        DBC_TARGET      abkdatbukidx    lKUNCIABSEN btmnobuk
        DBC_SELECT      cabkkymKABENG

DBCALCS(djoinabkSAmstr)
        DBC_COMMAND     JOIN
        DBC_TARGET      abkdatbukidx    lKUNCIABSEN btmnobuk
        DBC_SELECT      cabkkymSA

DBCALCS(djoinabkFDmstr)
        DBC_COMMAND     JOIN
        DBC_TARGET      abkdatbukidx    lKUNCIABSEN btmnobuk
        DBC_SELECT      cabkkymFD

DBCALCS(djointbdCAB416)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddatkodidx    gv_dttabel gv_infoumum lCAB416 btmcab

DBCALCS(djointbdNAS416)
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddatkodidx    gv_dttabel gv_infoumum lCAB416 lNAS

MAP(mjoinppmtotfak)
ppmtotfak 	lppmtotfak	REPLACE
DBCALCS(djoinppmtotfak)
	DBC_COMMAND	JOIN
	DBC_TARGET	ppmbukidx   btmkdkms
	DBC_MAP		mjoinppmtotfak

DBCALCS(djoinabk416)
	DBC_COMMAND	JOIN
	DBC_TARGET	abkdatbukidx   lKUNCIABSEN ltlmnobuk416_abk

CALCS()
chadir		abdjam1 != BLANKS && abdtype == "DATANG"

DBCALCS(djoinabdADMPART)
        DBC_COMMAND     JOIN
        DBC_TARGET      abdkymtglidx    lnipADMPART g_tgltrn
        DBC_SELECT      chadir

DBCALCS(djoinabdKABENG)
        DBC_COMMAND     JOIN
        DBC_TARGET      abdkymtglidx    lnipAHASSKABENG g_tgltrn
        DBC_SELECT      chadir

DBCALCS(djoinabdSA)
        DBC_COMMAND     JOIN
        DBC_TARGET      abdkymtglidx    lnipAHASSSA g_tgltrn
        DBC_SELECT      chadir

DBCALCS(djoinabdFD)
        DBC_COMMAND     JOIN
        DBC_TARGET      abdkymtglidx    lnipAHASSFD g_tgltrn
        DBC_SELECT      chadir
	
DBCALCS(djoinabdADH)
        DBC_COMMAND     JOIN
        DBC_TARGET      abdkymtglidx    lnipADH g_tgltrn
        DBC_SELECT      chadir

MAP(mscantlm416)
gv_int1		lrecordtlm416	REPLACE
DBCALCS(dscantlm416)
	DBC_COMMAND	SCANSCAN
	DBC_TARGET	tlmdatplgtgl    lSPAREPARTG btmnobuk
	DBC_SUM_MAP	mscantlm416

DBCALCS(djoinbtfupd)
        DBC_COMMAND     JOIN
        DBC_TARGET      btfbrglokidx    ppdnomst2       ppdbrg  ppdlok  ppdoto

MAP(mcabapi2)                                                                                                                                                                          
tbddf1                  ltbddfapi1      REPLACE
tbddf6                  ltbddfapi2      REPLACE
tbddf10                 ltbddfapi3      REPLACE
tbdkettype              ltbdkettype     REPLACE

DBCALCS(djoincabapi2)   
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddatkodidx    gv_dttabel      gv_infoumum     lCABAPIV2       btmcab
        DBC_MAP         mcabapi2

DBCALCS(djoincabapi3)   
        DBC_COMMAND     JOIN
        DBC_TARGET      tbddatkodidx    gv_dttabel      gv_infoumum     lCABAPIV2       btmcab
        DBC_MAP         mcabapi2




MAP(mdjoinftmpkb)
ftmnourt                lftmnourt       REPLACE
DBCALCS(djoinftmpkb)
        DBC_COMMAND     JOIN
        DBC_TARGET      ftmstsfakidx    gv_INPG ltlmnobuk       ppdbrg        
        DBC_MAP         mdjoinftmpkb

MAP(mdjointlmpkb)
tlmnobuk                ltlmnobuk       REPLACE

DBCALCS(djointlmpkb)
        DBC_COMMAND     JOIN
        DBC_TARGET      tlmdatstsasl    lDATAAPIH2      gv_CLSD btmnobuk
        DBC_MAP         mdjointlmpkb

MAP(maktEstPeng)
        aktjam          lWktEstPeng     REPLACE

DBCALCS(djoinaktEstPeng)        
        DBC_COMMAND     JOIN
        DBC_TARGET      aktbrgtglidx    btmnobuk gv_dtahass lEstPengType btmtgl                                                                                                        
        DBC_MAP         maktEstPeng

DBCALCS(djoinakt_promolcr)
        DBC_COMMAND     JOIN
        DBC_TARGET      aktbrgtglidx    lastnorangka     lPROMOLCR11      lPROMOLCR
/*
DBCALCS(djoinakt_sdhlcr)
        DBC_COMMAND     JOIN
        DBC_TARGET      aktkod2typid    lastnomesin 	lDTLCRTREAT11 	lDTLCRTREAT
*/

DBCALCS(djoinakt_sdhlcr1)                                                                                                                                                              
        DBC_COMMAND     JOIN
        DBC_TARGET      aktkod2typid    lastnomesin lDTLCRTREAT11 lTREATMENT

DBCALCS(djoinakt_sdhlcr2)
        DBC_COMMAND     JOIN
        DBC_TARGET      aktkod2typid    lastnomesin lDTLCRTREAT11 lREPLACEMENT



CALCS()
cmasihopen      (btmsts =="OPEN" && btmnobuk != BLANKS && djoinppdu == 1 && 
		(dscanppd2 >= 0 && dscanbtf >= 0 && lok1 == 0 && lok2 == 0 && lok3 == 0 && lok17 == 0 && lhppbeda == 0 && lppdjml_BR == lbtfjml &&
		(((lok6 > 0 || (lok5 > 0 && lok7 > 0)) && djoindtm2 == 1 && ltipepaket == 1) ||
		(lok7 > 0 && djoindtm2 == 1 && ltipepaket == 2) ||
		(lok11 > 0 && djoindtm2 == 1 && ltipepaket == 3) ||
		(lok14 > 0 && djoindtm2 == 1 && ltipepaket == 4))
		&& lok8 == 0 && (lok10 > 0 || (lok10 == 0 && djoindtm2 == 1 && (ltipepaket == 2 || ltipepaket == 3)))))
		&& (((djointbt_cabrekompart1 == 1 || djointbt_cabrekompart2 == 1) && dscantkdRekom >= 0 && ltotaltdkYT == 0) ||
		    (djointbt_cabrekompart1 == 0 && djointbt_cabrekompart2 == 0))
		&& djoinket == 1 
		&& ((djointbd_nomesinesaf == 1 && btmrekomen != "KPB" && btmrekomen != "KPBSINSEN" && btmrekomen != "KPBNSS" && djointkdLcr == 1) ||
		    (btmrekomen == "KPB" || btmrekomen == "KPBSINSEN" || btmrekomen == "KPBNSS") ||
                    (djointbd_nomesinesaf == 0))
		&& ((dbscanbrd_washer == 1 || dbscanbrd_washer == 0) && (lbrdsisa2 > 0 && lbrdsisprc2 > 0
		&& ((btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 > 0 && lok13 > 0) || 
		    (btmwrn == "PKTSERVICEKPB1" || btmwrn == "PKTSHOWROOMEVENT") ||
		    (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 == 0 && lok13 > 0) ||
		    (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok12 == 0) ||
		    (btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && lok13 > 0)) && djointbd_promooli5 == 0) || 
		    (lbrdsisa2 > 0 && lbrdsisprc2 == 0) || (lbrdsisa2 ==0) || djointbd_promooli5 == 1)

		&& ((btmstr2 == "CLAIM" && ( btmtypdeb == "INSTANSI" || btmtypdeb == "GARANSI" ) && djointkdSpk == 1) || 
		   ((btmstr2 == "CLAIM" && btmtypdeb == "INSTANSI" && (djointkdSpk == 1 && lytgc != "Y") && djointkmFP == 1 && ((lurusFP == "Y" && djoinsviFP_fotoktp == 1 
		&& luplFP_fotoktp > 0 && djoinsviFP_fotonpwp == 1 && luplFP_fotonpwp > 0) || lurusFP == "T")) || (djointkdSpk == 1 && lytgc == "Y")) ||
		   (btmstr2!="CLAIM" && btmtypdeb!="INSTANSI") || (btmstr2 == "CLAIM" && btmtypdeb != "GARANSI" && btmtypdeb != "INSTANSI"))
		&& ((btmstr2 == "TAMBAHAN" && djoinaktReqMeka1 == 1) && (djointbt_cabotomekanik1 == 1|| djointbt_cabotomekanik2 == 1) || 
		   (btmstr2 != "TAMBAHAN") || (djointbt_cabotomekanik1 == 0 && djointbt_cabotomekanik2 == 0))
		&& ((djoindtm_voucher == 1 && lok12 > 0 && lok16 > 0 && djointbd_promooli6 == 1) ||
		    (djoindtm_voucher == 1 && lok12 > 0 && djointbd_promooli6 == 0) ||
		    (djoindtm_voucher == 0 && djointbd_promooli6 == 0))
                && ( 
                     ( djointbdmasterpromo == 1 && lcekpromo == "AKTIF" && ljmlhrgpromo >= lnominalpromo && ( dscantkdpromo >= 0 && ltotaltkd == lok19 ) )  || 
                     (djointbdmasterpromo == 0 )
                   )

cbknOPEN1       btmsts != "OPEN"
/*cbknOPEN2       (btmperbns < 1 && btmwrn == "PKTSERVICEKPB") || (btmperbns < 1 && btmwrn != "PKTSERVICEKPB")*/
cbknOPEN2       ((dscanppd2 >= 0 && lhppbeda > 0) && djointbdpromo == 0)
cbknOPEN3       djoinket == 0                                                           
cbknOPEN4       btmnobuk != BLANKS && btmstsdata == "OK" && (dscanppd2 == 1 || dscanppd2 == 0) && lok1 > 0
cbknOPEN5       btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok2 > 0
cbknOPEN6       btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok3 > 0
cbknOPEN6a      btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok17 > 0
cbknOPEN7       btmnobuk != BLANKS && dscanppd2 >= 0 && dscanbtf >= 0 && lppdjml_BR != lbtfjml
cbknOPEN8       btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok6 == 0 && (lok5 == 0 || lok7 == 0) && 
		djoindtm2 == 1 && ltipepaket != 2 && ltipepaket != 3

cbknOPEN9       btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && (lok5 == 0 || lok7 == 0) && djoindtm2 == 1 && 
		ltipepaket != 2 && ltipepaket != 3

cbknOPEN10      btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok8 > 0 && btmstsdata  == "OK"
cbknOPEN11      btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok10 == 0 && btmstsdata == "OK" && 
		djoindtm2 == 1 && ltipepaket != 2 && ltipepaket != 3

cbknOPEN12      btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok7 == 0 
cbknOPEN13      btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok11 == 0 && djoindtm2 == 1 && ltipepaket != 1 && ltipepaket != 2
		&& ltipepaket != 4
cbknOPEN16	((djointbt_cabrekompart1 == 1 || djointbt_cabrekompart2 == 1) && dscantkdRekom >= 0 && ltotaltdkYT > 0)
cbknOPEN17	btmstr2 == "CLAIM" && ( btmtypdeb == "INSTANSI" || btmtypdeb == "GARANSI" ) && djointkdSpk == 0

cbknOPEN18	(btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && (dbscanbrd_washer == 1 || dbscanbrd_washer == 0) &&
		lbrdsisa2 > 0 && lbrdsisprc2 > 0 && lok12 > 0 && lok13 == 0 && btmwrn!="PKTSERVICEKPB1" && btmwrn != "PKTSHOWROOMEVENT" && 
		djointbd_promooli5 == 0)
	
cbknOPEN19	((btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok14 == 0 && djoindtm2 == 1 && ltipepaket != 1 && 
		ltipepaket != 2 && ltipepaket != 3) ||
		(btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok12 == 0 && djoindtm_voucher == 1) ||
		(btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok12 == 0 && djoinrmdstrukturh2_kpbhso == 1 && g_grpnam == "TUTUP"))

cbknOPEN20	(btmsts == "OPEN" && btmrekomen != "KPB" && btmrekomen != "KPBSINSEN" && btmrekomen != "KPBNSS" && djointbd_nomesinesaf == 1 && djointkdLcr == 0)

cbknOPEN21	(btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lok16 == 0 && djointbd_promooli6 == 1)

cbknOPEN22	(btmstr2 == "TAMBAHAN" && djoinaktReqMeka1 == 0 && (djointbt_cabotomekanik1 == 1 || djointbt_cabotomekanik2 == 1))
cbknOPEN23	(btmtgl >= 20240603 && (djointkdSpk == 1 && lytgc != "Y")) && djointkmFP == 0
cbknOPEN24	(btmtgl >= 20240603 && (djointkdSpk == 1 && lytgc != "Y")) && djointkmFP == 1 && lurusFP == "Y" && djoinsviFP_fotoktp == 1 && luplFP_fotoktp == 0
cbknOPEN24a	(btmtgl >= 20240603 && (djointkdSpk == 1 && lytgc != "Y")) && djointkmFP == 1 && lurusFP == "Y" && djoinsviFP_fotonpwp == 1 && luplFP_fotonpwp == 0
cbknOPEN25	(btmtgl >= 20240612 && btmsoa == "GC" && (djoinsvi == 0 || (djoinsvi == 1 && ljmluplstnk == 0))) && g_grpnam == "TUTUP"
cbknOPEN26	(btmtgl >= 20240612 && btmsoa == "GC" && djointlmGC == 1 && lgc_instansi == "GC_MBM" && djoinsvi == 1 && lcabinstansistnk == BLANKS) && g_grpnam == "TUTUP"
cbknOPEN27      djointbdmasterpromo == 1 && lcekpromo == BLANKS
cbknOPEN28      djointbdmasterpromo == 1 && dscanppd2 >= 0 && ljmlhrgpromo < lnominalpromo
cbknOPEN29      ltotaltkd != lok19

IMAGE(master)
/-----------------------------------\
 /---------------------------------\ 
 | i.NoBuk   :_______________  ___ |_
 | t.noWO    :____________________ |
 | t.IniBukanBuktiPembayaran       | 
 | i.Sts     :_________  ____      |
 | i.Tgl     :_________            |
 | i.Cab     :___________________  |
 | t.usr     :____________________ |
 | t.Mekanik :____________t.Pmt___ |
 | t.TypKtp  :___  _______________ |
 | t.Tipe2   :___________________  |
 | t.Tipe3   :___________________  |
 | i.NoPol   :____________________ |
 | t.Nama    :____________________ |
 | t.NoHP    :____________________ |
 | t.NmBrg   :___________________  | _
 | t.Series  :___________ ________ |
 | t.IniBukanBuktiPembayaran       | 
 | t.KmN     :___________          |
 | t.KmT     :___________          | _
 | t.Ind     :____________  	   |
 | t.Ked     :__________________   |
 | t.Als     :__________________   |
 | t.PrmIn   :___________________  |
 | t.KdP     :__________________   |
 | t.SubPkt  :__________________   |
 | t.NoSer   :__________________   |
 | t.PilGntiPart             ___   |
 | t.NoFak   :___________________  |
 | t.Estimasi:___________________  |
 | t.EstPeng :___________________  |
 | t.IniBukanBuktiPembayaran       | 
 |            _______              |
 \---------------------------------/
 /---------------------------------\
 | _____________  ______________   |
 | _____________  ______________   | 
 | _____________                   |
 \---------------------------------/ 
 t.WajibTbhDtlCetakFktPjk
\-----------------------------------/

FIELD(master)
btmnobuk        PROTECT                 INPUTRI 1  /* Nobuk   */
btmnoantri      PROTECT                 INPUTRI 2  /* Status */
btmdata         PROTECT QPROTECT UNSEEN INPUTRI 3  /* Data */
btmidprsp       PROTECT                 INPUTRI 3
btmsts          PROTECT                 INPUTRI 4  /* Status */
btmstsdata      PROTECT                 INPUTRI 5  /* Status 2*/
btmtgl          PROTECT {DD-MM-YY}      INPUTRI 6  /* Tanggal Transaksi */
btmcab          ALLCAPS SCROLL          INPUTRI 7  /* Cabang */
btmnopj		PROTECT			INPUTRI	8  /* NIP User */
btmsales	PROTECT			INPUTRI	8  /* NIP Mekanik */
lpmtmekanik	PROTECT			INPUTRI 8  /* PMT Mekanik */
btmbichek	NOCHANGE		INPUTRI	9  /* Type KTP */
lketbtmbichek	PROTECT			INPUTRI	10 /* Ket Type KTP */
btmstr2         NOCHANGE                INPUTRI 11  /* Jenis */
btmtypdeb       NOCHANGE                INPUTRI 12 /* Jenis claim */
btmkdsam        ALLCAPS NOSPACE         INPUTRI 13 /* Nopol */
btmass    	ALLCAPS			INPUTRI 14 /* Nama Konsumen*/
btmjnsdeb	NUMERIC NOSPACE		INPUTRI	15 /* Nomor Hp */
btmtypmtr       ALLCAPS SCROLL          INPUTRI 16 /* Tipe motor */
lnamabarang     ALLCAPS SCROLL          INPUTRI 17 /* Nama Barang */
btmtypmtr2	PROTECT SCROLL		INPUTRI 18 /* SERIES MOTOR */
btmbisnis	PROTECT			INPUTRI	18 /* SEGMEN MOTOR */
btmdf2          ALLCAPS SCROLL         	INPUTRI 19 /* Kilo Meter Sekarang*/
btmsubtot       PROTECT                 INPUTRI 20 /* kilo meter berikutnya*/
btmdf1          PROTECT UNSEEN          INPUTRI 21 /* Kilo Meter awal*/
btmdvsjl        ALLCAPS                 INPUTRI 22 /* Indikator bensin*/
btmsoa          ALLCAPS                 INPUTRI 23 /* Tipe kedatangan*/
btmmakelar      ALLCAPS                 INPUTRI 24 /* alasan ke ahass*/
linfokpbnss	PROTECT			INPUTRI	25 /* Promo Internal */
btmsurveyor     ALLCAPS SCROLL          INPUTRI 26 /* Kode Promo */
btmrekomen	ALLCAPS			INPUTRI 27 /* Sub Paket */
btmwrn          ALLCAPS                 INPUTRI 28 /* No KPB */
btmtdjadi       NOCHANGE                INPUTRI 29 /* Pergantian Part */
btmkdkms        PROTECT                 INPUTRI 30 /* No Faktur */
lwaktuest       PROTECT                 BIG     31 /* Waktu Estimasi Selesai Service*/
lwaktuest2      PROTECT                 BIG     31 /* Waktu Estimasi Selesai Service*/
lENTER		NOCHANGE		INPUTRI	32
ltomdet_d       TOMBOL                  INPUTRI 32 /* Tombol Detil */
ltomdet_2d      TOMBOL                  INPUTRI 33 /* Tombol Detil */
ltomdet_3d      TOMBOL                  INPUTRI 34 /* Tombol Detil */
ltomdet_4d	TOMBOL			INPUTRI	35 /* Tombol Detil */
ltomdet_5d	TOMBOL			INPUTRI	35 /* Tombol Detil */


CALCS()
cgsglcab1       g_sglcab == 1
cOld            btmytbiro=="O" && btmplg !="" && lnamabarang != ""
cjikaclaim	(btmstr2 == "CLAIM" || btmstr2 == "CLAIM_ESAF")
cSPKSALES       btmsoa == "SPKSALES"
cthbl           THBLS(g_tgltrn)
cthbl1		THBLS(lppmtglfak)
cdjointbd_typdatang1	djointbd_typdatang1 == 1
csdhJtp		((ltanggalJtp >= g_tgltrn) && (btmsoa == "AHASS EVENT" || btmsoa == "SERVICE VISIT")) ||
		((ltanggalJtp < g_tgltrn) && btmsoa == "AHASS EVENT" && btmsurveyor == BLANKS) ||
		(btmsoa == "SERVICE VISIT" && btmsurveyor == BLANKS) ||
		((btmsoa != "AHASS EVENT" && btmsoa != "SERVICE VISIT") && btmsurveyor == BLANKS)
cdjointmp_promokpb	djointmp_promokpb == 1

DEFAULT(master)
lthbl		INIT		{cthbl}
lCABAPIV2       INIT            CABAPIV2
lsatu           INIT            "1"
ldua            INIT            "2"
lAHASS          INIT            AHASS
lWASHER		INIT		WASHER
lINFOSARAN      INIT            INFOSARAN
lENTER		INIT		ENTER
lSYSTIME       	INIT		SYSTIME
lscrnum        	INIT            2532
lscrstr        	INIT            2532
lSPKINSTAN     	INIT	  	SPKINSTAN
lbengkel       	INIT            BENGKEL
ldtahass       	INIT		DTAHASS
lpromoahsa     	INIT            PROMOAHS
ljasaa         	INIT            JASA
lSPK	       	INIT		SPK
lsvpromoa      	INIT            SVPROMO
lSPKGARANSI     INIT    	SPKGARANSI
lSPKGARANSI21   INIT    	SPKGARANSI
btmdata        	INIT            AHASS
btmdata        	INIT_QUERY      AHASS
btmsts         	INIT_ADD        OPEN
btmtgl         	INIT_ADD        {g_tgltrn}
btmtgl         	INIT_QUERY      {g_tgltrn}
IF cgsglcab1   	btmcab   INIT   {g_grpcab}
btmnopj        	INIT_ADD	{g_usrkode}
btmnopj	       	INIT_UPDATE	{g_usrkode}
ltrans	       	INIT		PIL1
ltransg1       	INIT		PIL2
ltransg2       	INIT		PIL5
ltransg7       	INIT		PIL6
ln1            	INIT	 	2
ln2            	INIT		3 
ln5	       	INIT		5
lJASA          	INIT		JASA
lJASAIN	       	INIT		JASAIN
btmbichek      	DFALT_SCAN_BLANK  1 "PERORANGAN"
				  2 "INSTANSI"
btmstr1        	DFALT_LIST        TDK   YA

btmstr2        	DFALT_SCAN_BLANK  BO_KLIK
				  BOOKING
			    	  REGULER
				  JOB_RETURN
                            	  CLAIM
				  CLAIM_ESAF
                            	  TAMBAHAN

btmtypdeb      	DFALT_SCAN_BLANK  INSTANSI
			    	  GARANSI
				  VOUCHER

btmdvsjl       	DFALT_SCAN_BLANK
                                25%
                                50%
                                75%
                                100%

btmtdjadi      	DFALT_SCAN_BLANK
                                1 "KONFIRM CUST,VIA TLP"
                                2 "LANGSUNG DIKERJAKAN"

ldata           INIT        TMPPROMO
lTMPPROMOVC	INIT	    TMPPROMOVC
lCABANGPROMO	INIT	    CABANGPROMO
ltomdet_d       INIT        "1d. Detil Servis"
ltomdet_2d      INIT        "2d. Informasi"
ltomdet_3d      INIT        "3d. Detail Info"
ltomdet_4d      INIT        "4d. Cetak Fkt Pajak"
ltomdet_5d      INIT        "5d. Ubh Ambil Barang"
ltomdet         INIT        "d.UntukMelihatDetil"
lbts1           INIT        0
lbts3           INIT        0
lahass		INIT	    AHASS
lahass11	INIT	    AHASS
lalasan		INIT	    ALASAN
lkedatangan	INIT	    KEDATANGAN
lkedatangan1	INIT	    KEDATANGAN1
lkedatangan2	INIT	    KEDATANGAN2
lTYPDATANG	INIT	    TYPDATANG
lPROMOKPB1	INIT	    PROMOKPB1
lPROMOOLI	INIT	    PROMOOLI
lPROMOOLI2	INIT	    PROMOOLI2
lPROMOOLI3	INIT	    PROMOOLI3
lPROMOOLI4	INIT	    PROMOOLI4
lPROMOOLI5	INIT	    PROMOOLI5
lPROMOOLI6	INIT	    PROMOOLI6
lPROMOJASA	INIT	    PROMOJASA
lMASTERPROMOAHS	INIT	    MASTERPROMOAHS
lPROMOPARTTDM	INIT	    PROMOPARTTDM
lPROMOHITAM  	INIT	    PROMOHITAM  
lPROMOPARTLCR	INIT	    PROMOPARTLCR
lPAKETOTOKILO	INIT	    PAKETOTOKILO
btmdvs          INIT	    H2
btmdvs		INIT_UPDATE H2
lpktahass	INIT	    PKTAHASS
l4579		INIT 	    4579
l4573		INIT 	    4573
l4883		INIT	    4883
lm4883		INIT	    "m4883"
lm4579		INIT	    "m4579"
lm4579a		INIT	    "m4579a"
lm4579b		INIT	    "m4579b"
btmscr		INIT	    {g_scrnumstr}
lspm		INIT	    "SPM"
lpaket		INIT	    PAKET
lKATBRGPAKET	INIT	    KATBRGPAKET
lPIUASTRA	INIT	    PIUASTRA   
lmekstart	INIT	    MEKANIKSTART
l0000		INIT	    0000
lenter		INIT	    ENTER
lANTRIAN	INIT        ANTRIAN
lasset		INIT	    ASSET
lRO		INIT	    RO
lROKPB		INIT	    ROKPB
lRONONKPB	INIT	    RONONKPB
lINFOPEMBW	INIT	    INFOPEMBW
lINFOKNTR	INIT	    INFOKNTR
lPKT		INIT	    PKT
lH2		INIT	    H2
lJI		INIT	    JI
lCABAPI		INIT	    CABAPI
ldtthbl         INIT        {cdtthbl}
lTMPINFOAHASS	INIT	    TMPINFOAHASS
lTMPINFOAHASS2	INIT	    TMPINFOAHASS2
lTYPDATANG1	INIT	    TYPDATANG1
lTYPDATANG2	INIT	    TYPDATANG2
lTYPDATANG3	INIT	    TYPDATANG3
lMOTORGRATISOLI	INIT	    MOTORGRATISOLI
lNOMESINESAF	INIT	    NOMESINESAF
lVERSI		INIT	    04082026
lADMPART	INIT	    ADMPART
lINFORKMN	INIT	    INFORKMN
lINFOCEKLCR	INIT	    INFOCEKLCR
lINFOLPART	INIT	    INFOLPART
lK		INIT	    K
lDTAHASS	INIT	    DTAHASS
lSERVICE	INIT	    SERVICE
lPAKETSERVICE	INIT	    PAKETSERVICE
lkodert		INIT	    KODERT
lPSMAHASS	INIT	    PSMAHASS
lPSMKTP  	INIT	    PSMKTP  
lCABANGAHASS    INIT        CABANGAHASS
lCABREKOMPART   INIT        CABREKOMPART
lCABLOKASILIBUR INIT        CABLOKASILIBUR
lCABLOKASISHIFT	INIT        CABLOKASISHIFT
lCABSHOW	INIT	    CABSHOW
lCABSINSEN	INIT	    CABSINSEN
lCABDGI		INIT	    CABDGI
lCABDGIOTO	INIT	    CABDGIOTO
lCABOTOMEKANIK	INIT	    CABOTOMEKANIK
lCABOTOPAKET  	INIT	    CABOTOPAKET  
lCABTDKKPB1TAHUN INIT	    CABTDKKPB1TAHUN
lCABONLYKPB1TAHUN INIT	    CABONLYKPB1TAHUN
lCABNSSPEDULI   INIT	    CABNSSPEDULI   
lNASIONAL	INIT	    NASIONAL
lPARTSPM	INIT	    PARTSPM
lBLANKS		INIT	    BLANKS
lTELP		INIT	    TELP
lTELPAHS	INIT	    TELPAHS
lHLVOUCHER      INIT        HLVOUCHER
lKODEWASHERCUB		INIT	KODEWASHERCUB
lKODEWASHERMATIC	INIT	KODEWASHERMATIC
lKODEWASHERSPORT	INIT	KODEWASHERSPORT
lEVENT			INIT	EVENT
ln1i			INIT    1
ln2i			INIT    2
l1			INIT    1
lN			INIT    "N"
lADDSERVIS		INIT	ADDSERVIS
lPARTPERMOTOR		INIT	PARTPERMOTOR
lFASTMOVING		INIT	FASTMOVING
lLOKAHASS		INIT	LOKAHASS
lMASTERWASHER		INIT	MASTERWASHER
lMASTERAMIC  		INIT	MASTERAMIC
lMASTERJASAESAF		INIT	MASTERJASAESAF
lKODEJASAESAF1		INIT	KODEJASAESAF1
lKODEJASAESAF2		INIT	KODEJASAESAF2
lJASACEKESAF		INIT	JASACEKESAF
lDATAAPIH2		INIT	DATAAPIH2
lbrdnobbm		INIT	141.02.1001
lDATADGI		INIT	DATADGI
lDTREQMEKA		INIT	DTREQMEKA
lTAMBAHAN		INIT	TAMBAHAN
lREQUEST		INIT	REQUEST
l000000			INIT	000000
lfotostnk11		INIT	FOTOSTNK
lfotostnk21		INIT	FOTOSTNK
lPMTMEKA		INIT	PMTMEKA
lPMTMEKA21		INIT	PMTMEKA
lPROMOTDM		INIT	PROMOTDM
lPROMOTDM4		INIT	PROMOTDM4
lDTKPBAHS               INIT    DTKPBAHS
lUPLOADPROMO1		INIT	UPLOADPROMO1
lUPLOADPROMO2		INIT	UPLOADPROMO2
lDTKPBAHS21             INIT    DTKPBAHS21
lJTPSERVIS2		INIT	JTPSERVIS2
lJASATUNEUPPKT		INIT	JASATUNEUPPKT
lfktpjk			INIT	FKTPJK
lfotoktp		INIT	FOTOKTP
lfotonpwp		INIT	FOTONPWP
lket_fotoktp		INIT	"UPLOAD FOTO KTP FAKTUR PAJAK"
lket_fotonpwp		INIT	"UPLOAD FOTO NPWP FAKTUR PAJAK"
lket_FP_Y		INIT	"Setelah Posting jual, otomatis akan terbentuk di screen permohonan khusus cetak Faktur Pajak"
lket_FP_T		INIT	"Permintaan Faktur Pajak yang tidak sama dengan inputan penjualan tidak akan dilayani"
l1xx			INIT	1
l2xx			INIT	2
l994			INIT	"994"
l620			INIT	"620"
l416			INIT	"416"
lSPAREPARTG		INIT	SPAREPARTG
lUBAHBRG6D_11		INIT	UBAHBRG6D
lUBAHBRG6D_21		INIT	UBAHBRG6D
lnamtrnjml		INIT	"ppdjml"
lBR			INIT	BR
lKUNCIABSEN		INIT	KUNCIABSEN
lket620         	INIT	"SELESAIKAN 620 U"
lADH            	INIT	ADH
lADHDCA			INIT	ADHDCA
lAHASSKABENG		INIT	AHASSKABENG
lAHASSSA		INIT	AHASSSA
lAHASSFD		INIT	AHASSFD
lCAB416                 INIT	CAB416
lNAS                    INIT	NAS
lANT			INIT	ANT
lmapbtf			INIT	mapbtf
lCABTDKREF		INIT	CABTDKREF
lCABDPTREF		INIT	CABDPTREF
lPROMOLCR11     	INIT    PROMOLCR                                                                                                                                               
lPROMOLCR      		INIT    PROMOLCR
lEstPengType            INIT    "ESTPENGERJAAN" 
lantrian1       	INIT    ANTRIAN
lUPLOADSTNK          	INIT    UPLOAD_OK
l1600			INIT	1600
l1500			INIT	1500
l1400			INIT	1400
lKOMLCRAHS		INIT	KOMLCRAHS

lAPIMD                  INIT            APIMD
l1int                   INIT            1
l15int                  INIT            15
l21                     INIT            21
l25                     INIT            25
lBARANGAHASS            INIT            BARANGAHASS
lgroupcustomer		INIT		GROUPCUSTOMER
lDTLCRTREAT11 		INIT		DTLCRTREAT
lDTLCRTREAT             INIT    DTLCRTREAT
lTREATMENT              INIT    TREATMENT                                                                                                                                              
lREPLACEMENT            INIT    REPLACEMENT
lCABPROMO               INIT    CABPROMO
lAKTIF                  INIT    AKTIF
lSYARATPROMO11          INIT    SRTPROMO
lBARANG                 INIT    BARANG
lPAKET                  INIT    PAKET
lBR21                   INIT    BR
lMSTPROMO               INIT    MSTPROMO
lTMPMASTEROPR           INIT    TMPMASTEROPR
lH221                   INIT    H2
lMASTERPERSENJASA       INIT    MASTERPERSENJASA

CALCS()
/*cbknGC		lbtmnokk3 != "GCS"*/
ctdkVocher		btmtypdeb != "VOUCHER"
cclaimVocher		btmtypdeb == "VOUCHER"
cdjoinppmRO1    	djoinppmRO == 1
cdjoincabapi2           ( djoincabapi3 == 1 && ltbddfapi2 == 1 )
cdjoincabapi2x          ( djoincabapi3 == 1 && ltbddfapi3 == 1 && btmsoa != BLANKS)
cdjoincabapiurut        djoincabapi2 == 1 && djoinftmpkb == 1                                                                                                                          
cdjointlmpkb            djoincabapi2 == 1 && djointlmpkb == 1
cdjoinapitbd2           ( djoincabapi2 == 1 && ltbddfapi1 == 1 ) || ( djoincabapi3 == 1 && ltbddfapi1 == 1 ) && btmtypmtr != BLANKS
cbukanauto              djoincabapi2 == 0


EDITS(master)
e.Mandatory 	btmkdsam  	MANDATORY
e.Mandatory 	btmtgl    	MANDATORY
e.Mandatory 	btmbichek	MANDATORY
e.Mandatory 	btmtypmtr   	MANDATORY_IF  cbukanauto
e.Mandatory 	btmdf2    	MANDATORY
e.Mandatory 	btmcab    	MANDATORY
e.Mandatory 	btmass    	MANDATORY
e.Mandatory 	btmstr2   	MANDATORY
e.Mandatory 	btmnobuk  	MANDATORY
e.Mandatory 	btmdvsjl    	MANDATORY
e.Mandatory 	btmsoa      	MANDATORY
e.Mandatory 	btmmakelar  	MANDATORY
e.Mandatory 	btmwrn		MANDATORY
e.Mandatory 	btmsurveyor 	MANDATORY_IF cdjointbd_typdatang1
e.Mandatory 	btmrekomen  	MANDATORY
e.MandatoryBrg 	btmtypmtr2  	MANDATORY
t.HrsIsiKet 	btmtdjadi  	MANDATORY
e.Mandatory 	btmtypdeb  	MANDATORY_IF cjikaclaim
e.Validate   	btmsurveyor 	VALIDATE_IF ctdkVocher dtmdatstskod mdtmP  sdtmB  {Pldata} {Pgv_INPG}
e.Validate   	btmsurveyor 	VALIDATE_IF cclaimVocher dtmdatstskod mdtmP  sdtmB  {PlTMPPROMOVC} {Pgv_INPG}
e.ValidateLok   btmcab 		VALIDATE cabstskodidx mcabLok scabSV {Pgv_INPG}

e.Validate      btmsoa          VALIDATE/*_IF cbknGC*/ tbddatkodidx mked stbd {Pgv_dttabel} {Plahass} {Plkedatangan1}
e.Validate      btmmakelar      VALIDATE/*_IF cbknGC*/ tbddatkodidx mals stbd {Pgv_dttabel} {Plahass} {Plalasan}

e.ValidateBrg 	btmtypmtr 	VALIDATE brgstdtkatbr mbrgM sbrgahs {Pgv_INPG} {Pgv_dtbarang} {Plspm}
e.Validate   	btmrekomen 	VALIDATE tbddatkodidx mpkt stbd {Pgv_dttabel} {Pgv_barang} {Plpaket}
e.ValidateSV 	btmwrn 		VALIDATE dtmcabkodidx mdtmKG sdtmAHS {Plpktahass} {Pbtmrekomen}


MAP(mdtmP)
dtmkode         btmsurveyor   	REPLACE
dtmtglkurs	ltanggalJtp   	REPLACE

MAP(mked)
tbdkode         btmsoa          REPLACE
lppmtglfak	lppmtglfak	REPLACE_IF cdjoinppmRO1

MAP(mals)
tbdkode         btmmakelar      REPLACE

MAP(mpkt)
tbdkode		btmrekomen	REPLACE
ltmpisidf1	ltmpisidf1	REPLACE_IF cdjointmp_promokpb
ltmpisidf2	ltmpisidf2	REPLACE_IF cdjointmp_promokpb

CALCS()
cBLANKS         BLANKS
crmdgab         "PAKETKILO"
cdjoinakt	djoinakt == 1
cdjoinakt0	djoinakt == 0
cdjoinket	djoinket == 1
cppdperdism_isi btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lppdperdism != 0
cppdtotfak_isi  btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lppdtotfak != 0
cppdjml_isi	btmnobuk != BLANKS && (dscanppd2 == 1 || dscanppd2 == 0) && lppdjml > 0
cwaktuest       laktjam_start + lestimasi
cbuk		"BE" + STRIP(btmcab) + STRIP(btmdvs) + THBLS(btmtgl) + THBLS_DD(btmtgl)
cjoin_nnm0	djoin_nnm == 0
cdjoinbtmDaf1	djoinbtmDaf == 1
cdjoinbtmDaf0	djoinbtmDaf == 0 
cantri          lantri + 1
clist1		"KONFIRM CUST VIA TLP"
clist2		"LANGSUNG DIKERJAKAN"
clist1x		btmtdjadi == 1
clist2x		btmtdjadi == 2
cdjoinpsiFLP	djoinpsiFLP == 1
cdjoinpsiMEK	djoinpsiMEK == 1
cdjoinssu1	djoinssu == 1 
cdjoinssu0	djoinssu == 0
cdjoinppm614	djoinppm614 == 1
cdjoinbtm611	djoinbtm611 == 1
cdjoinast2	djoinast2 == 1
cdjoinast2x	djoinast2 == 1 && lastkmmotor > 0
cnosinesaf	DO_LIB ap_amstr(lastnomesin,ln1i,ln5,&lnosin5);
crmdgabkpbtunai	"KPB1TAHUNTUNAI" + STRIP(btmcab) + STRIP(btmtypmtr2) + STRIP(lppmtk614)

cdjointbd_nomesinesaf1  djointbd_nomesinesaf == 1
cdjointbt_cabshow1	djointbt_cabshow == 1

cSERVICE2THNa	"SERVIS/OLI 2 THN HANGUS"
cSERVICE2THNb	"SERVIS/OLI 2 THN BERLAKU"

cOLIKPBSINSENa	"OLI KPB SINSEN HANGUS"
cOLIKPBSINSENb	"OLI KPB SINSEN BERLAKU"

cOLI1TAHUNa     "OLI 1 TAHUN HANGUS"
cOLI1TAHUNb     "OLI 1 TAHUN BERLAKU"

ckpbnss_kosong	lppmnoll614!=BLANKS && (dscanpps_kpbnss == 1 || dscanpps_kpbnss == 0) && ltdkkpbnss == 0 && ladakpbnss == 0
ckpbnss_hangus	lppmnoll614!=BLANKS && (dscanpps_kpbnss == 1 || dscanpps_kpbnss == 0) && ltdkkpbnss > 0
ckpbnss_ada	lppmnoll614!=BLANKS && (dscanpps_kpbnss == 1 || dscanpps_kpbnss == 0) && ltdkkpbnss == 0 && ladakpbnss > 0

ckpbsinsen_kosong  lppmnoll614!=BLANKS && (dscanpps_kpbnss == 1 || dscanpps_kpbnss == 0) && ltdkkpbsinsen == 0
ckpbsinsen_hangus  lppmnoll614!=BLANKS && (dscanpps_kpbnss == 1 || dscanpps_kpbnss == 0) && ltdkkpbsinsen > 0
ckpbsinsen_ada     lppmnoll614!=BLANKS && (dscanpps_kpbnss == 1 || dscanpps_kpbnss == 0) && ladakpbsinsen > 0

ckpb1tahun_kosong ((djoinppm614 == 1 && ltglkirimmtr < 20240901 && (lppmtk614 == "K" || lppmtk614 == "T")) ||
                  (djoinppm614 == 1 && ltglkirimmtr >= 20240901 && lppmtk614 != "K" && lppmtk614 != "T") || 
		  (djoinppm614 == 1 && ltglkirimmtr >= 20240901 && djoinrmdstrukturh2_kpb1tahun_tunai == 0) || (djoinppm614 == 0))

ckpb1tahun_hangus (((djoinppm614 == 1 && ltglkirimmtr >= 20240901 && lppmtk614 == "K") || 
		  (djoinppm614 == 1 && ltglkirimmtr >= 20240901 && lbtmytplg611 == "Y" && djoinrmdstrukturh2_kpb1tahun_tunai == 1)) && 
		  (djoinakt_historikpb == 1 &&
                  (laktdf1_tdm == 0 && laktdf2_tdm > 0 && laktdf3_tdm == 0 && laktdf4_tdm == 0) ||
                  (laktdf1_tdm == 0 && laktdf2_tdm == 0 && laktdf3_tdm > 0 && laktdf4_tdm == 0) ||
                  (laktdf1_tdm == 0 && laktdf2_tdm == 0 && laktdf3_tdm == 0 && laktdf4_tdm > 0) ||
                  (laktdf1_tdm == 0 && laktdf2_tdm == 0 && laktdf3_tdm > 0 && laktdf4_tdm == 0) ||
                  (laktdf1_tdm == 0 && laktdf2_tdm == 0 && laktdf3_tdm == 0 && laktdf4_tdm > 0) ||
                  (laktdf1_tdm > 0 && laktdf2_tdm == 0 && laktdf3_tdm > 0 && laktdf4_tdm == 0) ||
                  (laktdf1_tdm > 0 && laktdf2_tdm == 0 && laktdf3_tdm == 0 && laktdf4_tdm > 0) ||
                  (laktdf1_tdm == 0 && laktdf2_tdm == 0 && laktdf3_tdm > 0 && laktdf4_tdm > 0) ||
                  (laktdf1_tdm > 0 && laktdf2_tdm == 0 && laktdf3_tdm == 0 && laktdf4_tdm > 0) ||
                  (laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm == 0 && laktdf4_tdm > 0) ||
                  (laktdf1_tdm > 0 && laktdf2_tdm == 0 && laktdf3_tdm > 0 && laktdf4_tdm > 0) ||
                  (laktdf1_tdm == 0 && laktdf2_tdm > 0 && laktdf3_tdm > 0 && laktdf4_tdm > 0)))

ckpb1tahun_kosong2 (((djoinppm614 == 1 && ltglkirimmtr >= 20240901 && lppmtk614 == "K") || 
		   (djoinppm614 == 1 && ltglkirimmtr >= 20240901 && lbtmytplg611 == "Y" && djoinrmdstrukturh2_kpb1tahun_tunai == 1)) && 
		   (djoinakt_historikpb == 1 && 
		   (laktdf1_tdm == 0 && (btmwrn == "PKTSERVICEKPB2" || btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4" || btmwrn == "PKTSERKPB2 ELECTRIC" || btmwrn == "PKTSERKPB3 ELECTRIC")) ||
		   (laktdf1_tdm > 0 && laktdf2_tdm == 0 && (btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4" || btmwrn == "PKTSERKPB3 ELECTRIC")) ||
		   (laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm == 0 && (btmwrn == "PKTSERVICEKPB4"))))

ckpb1tahun_ada    (((djoinppm614 == 1 && ltglkirimmtr >= 20240901 && lppmtk614 == "K")  || 
		  (djoinppm614 == 1 && ltglkirimmtr >= 20240901 && lbtmytplg611 == "Y" && djoinrmdstrukturh2_kpb1tahun_tunai == 1)) &&
		  (djoinakt_historikpb == 1 &&
                  (laktdf1_tdm == 0 && laktdf2_tdm == 0 && laktdf3_tdm == 0 && laktdf4_tdm == 0 && (btmwrn == "PKTSERVICEKPB1" || btmwrn == "PKTSERKPB1 ELECTRIC")) ||
                  (laktdf1_tdm > 0 && laktdf2_tdm == 0 && laktdf3_tdm == 0 && laktdf4_tdm == 0) ||
                  (laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm == 0 && laktdf4_tdm == 0) ||
                  (laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm > 0 && laktdf4_tdm == 0))) ||
		  (djoinppm614 == 1 && ltglkirimmtr >= 20240901 && lppmtk614 == "K" && djointbt_cabonlykpb1tahun == 1)


cbtmhrg0	btmhrg == 0 && djointbt_cabsinsen == 0
cbtmhrg1	btmhrg == 1 && djointbt_cabsinsen == 0
cbtmhrg2	btmhrg == 2 && djointbt_cabsinsen == 0

cbtmhrg0x       btmhrg == 0 && djointbt_cabsinsen == 1
cbtmhrg1a       btmhrg == 1 && djointbt_cabsinsen == 1
cbtmhrg2b       btmhrg == 2 && djointbt_cabsinsen == 1

cbtmhrg0_a       btmhrg == 0 && djoinakt_historikpb == 1
cbtmhrg1_b       btmhrg == 1 && djoinakt_historikpb == 1
cbtmhrg2_c       btmhrg == 2 && (djoinakt_historikpb == 1 || djointbt_cabonlykpb1tahun == 1)

ctdkkosong      lppmnoll614!=BLANKS
cpromo821	btmsurveyor == "SHOWROOM EVENT"

cPERORANGAN	"PERORANGAN"
cINSTANSI	"INSTANSI"
cbtmbichek1	btmbichek == "1"
cbtmbichek2	btmbichek == "2"

cdjoinakt_pmtmekanik	djoinakt_pmtmekanik == 1
cnobuk994	"FP"+STRIP(btmnobuk)
cbtmcab         STRIP(btmcab)+"H2"

cAktEstPeng     btmsts == "INPG" && btmsales == BLANKS && djoinaktEstPeng == 1
cmampatseries   MAMPAT(btmtypmtr2)

MAP(mcabLok)
cabkode         btmcab         	REPLACE
cabkode         btmlokjual     	REPLACE
cabkdfak        lcabdealer     	REPLACE
cabkdfak        btmcabjl       	REPLACE
cbuk		lchanel        	DO_CALC
cbtmcab         lbtmcab        	DO_CALC
btmnokk		lbtmnokk3      	REPLACE
lpmtmekanik	lpmtmekanik    	REPLACE_IF cdjoinakt_pmtmekanik
cBLANKS		lnobuk994	DO_CALC
cnobuk994	lnobuk994	DO_CALC
cBLANKS         lwaktuest2      DO_CALC
cBLANKS         lwaktuest       DO_CALC_IF cdjoinakt0 
lWktEstPeng     lwaktuest2      REPLACE_IF cAktEstPeng
cabkdjam	lcabkdjam	REPLACE
cmampatseries	lnamamotormampat DO_CALC

MAP(maddnnm)
lchanel 	nnmnobuk	REPLACE
lbengkel        nnmdata 	REPLACE
btmtgl   	nnmtgl		REPLACE
btmcab   	nnmkode1	REPLACE
btmdvs   	nnmkode2	REPLACE


MAP(mkpb1tahun)
crmdgabkpbtunai	lrmdgabkpbtunai	DO_CALC

c0              btmhrg          DO_CALC_IF ckpbsinsen_kosong
c1              btmhrg          DO_CALC_IF ckpbsinsen_hangus
c2              btmhrg          DO_CALC_IF ckpbsinsen_ada

c0		btmhrg		DO_CALC_IF ckpbnss_kosong
c1		btmhrg		DO_CALC_IF ckpbnss_hangus
c2		btmhrg		DO_CALC_IF ckpbnss_ada

c0              btmhrg          DO_CALC_IF ckpb1tahun_kosong
c1              btmhrg          DO_CALC_IF ckpb1tahun_hangus
c2              btmhrg          DO_CALC_IF ckpb1tahun_ada
c1		btmhrg		DO_CALC_IF ckpb1tahun_kosong2

MAP(mbrgM)
brgnama         lnamabarang    REPLACE
brgnama         btmnama        REPLACE
brgkode         btmtypmtr      REPLACE
brgkat5         btmbisnis      REPLACE
brgfrefik2	btmtypmtr2     REPLACE

lppdperdism     lestimasi      REPLACE_IF cppdperdism_isi
laktjam_start   laktjam_start  REPLACE_IF cdjoinakt
cwaktuest       lwaktuest      DO_CALC_IF cdjoinakt
lketisi		lketisi	       REPLACE_IF cdjoinket
lppdtotfak	ltotalharga    REPLACE_IF cppdtotfak_isi
lppdjml		ltotalqty      REPLACE_IF cppdjml_isi

lpsinamaFLP	lpsinamaFLP    REPLACE_IF cdjoinpsiFLP
lpsinamaMEK	lpsinamaMEK    REPLACE_IF cdjoinpsiMEK

ltbtdf1_biaya	ltbtdf1_biaya  REPLACE_IF cdjointbt_cabshow1

lastnomesin	lastnomesin	REPLACE_IF cdjoinast2
lssunobuk2	lssunobuk2	REPLACE_IF cdjoinssu1
lppmnoll614	lppmnoll614	REPLACE_IF cdjoinppm614
ltglkirimmtr	ltglkirimmtr	REPLACE_IF cdjoinppm614
lbtmytplg611	lbtmytplg611	REPLACE_IF cdjoinbtm611
cnosinesaf	lnosin5		DO_CALC
lseriesesaf	lseriesesaf	REPLACE_IF cdjointbd_nomesinesaf1

cBLANKS		linfokpbnss	DO_CALC_IF cbtmhrg0
cSERVICE2THNa	linfokpbnss	DO_CALC_IF cbtmhrg1
cSERVICE2THNb	linfokpbnss	DO_CALC_IF cbtmhrg2

cPERORANGAN	lketbtmbichek	DO_CALC_IF cbtmbichek1
cINSTANSI	lketbtmbichek	DO_CALC_IF cbtmbichek2

cBLANKS         linfokpbnss     DO_CALC_IF cbtmhrg0x
cOLIKPBSINSENa  linfokpbnss     DO_CALC_IF cbtmhrg1a
cOLIKPBSINSENb  linfokpbnss     DO_CALC_IF cbtmhrg2b

cBLANKS         linfokpbnss     DO_CALC_IF cbtmhrg0_a
cOLI1TAHUNa     linfokpbnss     DO_CALC_IF cbtmhrg1_b
cOLI1TAHUNb     linfokpbnss     DO_CALC_IF cbtmhrg2_c
cOLI1TAHUNa     linfokpbnss     DO_CALC_IF ckpb1tahun_kosong2

CALCS()
crmdgabpaket1	STRIP(btmwrn) + STRIP(btmlokjual) + STRIP(btmposjmn)
crmdgabpaket2	STRIP(btmwrn) + STRIP(btmlokjual) + STRIP(btmposjmn) + STRIP(btmtypmtr2)
crmdgabpaket3	STRIP(btmwrn) + STRIP(btmlokjual) + STRIP(btmposjmn) + STRIP(btmtypmtr2)
crmdgabpaket4	STRIP(btmwrn) + STRIP(btmlokjual) + STRIP(btmposjmn)
crmdgabpaket5	STRIP(btmsurveyor) + STRIP(btmlokjual) + STRIP(btmtypmtr2)

crmdgabUsia	"USIAMOTOR" + STRIP(btmtypmtr2)
crmdgabKilo	"KILOMOTOR" + STRIP(btmbisnis)
crmdgabHitungKpb "HITUNGKPB" + STRIP(btmtypmtr2) + STRIP(btmwrn)
crmdgabasuransi1 "PROMOASURANSI1" + STRIP(btmcab) + STRIP(btmwrn)
crmdgabasuransi2 "PROMOASURANSI2" + STRIP(btmcab) + STRIP(ppdbrg)

crmdgabamic	"HARGAAMIC" + STRIP(ppdbrg) + STRIP(btmcab)
crmdgabkpbtdm3	STRIP(btmwrn) + STRIP(btmcab) + STRIP(btmtypmtr2)
crmdgabkpbtdm4	STRIP(btmwrn) + STRIP(btmcab) + STRIP(btmtypmtr2)

cisins		(btmbisnisjl=="NS" || btmposjmn=="NS")

cJTPSERVISCUB2          "JTPSERVISCUB2"
cJTPSERVISMATIC2        "JTPSERVISMATIC2"
cJTPSERVISSPORT2        "JTPSERVISSPORT2"
cJTPSERVISPREMIUM2      "JTPSERVISPREMIUM2"
cmotorcub               (btmbisnis == "CUB MID" || btmbisnis == "CUB LOW"  || btmbisnis == "CUB HIGH")
cmotorsport             (btmbisnis == "SPORT MID" || btmbisnis == "SPORT LOW"  || btmbisnis == "SPORT HIGH")
cmotormatic             (btmbisnis == "AT MID" || btmbisnis == "AT LOW")
cmotorpremium           (btmbisnis == "MATIC" || btmbisnis == "AT HIGH")

cdjoinjtpservis_kpbtdm	djoinjtpservis_kpbtdm == 1
chitungtglkirim		ltglkirimmtr + ltbtdf1_jtp


MAP(mdtmKG)
dtmkode		btmwrn		REPLACE
dtmongkos	lKpbKe		REPLACE
crmdgabpaket1	lrmdgabpaket1	DO_CALC
crmdgabpaket2	lrmdgabpaket2	DO_CALC
crmdgabpaket3	lrmdgabpaket3	DO_CALC
crmdgabpaket4	lrmdgabpaket4	DO_CALC
crmdgabpaket5	lrmdgabpaket5	DO_CALC

crmdgabUsia	lrmdgabUsia	DO_CALC
crmdgabKilo	lrmdgabKilo	DO_CALC

crmdgabkpbtdm3	lrmdgabkpbtdm3	DO_CALC_IF cisins
crmdgabkpbtdm4	lrmdgabkpbtdm4	DO_CALC_IF cisins

cJTPSERVISCUB2		lJTPSERVIS2a	DO_CALC_IF cmotorcub
cJTPSERVISMATIC2   	lJTPSERVIS2a    DO_CALC_IF cmotorsport 
cJTPSERVISSPORT2   	lJTPSERVIS2a    DO_CALC_IF cmotormatic 
cJTPSERVISPREMIUM2	lJTPSERVIS2a    DO_CALC_IF cmotorpremium

MAP(mhitungtglkrm)
ltbtdf1_jtp		ltbtdf1_jtp	REPLACE_IF cdjoinjtpservis_kpbtdm
chitungtglkirim		lhitungtglkirim	DO_CALC

CALCS()
ctambah         g_curcmd == 1 
ckodebukti      DO_LIB ap_amdvs(btmdvs,btmscr,lkodebukti);
cnomorbukti     "AH" + STRIP(btmcab) + THBLS_YY(btmtgl) + THBLS_MM(btmtgl) + THBLS_DD(btmtgl)  
cotY            stsotobukti == "Y"
cdjoinast1      djoinast1 == 1
cdjoinast0      djoinast1 == 0
ctgla           btmjtppjk < g_tgltrn && btmjtppjk > (g_tgltrn - 11000)
cjoinppdu0      btmnobuk != BLANKS && djoinppdu == 0 && g_curcmd == 1
cjoinppdu1      btmnobuk != BLANKS && djoinppdu == 1 && g_curcmd == 1 
cjoinppdu0a     btmnobuk != BLANKS && djoinppdu == 0
cjoinppdu1a     btmnobuk != BLANKS && djoinppdu == 1
cjointkdu0a	btmnobuk != BLANKS && djointkdu == 0
cjointkdu1a	btmnobuk != BLANKS && djointkdu == 1
curut3a		luruttkd + 1
curut2          lurut + 1
cKaryawan       "KARYAWAN"
cdjoinpsm1	djoinpsm == 1
cdjoinpsmkry    djoinpsm==1 && lpsmdtkry==gv_dtkaryawan && lpsmsts==gv_INPG
cdjoinpsmprgins djoinpsm==1 && ((lpsmdtkry==gv_dtkaryawan && lpsmsts!=gv_INPG) || (lpsmdtkry!=gv_dtkaryawan))
cN		"N"
cO		"O"
cpanjang        DO_LIB ap_strln(btmplg,&lpanjang);

cpjgktp         (lpanjang == 16 && djoinpsm == 1 && lpsmins != "INSTANSI" && (btmstr2 == "BOOKING" || btmstr2 == "REGULER" || btmstr2 == "REMINDER" || btmstr2 == "SERV_VISIT" || btmstr2 == "TAMBAHAN" || btmtypdeb == "GARANSI")) ||
		(lpanjang == 16 && djoinpsm == 1 && lpsmins == "INSTANSI" && ((btmstr2 == "CLAIM" && btmtypdeb == "INSTANSI") ||
		(btmstr2 == "REGULER" || btmstr2 == "BOOKING" || btmstr2 == "CLAIM" || btmstr2 == "TAMBAHAN")))

cdjoincon	djoincon == 1
cdjoincon0	djoincon == 0 && djointkd620 == 1
cdjointkd620_0	djointkd620 == 0 && djoinast2 == 1
cisiY		"Y"
cbukan08        ldigit1=="0" && ldigit2=="8" && ljumlahnomor>=10 && ljumlahnomor<=13


MAP(mpanjangktp)
cpanjang        lpanjang        DO_CALC

MAP(mnomer)
ckodebukti              lkodebukti      DO_CALC_IF ctambah
cnomorbukti             btmnobuk        DO_CALC_IF ctambah

CALCS()
cClaim           "CLAIM"
cClaima          btmstr2 == "CLAIM"
cT               "T"
cK               "K"
cinst            btmguna =="INSTANSI"
ckpb             btmguna !="INSTANSI"
crmdgab1	 djoinrmd1 == 1 && lrmdgab != BLANKS
cCLAIM           btmstr2 == "CLAIM" && btmtypdeb != "VOUCHER"
cBo_klik	 btmstr2 == "BO_KLIK"
ctdk             "TDK"
crmdgabJS       "DISKONAHASS" + "JASA"


MAP(misinya)
btmjml         lbts2           REPLACE
cT             btmtypbyr       DO_CALC_IF ckpb
cK             btmtypbyr       DO_CALC_IF cinst

MAP(mrmdgab)
crmdgab        lrmdgab        DO_CALC
crmdgabJS      lrmdgabJS      DO_CALC
crmdgabHitungKpb lrmdgabHitungKpb DO_CALC

MAP(mmaprmdJS)
rmdtotal1                       lrmdtotal1              REPLACE

DBCALCS(djoinrmdJS)
        DBC_COMMAND     JOIN
        DBC_TARGET      rmdstsgabidx            gv_INPG   lrmdgabJS
        DBC_MAP         mmaprmdJS


CALCS()
ckmbsr      btmrekomen == "SERVICE" && (djointbt_cabotopaket1 == 1 || djointbt_cabotopaket2 == 1)
cadapotJS       (ltkmtotal==1 && btmsoa == "SPKSALES") && djoinrmdJS ==1 && lrmdgabJS != BLANKS
ckmberikut	btmdf2 + 2000
clebih          btmdf2 > btmdf1
clebiha         btmdf2> 12000 || btmjml>360

MAP(mhasilnya)
lhasil1_txtkm       btmwrn       REPLACE_IF ckmbsr
cClaim              btmwrn       DO_CALC_IF cClaima
lrmdtotal1	    lrmdtotal1	 REPLACE_IF cadapotJS


MAP(mhasilkm)
lhasil1_txtkm       btmwrn       REPLACE

CALCS()
cisiYes   brcscr == "Y" && brckodecmp == BLANKS

MAP(mscanbrca)
brchrgjl  btmtotal       REPLACE_IF cisiYes

DBCALCS(dbscanbrca)
        DBC_COMMAND     SCANSCAN
        DBC_TARGET      brcdttypidx   gv_svgratis btmtypmtr btmcab btmwrn
        DBC_SUM_MAP     mscanbrca

MAP(mtotal2)
btmtotal      btmtotal    REPLACE
c0            btmtotal    DO_CALC_IF cClaima

CALCS()
cisi1		1
csama		btmstr2 == "REGULER" && btmtgl == ppmtglfak && (ppmsts == "OPEN" || ppmsts == "PROS" || ppmsts == "SVOK" || ppmsts == "INPG" || ppmsts == "CLSD")
cadanih		btmtgl < g_tgltrn
cbtmkdsam       btmkdsam!=BLANKS

MAP(mscanppm)
cisi1		ladanopol	DO_CALC_IF csama

DBCALCS(dbscanppm)
        DBC_COMMAND     SCANSCAN
        DBC_TARGET      ppmnollidx    btmkdsam                                
        DBC_LAST_TARGET ppmnollidx    btmkdsam                                
        DBC_SUM_MAP     mscanppm 

MAP(mscanbtm)
cisi1		ladaopen	DO_CALC_IF cadanih

DBCALCS(dbscanbtm)
	DBC_COMMAND	SCANSCAN
	DBC_TARGET	btmdatstsoto   lahass11 gv_OPEN btmcab                 
	DBC_LAST_TARGET	btmdatstsoto   lahass11 gv_OPEN btmcab                    
	DBC_SUM_MAP	mscanbtm

MAP(mscanbtm2)
cisi1		ladainpg	DO_CALC_IF cadanih

DBCALCS(dbscanbtm2)
	DBC_COMMAND	SCANSCAN
	DBC_TARGET	btmdatstsoto   lahass11 gv_INPG btmcab                 
	DBC_LAST_TARGET	btmdatstsoto   lahass11 gv_INPG btmcab                    
	DBC_SUM_MAP	mscanbtm2

	
CALCS()
ctglok      	btmjtppjk < g_tgltrn
ctglbenar	((djoinast2 == 1 && lasttgl >= 19700101 && btmkdsam != BLANKS) || btmkdsam == BLANKS)
cbtmstr1ya  	btmstr1 == "YA"
cbtmtypmtr0 	btmtypmtr2 != BLANKS
/*cbtmwrn0    	djointbtkode == 1 && g_grpnam != "RI"*/
cpanjangnopol   DO_LIB ap_strln(btmkdsam,&lpanjangnopol);
cadanopol       lpanjangnopol >= 6 && lpanjangnopol <= 10
cpanjangnosin	DO_LIB ap_strln(lastnomesin,&lpanjangnosin);
cadanosin	((lpanjangnosin >= 10 && lpanjangnosin <= 13 && g_usrkode != "1800060") || g_usrkode == "1800060")
cnopol_reguler  ladanopol == 0
ccabangopen	ladaopen == 0
ccabanginpg	ladainpg == 0
ctglbesok	(g_curcmd == 2 && btmtgl <= g_tgltrn) || g_curcmd != 2
cbukanclaim	btmstr2 != "CLAIM" && btmstr2 != "CLAIM_ESAF"
cpromo_spk      ltkmtotal==1 || btmsoa != "SPKSALES"
cbukan_darispk	btmsoa !="SPKSALES"
/*ctypmotor       djoinast1==1 && btmtypmtr == lastbrg*/
cadatlp		btmjnsdeb != BLANKS
cHitungRO    	djoinppmRO == 1 && (lthbl != lthbl1 || (lthbl1 == lthbl && (lppmsup != "BELIPART" || lppmsup != "SELESAISELISIH"))) && 
		djoinbtmRO == 1 && btmstr2 != "TAMBAHAN" && btmrekomen != "KPB"
cHitungRONKPB 	djoinppmRO == 1 && (lthbl != lthbl1 || (lthbl1 == lthbl && (lppmsup != "BELIPART" || lppmsup != "SELESAISELISIH"))) && 
		djoinbtmRO == 1 && btmstr2 != "TAMBAHAN" && btmrekomen != "KPB"
cHitungROKPB	djoinppmRO == 1 && (lthbl != lthbl1 || (lthbl1 == lthbl && lppmsup != "BELIPART")) && djoinbtmRO == 1 && btmrekomen == "KPB"
cNonRO		djoinppmRO == 0
/*cisiantrian     (djointbt_antrian == 1 && g_curcmd == 2 &&
                ((djointbdapi == 1  && lkettype==BLANKS && djoinrtm620 == 1 && lrtmkode3 == "SESUAI") || (djointbdapi==1 && lkettype!=BLANKS) || (djointbdapi == 0))) || djointbt_antrian == 0*/
cisiantrian     ((djointbt_antrian == 1 && g_curcmd == 2) || djointbt_antrian == 0 || (djointbt_antrianNASIONAL == 1 && g_curcmd == 2) ||
		(djointlm1473 == 1 && djointkd1473 == 1 && g_curcmd == 1))

cNS		"NS"
cNNS		"NON NS"
casthrg1	lastnsnon == 1
casthrg2	lastnsnon == 2
cdjoinpps_kpbnss	djoinpps_kpbnss == 1
cdjoinpps_kpbsinsen	djoinpps_kpbsinsen == 1
cAdaDiskon	((djointbd_typdatang1 == 1 && btmsurveyor != BLANKS) || 
		 (djointbd_typdatang3 == 1 && btmsurveyor != BLANKS) ||
		 (djointbd_typdatang1 == 0 && btmsurveyor != BLANKS && btmrekomen == "OLI") ||
		 (djointbd_typdatang1 == 0 && btmsurveyor == BLANKS))
cAdaOli		((djointbd_typdatang2 == 1 && btmrekomen == "OLI") || 
		 (djointbd_typdatang1 == 1 && btmrekomen == "OLI") ||
		 (djointbd_typdatang2 == 0 && btmrekomen != "OLI"))

cEvent821	(djointbd_typdatang1 == 1 && btmsurveyor == "SHOWROOM EVENT" && btmwrn == "PKTSHOWROOMEVENT") ||
		(djointbd_typdatang1 == 0 && btmsurveyor == BLANKS) ||
		btmsurveyor!="SHOWROOM EVENT"

crmdstrukturh2_Usia	djoinrmdstrukturh2_Usia == 1 && lrmdgabUsia != BLANKS
crmdstrukturh2_Kilo	djoinrmdstrukturh2_Kilo == 1 && lrmdgabKilo != BLANKS
crmdstrukturh2_hitungkpb	djoinrmdstrukturh2_hitungkpb == 1 && lrmdgabHitungKpb != BLANKS
cpilkpbnss	btmrekomen == "KPBNSS"
cpilkpbnss2	btmrekomen == "KPBNSS" && ltdkkpbnss == 0

cKPBSINSEN2	"KPBSINSEN2"
cKPBSINSEN3	"KPBSINSEN3"
cKPBSINSEN4	"KPBSINSEN4"

cKPBTDM2	"KPBTDM2"
cKPBTDM3	"KPBTDM3"
cKPBTDM4	"KPBTDM4"

cKPBOLI1THN_2   "PKTSERVICEKPB2"
cKPBOLI1THN_3   "PKTSERVICEKPB3"
cKPBOLI1THN_4   "PKTSERVICEKPB4"

cpilkpbsinsen	((btmrekomen == "KPBSINSEN" || btmrekomen == "KPBTDM") && g_grpnam != "IT" && g_grpnam != "RI" && g_grpnam != "AHASSHEAD" && g_grpnam != "AHASSSPV" && g_grpnam != "AHASSFD" && g_grpnam != "AHASSKABENG" && g_grpnam != "AHASSSA" && g_grpnam != "ADMPART")

cpilkpbsinsen2	btmrekomen == "KPBSINSEN" && lppskdpm == "KPB2" 
cpilkpbsinsen3	btmrekomen == "KPBSINSEN" && lppskdpm == "KPB3" 
cpilkpbsinsen4	btmrekomen == "KPBSINSEN" && lppskdpm == "KPB4" 

cpilkpbtdm2	btmrekomen == "KPBTDM" && djoinakt_promotdm == 1 && laktdf1_tdm > 0 && laktdf2_tdm == 0 && laktdf3_tdm == 0 && laktdf4_tdm == 0
cpilkpbtdm3	btmrekomen == "KPBTDM" && djoinakt_promotdm == 1 && laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm == 0 && laktdf4_tdm == 0
cpilkpbtdm4	btmrekomen == "KPBTDM" && djoinakt_promotdm == 1 && laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm > 0 && laktdf4_tdm == 0

cpilkpboli1thn2 btmrekomen == "KPB" && djoinakt_historikpb == 1 && laktdf1_tdm > 0 && laktdf2_tdm == 0 && laktdf3_tdm == 0 && laktdf4_tdm == 0
cpilkpboli1thn3 btmrekomen == "KPB" && djoinakt_historikpb == 1 && laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm == 0 && laktdf4_tdm == 0
cpilkpboli1thn4 btmrekomen == "KPB" && djoinakt_historikpb == 1 && laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm > 0 && laktdf4_tdm == 0

/*ciniGC		btmsoa == "GC"*/
/*cbolehclaiminstansi	(
			 (btmstr2 == "CLAIM" && btmtypdeb == "INSTANSI" && btmtgl >= 20240612 && btmsoa == "GC") ||
			 (btmstr2 == "CLAIM" && btmtypdeb == "INSTANSI" && btmtgl < 20240612) ||
			 (btmstr2 == "CLAIM" && btmtypdeb != "INSTANSI") ||
			 (btmstr2 != "CLAIM")
			)*/
castkmmotor             lastkmmotor - 1
chitunghari		btmtgl - btmjtppjk

MAP(mpanjangnopol)
cthbl1		lthbl1		DO_CALC_IF cdjoinppmRO1
cthbl		lthbl		DO_CALC
cpanjangnopol   lpanjangnopol   DO_CALC
cpanjangnosin	lpanjangnosin	DO_CALC
lRO		btmjnsjmn	REPLACE_IF cHitungRO     /* Kondisi Kalau RO */
lRONONKPB	btmjnsjmn	REPLACE_IF cHitungRONKPB /* Kondisi Kalau RO Non KPB */
lROKPB		btmjnsjmn	REPLACE_IF cHitungROKPB  /* Kondisi Kalau RO KPB */
cBLANKS		btmjnsjmn	DO_CALC_IF cNonRO	 /* Kondisi Kalau Non RO */

lastmotor	btmtypmtr	REPLACE_IF cdjoinast2
lasttgl         btmjtppjk       REPLACE_IF cdjoinast2
lpsmins         btmguna         REPLACE_IF cdjoinpsmprgins  
cKaryawan       btmguna         DO_CALC_IF cdjoinpsmkry
castkmmotor     btmdf1          DO_CALC_IF cdjoinast2x
lastnorangka	lastnorangka	REPLACE_IF cdjoinast2
lastnomesin	lastnomesin	REPLACE_IF cdjoinast2
lasttgl         btmjtppjk       REPLACE_IF cdjoinast1
cN              btmytbiro       DO_CALC_IF cdjoinast0
cO              btmytbiro       DO_CALC_IF cdjoinast1

cNS		lketastns	DO_CALC_IF casthrg1
cNNS		lketastns	DO_CALC_IF casthrg2

cNS		btmposjmn 	DO_CALC_IF cdjoinssu1
cNNS		btmposjmn 	DO_CALC_IF cdjoinssu0

lppskdpm	lppskdpm	REPLACE_IF cdjoinpps_kpbnss
lppskdpm	lppskdpm	REPLACE_IF cdjoinpps_kpbsinsen
cnosinesaf	lnosin5		DO_CALC
lseriesesaf	lseriesesaf	REPLACE_IF cdjointbd_nomesinesaf1

MAP(mselisihbl)
ljmlbln             btmjml       REPLACE
ljmlhari            btmum        REPLACE
ljmlbln		    lUsia	 REPLACE
chitunghari	    lhitunghari	 DO_CALC
lhitunghari	    lUsia2	 REPLACE
lhasil1_txtusia	    lhasil1_txtusia	REPLACE

CALCS()
cupdbtm0		btmsts == "OPEN" && btmnobuk != BLANKS && djoinppdaddsrv == 0
cdjointbd_promoJasa	djointbd_promoJasa == 1
ckpbnssblhlewat		(btmrekomen == "KPBNSS" && ltdkkpbnss == 0) || 
			(btmrekomen == "KPBSINSEN") || 
			(btmrekomen != "KPBNSS" && btmrekomen != "KPBSINSEN")

ckpbtdmblhlewat		(lhitungtglkirim != BLANKS && btmrekomen == "KPBTDM" && lhitungtglkirim >= g_tgltrn) ||
			/*(btmrekomen == "KPBTDM" && djoinakt_promotdm == 1 && laktdf1_tdm > 0 && laktdf2_tdm == 0 && laktdf3_tdm == 0 && 
			laktdf4_tdm == 0) ||
			(btmrekomen == "KPBTDM" && djoinakt_promotdm == 1 && laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm == 0 && 
			laktdf4_tdm == 0) ||
			(btmrekomen == "KPBTDM" && djoinakt_promotdm == 1 && laktdf1_tdm > 0 && laktdf2_tdm > 0 && laktdf3_tdm > 0 && 
			laktdf4_tdm == 0) ||*/
			(btmrekomen != "KPBTDM")

cevent821blhlewat	(btmsurveyor == "SHOWROOM EVENT" && ladapromo821 > 0) || btmwrn != "PKTSHOWROOMEVENT" || g_grpnam == "RI"
cHarusKpb		((((djointbt_cabdgi1 == 1 || djointbt_cabdgi2 == 1) && 
			(btmrekomen == "KPB" || btmrekomen == "KPBNSS" || btmrekomen == "KPBSINSEN") && lok15 > 0) ||
			((djointbt_cabdgi1 == 1 || djointbt_cabdgi2 == 1) && djoinakt_cabdgi == 1) ||
			((djointbt_cabdgi1 == 1 || djointbt_cabdgi2 == 1) &&
			(btmrekomen != "KPB" && btmrekomen != "KPBNSS" && btmrekomen != "KPBSINSEN") && lok15 == 0)) && djoinppdKG == 1) ||
			(djointbt_cabdgi1 == 0 && djointbt_cabdgi2 == 0) || (djoinppdKG == 0) || (djoinppdKG == 1) 


cMotorPromo		((djointbd_promooli4 == 1 && djointbd_motorgratisoli == 1) || djointbd_promooli4 == 0)
cJikaPromo1		((djoinakt_promo1 == 1) || (btmsts == "CLSD" && btmrekomen != "KPB" && btmrekomen != "KPBNSS" && btmrekomen != "KPBSINSEN" && djointbd_nomesinesaf == 1 && djointkdLcr == 1 && 
	    		(g_grpnam == "RI" ||  g_grpnam == "AHASSHEAD" || g_grpnam == "AHASSSPV" || g_grpnam == "IT")))
cJikaPromo2		djoinakt_promo2 == 1
cUpldMemo		((btmtypdeb == "VOUCHER" && djoinaktmemo == 1 && laktdk_memo == "Y") || btmtypdeb != "VOUCHER")
cCabTdkSesuai           ((btmtypdeb == "VOUCHER" && djointbdcabpromo == 1) || btmtypdeb != "VOUCHER")                                                                                  
cCabTdkSesuai1          ( djointbdmasterpromo == 1 && lcekpromo == "AKTIF" ) || djointbdmasterpromo == 0                       

cPromoparttdm		(djointbd_promoparttdm == 0 && djointbt_promopartLCR == 0)
cPromoNSSPEDULI		((btmsurveyor == "NSS PEDULI" && djointbt_cabnsspeduli == 1) || (btmsurveyor != "NSS PEDULI"))
cPaketNSSPEDULI		((btmsurveyor == "NSS PEDULI" && djointbt_cabnsspeduli == 1 && btmwrn == "NSSPEDULI") || (btmsurveyor != "NSS PEDULI" && btmwrn != "NSSPEDULI"))

cPaketLewat		((djoindtm2 == 1 && laktif == "Y") || (djoindtm2 ==0))
cPaketOtoKilo		(djointbd_paketotokilo == 1 && (djointbt_cabotopaket1 == 1 || djointbt_cabotopaket2 == 1)) || (djointbd_paketotokilo == 0)
cTdkDiskon		((djointbd_paketotokilo == 1 && btmsurveyor == BLANKS) || djointbd_paketotokilo ==0)

cClaimEsafKpb		(btmstr2 != "CLAIM_ESAF" && (btmrekomen == "KPB" || btmrekomen == "KPBNSS" || btmrekomen == "KPBSINSEN")) ||
			(btmrekomen != "KPB" && btmrekomen != "KPBNSS" && btmrekomen != "KPBSINSEN")

cNosinBknEsaf1		(djointbd_nomesinesaf == 1 && btmstr2 == "CLAIM_ESAF") || (btmstr2 != "CLAIM_ESAF")
cNosinBknEsaf2		(djointbd_nomesinesaf == 1 && btmwrn == "PAKET ESAF/LCR") || (btmwrn != "PAKET ESAF/LCR")
cKpbSama		(((btmrekomen == "KPB" && lUsia2 <= lhasil2kpb && btmdf2 <= lhasil1kpb) || (btmrekomen != "KPB")) || (djoinakt_historikpb == 0) || (djoinrmdstrukturh2_hitungkpb == 0))
cdjoinpromomaster    djointbdmasterpromo1 == 1   


MAP(mbtmoli)
c0		btmperppn	DO_CALC_IF cupdbtm0
c0		btmperbns	DO_CALC_IF cupdbtm0
cBLANKS		btmytplgpsn	DO_CALC_IF cupdbtm0
c0		btmdf3		DO_CALC_IF cupdbtm0
c0		btmtotal2	DO_CALC_IF cupdbtm0

MAP(mlist)
clist1          btmkdmaxc       DO_CALC_IF clist1x
clist2          btmkdmaxc       DO_CALC_IF clist2x

MAP(mkm)
ckmberikut	btmsubtot	DO_CALC

MAP(mreg)
ctdk            btmstr1       DO_CALC_IF clebiha

MAP(mpromoJasa)
lSERVICE	btmrekomen	REPLACE
lPAKETSERVICE	btmwrn		REPLACE

MAP(mmapkpbnss)
lppskdpm	btmwrn		REPLACE_IF cpilkpbnss2

MAP(mmapkpbsinsen)
cKPBSINSEN2	btmwrn		DO_CALC_IF cpilkpbsinsen2
cKPBSINSEN3	btmwrn		DO_CALC_IF cpilkpbsinsen3
cKPBSINSEN4	btmwrn		DO_CALC_IF cpilkpbsinsen4

MAP(mmapkpbtdm)
cKPBTDM2	btmwrn		DO_CALC_IF cpilkpbtdm2
cKPBTDM3	btmwrn		DO_CALC_IF cpilkpbtdm3
cKPBTDM4	btmwrn		DO_CALC_IF cpilkpbtdm4

MAP(mmapkpboli1tahun)
cKPBOLI1THN_2   btmwrn          DO_CALC_IF cpilkpboli1thn2
cKPBOLI1THN_3   btmwrn          DO_CALC_IF cpilkpboli1thn3
cKPBOLI1THN_4   btmwrn          DO_CALC_IF cpilkpboli1thn4

MAP(mketktp)
cPERORANGAN	lketbtmbichek	DO_CALC_IF cbtmbichek1
cINSTANSI	lketbtmbichek	DO_CALC_IF cbtmbichek2

MAP(mmasterpromo)
lnominalpromo   lnominalpromo   REPLACE_IF cdjoinpromomaster

HOOKS(master)
/*BEFORE_INPUT	cur_field=btmnokk	DO_SKIP_IF cbknGC
BEFORE_INPUT	cur_field=btmcab	DO_SKIP_IF ciniGC
BEFORE_INPUT	cur_field=btmbichek	DO_SKIP_IF ciniGC
BEFORE_INPUT	cur_field=btmstr2	DO_SKIP_IF ciniGC
BEFORE_INPUT	cur_field=btmtypdeb	DO_SKIP_IF ciniGC
BEFORE_INPUT	cur_field=btmkdsam	DO_SKIP_IF ciniGC
BEFORE_INPUT	cur_field=btmass	DO_SKIP_IF ciniGC
BEFORE_INPUT	cur_field=btmtypmtr	DO_SKIP_IF ciniGC
BEFORE_INPUT	cur_field=btmsoa	DO_SKIP_IF ciniGC
BEFORE_INPUT	cur_field=btmmakelar	DO_SKIP_IF ciniGC
BEFORE_INPUT	cur_field=btmrekomen	DO_SKIP_IF ciniGC
BEFORE_INPUT	cur_field=btmwrn	DO_SKIP_IF ciniGC*/
BEFORE_INPUT    cur_field=btmkdsam      DO_SKIP_IF cdjoincabapi2                                                                                                                       
BEFORE_INPUT    cur_field=btmass        DO_SKIP_IF cdjoincabapi2
BEFORE_INPUT    cur_field=btmjnsdeb     DO_SKIP_IF cdjoincabapi2
BEFORE_INPUT    cur_field=btmdf2        DO_SKIP_IF cdjoincabapi2
BEFORE_INPUT    cur_field=btmsubtot     DO_SKIP_IF cdjoincabapi2
BEFORE_INPUT    cur_field=btmdvsjl      DO_SKIP_IF cdjoincabapi2
BEFORE_INPUT    cur_field=btmsoa        DO_SKIP_IF cdjoincabapi2x
BEFORE_INPUT    cur_field=btmtypmtr     DO_SKIP_IF cdjoinapitbd2


AFTER_INPUT   cur_field=btmcab        DO_MAP SHOW mnomer
AFTER_INPUT   cur_field=btmkdsam      DO_MAP SHOW mpanjangnopol
AFTER_INPUT   cur_field=btmkdsam      DO_LIB_IF ctglok  ap_slshr(&lDD,btmtgl,btmjtppjk,lplus3,lmin3,&ljmlbln,&ljmlhari);
AFTER_INPUT   cur_field=btmkdsam      DO_LIB_IF crmdstrukturh2_Usia ap_ambts(gv_INPG,lrmdgabUsia,lUsia,lbts2,lbts3,&lhasil1,&lhasil2,&lhasil3,&lhasil1_txtusia,&lhasil2_txt);
AFTER_INPUT   cur_field=btmkdsam      DO_MAP SHOW mpanjangktp
AFTER_INPUT   cur_field=btmkdsam      DO_MAP SHOW mselisihbl
AFTER_INPUT   cur_field=btmbichek     DO_MAP SHOW mketktp


BEFORE_INPUT  cur_field=btmstr2	      DO_SKIP_IF cBo_klik
BEFORE_INPUT  cur_field=btmsurveyor   DO_SKIP_IF cCLAIM
BEFORE_INPUT  cur_field=lnamabarang   DO_SKIP_IF cOld
BEFORE_INPUT  cur_field=btmtypdeb     DO_SKIP_IF cbukanclaim
BEFORE_INPUT  cur_field=btmjnsdeb     DO_SKIP_IF cadatlp
BEFORE_INPUT  cur_field=btmwrn	      DO_SKIP_IF cbtmstr1ya /*skip paket servis jika kpb = ya*/
AFTER_INPUT   cur_field=btmdf2        DO_MAP SHOW mreg      
AFTER_INPUT   cur_field=btmdf2        DO_MAP SHOW mrmdgab   
AFTER_INPUT   cur_field=btmdf2        DO_LIB_IF crmdgab1 ap_ambts(gv_INPG,lrmdgab,btmdf2,lbts1,lbts3,&lhasil1,&lhasil2,&lhasil3,lhasil1_txtkm,lhasil2_txt);
AFTER_INPUT   cur_field=btmdf2        DO_LIB_IF crmdstrukturh2_Kilo ap_ambts(gv_INPG,lrmdgabKilo,btmdf2,lbts2,lbts3,&lhasil1,&lhasil2,&lhasil3,lhasil1_txtkilo,lhasil2_txt);
AFTER_INPUT   cur_field=btmdf2        DO_SCAN dbscanbrca
AFTER_INPUT   cur_field=btmdf2        DO_MAP SHOW mtotal2
AFTER_INPUT   cur_field=btmdf2	      DO_MAP SHOW mkm
AFTER_INPUT   cur_field=btmsurveyor   DO_MAP SHOW IF cbtmstr1ya mhasilnya
AFTER_INPUT   cur_keybd=EN            DO_LIB_IF crmdgab1 ap_ambts(gv_INPG,lrmdgab,btmdf2,lbts1,lbts3,&lhasil1,&lhasil2,&lhasil3,&lhasil1_txtkm,&lhasil2_txt);
AFTER_INPUT   cur_keybd=EN            DO_MAP SHOW IF cbtmstr1ya mhasilnya
AFTER_INPUT   cur_keybd=EN	      DO_MAP SHOW mbtmoli
AFTER_INPUT   cur_field=btmkdsam      DO_SCAN dbscanbrca
AFTER_INPUT   cur_field=btmkdsam      DO_SCAN_IF cbtmkdsam dbscanppm

AFTER_INPUT	cur_field=btmkdsam    DO_SCAN_IF ctdkkosong dscanpps_kpbnss
AFTER_INPUT	cur_field=btmrekomen  DO_SCAN_IF cpromo821 dscantlm_Event821
AFTER_INPUT   cur_field=btmwrn        DO_MAP SHOW mrmdgab   
AFTER_INPUT   cur_field=btmwrn        DO_LIB_IF crmdstrukturh2_hitungkpb ap_ambts(gv_INPG,lrmdgabHitungKpb,lbts1,lbts2,lbts3,&lhasil1kpb,&lhasil2kpb,&lhasil3,lhasil1_txtHitungKpb,lhasil2_txt);
BEFORE_INPUT  cur_field=btmwrn	      DO_SKIP_IF cpilkpbnss
BEFORE_INPUT  cur_field=btmwrn	      DO_SKIP_IF cpilkpbsinsen

AFTER_INPUT   cur_field=btmstr2	      DO_SCAN dscanppd2

AFTER_INPUT   cur_field=btmcab        DO_SCAN dbscanbtm 
AFTER_INPUT   cur_field=btmcab        DO_SCAN dbscanbtm2 
AFTER_INPUT	cur_field=btmrekomen	DO_MAP SHOW mmapkpbnss
AFTER_INPUT	cur_field=btmrekomen	DO_MAP SHOW mmapkpbsinsen
AFTER_INPUT	cur_field=btmrekomen	DO_MAP SHOW mmapkpbtdm
AFTER_INPUT     cur_field=btmrekomen    DO_MAP SHOW mmapkpboli1tahun
AFTER_INPUT   cur_field=btmrekomen        DO_MAP SHOW IF ckmbsr mhasilkm
AFTER_INPUT	cur_field=btmwrn 	DO_MAP SHOW mkpb1tahun
AFTER_INPUT	cur_field=btmwrn	DO_MAP SHOW mhitungtglkrm
/*AFTER_INPUT   cur_field=btmstr1       DO_SCAN dbscanbrca*/
AFTER_INPUT   cur_field=btmcab        DO_MAP SHOW mtotal2
/*AFTER_INPUT   cur_field=btmstr1       DO_MAP SHOW mtotal2*/
AFTER_INPUT     cur_field=btmtdjadi     DO_MAP SHOW mlist
AFTER_INPUT	cur_field=btmsurveyor	DO_MAP SHOW IF cdjointbd_promoJasa mpromoJasa
AFTER_INPUT	cur_field=btmsurveyor	DO_MAP SHOW mmasterpromo
AFTER_INPUT	cur_field=btmstr2	DO_MAP SHOW
		IF ctglbenar	mdumstr
		ELSE HKCURSOR STAY
		HKMSG t.TglHrsBenar

AFTER_INPUT	cur_field=btmstr2	DO_MAP SHOW
		IF cNosinBknEsaf1 	mdumstr
		ELSE HKCURSOR STAY
		HKMSG t.NosinBknEsaf

AFTER_INPUT     cur_field=btmkdsam 	DO_MAP SHOW
                IF cadanopol 		mdumstr
                ELSE HKCURSOR STAY
                HKMSG t.btsnNOPOL

AFTER_INPUT	cur_field=btmkdsam	DO_MAP SHOW
		IF cadanosin mdumstr
		ELSE HKCURSOR STAY
		HKMSG t.NosinSalah

AFTER_INPUT   cur_field=btmtypmtr     	DO_MAP SHOW
	      IF cbtmtypmtr0 mbrgM
	      ELSE HKCURSOR btmtypmtr
	      HKMSG Series Motor Belum Diketahui !!

AFTER_INPUT   cur_field=btmdf2        DO_MAP SHOW 
              IF clebih mdumstr
              ELSE HKCURSOR btmdf2
              HKMSG KM baru, harus lebih besar dari km lama !!!
/*
AFTER_INPUT   cur_field=btmwrn	      DO_MAP SHOW
	      IF cbtmwrn0 mdtmKG
	      ELSE HKCURSOR btmwrn
	      HKMSG Paket Servis Belum Tersedia Untuk Series Motor Ini !!
*/

AFTER_INPUT   cur_field=btmkdsam	      DO_MAP SHOW
	      IF cnopol_reguler mdumstr
	      ELSE HKCURSOR btmkdsam
	      HKMSG Nopol sudah ada di tipe REGULER, silahkan input tipe TAMBAHAN

AFTER_INPUT   cur_field=btmcab  	      DO_MAP SHOW
	      IF ctglbesok mdumstr
	      ELSE HKCURSOR btmcab  
	      HKMSG t.TglHrsBnr                                                    

AFTER_INPUT   cur_field=btmcab  	      DO_MAP SHOW
	      IF ccabangopen    mdumstr
	      ELSE HKCURSOR btmcab    
	      HKMSG Masih ada 620 OPEN cabang ini dihari sebelumnya, selesaikan dahulu

AFTER_INPUT   cur_field=btmcab  	      DO_MAP SHOW
	      IF ccabanginpg    mdumstr
	      ELSE HKCURSOR btmcab    
	      HKMSG Masih ada 620 INPG cabang ini dihari sebelumnya, selesaikan dahulu

AFTER_INPUT	cur_field=btmkdsam	DO_MAP SHOW
		IF cisiantrian    mdumstr
		ELSE HKCURSOR btmkdsam
		HKMSG t.LayarMD

/*
AFTER_INPUT   cur_field=btmkdsam        DO_MAP SHOW
              IF cpjgktp mdumstr
              ELSE HKCURSOR STAY
              HKMSG t.KtpBlmSesuai
*/

AFTER_INPUT	cur_field=btmsurveyor	DO_MAP SHOW
		IF cAdaDiskon	mdumstr
		ELSE HKCURSOR STAY
		HKMSG t.HrsAhassEvent

AFTER_INPUT	cur_field=btmsurveyor	DO_MAP SHOW
		IF csdhJtp	mdumstr
		ELSE HKCURSOR STAY
		HKMSG t.PromoSdhTdkBerlaku

AFTER_INPUT     cur_field=btmsurveyor   DO_MAP SHOW
                IF cMotorPromo      mdumstr
                ELSE HKCURSOR STAY
                HKMSG t.TypeMotorIniTdkPromo

AFTER_INPUT     cur_field=btmsurveyor   DO_MAP SHOW
                IF cUpldMemo      mdumstr
                ELSE HKCURSOR STAY
                HKMSG t.BlmUploadMemoHubHO

AFTER_INPUT     cur_field=btmsurveyor   DO_MAP SHOW
                IF cCabTdkSesuai      mdumstr
                ELSE HKCURSOR STAY
                HKMSG t.CabTdkSesuaiPromo

AFTER_INPUT     cur_field=btmsurveyor   DO_MAP SHOW 
                IF cCabTdkSesuai1      mdumstr                                                                                                                                     
                ELSE HKCURSOR STAY
                HKMSG t.CabTdkSesuaiPromo

AFTER_INPUT	cur_field=btmsurveyor   DO_MAP SHOW
                IF cPromoparttdm      mdumstr
                ELSE HKCURSOR STAY
                HKMSG t.TdkBolehPakaiPromoIni

AFTER_INPUT	cur_field=btmsurveyor   DO_MAP SHOW
                IF cPromoNSSPEDULI      mdumstr
                ELSE HKCURSOR STAY
                HKMSG t.TdkBolehPakaiPromoIni

AFTER_INPUT     cur_field=btmrekomen    DO_MAP SHOW
                IF cClaimEsafKpb mdumstr
                ELSE HKCURSOR STAY
                HKMSG t.TidakbolehpilihKPBjikatipeCLAIM_ESAF

AFTER_INPUT	cur_field=btmrekomen	DO_MAP SHOW
		IF cAdaOli	mdumstr
		ELSE HKCURSOR STAY
		HKMSG t.HrsOli

AFTER_INPUT	cur_field=btmrekomen	DO_MAP SHOW
		IF ckpbnssblhlewat	mdumstr
		ELSE HKCURSOR STAY
		HKMSG t.AdaKpbHangus

AFTER_INPUT     cur_field=btmrekomen    DO_MAP SHOW
                IF cHarusKpb      mdumstr
                ELSE HKCURSOR STAY
                HKMSG t.HanyaBisaKpb

AFTER_INPUT     cur_field=btmtdjadi     DO_MAP SHOW
                IF ckpbtdmblhlewat      mdumstr
                ELSE HKCURSOR STAY
                HKMSG t.AdaKpbHangus2

AFTER_INPUT     cur_field=btmwrn        DO_MAP SHOW
                IF cEvent821	        mdumstr
                ELSE HKCURSOR STAY
                HKMSG t.ServisHarusShowroom

AFTER_INPUT	cur_field=btmwrn	DO_MAP SHOW
		IF cevent821blhlewat	mdumstr
		ELSE HKCURSOR STAY
		HKMSG t.BlmAdaEvent821

AFTER_INPUT	cur_field=btmwrn	DO_MAP SHOW
		IF cPaketOtoKilo	mdumstr
		ELSE HKCURSOR STAY
		HKMSG t.PaketBlmTersediaDiCab

AFTER_INPUT     cur_field=btmwrn    	DO_MAP SHOW
                IF cTdkDiskon      	mdumstr
                ELSE HKCURSOR STAY
                HKMSG t.TdkBolehAdaPromo

AFTER_INPUT	cur_field=btmwrn	DO_MAP SHOW
		IF cNosinBknEsaf2 	mdumstr
		ELSE HKCURSOR STAY
		HKMSG t.NosinBknEsaf

AFTER_INPUT     cur_field=btmwrn    	DO_MAP SHOW
                IF cPaketLewat      	mdumstr
                ELSE HKCURSOR STAY
                HKMSG t.PaketServisKadaluarsa

AFTER_INPUT     cur_field=btmwrn	DO_MAP SHOW
                IF cPaketNSSPEDULI	mdumstr
                ELSE HKCURSOR STAY
                HKMSG t.KodePromoBukanNssPeduli

AFTER_INPUT	cur_field=btmwrn	DO_MAP SHOW
		IF cKpbSama		mdumstr
		ELSE HKCURSOR STAY
		HKMSG t.KpbTdkSamaDenganUsia

AFTER_INPUT	cur_keybd=EN		DO_MAP SHOW
		IF cisiantrian	mdumstr
		ELSE HKCURSOR STAY
		HKMSG t.LayarMD

/*
AFTER_INPUT   cur_keybd=EN        DO_MAP SHOW
              IF cpjgktp mdumstr
              ELSE HKCURSOR STAY
              HKMSG t.KtpBlmSesuai
*/

AFTER_INPUT   cur_keybd=EN        DO_MAP SHOW
              IF ckpbnssblhlewat mdumstr
              ELSE HKCURSOR STAY
              HKMSG t.AdaKpbHangus

AFTER_INPUT   cur_keybd=EN        DO_MAP SHOW
              IF ckpbtdmblhlewat mdumstr
              ELSE HKCURSOR STAY
              HKMSG t.AdaKpbHangus2

AFTER_INPUT     cur_keybd=EN        DO_MAP SHOW
                IF cEvent821            mdumstr
                ELSE HKCURSOR STAY
                HKMSG t.ServisHarusShowroom


AFTER_INPUT   cur_keybd=EN        DO_MAP SHOW
              IF cevent821blhlewat    mdumstr
              ELSE HKCURSOR STAY
              HKMSG t.BlmAdaEvent821

AFTER_INPUT   cur_keybd=EN        DO_MAP SHOW
              IF cTdkDiskon    mdumstr
              ELSE HKCURSOR STAY
              HKMSG t.TdkBolehAdaPromo

/*AFTER_INPUT	cur_keybd=EN		DO_MAP SHOW
		IF cbolehclaiminstansi mdumstr
		ELSE HKCURSOR STAY
		HKMSG t.ClaimInstansiHanyaUtkTipeGC*/

AFTER_INPUT   cur_keybd=EN        DO_MAP SHOW
              IF cClaimEsafKpb    mdumstr
              ELSE HKCURSOR STAY
              HKMSG t.TidakbolehpilihKPBjikatipeCLAIM_ESAF

AFTER_INPUT     cur_keybd=EN	   DO_MAP SHOW
                IF cPaketLewat     mdumstr
                ELSE HKCURSOR STAY
                HKMSG t.PaketServisKadaluarsa

AFTER_INPUT	cur_keybd=EN		DO_MAP SHOW
		IF cNosinBknEsaf1 	mdumstr
		ELSE HKCURSOR STAY
		HKMSG t.NosinBknEsaf

AFTER_INPUT	cur_keybd=EN		DO_MAP SHOW
		IF cNosinBknEsaf2 	mdumstr
		ELSE HKCURSOR STAY
		HKMSG t.NosinBknEsaf
IMAGE(master2)
/----------------------------------\
|/--------------------------------\|
|| i.NoPol : ____________________ ||
|| t.NoSer : ____________________ ||
|| t.NmBrg : ____________________ ||
|| t.Total : ____________________ ||
|| t.Potkpb: ____________________ ||
|| t.disc  : ____________________ ||
|| t.SubTot: ____________________ ||
|\--------------------------------/|
\----------------------------------/


FIELD(master2)
btmkdsam        ALLCAPS NOSPACE         INPUTRI 2  /* Nopol */
btmwrn          PROTECT                 INPUTRI 4  /* ktp */
lnamabarang     ALLCAPS SCROLL          INPUTRI 5  /* Nama Barang */
btmdf4          PROTECT                 INPUTRI 5  /* Nama Barang */
btmdf3          PROTECT                 INPUTRI 5  /* Nama Barang */
btmtotal2       PROTECT                 INPUTRI 5  /* Nama Barang */
btmtotal        PROTECT                 INPUTRI 5  /* Nama Barang */

/*****************************************DETIL1**********************************/
IMAGE(transat)
/-----------------------------\
|____________________         |
|--------------------------t--|
| t.DetailInfo             |  |
\--------------------------.--/
FIELD(transat)
ltomdet         TOMBOL          INPUTRI 1

IMAGE(transa)
|__________________________________|

FIELD(transa)
tmpket            PROTECT SCROLL  INPUTRI 1

CALCS()
cseldgi2         ( tmptypjl == "T" && djoincabapi2 == 0 ) || ( tmpisistr3 == "D" && djoincabapi2 == 1 )


SUBFILE(transa)
SFL_LINES(6)
SFL_TITLE(transat)
SFL_TRANS2_FIELD tmpisistr1
SFL_TRANS2_FIELD2 tmpisistr2
SFL_SORT_BY_FIELD tmpkode
SFL_SELECT    cseldgi2
SFL_TARGET
tmpdatdvskod            gv_dttemplate   lTMPINFOAHASS2

SUBFILE(transa2)
SFL_TEMPLATE(tmp_ahass2_infodetail620)

SUBFILE(transa2g1)
SFL_TEMPLATE(tmp_ahass2_infodataktp)

SUBFILE(transa2g2)
SFL_TEMPLATE(tmp_ahass2_infodatatlp)

SUBFILE(transa2g3)
SFL_TEMPLATE(tmp_ahass2_infodatamotor)

SUBFILE(transa2g4)
SFL_TEMPLATE(tmp_ahass2_infodatatlp2)

/********************************************************/

IMAGE(transt)
/-----------------------------------\
 /---------------------------------\
  B/J        : __________________
  i.Kat      : __________________
  t.KodeBrg  : __________________               
  i.NamaBrg  : ___________________ _                 
  t.Lok      : __________________
  t.Hotline  : ____  _____________
  i.Jml      : ___________________
  t.NoSer    : ___________________
  i.Typ      : ___________________
  t.Sts      : ___________________
  t.Brg2     : ___________________
  t.HrgJsa   : ___________________
  t.Hrg      : ___________________
  t.disc     : ___________________
  t.Total    : ___________________
  t.Estimasi : ___________________
  t.Approval : __________________
               ____      _________
 \---------------------------------/
\-----------------------------------/
IMAGE(trans)

FIELD(transt)
   ppdjasbrg     NOCHANGE               INPUTRI     1  /* Jasa / barang */
   ppdnokrm      ALLCAPS SCROLL         INPUTRI     2
   ppdbrg        ALLCAPS SCROLL         INPUTRI     3  /* kode barang */
   ppdket        PROTECT                INPUTRI     3
   lfield        ALLCAPS SCROLL         INPUTRI     4
   ppdlok        ALLCAPS SCROLL         INPUTRI     4
   ppddf3        NOCHANGE               INPUTRI     4
   lHotline      PROTECT                INPUTRI     4
   ppdjml        NUMERIC                INPUTRI     5
   ppdnopsn      PROTECT                INPUTRI     6
   ppdsup        PROTECT                INPUTRI     7
   lstatus       PROTECT                INPUTRI     8 
   lbrchrgjla    PROTECT                INPUTRI     9 
   ppdhrgbp      PROTECT                INPUTRI     10
   ppdhrg        NUMERIC                INPUTRI     11 /* harga barang brc */
   ppdtotdis     PROTECT                INPUTRI     13
   ppdtotfak     PROTECT                INPUTRI     14
   ppdperdism    PROTECT                INPUTRI     15 /* estimasi */
   ppdtybuk2     NOCHANGE               INPUTRI     16 /* approval */
   ppdsts        PROTECT                INPUTRI     17
   lenter        NOCHANGE               INPUTRI     18 /* Enter */


CALCS()
cclaim2          btmwrn == "CLAIM"
ctotal		 (ppdhrg * ppdjml) - (ppdhrgbp * (ppdjml - 1))

DEFAULTS(transt)
/*ppdsatbsr               INIT            1*/
ppddata			INIT_ADD	{gv_dtahass}
ppdtglfak		INIT		{g_tgltrn}
ppdtglfak		INIT_UPDATE	{g_tgltrn}
ltotal			INIT_UPDATE	{ctotal}
lbtmperbns		INIT_UPDATE	1
lbtmperppn		INIT_UPDATE	{btmperppn}
ppddk                   INIT            K
ppdsisbrg               INIT            {stssetsisbrg} 
ppdjasbrg               DFALT_SCAN
                                        BR "Barang Baru"
                                        JI "Jasa Intern"
                                        JE "Jasa External"
ppdtybuk2	 DFALT_SCAN_BLANKS	Y
					/*T*/
                 
ppddf3            DFALT_SCAN      	 BLANKS
					 1
					 2
                       
ppdkb                    DFALT_LIST     K B
ppdsts                   INIT_ADD       OPEN
IF cclaim2   ppdnomesin  INIT_ADD       108.01003
IF cclaim2   ppdsup      INIT_ADD       AHM      
IF cclaim2   ppdnorangka INIT_ADD       SVGRATIS 
ppdjml                   INIT		1
ppdscr			 INIT_ADD	{g_scrnumstr}
ppdnopsn		 INIT_ADD       "ADDSERVIS"
lppdtybuk2		INIT_UPDATE	{ppdtybuk2}


CALCS()
/*cbknJS     ppdjasbrg != "JE" && ppdjasbrg != "JI"*/
cJI          ppdjasbrg == "JI"
cJS          ppdjasbrg == "JE" || ppdjasbrg == "JI"
cbknJSKatKsg ppdjasbrg != "JE" && ppdjasbrg != "JI" && ppdnokrm != BLANKS
cbknJSKatKsg2 ppdjasbrg != "JE" && ppdjasbrg != "JI" && ppdkat == BLANKS && g_grpnam == "TUTUP"
cbknJSKatKsg3 ppdjasbrg != "JE" && ppdjasbrg != "JI" && ppdnokrm == BLANKS
cBRLok       (g_curcmd == 1 && ppdjasbrg == "BR" && ppdjmlren > 0 && ppdscr == "620") ||                                                                                               
             (g_curcmd == 2 && ppdjasbrg == "BR" && ppdjmlren > 0 && ppdscr != "620" && btmstsdata == BLANKS) ||
             (g_curcmd == 2 && ppdjasbrg == "BR" && ppdjmlren > 0 && ppdscr == "620" && btmstsdata == BLANKS)  || 
             (g_curcmd == 2 && ppdjasbrg == "BR" && ppdjmlren > 0 &&  djoincabapi2 == 1 && ltbdkettype == "ADA" ) ||
             (g_curcmd == 2 && ppdjasbrg == "BR" && ppdjmlren > 0 &&  djoincabapi2 == 1 && ltbdkettype == BLANKS ) 
                

cBRLok2	     ppdjasbrg == "BR" && ppdjmlren == 0 /*&& djoincabapi2 == 0*/
cBR2	     ppdjasbrg == "BR" && (btmsts == "OPEN" || btmsts == "INPG") && ppdjmlren > 0
cbkn_svgratis   ppdnorangka != gv_svgratis
cjoinbrcU1   djoinbrcU1 == 1 && ppdjasbrg =="BR" && ppdsup == "AHM" && djointbd_promoJasa == 0
/*cjoinbrcU1x  djoinbrcU1 == 1 && ppdjasbrg =="BR" && ppdsup == "AHM"*/
cjoinbrcU2   djoinbrcU2 == 1 && ppdjasbrg =="BR" && ppdsup != "AHM" && djointbd_promoJasa == 0 && djoinrmdstrukturh2e == 0
cjoinbrcU3   djoinbrcU3 == 1 && ppdjasbrg =="BR" && ppdsup != "AHM" && djointbd_promoJasa == 0 && djoinrmdstrukturh2e == 0
cjoinbrcJS   ppdjasbrg =="JI"
cdoskonjasaa ppdjasbrg == "JI" && djoinbrcjs == 1  

cdiskonparta     lbrgkat4a == "PART" && ppdjasbrg == "BR" && djoinbrcbrt   == 1
cdoskonolia      lbrgkat4a == "OIL" && ppdjasbrg == "BR" && djoinbrcbrt   == 1 
cdiskonperparta  djoinbrcbrta  ==1
cbarutambah	btmsts == "INPG" && btmstsdata == "OK" && ppdjasbrg == "BR" && g_curcmd == 1
cdjoinbrg_1	djoinbrg == 1
cdjoinbtf1	djoinbtf == 1

EDITS(transt)
e.Mandatory	ppdbrg	MANDATORY
e.Mandatory ppdlok MANDATORY_IF cBR2
e.ValidateKat	ppdnokrm VALIDATE tbddatkodidx mpkt_kat stbd {Pgv_dttabel} {Pgv_barang} {PlKATBRGPAKET}
/*t.ValidateJS  ppdbrg VALIDATE_IF cJI brcdatstskod mbrcJS sbrcjsahs {Pgv_jasain} {Pgv_INPG} {Pbtmcab} {PlJASAIN} {PlJASA} {Sbrckode} */
/*e.ValidateBrg ppdbrg VALIDATE_IF cBR brgstsdatbrg mbrgBR sbrg {Pgv_INPG} {Pgv_dtbarang}*/

/*e.ValidateppdBrg ppdbrg VALIDATE_IF cbknJSKatKsg brgstsdatbrg mbrg sbrg {Pgv_INPG} {Pgv_dtbarang} */
t.ValidateJS  ppdbrg VALIDATE_IF cJI brcdatstskod mbrcJS sbrcjsahs {Pgv_jasain} {Pgv_INPG} {Pbtmcab} {PlJASAIN} {PlJASA} {Sppdpsnoto} 

/*t.ValidateBrg ppdbrg VALIDATE_IF cbknJSKatKsg2 brdbbmbrgidx mbrdBR sbrdBrgH2 {Plbrdnobbm} {Pgv_INPG} {Pbtmcab}*/
/*t.ValidateBrg ppdbrg VALIDATE_IF cbknJSKatKsg2 brdbbmbrgidx mbrdBR 0*/
e.ValidateppdBrg ppdbrg VALIDATE_IF cbknJSKatKsg brgdatstskat mbrg sbrgKat {Pgv_dtbarang} {Pgv_INPG} {Plppdnokrm} {PlBLANKS} {PlPARTSPM}
/*t.ValidateBrg ppdbrg VALIDATE_IF cbknJSKatKsg3 brdbbmbrgidx mbrdBR sbrdBrgH2 {Plbrdnobbm} {Pgv_INPG} {Pbtmcab} */
t.ValidateBrg ppdbrg VALIDATE_IF cbknJSKatKsg3 brgstsdatbrg mbrgBR sbrg {Pgv_INPG} {Pgv_dtbarang} 


t.ValidateLokAhs ppdlok VALIDATE_IF cBRLok brdbrglokoto mbrdlok sbrdLokAhs {Pgv_INPG} {Pppdbrg} {Pbtmcab}  {Sppdukrwrn} {Sppdsat} {Sppdpsnoto2}

e.Mandatory ppdhrg MAND_ZERO_PLUS
/*t.ValidateJS2 ppdbrg VALIDATE_IF cBR brcdatstskod mbrcJS2 sbrcjsahs {Pgv_dtbarang} {Pgv_INPG} {Pbtmcab} {Pgv_dtbarang21} {Plpartspm} {SlSS8175ML.101} */
e.Mandatory ppdtybuk2 MANDATORY_IF cbarutambah

CALCS()
chrgtot       (lbrchrgjla * ppdjml) + lhrgjs
chrgtot2      ((ppdhrg - ppdhrgbp) / ppdjml)
chrgtot3      (lbrchrgjla * ppdjml)
chrgtot4a     ((lhasil1kpbtdm / 100) * lbrchrgjla)
chrgtot4b     (lhasiltot4 + lbrchrgjla)
ckpb234       (djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && ppdsup != "AHM" && (btmwrn == "PKTSERVICEKPB2" ||
               btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4")) || djointbd_promoJasa == 1
cserviceoli   (djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && ppdsup != "AHM" && (btmrekomen == "SERVICE" || 
	       btmrekomen == "SERVIS RINGAN" || btmrekomen == "HEAVY REPAIR" || btmrekomen == "LCR" || btmwrn == "PKTSERVICEKPB2" ||
	       btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4"))
ckpb234x      (ppdjasbrg == "BR" && ppdsup != "AHM" && (btmwrn == "PKTSERVICEKPB1" || btmwrn == "PKTSERVICEKPB2" || btmwrn == "PKTSERVICEKPB3" ||
               btmwrn == "PKTSERVICEKPB4" || btmrekomen == "SERVICE" || btmrekomen == "OLI" || btmrekomen == "GANTIPART" ||
               btmrekomen == "AKI" || btmrekomen == "BAN" || btmrekomen == "SERVIS RINGAN" || btmrekomen == "ADDITIONAL" || 
	       btmrekomen == "HEAVY REPAIR" || btmrekomen == "LCR") ||
              (ppdjasbrg == "BR" && ppdsup != "AHM" && (btmrekomen == "KPBNSS" || btmrekomen == "KPBSINSEN" || btmrekomen == "KPBTDM") &&
               djoinbrg == 1 && lbrgkat4 != "OLI" && lbrgkat4 != "OIL"))

ckpb234xx      ((btmwrn == "PKTSERVICEKPB2" && djointbd_promooli == 1 && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && 
		lbrgkat5!="OLI GEAR" && ppdsup == "AHM")) ||
	       ((btmwrn == "PKTSERVICEKPB2" && djointbd_promooli2 == 1 && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && 
		lbrgkat5!="OLI GEAR" && ppdsup == "AHM")) ||
	       ((btmwrn == "PKTSERVICEKPB2" || btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4") && djointbd_promooli3 == 1 && 
		djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5!="OLI GEAR" && ppdsup == "AHM") ||
	       ((btmrekomen == "KPBNSS" || btmrekomen == "KPBSINSEN") && djoinbrg == 1 && 
		(lbrgkat4 == "OLI" || lbrgkat4 == "OIL")) ||
	       (btmrekomen == "KPBTDM" && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 == "OLI GEAR") ||
	       (btmwrn == "PKTSERVICEKPB1" && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 == "OLI GEAR") ||
	       (btmwrn == "PKTSERVICEKPB2" && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 == "OLI GEAR" && 
		djointbd_promooli6 == 1) ||
	       (btmrekomen == "KPBTDM" && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 != "OLI GEAR" &&
                djoinrmdstrukturh2_kpbtdm3 == 0 && djoinrmdstrukturh2_kpbtdm4 == 0) ||
	       ((btmwrn == "PKTSERVICEKPB2" || btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4") && djoinbrg == 1 && 
		(lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 != "OLI GEAR" && djoinrmdstrukturh2_kpbhso == 1 && lrmdgabpaket5 != BLANKS)


ckpb34tdm      (btmrekomen == "KPBTDM" && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 != "OLI GEAR" &&
               ((djoinrmdstrukturh2_kpbtdm3 == 1 && lrmdgabkpbtdm3 != BLANKS) || (djoinrmdstrukturh2_kpbtdm4 == 1 && lrmdgabkpbtdm4 != BLANKS)))



chrg0         btmstr2 != "CLAIM"
cpktkpb	      djoinbrgJS == 1 && ppdjasbrg == "JI" && ppdsup == "AHM"
cstock	      dscanbrd >= 0
cbrgksg	      (ppdjasbrg == "BR"  && ppdjmlren > 0 && ppdlok != BLANKS) || (ppdjasbrg != "BR") || (ppdjasbrg == "BR" && ppdlok == BLANKS)
cstart	      "STRT"
ctake	      "TAKE"
cpend	      "PDNG"
cfinish	      "FNSH"
cvoid	      "VOID"
cstartx	      ppdsts == "OPEN" && ppdtybuk2 == "Y" && djoinppm == 1 && lppmsts == "PROS" && lppmpry2 == ppdnomst2
ctakex	      ppdsts == "INPG" && ppdtybuk2 == "Y" && djoinppm == 1 && lppmsts == "PROS" && lppmpry2 == ppdnomst2
cpendx	      ppdsts == "PEND" && ppdtybuk2 == "Y" && djoinppm == 1 && (lppmsts == "PEND" || lppmsts == "SAOK") && lppmpry2 == ppdnomst2
cfinishx      (ppdsts == "INPG" || ppdsts == "CLSD") && ppdtybuk2 == "Y" && djoinppm == 1 && (lppmsts == "SVOK" || lppmsts == "INPG" || 
	       lppmsts == "CLSD") && lppmpry2 == ppdnomst2
cvoidx	      ppdsts == "VOID" && ppdtybuk2 == "Y" && djoinppm == 1 && lppmsts == "VOID"
chrgjs	      lhrgjs 
/*conlypkt      ppdnopsn != "ADDSERVIS" && g_curcmd == 2 && djointbt_cabdgi1 == 0 && djointbt_cabdgi2 == 0*/
ccmJS	      ppdjasbrg == "JI" || ppdjasbrg == "JE"
ccmJS_BR      (ppdjasbrg == "JI" || ppdjasbrg == "JE") || (ppdjasbrg == "BR" && ppdnokrm != BLANKS)
/*ckpbyes	      btmwrn == "PKTSERVICEKPB1" && djoinbrcU1 == 1 && (btmperppn == 0 || (btmperppn == 1 && (btmtypmtr2 == "CBR250" || btmtypmtr2 == "CRF250")))*/
ckpb1		btmwrn == "PKTSERVICEKPB1" && ppdsup == "AHM"
/*ckpb1xx		(btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSERVICEKPB2" && btmwrn != "PKTSERVICEKPB3" && btmwrn != "PKTSERVICEKPB4" && btmrekomen != "SERVICE" && ppdsup != "AHM" )*/
ckpb1xx  	(djoinbrg == 1 && lbrgkat4 != "OLI" && lbrgkat4 != "OIL" && ppdsup != "AHM" && djointbd_promoJasa == 0) ||
		(btmrekomen == "OLI")
cYA		"YA"
cY		"Y"
cTIDAK		"TIDAK"
cAHM		"AHM"
cKPBNSS		"KPBNSS"
cKPBSINSEN	"KPBSINSEN"
cKPBTDM		"KPBTDM"
cVOUCHER	"VOUCHER"
cKPBHSO		"KPBHSO"
cKPB1TAHUN      "KPB1TAHUN"
conlykpb	(btmwrn =="PKTSERVICEKPB1" && (btmperppn ==0 || (djointmp_promokpb == 1 && btmperppn < ltmpisidf1)) && djoinbrg == 1 && (lbrgkat4 =="OLI" || lbrgkat4 =="OIL") && lbrgkat5 !="OLI GEAR" && djointbd_promooli == 0 && djointbd_promooli2 == 0 && djointbd_promooli3 == 0 && djointbd_promooli4 == 0) ||
		(btmwrn =="PKTSERVICEKPB2" && (btmperppn ==0 || (djointmp_promokpb ==1 && btmperppn < ltmpisidf1)) && djoinbrg ==1 && (lbrgkat4 =="OLI" || lbrgkat4 =="OIL") && lbrgkat5 !="OLI GEAR" && (djointbd_promooli == 1 || djointbd_promooli2 == 1 || djointbd_promooli3 == 1 || djointbd_promooli4 == 1)) ||
		(btmwrn =="PKTSERVICEKPB2" && (btmytplgpsn == BLANKS || (djointmp_promokpb ==1 && btmytplgpsn == ltmpisidf2)) && djoinbrg ==1 && (lbrgkat4 =="OLI" || lbrgkat4 =="OIL") && lbrgkat5 =="OLI GEAR" && djointbd_promooli6 == 1) ||
		(btmwrn =="PKTSERVICEKPB3" && (btmperppn ==0 || (djointmp_promokpb == 1 && btmperppn < ltmpisidf1)) && djoinbrg == 1 && (lbrgkat4 =="OLI" || lbrgkat4 =="OIL") && lbrgkat5 !="OLI GEAR" && (djointbd_promooli3 == 1 || djointbd_promooli4 == 1)) ||
		(btmwrn == "PKTSERVICEKPB4" && (btmperppn == 0 || (djointmp_promokpb == 1 && btmperppn < ltmpisidf1)) && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 !="OLI GEAR" && (djointbd_promooli3 == 1 || djointbd_promooli4 == 1)) ||
		(djointbd_promooli2 == 1 && djoinrmdstrukturh2f == 1 && lrmdgabpaket5 != BLANKS && btmperppn < 1 && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 !="OLI GEAR")
 
conlykpbnss	(btmrekomen == "KPBNSS" && (djointmp_promokpb == 1 && (ltmpisidf1 > 0)) && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 !="OLI GEAR")

conlykpb1tahun  (btmrekomen == "KPB" && btmwrn != "PKTSERVICEKPB1" && btmsurveyor== BLANKS && (btmperppn == 0 || (djointmp_promokpb == 1 && btmperppn < ltmpisidf1)) && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 !="OLI GEAR" && 
                 djoinppm614 == 1 && ltglkirimmtr >= 20240901 && (lppmtk614 == "K" || (djoinrmdstrukturh2_kpb1tahun_tunai == 1 && lbtmytplg611 == "Y")) && btmhrg == 2 && djointbt_cabtdkkpb1tahun == 0)


conlykpbsinsen	(btmrekomen == "KPBSINSEN" && (djointmp_promokpb == 1 && (ltmpisidf1 > 0)) && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 !="OLI GEAR")

conlykpbtdm	((btmrekomen == "KPBTDM" && ((djoinrmdstrukturh2_kpbtdm3 == 1 && lrmdgabkpbtdm3 != BLANKS) || (djoinrmdstrukturh2_kpbtdm4 == 1 && lrmdgabkpbtdm4 != BLANKS)) && (djointmp_promokpb == 1 && btmperppn < ltmpisidf1)) && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 !="OLI GEAR")

conlyvoucher	(djointbd_promooli2 == 1 && djoinrmdstrukturh2f == 1 && lrmdgabpaket5 != BLANKS && btmperppn < 1 && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 !="OLI GEAR")

conlykpbhso	(btmwrn =="PKTSERVICEKPB2" && (btmperppn ==0 || (djointmp_promokpb ==1 && btmperppn < ltmpisidf1)) && djoinbrg ==1 && (lbrgkat4 =="OLI" || lbrgkat4 =="OIL") && lbrgkat5 !="OLI GEAR" && djoinrmdstrukturh2_kpbhso == 1 && lrmdgabpaket5 != BLANKS) ||
		(btmwrn =="PKTSERVICEKPB3" && (btmperppn ==0 || (djointmp_promokpb == 1 && btmperppn < ltmpisidf1)) && djoinbrg == 1 && (lbrgkat4 =="OLI" || lbrgkat4 =="OIL") && lbrgkat5 !="OLI GEAR" && djoinrmdstrukturh2_kpbhso == 1 && lrmdgabpaket5 != BLANKS) ||
		(btmwrn == "PKTSERVICEKPB4" && (btmperppn == 0 || (djointmp_promokpb == 1 && btmperppn < ltmpisidf1)) && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 !="OLI GEAR" && djoinrmdstrukturh2_kpbhso == 1 && lrmdgabpaket5 != BLANKS)

conlykpbx	((btmwrn == "PKTSERVICEKPB1" || btmwrn == "PKTSERVICEKPB2" || btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4" || btmwrn == "PKTSERVICEKPB5") && (btmperppn == 1 || (djointmp_promokpb == 1 && btmperppn < ltmpisidf1)) && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 !="OLI GEAR") || (djoinrmdstrukturh2e == 1 && lrmdgabamic != BLANKS)

conlykpbxx	((djoinrmdstrukturh2a == 1 && lrmdgabpaket1 != BLANKS && (btmperppn == 0 || (djointmp_promokpb == 1 && btmperppn < ltmpisidf1)) && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 !="OLI GEAR") && djoinbtf == 1) ||
		((djoinrmdstrukturh2d == 1 && lrmdgabpaket4 != BLANKS && (btmperppn == 0 || (djointmp_promokpb == 1 && btmperppn < ltmpisidf1)) && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 !="OLI GEAR") && djoinbtf == 1 && djointbd_promooli4 == 1)

crekpiu         DO_LIB ap_amdvs(gv_dtdivisi21,lPIUASTRA,lRekPiuastra);
ckpbxx          (btmwrn == "PKTSERVICEKPB1" || btmwrn == "PKTSERVICEKPB2" || btmwrn == "PKTSERVICEKPB3" || btmwrn == "PKTSERVICEKPB4" || btmwrn == "CLAIM" || btmrekomen == "SERVICE" ||
                btmrekomen == "KPBNSS" || btmrekomen == "KPBSINSEN" || btmrekomen == "KPBTDM")
cdjoinestimasi2 djoinbrcU1 == 1 && djoinbrgJS_1 == 1 && ppdjasbrg == "BR"
cdjoinestimasi1	djoinbrgJS == 1 && ppdjasbrg == "JI"
cdisco 		(ppdperdis4 + ppdperdis5 + ppdperdis6 + ppdperdis7)
/*cttlhrg		(ppdhrg * ppdjml) - (ppdperdis4 + ppdperdis5 + ppdperdis6 + ppdperdis7) - (ppdhrgbp * (ppdjml - 1))*/
cttlhrg2	(ppdhrg - (ppdperdis4 + ppdperdis5 + ppdperdis6 + ppdperdis7))
copen_1		btmsts == "OPEN" && btmstsdata == BLANKS && g_curcmd == 2 && ppdjasbrg == "BR"
copen_2a	btmsts == "OPEN" && btmstsdata == "OK" && g_curcmd == 2 && ppdlok != BLANKS
copen_3		btmsts == "OPEN" && btmstsdata == BLANKS && g_curcmd == 1 && ppdjasbrg == "JI"
copen_4		btmsts == "OPEN" && btmstsdata == BLANKS && g_curcmd == 1 && ppdjasbrg == "BR"

copen_5		btmsts == "OPEN" && btmstsdata == "OK" && g_curcmd == 1 && ppdjasbrg == "JI"
copen_6		btmsts == "INPG" && btmstsdata == "OK" && g_curcmd == 1 && ppdjasbrg == "JI"
clbhbesar	djoinbrgJS ==1 && lbrgdisrp <= ppdhrg && (ltkmtotal==1 && btmsoa == "SPKSALES")
cBlhFast        ((ppdjmlren > 0 && (ppdjasbrg == "BR" && djointbd_masteramic == 0 && (djointbt_cablokasilibur1 == 1 || djointbt_cablokasilibur2 == 1) &&
                djointgmLIBUR == 1 && ltgmtype == "HL" && djointbd_fastmoving == 1 && ltbdtblkode_fast == "LOKAHASSLIBUR")
                ||
                ((djointbt_cablokasilibur1 == 0 && djointbt_cablokasilibur2 == 0) && djointbd_masteramic == 0 && (ppdjasbrg == "BR" && djointgmLIBUR == 1 &&
                (ltgmtype == "HL" || ltgmtype == "HK") && djointbd_fastmoving == 1 && ltbdtblkode_fast != "LOKKASUS" &&
                ltbdtblkode_fast != "LOKRUSAK" && ltbdtblkode_fast != "LOKAHASSLIBUR"))
                ||
                (ppdjasbrg == "BR" && (djointbt_cablokasilibur1 == 1 || djointbt_cablokasilibur2 == 1) && djointbd_masteramic == 0 && djointgmLIBUR == 1 &&
                ltgmtype == "HK" && djointbd_fastmoving == 1 && ltbdtblkode_fast != "LOKKASUS" && ltbdtblkode_fast != "LOKRUSAK" &&
                ltbdtblkode_fast != "LOKAHASSLIBUR")
                ||
                (ppdjasbrg == "BR" && djointbd_masteramic == 1 && djointbd_fastmoving == 1 && ltbdtblkode_fast != "LOKKASUS" && ltbdtblkode_fast != "LOKRUSAK" &&
                ltbdtblkode_fast != "LOKAHASSLIBUR" && ltbdtblkode_fast !="LOKAHASS")
                ||
                (ppdjasbrg == "BR" && djointbd_masteramic == 1 && djointbd_fastmoving == 1 && ltbdtblkode_fast == "LOKAHASS" && ltbdkettype_fast == "SPLIT"))
                ||
                (ppdjasbrg != "BR") || (ppdjmlren == 0))

cAdmPart        (ppdjmlren > 0 && ((djointbt_cablokasishift1 == 1 || djointbt_cablokasishift2 == 1) &&
                (ppdjasbrg== "BR" && (djoin_abd == 1 && labdtype != "DATANG" && labdtype !="HADIR")
                && (djointgmLIBUR == 1 && ltgmtype =="HK") && djointbd_fastmoving == 1 && ltbdtblkode_fast == "LOKAHASSSHIFT")) ||
                (ppdjasbrg== "BR" && (djoin_abd == 1 && labdtype == "DATANG")
                && (djointgmLIBUR == 1 && ltgmtype =="HK") && djointbd_fastmoving == 1 && ltbdtblkode_fast == "LOKAHASS") ||
                (ppdjasbrg== "BR" && (djoin_abd == 1 && labdtype == "HADIR")
                && (djointgmLIBUR == 1 && ltgmtype =="HK") && djointbd_fastmoving == 1 && ltbdtblkode_fast == "LOKAHASSSHIFT")) ||
                (djointbt_cablokasishift1 == 0 && djointbt_cablokasishift2 == 0) || (djointgmLIBUR == 1 && ltgmtype =="HL") ||
		(ppdjmlren == 0)

cBlhTuneUp	(ppdjasbrg == "JI" && ppdnokrm != BLANKS && djointbd_jasatuneup == 1) ||
		(ppdjasbrg == "JI" && ppdnokrm == BLANKS) || (ppdjasbrg != "JI")

crmdstrukturh2a	djoinrmdstrukturh2a == 1 && lrmdgabpaket1 != BLANKS && djointbd_promooli == 1 && btmposjmn == "NS"
crmdstrukturh2b	djoinrmdstrukturh2b == 1 && lrmdgabpaket2 != BLANKS && djointbd_promooli == 1 
crmdstrukturh2c	(djoinrmdstrukturh2c == 1 && lrmdgabpaket3 != BLANKS && djointbd_promooli2 == 1 && 
		(btmposjmn == "NS" || btmposjmn == "NON NS") && djoinbrg == 1 && 
		(lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 !="OLI GEAR") ||
		(djoinrmdstrukturh2f == 1 && lrmdgabpaket5 != BLANKS && djointbd_promooli2 == 1 && (btmposjmn == "NS" || btmposjmn == "NON NS") &&
		djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 !="OLI GEAR")

crmdstrukturh2cx (djoinrmdstrukturh2c == 1 && lrmdgabpaket3 != BLANKS && djointbd_promooli2 == 1 && (btmposjmn == "NS" || btmposjmn == "NON NS"))
crmdstrukturh2fx (djoinrmdstrukturh2f == 1 && lrmdgabpaket5 != BLANKS && djointbd_promooli2 == 1 && (btmposjmn == "NS" || btmposjmn == "NON NS"))

crmdstrukturh2d			djoinrmdstrukturh2d == 1 && lrmdgabpaket4 != BLANKS && djointbd_promooli4 == 1 && (btmposjmn == "NS" || btmposjmn == "NON NS")
crmdstrukturh2e 		ppdjasbrg == "BR" && djoinrmdstrukturh2e == 1 && lrmdgabamic != BLANKS
crmdstrukturh2_asuransi2a	(djoinrmdstrukturh2_asuransi1 == 0 && djoinrmdstrukturh2_asuransi2 == 0)
crmdstrukturh2_asuransi2b	((djoinrmdstrukturh2_asuransi1 == 1 && lrmdgabasuransi1 != BLANKS ) || (djoinrmdstrukturh2_asuransi2 == 1 && lrmdgabasuransi2 != BLANKS))
/*crmdstrukturh2_asuransi2c	g_curcmd == 1 && djoinrmdstrukturh2_asuransi2 == 1*/

chrgolitdm	ppdhrg - ppdretren
chrgAsuransi	brchrgjl + lhasil1asuransi
chrgPersencab   brchrgjl + ( brchrgjl * ( ltbtdf_persen / 100 ) ) 
cdjoinhrgpersen djointbt_cabpersen == 1 && lstatuscab == "AKTIF" && ( btmstr2 == "REGULER" || btmstr2 == "TAMBAHAN" ) 

cjikatambah	(g_curcmd == 1 || g_curcmd == 2)	
cjikatdktambah  (g_curcmd != 1 && g_curcmd != 2) && ppdjmlren > 0

/*cstatusOK	(g_curcmd==1 || (g_curcmd==2 && btmstsdata!="OK"))*/
cppdbrgBlank	ppdbrg == BLANKS
cjmlren		ppdjmlren > 0
cjmlren2	((btmsts == "INPG" && ppdjasbrg == "BR" && ppdjmlren > 0) || (ppdjasbrg != "BR") || (btmsts != "INPG"))
cHrgBrgKosong   ((ppdjasbrg == "BR" && lbrchrgjla > 0) || ppdjasbrg != "BR")
/*cppdjmlren0	ppdjmlren == 0*/

cupddgi         g_curcmd == 2 && djoincabapi2 == 1 && ltbdkettype == "ADA"                                                                                                             
cadddgi         ( g_curcmd == 1 && djoincabapi2 == 1 && ltbdkettype == "ADA" && ppdjasbrg == "BR" && djoinmasterbr == 1 )  || ( djoincabapi2 == 0 ) || 
                ( g_curcmd == 2 && djoincabapi2 == 1 && ltbdkettype == "ADA" && ppdjasbrg == "BR" && djoinmasterbr == 1 )  || ( djoincabapi2 == 1 && ltbdkettype == BLANKS ) ||
                ( g_curcmd == 2 && djoincabapi2 == 1 && ltbdkettype == "ADA" && ppdjasbrg == "BR" && ppdlok != BLANKS )   || ( ppdjasbrg == "JI" )
chtngppn        ( ( lbtfhrg  * ( stsperppn / 100 ) )  + lbtfhrg )     

MAP(mpkt_kat)
tbdkode         ppdnokrm	REPLACE
ppdnokrm	lppdnokrm	REPLACE

MAP(mbrdlok)
brdbrg		ppdbrg		REPLACE
brdlok		ppdlok		REPLACE_IF cjmlren
brdukrwrn	ppdukrwrn	REPLACE
brdsat		ppdsat		REPLACE
brdoto		ppdbrdoto	REPLACE
brdoto		ppdpsnoto2      REPLACE

MAP(mbrg)
crmdgabamic	lrmdgabamic	DO_CALC
crmdgabkpbtunai	lrmdgabkpbtunai	DO_CALC

cBLANKS		lstatus		DO_CALC
c0		lbrchrgjla	DO_CALC
c0		lhrgjs		DO_CALC
c0		lppdhrgbp	DO_CALC
c0		lppdhrgbp	DO_CALC_IF ckpbxx
c0		ppdhrgbp	DO_CALC_IF ckpbxx
c0		lppdhrgbp	DO_CALC_IF cdjointbd_promoJasa
c0		ppdhrgbp	DO_CALC_IF cdjointbd_promoJasa
c0		ppdretpos	DO_CALC
c0		lhrgolitdm	DO_CALC
gv_svgratis	ppdnorangka	REPLACE_IF conlykpb 
cAHM		ppdsup		DO_CALC_IF conlykpb
cKPBNSS		ppdsup		DO_CALC_IF conlykpbnss
cKPBSINSEN	ppdsup		DO_CALC_IF conlykpbsinsen
cKPBTDM		ppdsup		DO_CALC_IF conlykpbtdm
cVOUCHER	ppdsup		DO_CALC_IF conlyvoucher
cKPBHSO		ppdsup		DO_CALC_IF conlykpbhso
cKPB1TAHUN      ppdsup          DO_CALC_IF conlykpb1tahun
crekpiu		lRekPiuastra	DO_CALC		
/*lRekPiuastra	ppdnomesin	REPLACE_IF ckpb1 */
lRekPiuastra	ppdnomesin	REPLACE_IF conlykpb
ppdjmlren	ppdjmlren	REPLACE

/*brgkode          ppdbrg         REPLACE*/
brgkode          ppdbrg         REPLACE
brgnama		 ppdket		REPLACE
brgkat           ppdkat         REPLACE 
brgsat           ppdsat         REPLACE
cstart		 lstatus	DO_CALC_IF cstartx
ctake		 lstatus	DO_CALC_IF ctakex
cpend		 lstatus	DO_CALC_IF cpendx
cfinish		 lstatus	DO_CALC_IF cfinishx
cvoid		 lstatus	DO_CALC_IF cvoidx
brgkat4          lbrgkat4a      REPLACE

lbrchrgjla       lbrchrgjla      REPLACE_IF cjoinbrcU1
lbrchrgjla       lbrchrgjla      REPLACE_IF cjoinbrcU2
lhrgjs           lhrgjs          REPLACE_IF cjoinbrcU1
lhrgjs           lhrgjs          REPLACE_IF cjoinbrcU2

chrgjs           lppdhrgbp      DO_CALC
lppdhrgbp        ppdhrgbp       REPLACE_IF ckpb1xx
c0               lppdhrgbp      DO_CALC_IF crmdstrukturh2e
c0               ppdhrgbp       DO_CALC_IF crmdstrukturh2e
chrgtot2	 lbrchrgjla	 DO_CALC_IF cjikatdktambah
c0		 lbrchrgjla	 DO_CALC_IF cppdbrgBlank

DEBUG           ldumstr    ldumstr    REPLACE

MAP(mbrgBR) /*BRDSISA*/
crmdgabamic	lrmdgabamic	DO_CALC
crmdgabkpbtunai	lrmdgabkpbtunai	DO_CALC

cBLANKS		 lstatus	 DO_CALC
c0		 lbrchrgjla	 DO_CALC
c0		 lhrgjs		 DO_CALC
c0		 lppdhrgbp	 DO_CALC
c0		 lppdhrgbp	 DO_CALC_IF ckpbxx
c0		 ppdhrgbp	 DO_CALC_IF ckpbxx
c0		 lppdhrgbp	 DO_CALC_IF cdjointbd_promoJasa
c0		 ppdhrgbp	 DO_CALC_IF cdjointbd_promoJasa
c0		 ppdretpos	 DO_CALC
c0		 lhrgolitdm	 DO_CALC
cAHM		 ppdsup		 DO_CALC_IF conlykpb
cKPBNSS		 ppdsup		 DO_CALC_IF conlykpbnss
cKPBSINSEN	 ppdsup		 DO_CALC_IF conlykpbsinsen
cKPBTDM   	 ppdsup		 DO_CALC_IF conlykpbtdm
cVOUCHER	 ppdsup		 DO_CALC_IF conlyvoucher 
cKPBHSO		ppdsup		DO_CALC_IF conlykpbhso
cKPB1TAHUN       ppdsup          DO_CALC_IF conlykpb1tahun
gv_svgratis	 ppdnorangka	 REPLACE_IF conlykpb 
crekpiu		 lRekPiuastra	 DO_CALC		
crekpiu		 ppdnomesin	 DO_CALC_IF conlykpb 
ppdjmlren    	 ppdjmlren   	 REPLACE_IF cstock
brgkode		 ppdbrg		 REPLACE

/*
lbrgnama	 ppdket		 REPLACE_IF cdjoinbrg_1
lbrgkat		 ppdkat		 REPLACE_IF cdjoinbrg_1
lbrgsat		 ppdsat		 REPLACE_IF cdjoinbrg_1
*/

brgnama	 	 ppdket		 REPLACE
brgkat		 ppdkat		 REPLACE
brgsat		 ppdsat		 REPLACE

cstart		 lstatus	 DO_CALC_IF cstartx
ctake		 lstatus	 DO_CALC_IF ctakex
cpend		 lstatus	 DO_CALC_IF cpendx
cfinish		 lstatus	 DO_CALC_IF cfinishx
cvoid		 lstatus	 DO_CALC_IF cvoidx

lbrchrgjla       lbrchrgjla      REPLACE_IF cjoinbrcU1
lbrchrgjla       lbrchrgjla      REPLACE_IF cjoinbrcU2
lhrgjs           lhrgjs          REPLACE_IF cjoinbrcU1
lhrgjs           lhrgjs          REPLACE_IF cjoinbrcU2

/*lhrgbli		 lbrchrgjla	 REPLACE_IF ckpbyes
lhrgbli		 lbrchrgjla	 REPLACE_IF cjoinbrcU1x
chrgtot          lhrgtot         DO_CALC_IF cjikatambah
chrgtot3	 lhrgtot3	 DO_CALC_IF cjikatambah
lbrdhrg		 ppdhrg		 REPLACE_IF conlykpbxx
lhrgtot          ppdhrg          REPLACE_IF ckpb234x
lhrgtot3	 ppdhrg		 REPLACE_IF cserviceoli
chrgtot3         ppdhrg          DO_CALC_IF ckpb234
chrgtot3         ppdhrg          DO_CALC_IF ckpb234xx
chrgtot4a        lhasiltot4      DO_CALC_IF ckpb34tdm
chrgtot4b	 ppdhrg		 DO_CALC_IF ckpb34tdm
lhasil1hrg_amic	 ppdhrg		 REPLACE_IF crmdstrukturh2e
*/

/*lhrgbli		 ppdhrg		 REPLACE_IF ckpbyes*/
chrgjs           lppdhrgbp       DO_CALC
lppdhrgbp	 ppdhrgbp	 REPLACE_IF ckpb1xx
c0		 lppdhrgbp	 DO_CALC_IF crmdstrukturh2e
c0		 ppdhrgbp	 DO_CALC_IF crmdstrukturh2e

cdisco 		 ppdtotdis	 DO_CALC
c0		 lbrchrgjla	 DO_CALC_IF cJI
lhasil1hrg	 ppdretpos	 REPLACE_IF crmdstrukturh2a
lhasil1hrg	 ppdretren	 REPLACE_IF crmdstrukturh2c
lhasil2hrg	 ppdsatbsr	 REPLACE_IF crmdstrukturh2c
chrgolitdm	 lhrgolitdm	 DO_CALC_IF crmdstrukturh2c
lhrgolitdm	 ppdretpos	 REPLACE_IF crmdstrukturh2c
cttlhrg2	 ppdtotfak	 DO_CALC
chrgtot2	 lbrchrgjla	 DO_CALC_IF cjikatdktambah

MAP(mbrcJS)
crmdgabasuransi1	lrmdgabasuransi1	DO_CALC
crmdgabasuransi2	lrmdgabasuransi2	DO_CALC
cBLANKS		 lstatus	 DO_CALC
ltbtdf_persen   ltbtdf_persen    REPLACE_IF cdjoinhrgpersen
c0		 lbrchrgjla	 DO_CALC
brcbrg           ppdbrg          REPLACE
gv_svgratis	 ppdnorangka	 REPLACE_IF conlykpb 
crekpiu		 ppdnomesin	 DO_CALC_IF conlykpb 
lbrgkat          ppdkat          REPLACE_IF cdjoinestimasi1
brchrgjl         brchrgjl        REPLACE_IF cjoinbrcJS
brchrgjl  	 ppdhrg		 REPLACE_IF crmdstrukturh2_asuransi2a
chrgAsuransi	 ppdhrg		 DO_CALC_IF crmdstrukturh2_asuransi2b
chrgPersencab    ppdhrg          DO_CALC_IF cdjoinhrgpersen
lhasil1asuransi	 ppddf1		 REPLACE
brgsat           ppdsat          REPLACE
lbrgnama	 ppdket		 REPLACE_IF cdjoinestimasi1
brckode		 ppdpsnoto   	 REPLACE
cstart		 lstatus	 DO_CALC_IF cstartx
ctake		 lstatus	 DO_CALC_IF ctakex
cpend		 lstatus	 DO_CALC_IF cpendx
cfinish		 lstatus	 DO_CALC_IF cfinishx
cvoid		 lstatus	 DO_CALC_IF cvoidx
cdisco		 ppdtotdis	 DO_CALC
c0		 lbrchrgjla	 DO_CALC_IF cJI
lbrgdisrp	 ppdtotdis	 REPLACE_IF clbhbesar
lhasil1hrg	 ppdretpos	 REPLACE_IF crmdstrukturh2a
lhasil1hrg	 ppdretpos	 REPLACE_IF crmdstrukturh2c
lhasil2hrg	 ppdsatbsr	 REPLACE_IF crmdstrukturh2c
cttlhrg2	 ppdtotfak	 DO_CALC


MAP(murut)
ltlmnobuk       ltlmnobuk       REPLACE_IF cdjointlmpkb
c1 	        ppdnourt2       DO_CALC_IF cjoinppdu0
curut2          ppdnourt2       DO_CALC_IF cjoinppdu1
lftmnourt       ppdnourt2       REPLACE_IF cdjoincabapiurut
lppdnobuk       ppdnobuk        REPLACE_IF cjoinppdu1
ppdnourt2       ppdnourt        REPLACE_IF cbkn_svgratis
ldiskonparta    ppdperdis       REPLACE_IF cdiskonparta
ldsjs1          ppdperdis       REPLACE_IF cdoskonjasaa
ldiskonolia     ppdperdis       REPLACE_IF cdoskonolia
ldiskonpparta   ppdperdis       REPLACE_IF cdiskonperparta
lbrgjmlmax	ppdperdism	REPLACE_IF cdjoinestimasi1
lbrgjmlmax2	ppdperdism	REPLACE_IF cdjoinestimasi2
cisiY		ppdtybuk2	DO_CALC_IF ccmJS
lhasil1hrg	ppdretpos	REPLACE_IF crmdstrukturh2a
lhasil1hrg	ppdretpos	REPLACE_IF crmdstrukturh2c
lhasil2hrg	ppdsatbsr	REPLACE_IF crmdstrukturh2c


MAP(monlykpb)
lbtfhrg		ppdhrg		REPLACE_IF conlykpbxx
chtngppn        ppdhrg          DO_CALC_IF conlykpbxx
c0		ppdhrgbp	DO_CALC_IF conlykpbx 
c0		ppdjmlren	DO_CALC_IF cJI

MAP(mjoinsgm)
sgmstr5		lnippartman	REPLACE
sgmbrg		lcabpartman	REPLACE

DBCALCS(djoinsgm)
        DBC_COMMAND     JOIN
        DBC_TARGET      sgmdatstrbrg    gv_dtpiccab btmdvs lADMPART lthbl btmcab
        DBC_MAP         mjoinsgm

MAP(mjoinabd)
abdjam1         ljamdtg         REPLACE
abdcab		lcababsen	REPLACE

DBCALCS(djoinabd)
        DBC_COMMAND     JOIN
        DBC_TARGET      abdkymtglidx      lnippartman g_tgltrn
	DBC_MAP		mjoinabd

CALCS()
/*cdis1		(((ppdhrg - ppdhrgbp) * ppdperdis) / 100 * ppdjml)*/
cdis1		((lbrchrgjla * ppdperdis) / 100 * ppdjml)
cdis1_amic	((lhasil1hrg_amic * ppdperdis) / 100 * ppdjml)
cdis2		(ppdhrgbp * ppdperdis1) / 100
cdis3		(ppdhrg * ppdperdis2) / 100
cdis4		(lbrchrgjla * ppdperdis3) / 100 * ppdjml
cdis4a		((((ppdhrg - ppdhrgbp) * ppdperdis3) / 100) * ppdjml)
cdis1x		ppdjasbrg == "BR" && djoinbrg == 1 && lbrgkat4 != "OLI" && lbrgkat4 != "OIL" && djoinbrcU1 == 1 
cdis2x		ppdjasbrg == "BR"
cdis3x		ppdjasbrg == "JI" && btmsoa !="SPKSALES" && ppdnokrm == BLANKS
cdis3y		ppdjasbrg == "JI" && btmsoa =="SPKSALES" && ppdhrg >= lbrgdisrp
cdis4x		ppdjasbrg == "BR" && djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && djoinbrcU1 == 1

ckategori1	(ppdjasbrg == "BR" && ppdnokrm != BLANKS && ppdlok != BLANKS)

cdjoincmp1	djoincmp == 1 && btmguna == "INSTANSI"
cpromo		djoindtm == 1 
cpromo2a	djointbl == 1 && ltbltype2 == "PART" && ltblyt == "Y" && ltblsistem == "PERSEN"
cpromo2b	djointbl == 1 && ltbltype2 == "JS-BP" && ltblyt == "Y" && ltblsistem == "PERSEN"
cpromo2c	djointbl == 1 && ltbltype2 == "JS-SR" && ltblyt == "Y" && ltblsistem == "PERSEN"
cpromo2d	djointbl == 1 && ltbltype2 == "OLI" && ltblyt == "Y" && ltblsistem == "PERSEN"
cpromo3a	djointbl == 1 && ltbltype2 == "PART" && ltblyt == "Y" && ltblsistem == "RUPIAH"
cpromo3b	djointbl == 1 && ltbltype2 == "JS-BP" && ltblyt == "Y" && ltblsistem == "RUPIAH"
cpromo3c	djointbl == 1 && ltbltype2 == "JS-SR" && ltblyt == "Y" && ltblsistem == "RUPIAH"
cpromo3d	djointbl == 1 && ltbltype2 == "OLI" && ltblyt == "Y" && ltblsistem == "RUPIAH"
cpromo4a	djointbl == 1 && ltblyt == "T" && djointbd == 1 && ltbdlv1 == "PERSEN" && ltbdlv2 == "PART"
cpromo4b	djointbl == 1 && ltblyt == "T" && djointbd == 1 && ltbdlv1 == "PERSEN" && ltbdlv2 == "JS-BP"
cpromo4c	djointbl == 1 && ltblyt == "T" && djointbd == 1 && ltbdlv1 == "PERSEN" && ltbdlv2 == "JS-SR"
cpromo4d	djointbl == 1 && ltblyt == "T" && djointbd == 1 && ltbdlv1 == "PERSEN" && ltbdlv2 == "OLI"
cpromo5a	djointbl == 1 && ltblyt == "T" && djointbd == 1 && ltbdlv1 == "RUPIAH" && ltbdlv2 == "PART"
cpromo5b	djointbl == 1 && ltblyt == "T" && djointbd == 1 && ltbdlv1 == "RUPIAH" && ltbdlv2 == "JS-BP"
cpromo5c	djointbl == 1 && ltblyt == "T" && djointbd == 1 && ltbdlv1 == "RUPIAH" && ltbdlv2 == "JS-SR"
cpromo5d	djointbl == 1 && ltblyt == "T" && djointbd == 1 && ltbdlv1 == "RUPIAH" && ltbdlv2 == "OLI"
ctbljml2a	ltbljml2 + ppdperdis4
ctbljml2b	ltbljml2 + ppdperdis5
ctbljml2c	ltbljml2 + ppdperdis6
ctbljml2d	ltbljml2 + ppdperdis7
ctbddf2a	ltbddf2 + ppdperdis4
ctbddf2b	ltbddf2 + ppdperdis5
ctbddf2c	ltbddf2 + ppdperdis6
ctbddf2d	ltbddf2 + ppdperdis7


cbrgok		ppdjasbrg == "BR" && ppdsts== "OPEN" && ppdjml > 0
cbrgok1         ppdjasbrg == "BR" && ppdsts== "OPEN" &&/* btmstsdata == BLANKS &&*/ ppdjml > 0 && djoinbtfupd == 0 
cbrgok2		ppdjasbrg == "BR" && ppdsts== "OPEN" && ppdjml > 0 && djoinbtfupd == 1

cppdjmlblt      DO_LIB ap_bulat(ppdjml,l1,&ppdjml,lN);
/*chanyabrg	(ppdjasbrg == "BR") && g_grpnam == "TUTUP" || (ppdjasbrg == "JI" && g_curcmd == 1) && g_grpnam == "TUTUP"*/

capprove	(djoinsgm == 1 && djoinabd == 1 && lcabpartman == lcababsen && ljamdtg != l0000) ||
        	(((djoinsgm == 1 && djoinabd == 1 && lcabpartman == lcababsen && ljamdtg == l0000) ||
        	(djoinsgm == 1 && djoinabd == 1 && lcabpartman != lcababsen) ||
        	(djoinsgm == 1 && djoinabd == 0) ||
        	(djoinsgm == 0)) && (g_grpnam == "AHASSFD" || g_grpnam == "AHASSSA" || g_grpnam == "AHASSKABENG" || 
		g_grpnam == "ADMPART" || g_grpnam == "AHASSMEK" || g_grpnam == "AHASSHEAD" || g_grpnam == "AHASSSPV")) || 
		(g_grpnam == "RI" || g_grpnam == "IT")

cwasher_lewat	((ppdjasbrg == "BR" && djoinbrg == 1 && lbrgkat4 == "PART" && lbrgkat5 == "WASHER" &&
		(((btmbisnis == "CUB" || btmbisnis == "CUB HIGH" || btmbisnis == "CUB LOW" || btmbisnis == "CUB MID") &&
		djointbd_kodewashercub == 1) ||
		((btmbisnis == "MATIC" || btmbisnis == "AT HIGH" || btmbisnis == "AT LOW" || btmbisnis == "AT MID") && 
		djointbd_kodewashermatic == 1) || 
		((btmbisnis == "SPORT" || btmbisnis == "SPORT HIGH" || btmbisnis == "SPORT LOW" || btmbisnis == "SPORT MID") &&
		djointbd_kodewashersport == 1))) || 
		(djoinbrg == 1 && lbrgkat5 != "WASHER" || ppdjasbrg != "BR"))

cBknKPB         ((btmrekomen == "KPB" && ppdjasbrg == "JI" && djoinbrgJS == 1 && lbrgkat == "ASS") || (ppdjasbrg != "JI") || lbrgkat != "ASS")


cLokRenKosong	(ppdjasbrg == "BR" && (ppdlok == BLANKS || ppdjmlren == 0))
cLokRenAda	((ppdjasbrg == "BR" && ppdjmlren > 0) || (ppdjasbrg == "JI"))
cjoincabPaket	(djointbt_cabotopaket1 == 0 && djointbt_cabotopaket2 == 0)
cdjoinbrcJS	djoinbrcJS == 1
chotline	ppddf3 == 1
chotline2	ppddf3 == 2	

ctothpp         ppdtothpp / ppdjml
ctothpp1        ppdtothpp > 0  && ppdjml > 0 && ppdjasbrg == "BR"
ctothpp2        ppdhpp * ppdjml
ctothppKosong   (ltothpp == 0 || ppdtothpp == 0) && ppdjasbrg == "BR"
csaldobrd1      ((ppdjasbrg == "BR" && ppdjml <= lbrdsisprc + ~ppdjml) || (ppdjasbrg != "BR"))
cdone           "DONE"
cpromomaster    djoindmasterpromo == 1 && djoinrmdpromo == 1 && djointbdmasterpromo1 == 1 && ( dscanppdpromo >= 0 && lppdpromo == 0 )
cdjoinrmdpromo  djoinrmdpromo == 1


MAP(minstansi)
ldis1		ppdperdis	REPLACE_IF cdjoincmp1
ldis2		ppdperdis1	REPLACE_IF cdjoincmp1
ldis3		ppdperdis2	REPLACE_IF cdjoincmp1
ldis4		ppdperdis3	REPLACE_IF cdjoincmp1
cdis1		ppdperdis4	DO_CALC_IF cdis1x
cdis1_amic      ppdperdis4      DO_CALC_IF crmdstrukturh2e
cdis2		ppdperdis5	DO_CALC_IF cdis2x
cdis3		ppdperdis6	DO_CALC_IF cdis3x
lbrgdisrp	ppdperdis6	REPLACE_IF cdis3y
cdis4		ppdperdis7	DO_CALC_IF cdis4x
lbrgjmlmax	ppdperdism	REPLACE_IF cdjoinestimasi1
lbrgjmlmax2	ppdperdism	REPLACE_IF cdjoinestimasi2
cisiY		ppdtybuk2	DO_CALC_IF ccmJS
DEBUG	ldumstr	ldumstr		REPLACE

MAP(mpromo)
ldispart	ppdperdis	REPLACE_IF cpromo
ldisjs1		ppdperdis1	REPLACE_IF cpromo
ldisjs2		ppdperdis2	REPLACE_IF cpromo
ldisoli		ppdperdis3	REPLACE_IF cpromo
ltbljml		ppdperdis	REPLACE_IF cpromo2a
ltbljml		ppdperdis1	REPLACE_IF cpromo2b
ltbljml		ppdperdis2	REPLACE_IF cpromo2c
ltbljml		ppdperdis3	REPLACE_IF cpromo2d
ltbddf1		ppdperdis	REPLACE_IF cpromo4a
ltbddf1		ppdperdis1	REPLACE_IF cpromo4b
ltbddf1		ppdperdis2	REPLACE_IF cpromo4c
ltbddf1		ppdperdis3	REPLACE_IF cpromo4d

cdis1		ppdperdis4	DO_CALC_IF cdis1x
cdis1_amic      ppdperdis4      DO_CALC_IF crmdstrukturh2e
cdis2		ppdperdis5	DO_CALC_IF cdis2x
cdis3		ppdperdis6	DO_CALC_IF cdis3x
lbrgdisrp	ppdperdis6	REPLACE_IF cdis3y
cdis4		ppdperdis7	DO_CALC_IF cdis4x

cdis1		ppdperdis4	DO_CALC_IF ckategori1
cdis1_amic      ppdperdis4      DO_CALC_IF crmdstrukturh2e
cdis2		ppdperdis5	DO_CALC_IF ckategori1
cdis3		ppdperdis6	DO_CALC_IF ckategori1
cdis4a		ppdperdis7	DO_CALC_IF ckategori1

ctbljml2a	ppdperdis4	DO_CALC_IF cpromo3a
ctbljml2b	ppdperdis5	DO_CALC_IF cpromo3b
ctbljml2c	ppdperdis6	DO_CALC_IF cpromo3c
ctbljml2d	ppdperdis7	DO_CALC_IF cpromo3d
ctbddf2a	ppdperdis4	DO_CALC_IF cpromo5a
ctbddf2b	ppdperdis5	DO_CALC_IF cpromo5b
ctbddf2c	ppdperdis6	DO_CALC_IF cpromo5c
ctbddf2d	ppdperdis7	DO_CALC_IF cpromo5d
lbrgjmlmax	ppdperdism	REPLACE_IF cdjoinestimasi1
lbrgjmlmax2	ppdperdism	REPLACE_IF cdjoinestimasi2
cisiY		ppdtybuk2	DO_CALC_IF ccmJS
DEBUG	ldumstr	ldumstr		REPLACE

MAP(mmapbulat)
cppdjmlblt      ppdjml		DO_CALC

MAP(mmapppd)
lbtfbrdoto	ppdbrdoto	REPLACE_IF cdjoinbtf1
lbtfhrg		ppdhrg		REPLACE_IF conlykpbxx
ltothpp         ppdtothpp       REPLACE_IF cBR
ctothpp         ppdhpp          DO_CALC_IF ctothpp1
ctothpp2        ppdtothpp       DO_CALC_IF ctothppKosong

DEBUG	ldumstr	ldumstr		REPLACE

MAP(mHitungBarangAll)
chrgtot          lhrgtot        DO_CALC
chrgtot3         lhrgtot3       DO_CALC
lbrchrgjlJS	 lbrchrgjlJS	REPLACE_IF cdjoinbrcJS
lbrchrgjlJS	 ppdhrg		REPLACE_IF cJI
lhrgtot          ppdhrg         REPLACE_IF ckpb234x
lhrgtot3         ppdhrg         REPLACE_IF cserviceoli
chrgtot3         ppdhrg         DO_CALC_IF ckpb234
chrgtot3         ppdhrg         DO_CALC_IF ckpb234xx
chrgtot4a        lhasiltot4     DO_CALC_IF ckpb34tdm
chrgtot4b        ppdhrg         DO_CALC_IF ckpb34tdm
lrmdkode2        lrmdkode2      REPLACE_IF cdjoinrmdpromo                                                                                                                             
lhasil1hrg_amic  ppdhrg         REPLACE_IF crmdstrukturh2e
lhasil1hrg_amic  ppdhrg         REPLACE_IF cpromomaster
ldis1           ppdperdis       REPLACE_IF cdjoincmp1
ldis2           ppdperdis1      REPLACE_IF cdjoincmp1
ldis3           ppdperdis2      REPLACE_IF cdjoincmp1
ldis4           ppdperdis3      REPLACE_IF cdjoincmp1
cdis1           ppdperdis4      DO_CALC_IF cdis1x
cdis1_amic      ppdperdis4      DO_CALC_IF crmdstrukturh2e
cdis2           ppdperdis5      DO_CALC_IF cdis2x
cdis3           ppdperdis6      DO_CALC_IF cdis3x
lbrgdisrp       ppdperdis6      REPLACE_IF cdis3y
cdis4           ppdperdis7      DO_CALC_IF cdis4x
lbrgjmlmax      ppdperdism      REPLACE_IF cdjoinestimasi1
lbrgjmlmax2     ppdperdism      REPLACE_IF cdjoinestimasi2
cisiY           ppdtybuk2       DO_CALC_IF ccmJS
DEBUG   ldumstr ldumstr         REPLACE

ldispart        ppdperdis       REPLACE_IF cpromo
ldisjs1         ppdperdis1      REPLACE_IF cpromo
ldisjs2         ppdperdis2      REPLACE_IF cpromo
ldisoli         ppdperdis3      REPLACE_IF cpromo
ltbljml         ppdperdis       REPLACE_IF cpromo2a
ltbljml         ppdperdis1      REPLACE_IF cpromo2b
ltbljml         ppdperdis2      REPLACE_IF cpromo2c
ltbljml         ppdperdis3      REPLACE_IF cpromo2d
ltbddf1         ppdperdis       REPLACE_IF cpromo4a
ltbddf1         ppdperdis1      REPLACE_IF cpromo4b
ltbddf1         ppdperdis2      REPLACE_IF cpromo4c
ltbddf1         ppdperdis3      REPLACE_IF cpromo4d

cdis1           ppdperdis4      DO_CALC_IF cdis1x
cdis1_amic      ppdperdis4      DO_CALC_IF crmdstrukturh2e
cdis2           ppdperdis5      DO_CALC_IF cdis2x
cdis3           ppdperdis6      DO_CALC_IF cdis3x
lbrgdisrp       ppdperdis6      REPLACE_IF cdis3y
cdis4           ppdperdis7      DO_CALC_IF cdis4x

cdis1           ppdperdis4      DO_CALC_IF ckategori1
cdis1_amic      ppdperdis4      DO_CALC_IF crmdstrukturh2e
cdis2           ppdperdis5      DO_CALC_IF ckategori1
cdis3           ppdperdis6      DO_CALC_IF ckategori1
cdis4a          ppdperdis7      DO_CALC_IF ckategori1

ctbljml2a       ppdperdis4      DO_CALC_IF cpromo3a
ctbljml2b       ppdperdis5      DO_CALC_IF cpromo3b
ctbljml2c       ppdperdis6      DO_CALC_IF cpromo3c
ctbljml2d       ppdperdis7      DO_CALC_IF cpromo3d
ctbddf2a        ppdperdis4      DO_CALC_IF cpromo5a
ctbddf2b        ppdperdis5      DO_CALC_IF cpromo5b
ctbddf2c        ppdperdis6      DO_CALC_IF cpromo5c
ctbddf2d        ppdperdis7      DO_CALC_IF cpromo5d
lbrgjmlmax      ppdperdism      REPLACE_IF cdjoinestimasi1
lbrgjmlmax2     ppdperdism      REPLACE_IF cdjoinestimasi2
cisiY           ppdtybuk2       DO_CALC_IF ccmJS

cdisco           ppdtotdis      DO_CALC_IF cLokRenAda
c0               lbrchrgjla     DO_CALC_IF cJI

lhasil1hrg       ppdretpos      REPLACE_IF crmdstrukturh2a
lhasil1hrg       ppdretren      REPLACE_IF crmdstrukturh2c
lhasil2hrg       ppdsatbsr      REPLACE_IF crmdstrukturh2c
chrgolitdm       lhrgolitdm     DO_CALC_IF crmdstrukturh2c
lhrgolitdm       ppdretpos      REPLACE_IF crmdstrukturh2c
cttlhrg2         ppdtotfak      DO_CALC_IF cLokRenAda
DEBUG	ldumstr	 ldumstr	REPLACE

MAP(mHitungBarangAll2)
c0		ppdhrg		DO_CALC_IF cLokRenKosong
c0		ppdtotdis	DO_CALC_IF cLokRenKosong
c0		ppdtotfak	DO_CALC_IF cLokRenKosong

MAP(mhotline)
cYA	lHotline	DO_CALC_IF chotline
cTIDAK  lHotline	DO_CALC_IF chotline2

MAP(mjml)
ppdjml          ppddf2          REPLACE_IF cBRLok2

MAP(mppdkdmua7)
cdone         ppdkdmua      DO_CALC
cY		ppdtybuk2	DO_CALC

HOOKS(transt)
AFTER_INPUT    cur_field=ppdbrg      DO_MAP SHOW    
               IF cadddgi mdumstr
               ELSE HKCURSOR STAY  
               HKMSG Hanya boleh menambah JI


AFTER_INPUT    cur_field=ppdbrg        DO_MAP SHOW murut
AFTER_INPUT    cur_field=ppdbrg	       DO_SCAN_IF cBR dscanbrd
/*AFTER_INPUT    cur_field=ppdbrg	       DO_MAP SHOW mHitungBarangAll*/
AFTER_INPUT    cur_field=ppddf3	       DO_MAP SHOW mhotline
/*BEFORE_INPUT   cur_field=ppdjasbrg     DO_SKIP_IF ccmJS_BR*/
BEFORE_INPUT   cur_field=ppdnokrm      DO_SKIP_IF ccmJS_BR
BEFORE_INPUT   cur_field=ppdnokrm      DO_SKIP_IF cjoincabPaket
BEFORE_INPUT   cur_field=ppdlok	       DO_SKIP_IF ccmJS
/*BEFORE_INPUT   cur_field=ppdlok	       DO_SKIP_IF cBRLok2*/
/*
BEFORE_INPUT   cur_field=ppdjasbrg     DO_SKIP_IF conlypkt
BEFORE_INPUT   cur_field=ppdbrg        DO_SKIP_IF conlypkt
*/
BEFORE_INPUT   cur_field=ppdbrg        DO_SKIP_IF cpktkpb
BEFORE_INPUT   cur_field=ppdhrg        DO_SKIP_IF chrg0
BEFORE_INPUT   cur_field=ppdjml        DO_SKIP_IF cJS  
/*BEFORE_INPUT   cur_field=ppdjml        DO_SKIP_IF cBR2*/
AFTER_INPUT    cur_field=ppdjml	       DO_MAP SHOW mmapbulat
BEFORE_INPUT   cur_field=ppdtybuk2     DO_SKIP_IF copen_1
/*BEFORE_INPUT   cur_field=ppdjml        DO_SKIP_IF copen_1*/
BEFORE_INPUT   cur_field=ppdlok        DO_SKIP_IF copen_2a
BEFORE_INPUT   cur_field=ppdtybuk2     DO_SKIP_IF copen_3
BEFORE_INPUT   cur_field=ppdtybuk2     DO_SKIP_IF copen_4
BEFORE_INPUT   cur_field=ppdtybuk2     DO_SKIP_IF copen_5
BEFORE_INPUT   cur_field=ppdtybuk2     DO_SKIP_IF copen_6

AFTER_INPUT    cur_field=ppdbrg        DO_LIB_IF crmdstrukturh2a ap_ambts(gv_INPG,lrmdgabpaket1,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
AFTER_INPUT   cur_keybd=EN             DO_LIB_IF crmdstrukturh2a ap_ambts(gv_INPG,lrmdgabpaket1,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
AFTER_INPUT    cur_field=ppdbrg        DO_LIB_IF crmdstrukturh2b ap_ambts(gv_INPG,lrmdgabpaket2,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
AFTER_INPUT   cur_keybd=EN             DO_LIB_IF crmdstrukturh2b ap_ambts(gv_INPG,lrmdgabpaket2,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
AFTER_INPUT    cur_field=ppdbrg        DO_LIB_IF crmdstrukturh2cx ap_ambts(gv_INPG,lrmdgabpaket3,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2hrg,&lhasil3,&lhasil1_txt,&lhasil2_txt);
AFTER_INPUT   cur_keybd=EN             DO_LIB_IF crmdstrukturh2cx ap_ambts(gv_INPG,lrmdgabpaket3,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2hrg,&lhasil3,&lhasil1_txt,&lhasil2_txt);
AFTER_INPUT    cur_field=ppdbrg        DO_LIB_IF crmdstrukturh2d ap_ambts(gv_INPG,lrmdgabpaket4,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
AFTER_INPUT   cur_keybd=EN             DO_LIB_IF crmdstrukturh2d ap_ambts(gv_INPG,lrmdgabpaket4,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
AFTER_INPUT    cur_field=ppdbrg        DO_LIB_IF crmdstrukturh2e ap_ambts(gv_INPG,lrmdgabamic,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
AFTER_INPUT   cur_keybd=EN             DO_LIB_IF crmdstrukturh2e ap_ambts(gv_INPG,lrmdgabamic,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
AFTER_INPUT    cur_field=ppdbrg        DO_LIB_IF crmdstrukturh2fx ap_ambts(gv_INPG,lrmdgabpaket5,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2hrg,&lhasil3,&lhasil1_txt,&lhasil2_txt);
AFTER_INPUT   cur_keybd=EN             DO_LIB_IF crmdstrukturh2fx ap_ambts(gv_INPG,lrmdgabpaket5,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2hrg,&lhasil3,&lhasil1_txt,&lhasil2_txt);

AFTER_INPUT    cur_field=ppdlok	       DO_SCAN_IF cBR dscanbrd2
/*AFTER_INPUT    cur_keybd=EN            DO_MAP SHOW minstansi*/
/*AFTER_INPUT    cur_keybd=EN            DO_MAP SHOW mpromo   */
/*AFTER_INPUT    cur_keybd=EN 	       DO_MAP SHOW monlykpb */
/*AFTER_INPUT    cur_keybd=EN	       DO_MAP SHOW mHitungBarangAll*/
AFTER_INPUT    cur_keybd=EN	       DO_MAP SHOW mHitungBarangAll2
AFTER_INPUT    cur_keybd=EN	       DO_MAP SHOW mppdkdmua7
AFTER_INPUT    cur_keybd=EN	       DO_MAP SHOW   
	       IF cbrgksg mdumstr
               ELSE HKCURSOR ppdbrg   
               HKMSG Stock barang kosong !
AFTER_INPUT    cur_keybd=EN            DO_MAP SHOW mjml

AFTER_INPUT    cur_field=ppdbrg         DO_MAP SHOW
               IF cjmlren2 mdumstr
               ELSE HKCURSOR STAY
               HKMSG t.StokTdkAda

AFTER_INPUT    cur_field=ppdbrg		DO_MAP SHOW
	       IF cwasher_lewat mdumstr
	       ELSE HKCURSOR STAY
	       HKMSG t.WasherTdkSama

AFTER_INPUT    cur_field=ppdbrg         DO_MAP SHOW
               IF cBknKPB mdumstr
               ELSE HKCURSOR STAY
               HKMSG t.BukanKPB

AFTER_INPUT    cur_field=ppdlok		DO_MAP SHOW
	       IF cBlhFast mdumstr
	       ELSE HKCURSOR STAY
	       HKMSG t.HnyaBlhFast

AFTER_INPUT    cur_field=ppdlok         DO_MAP SHOW
               IF cBlhTuneUp mdumstr
               ELSE HKCURSOR STAY
               HKMSG t.HnyaBlhTuneUp

AFTER_INPUT    cur_field=ppdlok         DO_MAP SHOW
               IF cAdmPart mdumstr
               ELSE HKCURSOR STAY
               HKMSG t.hanyaAdmabsen

AFTER_INPUT    cur_field=ppdlok         DO_MAP SHOW
               IF cHrgBrgKosong mdumstr
               ELSE HKCURSOR STAY
               HKMSG t.HargaBrgKosong
               
AFTER_INPUT     cur_field=ppdjml        DO_MAP SHOW
                IF csaldobrd1 mdumstr
                ELSE HKCURSOR STAY
                HKMSG Jumlah Dalam satuan ini tidak cukup

AFTER_INPUT     cur_keybd=EN            DO_MAP SHOW
                IF csaldobrd1 mdumstr
                ELSE HKCURSOR STAY
                HKMSG Jumlah Dalam satuan ini tidak cukup

AFTER_INPUT    cur_keybd=EN         DO_MAP SHOW
               IF cAdmPart mdumstr
               ELSE HKCURSOR STAY
               HKMSG t.hanyaAdmabsen

AFTER_INPUT    cur_keybd=EN         DO_MAP SHOW
               IF cHrgBrgKosong mdumstr
               ELSE HKCURSOR STAY
               HKMSG t.HrgBrgKosong

AFTER_INPUT    cur_keybd=EN		DO_MAP SHOW
	       IF cwasher_lewat mdumstr
	       ELSE HKCURSOR STAY
	       HKMSG t.WasherTdkSama

AFTER_INPUT    cur_keybd=EN             DO_MAP SHOW
               IF cBknKPB mdumstr
               ELSE HKCURSOR STAY
               HKMSG t.BukanKPB

AFTER_INPUT    cur_keybd=EN		DO_MAP SHOW
	       IF cBlhTuneUp mdumstr
	       ELSE HKCURSOR STAY
	       HKMSG t.HnyaBlhTuneUp

AFTER_INPUT    cur_keybd=EN             DO_MAP SHOW
               IF cBlhFast mdumstr
               ELSE HKCURSOR STAY
               HKMSG t.HnyaBlhFast

/*
AFTER_INPUT    cur_field=ppdtybuk2      DO_MAP SHOW    
	       IF chanyabrg mdumstr
               ELSE HKCURSOR ppdtybuk2  
               HKMSG Approve hanya kategori BR
*/

AFTER_INPUT    cur_field=ppdtybuk2      DO_MAP SHOW    
	       IF capprove mdumstr
               ELSE HKCURSOR ppdtybuk2  
               HKMSG Approve Partman yang absen, jk tdk masuk ke FD

AFTER_INPUT    cur_field=lfield         DO_SCAN_IF cBR dscanbrd
BEFORE_INPUT   cur_field=ppdjasbrg      DO_SKIP_IF cupddgi
BEFORE_INPUT   cur_field=ppdbrg         DO_SKIP_IF cupddgi
BEFORE_INPUT   cur_field=ppdjml         DO_SKIP_IF cupddgi


CALCS()
cKGksgOrPpdKG1  btmwrn == "CLAIM" || btmnobuk != BLANKS && djoinppdKG == 1

SUBFILE(trans)
SFL_TITLE(transt)
SFL_COND cKGksgOrPpdKG1
SFL_LINES(1)
SFL_TARGET
    ppdbuk2bbmid       btmnobuk

SFL_MAP
    btmnobuk    ppdnomst2   REPLACE
    btmcab      ppdcab      REPLACE 
    btmkdkms    ppdnobuk    REPLACE
    gv_999	ppdnourt    REPLACE

/******************************************************************************/

IMAGE(trans2t)
/----------------t-----------t-------t-------------------\
|i.Brg           |t.Lok      |i.Jml  |                   |
\----------------.-----------.-------.-------------------/

IMAGE(trans2)
|________________|___________|_______|___________________|


FIELD(trans2)
   btfbrg        NOCHANGE               INPUTRI     1
   btflok        NOCHANGE               INPUTRI     2 /* Jasa / barang */
   btfjml        NOCHANGE               INPUTRI     3 /* Jasa / barang */
   btfbrdoto     NOCHANGE               INPUTRI     3 /* Jasa / barang */


SUBFILE(trans2)
SFL_TITLE(trans2t)
SFL_LINES(5)
SFL_TARGET
    btfbrglokidx                ppdnomst2    ppdbrg  ppdlok ppdoto

/******************************************************************************/

/* ------------------------------ */

IMAGE(transbt)
/-----------------------------\
|____________________         |
|--------------------------t--|
| t.DetailInfo	           |  |
\--------------------------.--/
FIELD(transbt)
ltomdet         TOMBOL          INPUTRI 1

IMAGE(transb)
|__________________________________|

FIELD(transb)
tmpket            PROTECT SCROLL  INPUTRI 1


MAP(mspkakt)
aktket        laktnobuk      REPLACE

DBCALCS(djoinspkakt)
        DBC_COMMAND     JOIN
        DBC_TARGET      aktkodtypidx    tkdnobuk lAHASS lSPKGARANSI21
        DBC_MAP         mspkakt


CALCS()
cBknPemilik             almutama == "BKNPEMILIK"
cPemilik                almutama == "PEMILIK" || almlat == 1 || almlon == 1
ckondalm2               ((almutama == "PEMILIK" && djoinpsm == 1 && djoinalm1 == 1) ||
                        (almutama == "BKNPEMILIK" && almlat == 1 && djoinpsm == 1 && djoinalm1 == 1) ||
                         (almlon == 1 && djoinpsm == 1 && djoinalm1 == 1))
cpanjangnom_tmp         DO_LIB ap_strln(almbukoto,&ljumlahnomor);
cSamaTgl                "Sama Dengan Pemilik"
cTdkSamaTgl             "Tdk Sama Dengan Pemilik"
cTinggal1               almlat == 1
cTinggal2               almlat == 2
cdjoinbarcode           djointlm1473 == 1 && djoinakt_barcode == 1
cseldgi                 ( tmptypjl == "T" && djoincabapi2 == 0 ) || ( tmpisistr3 == "D" && djoincabapi2 == 1 )
cgaransi                btmtypdeb == "GARANSI"        
cinstansi1              btmtypdeb == "INSTANSI"        
ctkd                    tkdnobuk == btmnobuk
cdjoinspkakt            djoinspkakt == 1
cpanjangspk             DO_LIB ap_strln(lnobukclaim,&lpanjangspk);
clocaloke               ((btmtypdeb == "GARANSI" && (lpanjangspk >= 26 && lpanjangspk <= 28)) || btmtypdeb != "GARANSI")



SUBFILE(transb)
SFL_LINES(6)
SFL_TITLE(transbt)
SFL_TRANS2_FIELD tmpisistr1
SFL_TRANS2_FIELD2 tmpisistr2
SFL_SORT_BY_FIELD tmpkode
SFL_SELECT cseldgi
SFL_TARGET
tmpdatdvskod            gv_dttemplate   lTMPINFOAHASS

SUBFILE(transb2)
SFL_TEMPLATE(tmp_ahass_infopembawa)

SUBFILE(transb2g1)
SFL_TEMPLATE(tmp_ahass_infokantor)

SUBFILE(transb2g2)
SFL_TEMPLATE(tmp_ahass_infoketerangan)

SUBFILE(transb2g3)
SFL_TEMPLATE(tmp_ahass_infopos_servis)

SUBFILE(transb2g4)
SFL_TEMPLATE(tmp_ahass_infosaranmek)

SUBFILE(transb2g5)
SFL_TEMPLATE(tmp_ahass_infodataRTM)

SUBFILE(transb2g6)
SFL_TEMPLATE(tmp_ahass_inforekomendasi)

SUBFILE(transb2g7)
SFL_TEMPLATE(tmp_ahass_infolost_order)

SUBFILE(transb2g8)
SFL_TEMPLATE(tmp_ahass_infodataMNT)

SUBFILE(transb2g9)
SFL_TEMPLATE(tmp_ahass_infokonsumen)

SUBFILE(transb2g10)
SFL_TEMPLATE(tmp_ahass_infonomorspk)

SUBFILE(transb2g11)
SFL_TEMPLATE(tmp_ahass_infoshowroom)

SUBFILE(transb2g12)
SFL_TEMPLATE(tmp_ahass_infodataDGI)

SUBFILE(transb2g13)
SFL_TEMPLATE(tmp_ahass_infoupld_promo1)

SUBFILE(transb2g14)
SFL_TEMPLATE(tmp_ahass_infoupld_promo2)

SUBFILE(transb2g15)
SFL_TEMPLATE(tmp_ahass_infocek_LCR)

SUBFILE(transb2g16)
SFL_TEMPLATE(tmp_ahass_inforeq_mekanik)

SUBFILE(transb2g17)
SFL_TEMPLATE(tmp_ahass_infoupld_stnk)

SUBFILE(transb2g18)
SFL_TEMPLATE(tmp_ahass_infopembawadgi)

SUBFILE(transb2g19)
SFL_TEMPLATE(tmp_ahass_infokomisi_LCR)

SUBFILE(transb2g20)
SFL_TEMPLATE(tmp_ahass_promo_master)



IMAGE(transct)
/--------------------------------------\
|/------------------------------------\|
||t.MintaCetakFp                   ___||__
||t.PakaiKtpKons                   ___||
||t.t                                 ||
||t.Npwp         _____________________||
||i.Ktp          _____________________||
||i.Nama         _____________________||
||i.Alamat       _____________________||
||               _____________________||
||i.Usr          _____________________||
||               _____________________||
|\------------------------------------/|
|______________________________________|
\--------------------------------------/

IMAGE(transc)

FIELD(transct)
tkmlokjl	NOCHANGE		INPUTRI		1
tkmkode		PROTECT UNSEEN		INPUTRI		2
tkmtype		NOCHANGE		INPUTRI		2

tkmlok1		DIGITS			INPUTRI		4
tkmplg		DIGITS			INPUTRI		5
tkmnama		ALLCAPS SCROLL		INPUTRI		6
tkmket		TEXTAREA ALLCAPS	INPUTRI		7
lket_FP		TEXTAREA PROTECT	INPUTRI		8
tkmbuk2		PROTECT			INPUTRI		9
lenter		NOCHANGE		INPUTRI		10

ltomdet_5dd	TOMBOL			INPUTRI		11

CALCS()
ciniperorangan  btmbichek == "1"
ciniinstansi    btmbichek == "2"
cplgada         btmplg != BLANKS
cplgtdkada      btmplg == BLANKS


DEFAULTS(transct)
IF ciniperorangan tkmlokjl	DFALT_SCAN_BLANKS	Y "Ikut Permintaan Cetak FP"
							T "Tidak Ikut Permintaan Cetak FP"
IF ciniinstansi tkmlokjl	DFALT_SCAN_BLANKS	Y "Ikut Permintaan Cetak FP"
IF cplgada tkmtype              DFALT_SCAN_BLANKS       Y "Pakai KTP Konsumen"
                                                        T "Input KTP lain"
IF cplgtdkada tkmtype           DFALT_SCAN_BLANKS       T "Input KTP lain"

tkmbuk2		INIT		{g_usrkode}

lenter		INIT		ENTER
ltomdet_5dd	INIT		"d.Buka Upl Foto FP"

CALCS()
curusFP_Y	tkmlokjl == "Y"
curusFP_T	tkmlokjl == "T"
curusFP_YY	tkmlokjl == "Y" && tkmtype == "Y"
curusFP_YT	tkmlokjl == "Y" && tkmtype == "T"
curusFP_Y1	tkmlokjl == "Y" && btmsts == "OPEN"
curusFP_Y2	tkmlokjl == "Y" && btmsts != "OPEN"
cadaktp		((tkmlokjl == "Y" && tkmtype == "Y" && btmplg != BLANKS) || (tkmtype != "Y") || (tkmlokjl != "Y"))

EDITS(transct)
t.MandatoryUrsFp	tkmlokjl	MANDATORY
t.MandatoryDataFp	tkmtype		MANDATORY_IF curusFP_Y
t.MandatoryNpwp		tkmlok1		MANDATORY_IF curusFP_Y
e.MandatoryKtp		tkmplg		MANDATORY_IF curusFP_YT
e.MandatoryNama		tkmnama		MANDATORY_IF curusFP_Y
e.MandatoryAlamat	tkmket		MANDATORY_IF curusFP_Y

e.ValidateKtp		tkmplg		VALIDATE_IF curusFP_Y psmktpidx mpsmFP 0
e.ValidateNobuk		tkmkode		VALIDATE btmbukidx mbtmd 0

MAP(mbtmd)
btmnobuk	tkmkode		REPLACE
lket_FP_Y	lket_FP		REPLACE_IF curusFP_Y
lket_FP_T	lket_FP		REPLACE_IF curusFP_T

MAP(mpsmFP)
psmktp		tkmplg		REPLACE

MAP(mautofillFP)
btmplg		tkmplg		REPLACE_IF curusFP_YY

MAP(mresetFP)
cBLANKS		tkmtype		DO_CALC_IF curusFP_T
cBLANKS		tkmplg		DO_CALC_IF curusFP_T
cBLANKS		tkmlok1		DO_CALC_IF curusFP_T
cBLANKS		tkmnama		DO_CALC_IF curusFP_T
cBLANKS		tkmket		DO_CALC_IF curusFP_T

MAP(mautofillketFP)
cBLANKS		lket_FP		DO_CALC
lket_FP_Y	lket_FP		REPLACE_IF curusFP_Y
lket_FP_T	lket_FP		REPLACE_IF curusFP_T

HOOKS(transct)
BEFORE_INPUT	cur_field=tkmtype	DO_SKIP_IF curusFP_T
BEFORE_INPUT	cur_field=tkmlok1	DO_SKIP_IF curusFP_T
BEFORE_INPUT	cur_field=tkmplg	DO_SKIP_IF curusFP_T
BEFORE_INPUT	cur_field=tkmnama	DO_SKIP_IF curusFP_T
BEFORE_INPUT	cur_field=tkmket	DO_SKIP_IF curusFP_T
BEFORE_INPUT	cur_field=tkmplg	DO_SKIP_IF curusFP_YY

AFTER_INPUT	cur_field=tkmlokjl	DO_MAP mresetFP
AFTER_INPUT	cur_field=tkmtype	DO_MAP mautofillFP
AFTER_INPUT	cur_keybd=EN		DO_MAP mautofillFP
AFTER_INPUT	cur_keybd=EN		DO_MAP mautofillketFP

AFTER_INPUT	cur_keybd=EN		DO_MAP SHOW
		IF cadaktp mdumstr
		ELSE HKCURSOR STAY
		HKMSG Tambah KTP dulu di 2d Info Detail KTP

SUBFILE(transc)
SFL_LINES(1)
SFL_TITLE(transct)
SFL_TARGET
	tkmdtkdstlok	lfktpjk btmnobuk
SFL_MAP
lfktpjk		tkmdata		REPLACE
lnobuk994	tkmnobuk	REPLACE
btmnobuk	tkmkode		REPLACE
btmtgl		tkmtgl		REPLACE
btmtgl		tkmtgl1		REPLACE
btmcab		tkmcab		REPLACE
btmdvs		tkmdvs		REPLACE
gt_ope1		tkmsts		REPLACE
l994		tkmscr		REPLACE
l620		tkmlok2		REPLACE

IMAGE(transc2t)
/--------------------------------------\
|/----UPLOAD--------------------------\|
||                                    ||
||                                    ||
||                                    ||
|\------------------------------------/|
|/------------------------------------\|
||____________________________________||
||t.Upl0                         _____||
||___________  _______________________||
|\------------------------------------/|
\--------------------------------------/

IMAGE(transc2)

FIELD(transc2t)
svinama		PROTECT		INPUTRI		1
svidf1		PROTECT		INPUTRI		2
svistr5		PROTECT		INPUTRI		3
lnamaupl	PROTECT		INPUTRI		4

EDITS(transc2t)
.	svistr5		VALIDATE psikodidx mpsi_upl 0

MAP(mpsi_upl)
psikode		svistr5		REPLACE
psinama		lnamaupl	REPLACE

CALCS()
csvidf1_1	svidf1 + 1
cIN		"IN"

MAP(mupdsviuplFP)
csvidf1_1	svidf1		DO_CALC
cIN		sviyt1		DO_CALC
g_usrkode	svistr5		REPLACE

DBCALCS(dupdsviuplFP)
	DBC_COMMAND	UPDATE
	DBC_TARGET	sviotoidx svioto
	DBC_MAP		mupdsviuplFP

SUBFILE(transc2)
SFL_LINES(2)
SFL_TITLE(transc2t)
SFL_SORT_BY_FIELD svinourt
SFL_COND curusFP_Y1
SFL_UPL_DELCOND c0
SFL_UPLFLD_DBCALCS dupdsviuplFP
SFL_UPLFLD svikode svitype
SFL_UPL_DIRFLD btmtgl 
SFL_TARGET
	svidatkodtyp	lfktpjk btmnobuk

IMAGE(transc2g1t)
/--------------------------------------\
|/----UPLOAD--------------------------\|
||                                    ||
||                                    ||
||                                    ||
|\------------------------------------/|
|/------------------------------------\|
||____________________________________||
||t.Upl0                         _____||
||___________  _______________________||
|\------------------------------------/|
\--------------------------------------/

IMAGE(transc2g1)

FIELD(transc2g1t)
svinama		PROTECT		INPUTRI		1
svidf1		PROTECT		INPUTRI		2
svistr5		PROTECT		INPUTRI		3
lnamaupl	PROTECT		INPUTRI		4

EDITS(transc2g1t)
.	svistr5		VALIDATE psikodidx mpsi_upl 0

SUBFILE(transc2g1)
SFL_LINES(2)
SFL_TITLE(transc2g1t)
SFL_SORT_BY_FIELD svinourt
SFL_COND curusFP_Y2
SFL_UPL_DELCOND c0
SFL_UPL_READONLY
SFL_UPLFLD svikode svitype
SFL_UPL_DIRFLD btmtgl
SFL_TARGET
	svidatkodtyp	lfktpjk btmnobuk

/********************************************************/
/*******************************************************/

CALCS()
cbtmOPEN     (btmnobuk != BLANKS && btmsts == "OPEN" && djoinppdKG == 0  && (djointbt_cabdgi1 == 0 && djointbt_cabdgi2 == 0)) ||
             (btmnobuk != BLANKS && btmsts == "OPEN" && djoinppdKG == 0  && (djointbt_cabdgioto == 0)) ||
	     (btmnobuk != BLANKS && btmsts == "OPEN" && (djointbt_cabdgi1 == 1 || djointbt_cabdgi2 == 1) && dscanppd2 >= 0 && lok18 == 0) ||
	     (btmnobuk != BLANKS && btmsts == "OPEN" && (djointbt_cabdgioto == 1 && dscanppd2 >= 0 && lok18 == 0))

cbtmOPENa    btmnobuk != BLANKS && btmsts == "OPEN" && djoinppdKG == 0
/*cbtmCLSD   (btmstr2 == "REGULAR" && btmsts != "CLSD" && djoinppm == 1 && lppmsts != "SVOK") || (btmstr2 == "CLAIM" && btmsts != "CLSD")*/
/*cbtmCLSD     ((btmstr2== "REGULER" || btmstr2 == "FAST_TRACK" || btmstr2 == "BOOKING" || btmstr2 == "REMINDER") && btmsts == "INPG") || (btmstr2 == "CLAIM" && (btmsts == "OPEN" || btmsts == "INPG"))                      */
ccmpkt		(btmsts == "OPEN" && ppdnopsn != "ADDSERVIS" )
		|| (btmsts == "OPEN" && btmstsdata == "OK" && ppdnopsn == "ADDSERVIS")
		|| (btmsts == "OPEN" && djoincabapi2 == 1 && ltbdkettype == "ADA"  )
		|| (btmsts == "INPG" && btmstsdata == "OK" && djoincabapi2 == 1 && ltbdkettype == "ADA"  )
               

cppdINPG	(btmsts == "OPEN" && ppdsup == "AHM" && (g_grpnam == "AHASSHEAD" || g_grpnam == "RI" || g_grpnam == "AHASSSPV" || g_grpnam == "IT")) ||
		(btmsts == "OPEN" && ppdsup != "AHM" && ppdnokrm == BLANKS) || 
		(btmsts == "OPEN" && ppdnokrm != BLANKS && (g_grpnam == "AHASSHEAD" || g_grpnam == "AHASSSPV" || g_grpnam == "IT" || g_grpnam == "RI"))

cbtmCLSD	btmsts == "OPEN" || btmsts == "INPG"
cjkopen		btmsts == "OPEN"
cjkrcls		btmsts == "INPG" || btmsts == "RCLS"
conlyhead	(btmsts == "OPEN" || btmsts == "INPG" || btmsts == "RCLS") && (g_grpnam == "AHASSHEAD" || g_grpnam == "AHASSSPV" ||
		g_grpnam == "RI" || g_grpnam == "IT")
ctmbhPos	(btmsts == "OPEN" || btmsts == "INPG" || btmsts == "RCLS") && djoinalmPOS == 0
ctmbhMekanik	(btmsts == "OPEN" || btmsts == "INPG" || btmsts == "RCLS") && djoinket == 0
conlyhead2	(btmsts =="OPEN" || btmsts =="INPG" || btmsts =="RCLS" || btmsts =="CLSD" || btmsts =="VOID") &&(g_grpnam == "AHASSHEAD" ||
		g_grpnam == "AHASSSPV" || g_grpnam == "RI" || g_grpnam == "IT" || g_grpnam == "ADHSPV" || g_grpnam == "ADHHO" ||
		g_grpnam == "ADHHEAD" || g_grpnam == "ADHAM" )
cBoleh1		(btmsts =="OPEN" || btmsts =="INPG" || btmsts =="RCLS" || btmsts =="CLSD")	
cBoleh1a	(btmsts =="OPEN" || btmsts =="INPG" || btmsts =="RCLS" || btmsts =="CLSD" || btmsts == "VOID")	
ctmbhSpk	btmsts == "OPEN" && djointkdSpk == 0
ctmbhLcr        btmsts == "OPEN" && btmrekomen != "KPB" && btmrekomen != "KPBNSS" && btmrekomen != "KPBSINSEN" && lnosin5 != BLANKS && djointbd_nomesinesaf == 1 && lseriesesaf == lnamamotormampat &&                                                                                                                                                                        
                djointkdLcr == 0
ctmbhLcr2       btmsts == "CLSD" && btmrekomen != "KPB" && btmrekomen != "KPBNSS" && btmrekomen != "KPBSINSEN" && lnosin5 != BLANKS && djointbd_nomesinesaf == 1 && djointkdLcr == 1 && 
		djoinakt_promolcr == 0 && (g_grpnam == "RI" ||   g_grpnam == "AHASSHEAD" || g_grpnam == "AHASSSPV" || g_grpnam == "IT")

ctmbhMeka	(btmsts == "OPEN" && djoinaktReqMekanik == 0) || (g_grpnam == "IT" || g_grpnam == "RI")
cupdstnk	(btmsts == "OPEN" || (btmsts != "OPEN" && (g_grpnam == "RI" || g_grpnam == "ADHAM" || g_grpnam == "IT" || g_grpnam == "ADHDVH" || g_grpnam == "ADHHEAD" || g_grpnam == "ADHSPV" || g_grpnam == "ADHHO")))
cadd_FP		btmsts == "OPEN" && btmtgl >= 20240603 && djointkmFP == 0
cupddel_FP	btmsts == "OPEN" && djointkmFP == 1 && ltkmsts=="OPE1"
cdjoinpromo0    djoinakt_promolcr == 0


IMAGE(transdt)
/-------t-----------------t-----------------t---------t-------\
|t.Tipe |t.KodeBarang     |t.NamaBarang     |t.Lokasi |t.Jmlh |
\-------.-----------------.-----------------.---------.-------/

IMAGE(transd)
|_______|_________________|_________________|_________|_______|

FIELD(transd)
ppdjasbrg	PROTECT		INPUTRI		1
ppdbrg		ALLCAPS SCROLL	INPUTRI		2
ppdket		PROTECT		INPUTRI		3
ppdlok		ALLCAPS	SCROLL	INPUTRI		4
ppdjml		PROTECT		INPUTRI		5

EDITS(transd)
e.ValidateBrg_Te ppdbrg VALIDATE_IF cbknJSKatKsg2 brdbbmbrgidx mbrdBR_Te 0
e.ValidateppdBrg_Te ppdbrg VALIDATE_IF cbknJSKatKsg brgdatstskat mbrg_Te sbrgKat {Pgv_dtbarang} {Pgv_INPG} {Plppdnokrm} {PlBLANKS} {PlPARTSPM}
e.ValidateBrg_Te ppdbrg VALIDATE_IF cbknJSKatKsg3 brdbbmbrgidx mbrdBR_Te sbrdBrgH2 {Plbrdnobbm} {Pgv_INPG} {Pbtmcab}
e.ValidateLokAhs_Te ppdlok VALIDATE_IF cBRLok brdbrglokoto mbrdlok_Te sbrdLokAhs {Pgv_INPG} {Pppdbrg} {Pbtmcab} {Sppdukrwrn} {Sppdsat} {Sppdpsnoto2}

MAP(mbrdlok_Te)
brdbrg		ppdbrg		REPLACE
brdlok		ppdlok		REPLACE_IF cjmlren
brdukrwrn	ppdukrwrn	REPLACE
brdsat		ppdsat		REPLACE
brdoto		ppdbrdoto	REPLACE
brdoto		ppdpsnoto2      REPLACE

MAP(mbrg_Te)
crmdgabamic	lrmdgabamic	DO_CALC
cBLANKS		lstatus		DO_CALC
c0		lbrchrgjla	DO_CALC
c0		lhrgjs		DO_CALC
c0		lppdhrgbp	DO_CALC
c0		lppdhrgbp	DO_CALC_IF ckpbxx
c0		ppdhrgbp	DO_CALC_IF ckpbxx
c0		lppdhrgbp	DO_CALC_IF cdjointbd_promoJasa
c0		ppdhrgbp	DO_CALC_IF cdjointbd_promoJasa
c0		ppdretpos	DO_CALC
c0		lhrgolitdm	DO_CALC
gv_svgratis	ppdnorangka	REPLACE_IF conlykpb 
cAHM		ppdsup		DO_CALC_IF conlykpb
cKPBNSS		ppdsup		DO_CALC_IF conlykpbnss
cKPBSINSEN	ppdsup		DO_CALC_IF conlykpbsinsen
cKPBTDM		ppdsup		DO_CALC_IF conlykpbtdm
cVOUCHER	ppdsup		DO_CALC_IF conlyvoucher
cKPBHSO		ppdsup		DO_CALC_IF conlykpbhso
cKPB1TAHUN      ppdsup          DO_CALC_IF conlykpb1tahun
crekpiu		lRekPiuastra	DO_CALC		
/*lRekPiuastra	ppdnomesin	REPLACE_IF ckpb1 */
lRekPiuastra	ppdnomesin	REPLACE_IF conlykpb
ppdjmlren	ppdjmlren	REPLACE
/*brgkode          ppdbrg         REPLACE*/

/*brgkode          ppdbrg         REPLACE
brgnama		 ppdket		REPLACE
brgkat           ppdkat         REPLACE 
brgsat           ppdsat         REPLACE*/

cstart		 lstatus	DO_CALC_IF cstartx
ctake		 lstatus	DO_CALC_IF ctakex
cpend		 lstatus	DO_CALC_IF cpendx
cfinish		 lstatus	DO_CALC_IF cfinishx
cvoid		 lstatus	DO_CALC_IF cvoidx
brgkat4          lbrgkat4a      REPLACE
lbrchrgjla       lbrchrgjla     REPLACE_IF cjoinbrcU1
lbrchrgjla       lbrchrgjla     REPLACE_IF cjoinbrcU2
lhrgjs           lhrgjs         REPLACE_IF cjoinbrcU1
lhrgjs           lhrgjs         REPLACE_IF cjoinbrcU2
chrgjs           lppdhrgbp      DO_CALC
lppdhrgbp        ppdhrgbp       REPLACE_IF ckpb1xx
c0               lppdhrgbp      DO_CALC_IF crmdstrukturh2e
c0               ppdhrgbp       DO_CALC_IF crmdstrukturh2e
chrgtot2	 lbrchrgjla	DO_CALC_IF cjikatdktambah
c0		 lbrchrgjla	DO_CALC_IF cppdbrgBlank
DEBUG           ldumstr    ldumstr    REPLACE

MAP(mbrdBR_Te) /*BRDSISA*/
crmdgabamic 	 lrmdgabamic	 DO_CALC
cBLANKS		 lstatus	 DO_CALC
c0		 lbrchrgjla	 DO_CALC
c0		 lhrgjs		 DO_CALC
c0		 lppdhrgbp	 DO_CALC
c0		 lppdhrgbp	 DO_CALC_IF ckpbxx
c0		 ppdhrgbp	 DO_CALC_IF ckpbxx
c0		 lppdhrgbp	 DO_CALC_IF cdjointbd_promoJasa
c0		 ppdhrgbp	 DO_CALC_IF cdjointbd_promoJasa
c0		 ppdretpos	 DO_CALC
c0		 lhrgolitdm	 DO_CALC
cAHM		 ppdsup		 DO_CALC_IF conlykpb
cKPBNSS		 ppdsup		 DO_CALC_IF conlykpbnss
cKPBSINSEN	 ppdsup		 DO_CALC_IF conlykpbsinsen
cKPBTDM   	 ppdsup		 DO_CALC_IF conlykpbtdm
cVOUCHER	 ppdsup		 DO_CALC_IF conlyvoucher 
cKPBHSO		 ppdsup		DO_CALC_IF conlykpbhso
cKPB1TAHUN       ppdsup          DO_CALC_IF conlykpb1tahun
gv_svgratis	 ppdnorangka	 REPLACE_IF conlykpb 
crekpiu		 lRekPiuastra	 DO_CALC		
crekpiu		 ppdnomesin	 DO_CALC_IF conlykpb 
ppdjmlren    	 ppdjmlren   	 REPLACE_IF cstock
brdbrg		 ppdbrg		 REPLACE
lbrgnama	 ppdket		 REPLACE_IF cdjoinbrg_1
lbrgkat		 ppdkat		 REPLACE_IF cdjoinbrg_1
lbrgsat		 ppdsat		 REPLACE_IF cdjoinbrg_1
cstart		 lstatus	 DO_CALC_IF cstartx
ctake		 lstatus	 DO_CALC_IF ctakex
cpend		 lstatus	 DO_CALC_IF cpendx
cfinish		 lstatus	 DO_CALC_IF cfinishx
cvoid		 lstatus	 DO_CALC_IF cvoidx
lbrchrgjla       lbrchrgjla      REPLACE_IF cjoinbrcU1
lbrchrgjla       lbrchrgjla      REPLACE_IF cjoinbrcU2
lhrgjs           lhrgjs          REPLACE_IF cjoinbrcU1
lhrgjs           lhrgjs          REPLACE_IF cjoinbrcU2

/*lhrgbli		 lbrchrgjla	 REPLACE_IF ckpbyes
lhrgbli		 lbrchrgjla	 REPLACE_IF cjoinbrcU1x
chrgtot          lhrgtot         DO_CALC_IF cjikatambah
chrgtot3	 lhrgtot3	 DO_CALC_IF cjikatambah
lhrgtot          ppdhrg          REPLACE_IF ckpb234x
lhrgtot3	 ppdhrg		 REPLACE_IF cserviceoli
chrgtot3         ppdhrg          DO_CALC_IF ckpb234
chrgtot3         ppdhrg          DO_CALC_IF ckpb234xx
chrgtot4a        lhasiltot4      DO_CALC_IF ckpb34tdm
chrgtot4b	 ppdhrg		 DO_CALC_IF ckpb34tdm
lhasil1hrg_amic	 ppdhrg		 REPLACE_IF crmdstrukturh2e
lhrgbli		 ppdhrg		 REPLACE_IF ckpbyes*/
chrgjs           lppdhrgbp       DO_CALC
lppdhrgbp	 ppdhrgbp	 REPLACE_IF ckpb1xx
c0		 lppdhrgbp	 DO_CALC_IF crmdstrukturh2e
c0		 ppdhrgbp	 DO_CALC_IF crmdstrukturh2e
cdisco 		 ppdtotdis	 DO_CALC
c0		 lbrchrgjla	 DO_CALC_IF cJI
lhasil1hrg	 ppdretpos	 REPLACE_IF crmdstrukturh2a
lhasil1hrg	 ppdretren	 REPLACE_IF crmdstrukturh2c
lhasil2hrg	 ppdsatbsr	 REPLACE_IF crmdstrukturh2c
chrgolitdm	 lhrgolitdm	 DO_CALC_IF crmdstrukturh2c
lhrgolitdm	 ppdretpos	 REPLACE_IF crmdstrukturh2c
cttlhrg2	 ppdtotfak	 DO_CALC
chrgtot2	 lbrchrgjla	 DO_CALC_IF cjikatdktambah
/*********************************************************/

c1           	ppdnourt2       DO_CALC_IF cjoinppdu0
curut2          ppdnourt2       DO_CALC_IF cjoinppdu1
lppdnobuk       ppdnobuk        REPLACE_IF cjoinppdu1
ppdnourt2       ppdnourt        REPLACE_IF cbkn_svgratis
ldiskonparta    ppdperdis       REPLACE_IF cdiskonparta
ldsjs1          ppdperdis       REPLACE_IF cdoskonjasaa
ldiskonolia     ppdperdis       REPLACE_IF cdoskonolia
ldiskonpparta   ppdperdis       REPLACE_IF cdiskonperparta
lbrgjmlmax      ppdperdism      REPLACE_IF cdjoinestimasi1
lbrgjmlmax2     ppdperdism      REPLACE_IF cdjoinestimasi2
cisiY           ppdtybuk2       DO_CALC_IF ccmJS
lhasil1hrg      ppdretpos       REPLACE_IF crmdstrukturh2a
lhasil1hrg      ppdretpos       REPLACE_IF crmdstrukturh2c
lhasil2hrg      ppdsatbsr       REPLACE_IF crmdstrukturh2c
ldis1           ppdperdis       REPLACE_IF cdjoincmp1
ldis2           ppdperdis1      REPLACE_IF cdjoincmp1
ldis3           ppdperdis2      REPLACE_IF cdjoincmp1
ldis4           ppdperdis3      REPLACE_IF cdjoincmp1
cdis1           ppdperdis4      DO_CALC_IF cdis1x
cdis1_amic      ppdperdis4      DO_CALC_IF crmdstrukturh2e
cdis2           ppdperdis5      DO_CALC_IF cdis2x
cdis3           ppdperdis6      DO_CALC_IF cdis3x
lbrgdisrp       ppdperdis6      REPLACE_IF cdis3y
cdis4           ppdperdis7      DO_CALC_IF cdis4x
lbrgjmlmax      ppdperdism      REPLACE_IF cdjoinestimasi1
lbrgjmlmax2     ppdperdism      REPLACE_IF cdjoinestimasi2
cisiY           ppdtybuk2       DO_CALC_IF ccmJS
ldispart        ppdperdis       REPLACE_IF cpromo
ldisjs1         ppdperdis1      REPLACE_IF cpromo
ldisjs2         ppdperdis2      REPLACE_IF cpromo
ldisoli         ppdperdis3      REPLACE_IF cpromo
ltbljml         ppdperdis       REPLACE_IF cpromo2a
ltbljml         ppdperdis1      REPLACE_IF cpromo2b
ltbljml         ppdperdis2      REPLACE_IF cpromo2c
ltbljml         ppdperdis3      REPLACE_IF cpromo2d
ltbddf1         ppdperdis       REPLACE_IF cpromo4a
ltbddf1         ppdperdis1      REPLACE_IF cpromo4b
ltbddf1         ppdperdis2      REPLACE_IF cpromo4c
ltbddf1         ppdperdis3      REPLACE_IF cpromo4d
cdis1           ppdperdis4      DO_CALC_IF cdis1x
cdis1_amic      ppdperdis4      DO_CALC_IF crmdstrukturh2e
cdis2           ppdperdis5      DO_CALC_IF cdis2x
cdis3           ppdperdis6      DO_CALC_IF cdis3x
lbrgdisrp       ppdperdis6      REPLACE_IF cdis3y
cdis4           ppdperdis7      DO_CALC_IF cdis4x
cdis1           ppdperdis4      DO_CALC_IF ckategori1
cdis1_amic      ppdperdis4      DO_CALC_IF crmdstrukturh2e
cdis2           ppdperdis5      DO_CALC_IF ckategori1
cdis3           ppdperdis6      DO_CALC_IF ckategori1
cdis4a          ppdperdis7      DO_CALC_IF ckategori1
ctbljml2a       ppdperdis4      DO_CALC_IF cpromo3a
ctbljml2b       ppdperdis5      DO_CALC_IF cpromo3b
ctbljml2c       ppdperdis6      DO_CALC_IF cpromo3c
ctbljml2d       ppdperdis7      DO_CALC_IF cpromo3d
ctbddf2a        ppdperdis4      DO_CALC_IF cpromo5a
ctbddf2b        ppdperdis5      DO_CALC_IF cpromo5b
ctbddf2c        ppdperdis6      DO_CALC_IF cpromo5c
ctbddf2d        ppdperdis7      DO_CALC_IF cpromo5d
lbrgjmlmax      ppdperdism      REPLACE_IF cdjoinestimasi1
lbrgjmlmax2     ppdperdism      REPLACE_IF cdjoinestimasi2
cisiY           ppdtybuk2       DO_CALC_IF ccmJS

cppdjmlblt      ppdjml          DO_CALC

chrgtot          lhrgtot        DO_CALC
chrgtot3         lhrgtot3       DO_CALC
lbrchrgjlJS      lbrchrgjlJS    REPLACE_IF cdjoinbrcJS
lbrchrgjlJS      ppdhrg         REPLACE_IF cJI
lhrgtot          ppdhrg         REPLACE_IF ckpb234x
lhrgtot3         ppdhrg         REPLACE_IF cserviceoli
chrgtot3         ppdhrg         DO_CALC_IF ckpb234
chrgtot3         ppdhrg         DO_CALC_IF ckpb234xx
chrgtot4a        lhasiltot4     DO_CALC_IF ckpb34tdm
chrgtot4b        ppdhrg         DO_CALC_IF ckpb34tdm
lhasil1hrg_amic  ppdhrg         REPLACE_IF crmdstrukturh2e
cdisco           ppdtotdis      DO_CALC_IF cLokRenAda
c0               lbrchrgjla     DO_CALC_IF cJI
lhasil1hrg       ppdretpos      REPLACE_IF crmdstrukturh2a
lhasil1hrg       ppdretren      REPLACE_IF crmdstrukturh2c
lhasil2hrg       ppdsatbsr      REPLACE_IF crmdstrukturh2c
chrgolitdm       lhrgolitdm     DO_CALC_IF crmdstrukturh2c
lhrgolitdm       ppdretpos      REPLACE_IF crmdstrukturh2c
cttlhrg2         ppdtotfak      DO_CALC_IF cLokRenAda

c0              ppdhrg          DO_CALC_IF cLokRenKosong
c0              ppdtotdis       DO_CALC_IF cLokRenKosong
c0              ppdtotfak       DO_CALC_IF cLokRenKosong

MAP(mupdppd_d1)
gv_OPEN         ppdsts          REPLACE
cBLANKS         ppdsales        DO_CALC

CALCS()
cppdhnyBR	ppdjasbrg == "BR" && ppdsts != "VOID"
chnyINPG	btmsts != "OPEN" && btmsales == BLANKS

MAP(mppdbrglama)
ppdbrg		lppdbrglama	NO_REPLACE

HOOKS(transd)
BEFORE_INPUT	cur_field=ppdbrg	DO_MAP SHOW mppdbrglama
AFTER_INPUT	cur_keybd=EN		DO_MAP SHOW mupdppd_d1

SUBFILE(transd)
SFL_TITLE(transdt)
SFL_LINES(10)
SFL_SELECT cppdhnyBR
SFL_COND	chnyINPG
SFL_TARGET
ppdbuk2bbmid	btmnobuk

CALCS()
cupdtransd    (djointbdCAB416 == 1 || djointbdNAS416 == 1) && btmsts == "INPG" && 
	      dscanppd_6d >= 0 && dscanakt_6d >= 0 && (
              (lrecordppd_6d == 1 && lrecordakt_6d < 1) ||
              (lrecordppd_6d == 2 && lrecordakt_6d < 2) ||
              (lrecordppd_6d == 3 && lrecordakt_6d < 3) ||
              (lrecordppd_6d > 3 && lrecordakt_6d < 3))

cCABNAS416	(djointbdCAB416 == 0 && djointbdNAS416 == 0)
chnyaINPG	btmsts != "INPG"

cbrg1x		dscanppd_6d >= 0 && dscanakt_6d >= 0 && lrecordppd_6d == 1 && lrecordakt_6d >= 0 && lrecordakt_6d <= 2
cbrg2x		dscanppd_6d >= 0 && dscanakt_6d >= 0 && lrecordppd_6d == 2 && lrecordakt_6d >= 0 && lrecordakt_6d <= 3
cbrg3x		dscanppd_6d >= 0 && dscanakt_6d >= 0 && ((lrecordppd_6d == 3 && lrecordakt_6d >= 0 && lrecordakt_6d <= 4) ||
                (lrecordppd_6d > 3 && lrecordakt_6d >= 0 && lrecordakt_6d <= 4))


/*cupdtranse	dscanppd_6d >= 0 && dscanakt_6d >= 0 && (
		(lrecordppd_6d == 1 && lrecordakt_6d >= 0 && lrecordakt_6d <= 1) ||
		(lrecordppd_6d == 2 && lrecordakt_6d >= 0 && lrecordakt_6d <= 2) ||
		(lrecordppd_6d == 3 && lrecordakt_6d >= 0 && lrecordakt_6d <= 3) ||
		(lrecordppd_6d > 3 && lrecordakt_6d >= 0 && lrecordakt_6d <= 3))*/
		
		

PERMIT(master)
PMT_UPDALL_COND         cbtmOPEN
PMT_DEL_COND            c0
PMT_IGNDET_COND         cbtmOPENa

PERMIT(trans)
PMT_DEL_COND            cppdINPG
PMT_IGNDET_COND		cppdINPG
/*PMT_DEL_COND            cjkopen*/
PMT_ADD_COND            cbtmCLSD
PMT_UPDALL_COND         ccmpkt

PERMIT(trans2)
PMT_DEL_COND		c0
PMT_ADD_COND		c0
PMT_UPDALL_COND		c0

PERMIT(transa)
PMT_DEL_COND		c0
PMT_ADD_COND		c0
PMT_UPDALL_COND		c0

PERMIT(transa2)
PMT_DEL_COND		c0
PMT_ADD_COND		c0
PMT_UPDALL_COND		cjkrcls

PERMIT(transa2g1)
PMT_DEL_COND		c0
PMT_ADD_COND		cdjointkd620_0
PMT_UPDALL_COND		cBoleh1a
PMT_ADD_MSG t.HarusInputMotorDulu

PERMIT(transa2g2)
PMT_DEL_COND		c0
PMT_ADD_COND		cdjoincon0
PMT_UPDALL_COND		conlyhead2

PERMIT(transa2g3)
PMT_DEL_COND		c0
PMT_ADD_COND		cdjoinast0
PMT_UPDALL_COND		cbtmCLSD

PERMIT(transa2g4)
PMT_DEL_COND		c0
PMT_ADD_COND		c0
PMT_UPDALL_COND		c0

PERMIT(transb)
PMT_DEL_COND		c0
PMT_ADD_COND		c0
PMT_UPDALL_COND		c0

PERMIT(transb2)
PMT_ADD_COND		cjkrcls
PMT_DEL_COND		conlyhead
PMT_UPDALL_COND		cjkrcls

PERMIT(transb2g1)
PMT_ADD_COND		cjkrcls
PMT_DEL_COND		conlyhead
PMT_UPDALL_COND		c0

PERMIT(transb2g2)
PMT_ADD_COND		c0
PMT_DEL_COND		c0
PMT_UPDALL_COND		c0

PERMIT(transb2g3)
PMT_ADD_COND		ctmbhPos
PMT_DEL_COND		conlyhead
PMT_UPDALL_COND		c0

PERMIT(transb2g4)
PMT_ADD_COND            ctmbhMekanik
PMT_DEL_COND            conlyhead
PMT_UPDALL_COND         cjkrcls

PERMIT(transb2g5)
PMT_ADD_COND		c0
PMT_DEL_COND		conlyhead2
PMT_UPDALL_COND		conlyhead2

PERMIT(transb2g6)
PMT_ADD_COND            c0
PMT_DEL_COND            c0
PMT_UPDALL_COND         cBoleh1

PERMIT(transb2g7)
PMT_ADD_COND		cBoleh1
PMT_DEL_COND		conlyhead2
PMT_UPDALL_COND		cBoleh1

PERMIT(transb2g8)
PMT_ADD_COND            conlyhead2
PMT_DEL_COND            conlyhead2
PMT_UPDALL_COND         conlyhead2

PERMIT(transb2g9)
PMT_ADD_COND		cjkrcls
PMT_DEL_COND		conlyhead2
PMT_UPDALL_COND		cjkrcls

PERMIT(transb2g10)
PMT_ADD_COND		ctmbhSpk
PMT_DEL_COND		conlyhead2
PMT_UPDALL_COND		cjkopen

PERMIT(transb2g11)
PMT_ADD_COND		c0
PMT_DEL_COND		c0
PMT_UPDALL_COND		c0

PERMIT(transb2g12)
PMT_ADD_COND            conlyhead2
PMT_DEL_COND            conlyhead2
PMT_UPDALL_COND         conlyhead2

PERMIT(transb2g13)
PMT_ADD_COND		ctmbhLcr2
PMT_DEL_COND		conlyhead2
PMT_UPDALL_COND		cjkrcls

PERMIT(transb2g14)
PMT_ADD_COND		c0
PMT_DEL_COND		conlyhead2
PMT_UPDALL_COND		c0

PERMIT(transb2g15)
PMT_ADD_COND            ctmbhLcr
PMT_DEL_COND            conlyhead2
PMT_UPDALL_COND         c0
PMT_ADD_MSG t.MotorBukanEsaf

PERMIT(transb2g16)
PMT_ADD_COND		ctmbhMeka
PMT_DEL_COND		cjkopen
PMT_UPDALL_COND		c0

PERMIT(transb2g17)
PMT_ADD_COND		c0
PMT_DEL_COND		c0
PMT_UPDALL_COND		cupdstnk

PERMIT(transb2g18)
PMT_ADD_COND            cjkrcls
PMT_DEL_COND            conlyhead
PMT_UPDALL_COND         cjkrcls

PERMIT(transb2g19)
PMT_ADD_COND            c0
PMT_DEL_COND            conlyhead
PMT_UPDALL_COND         cjkrcls

PERMIT(transb2g20)
PMT_ADD_COND            c0
PMT_DEL_COND            c0 
PMT_UPDALL_COND         c0


PERMIT(transc)
PMT_ADD_COND		cadd_FP
PMT_UPDALL_COND		c0
PMT_DEL_COND		cupddel_FP
PMT_IGNDET_COND		cupddel_FP

PERMIT(transc2)
PMT_ADD_COND		c0
PMT_UPDALL_COND		c0
PMT_DEL_COND		c0

PERMIT(transc2g1)
PMT_ADD_COND		c0
PMT_UPDALL_COND		c0
PMT_DEL_COND		c0

PERMIT(transd)
PMT_ADD_COND            c0
PMT_UPDALL_COND         cupdtransd
PMT_DEL_COND            c0
PMT_UPD_MSG IF cCABNAS416 t.CabTdkAdaDiCABNAS416
	    IF chnyaINPG t.620StsBknINPG
	    IF cbrg1x t.HnyBisaUbhBrg1x
	    IF cbrg2x t.HnyBisaUbhBrg2x
	    IF cbrg3x t.HnyBisaUbhBrg3x

MAP(maddsub)
btmnobuk       btmnobuk        REPLACE

CALCS()
cTotr           btmdf4 - btmtotal2 - btmdf3
cTot4a		lttldsc + (ppdperdis4 + ppdperdis5 + ppdperdis6 + ppdperdis7)
cTot4b		lttldsc
cTot4c		lttldsc 
/*cTotr2 		btmdf4 + (ppdhrg * ppdjml) - (ppdhrgbp * (ppdjml - 1))
cTotdel2	btmdf4 - (ppdhrg * ppdjml) + (ppdhrgbp * (ppdjml - 1))
cTotupd2	btmdf4 + (ppdhrg * ppdjml) - (ppdhrgbp * (ppdjml - 1))*/

cTotr2a 	btmdf4 + ppdhrg
cTotdel2a	btmdf4 - ppdhrg - lhasil1asuransi
cTotupd2a	btmdf4 + ppdhrg

/*cTotupd2	btmdf4 - ltotal + (ppdhrg * ppdjml) - (ppdhrgbp * (ppdjml - 1))*/
cnotkpb		ppdsup != "AHM" && ppdtybuk2 == "Y" && djointbd_promooli == 0 && djointbd_promooli2 == 0
cnotkpb2	((ppdsup == "AHM" && ppdtybuk2 == "Y" && djointbd_promooli == 1 && djoinrmdstrukturh2a == 1 && lrmdgabpaket1 != BLANKS) ||
		(ppdsup == "AHM" && ppdtybuk2 == "Y" && djointbd_promooli2 == 1 && djoinrmdstrukturh2c == 1 && lrmdgabpaket3 != BLANKS))
cjikaY		ppdtybuk2 == "Y"
cbrok		btmperbns + 1
cbrok2		btmperbns - 1
cbrok3		btmperbns - lbtmperbns + 1
cbrokx		ppdjasbrg == "BR" && ppdjmlren >= 1 && ppdhrg > 0 
cyeskpb		ppdsup == "AHM" && djointbd_promooli == 0
cyeskpb1	ppdsup == "AHM" && djointbd_promooli == 1 && djoinrmdstrukturh2b == 1 && lrmdgabpaket2 != BLANKS && djointbd_promooli6 == 0
cyeskpb2	ppdsup == "AHM" && ppdkat == "ASS" && djointbd_promooli == 1 && djoinrmdstrukturh2a == 1 && lrmdgabpaket1 != BLANKS
ckpboli		btmperppn + 1
ckpboli2	btmperppn - 1
ckpboli3	btmperppn - lbtmperppn + 1

ckpbolix        ((djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 != "OLI GEAR" && ppdsup == "AHM" &&
                djoinrmdstrukturh2a == 1 && lrmdgabpaket1 != BLANKS && (djointbd_promooli == 0 || djointbd_promooli == 1)) ||
                (djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 != "OLI GEAR" && ppdsup == "AHM" &&
                djoinrmdstrukturh2c == 1 && lrmdgabpaket3 != BLANKS && (djointbd_promooli2 == 1 || djointbd_promooli == 1)) ||
                (djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 != "OLI GEAR" && ppdsup == "AHM" &&
                djoinrmdstrukturh2c == 1 && lrmdgabpaket3 != BLANKS && (djointbd_promooli3 == 1)) ||
                (djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 != "OLI GEAR" && ppdsup == "AHM" &&
                djoinrmdstrukturh2d == 1 && lrmdgabpaket4 != BLANKS && (djointbd_promooli4 == 1)) ||
                (djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 != "OLI GEAR" && ((ppdsup == "KPBNSS" &&
                btmrekomen == "KPBNSS") || (ppdsup == "KPBSINSEN" && btmrekomen == "KPBSINSEN") ||
                (ppdsup == "KPBTDM" && btmrekomen == "KPBTDM") || (btmrekomen == "KPB" && ppdsup == "KPB1TAHUN" &&
                djoinppm614 == 1 && ltglkirimmtr >= 20240901 && (lppmtk614 == "K" || (djoinrmdstrukturh2_kpb1tahun_tunai == 1 && lbtmytplg611 == "Y")) && btmhrg == 2))) ||
                (djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 != "OLI GEAR" && ppdsup == "VOUCHER" &&
                djoinrmdstrukturh2f == 1 && lrmdgabpaket5 != BLANKS && djointbd_promooli2 == 1) ||
                (djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 != "OLI GEAR" && ppdsup == "KPBHSO" &&
                djoinrmdstrukturh2_kpbhso == 1 && lrmdgabpaket5 != BLANKS))

ckpbolixx	(djoinbrg == 1 && (lbrgkat4 == "OLI" || lbrgkat4 == "OIL") && lbrgkat5 == "OLI GEAR" && ppdsup == "AHM" &&
                djointbd_promooli6 == 1)
cTot3a		(ppdhrg * ppdjml) + btmdf3 - (ppdhrgbp * (ppdjml - 1))
cTot3b		btmdf3 - (ppdhrg * ppdjml) - (ppdhrgbp * (ppdjml - 1))
cTot3c		btmdf3 - ltotal + (ppdhrg * ppdjml) - (ppdhrgbp * (ppdjml - 1))
/*cTot3cx		(ppdhrg * ppdjml) + btmdf3 - (ppdhrgbp * (ppdjml - 1)) - lttlAHM*/
ckpbok		(ppdsup == "AHM" || ppdsup == "PROG") && djointbd_promooli == 0 && djointbt_cabdgi1 == 0 && djointbt_cabdgi2 == 0
ckpbok_dgi	(ppdsup == "AHM" || ppdsup == "PROG") && djointbd_promooli == 0 && (djointbt_cabdgi1 == 1 || djointbt_cabdgi2 == 1) &&
		lppdtybuk2 == BLANKS
ckpbok1		(ppdsup == "AHM" || ppdsup == "PROG") && djointbd_promooli == 1 && djoinrmdstrukturh2b == 1 && lrmdgabpaket2 != BLANKS
cnotdis		btmguna != "INSTANSI" && btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSERVICEKPB2" && btmwrn != "PKTSERVICEKPB3" && btmwrn != "PKTSERVICEKPB4" && btmwrn != "PAKETNORMAL" && btmsurveyor == "" && btmsts == "OPEN" 
cnotdisapi	btmguna != "INSTANSI" && btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSERVICEKPB2" && btmwrn != "PKTSERVICEKPB3" && btmwrn != "PKTSERVICEKPB4" 
                && btmwrn != "PAKETNORMAL" && btmsurveyor == "" && btmsts == "OPEN"  &&  ( g_curcmd == 1 && djoincabapi2 == 1 && ltbdkettype == "ADA" &&  ppdkdmua == BLANKS )
cnotdisx	(btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSERVICEKPB2" && btmwrn != "PKTSERVICEKPB3" && btmwrn != "PKTSERVICEKPB4") || (btmguna == "INSTANSI" && btmwrn == "PAKETNORMAL") || (btmsurveyor != BLANKS && btmwrn == "PAKETNORMAL")
cnotdisrmd	lrmdgab3 != BLANKS && btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSERVICEKPB2" && btmwrn != "PKTSERVICEKPB3" && btmwrn != "PKTSERVICEKPB4" && btmwrn != "PAKETNORMAL" && btmsurveyor == "" && btmsts == "OPEN" 
cnotdisrmdapi	lrmdgab3 != BLANKS && btmwrn != "PKTSERVICEKPB1" && btmwrn != "PKTSERVICEKPB2" && btmwrn != "PKTSERVICEKPB3" && btmwrn != "PKTSERVICEKPB4" && btmwrn != "PAKETNORMAL" && btmsurveyor == "" && btmsts == "OPEN" && ppdkdmua == BLANKS
cKPB2Oli	ppdhrg + ldiskonoli2
cperdisksng     g_curcmd == 1 && djoincabapi2 == 1 && ltbdkettype == "ADA" && ppdkdmua == BLANKS

MAP(mupdbtmtr)
cTotr2a	 btmdf4	      DO_CALC_IF cjikaY /* jika apr partman */
cTot3a	 btmdf3	      DO_CALC_IF ckpbok
cTot3a	 btmdf3	      DO_CALC_IF ckpbok1
cTot4a	 btmtotal2    DO_CALC_IF cnotdisx
cTotr	 btmtotal     DO_CALC_IF cjikaY /* jika apr partman */
cbrok	 btmperbns    DO_CALC_IF cbrokx
ckpboli	 btmperppn    DO_CALC_IF ckpbolix
lsatu	 btmytplgpsn  REPLACE_IF ckpbolixx
btmkdkms        ppdnobuk        REPLACE
DEBUG	ldumstr	ldumstr	REPLACE

MAP(mdebug)
DEBUG   ldumstr ldumstr REPLACE

MAP(mupdbtmdel)
cTotdel2a	btmdf4		DO_CALC_IF cjikaY /* jika apr partman */
cTot3b	 	btmdf3		DO_CALC_IF ckpbok
cTot3b	 	btmdf3		DO_CALC_IF ckpbok1
cTot4b	 	btmtotal2	DO_CALC_IF cnotdisx
cTotr	 	btmtotal	DO_CALC_IF cjikaY /* jika apr partman */
cbrok2	 	btmperbns	DO_CALC_IF cbrokx
ckpboli2   	btmperppn  	DO_CALC_IF ckpbolix

MAP(mupdbtmupd)
cTotupd2a	btmdf4		DO_CALC_IF cjikaY /* jika apr partman */
cTot3c	   	btmdf3		DO_CALC_IF ckpbok
cTot3c	   	btmdf3		DO_CALC_IF ckpbok1
lttlAHM		btmdf3		REPLACE_IF ckpbok_dgi
cTot4c	   	btmtotal2    	DO_CALC_IF cnotdisx
cTotr	   	btmtotal     	DO_CALC_IF cjikaY /* jika apr partman */
cbrok2     	btmperbns    	DO_CALC_IF cbrokx
cbrok3	   	btmperbns    	DO_CALC_IF cbrokx
ckpboli3   	btmperppn    	DO_CALC_IF ckpbolix

MAP(m4579)
btmnobuk        r_string1   REPLACE
btmtypmtr2	r_string2   REPLACE
btmwrn		r_string3   REPLACE
btmsurveyor	r_string4   REPLACE
g_curcmd        r_count1    REPLACE
ppdjml		r_count2    REPLACE
ppdlok		r_string5   REPLACE
ppdoto		r_string6   REPLACE
btmguna		r_string7   REPLACE
ltrans		r_string9   REPLACE
DEBUG	ldumstr	ldumstr	    REPLACE

CALCS()
ckirimdata	"REKOMENPAKET"+STRIP(btmtypmtr2)+STRIP(lhasil1_txtusia)
ckirimdata2	STRIP(btmwrn)+STRIP(btmbisnis)+STRIP(lhasil1_txtkilo)

MAP(m4579a)
ckirimdata	lkirimdata  DO_CALC
btmnobuk        r_string1   REPLACE
lnamamotormampat r_string2  REPLACE
btmwrn          r_string3   REPLACE
btmsurveyor     r_string4   REPLACE
g_curcmd        r_count1    REPLACE
ppdjml          r_count2    REPLACE
ppdlok          r_string5   REPLACE
ppdoto          r_string6   REPLACE
btmguna         r_string7   REPLACE
ltransg1	r_string9   REPLACE
lkirimdata	r_string10  REPLACE

MAP(m4579b)
ckirimdata2     lkirimdata  DO_CALC
btmnobuk        r_string1   REPLACE
btmtypmtr2	r_string2   REPLACE
btmwrn          r_string3   REPLACE
btmsurveyor     r_string4   REPLACE
g_curcmd        r_count1    REPLACE
ppdjml          r_count2    REPLACE
ppdlok          r_string5   REPLACE
ppdoto          r_string6   REPLACE
btmguna         r_string7   REPLACE
ltransg7        r_string9   REPLACE
lkirimdata      r_string10  REPLACE

MAP(m4883)
btmnobuk        r_string1   REPLACE
ltransg2	r_string9   REPLACE
/*lPIL5        	PIL5   	    REPLACE*/

MAP(mnobukbuk)
btmnobuk	btmnobuk    REPLACE

MAP(mscanppd)
ppdhrg		btmdf4	    REPLACE_IF cjikaY /* jika apr partman */
ppdhrg		btmtotal    REPLACE_IF cnotkpb /* jika apr partman */
ppdhrg		btmtotal    REPLACE_IF cnotkpb2
ppdhrg		btmdf3      REPLACE_IF cyeskpb
ppdhrg		btmdf3	    REPLACE_IF cyeskpb1
cKPB2Oli	btmdf3	    DO_CALC_IF cyeskpb2

CALCS()
cdisjs1         ((ppdhrgbp * ppdperdis1 ) / 100) 
cdisjs2         ((ppdhrg * ppdperdis2 ) / 100) 
cdisjs1x        ppdjasbrg == "BR" && ppdperdis1 > 0
cdisjs2x        ppdjasbrg == "JI" && ppdperdis2 > 0 && btmsoa !="SPKSALES"
cbrgadd		ljmlbrg + 1
cjmlbrgok       ppdjasbrg == "BR" && ppdjmlren > 0
crmdgab3         "DISKONAHASS" + "JASA"
ctothrg		(ppdhrg * ppdjml) - (ppdperdis4 + ppdperdis5 + ppdperdis6 + ppdperdis7) - (ppdhrgbp * (ppdjml - 1))
ctdkupd		lppdtybuk2 == BLANKS
ctdkupd1	lppdtybuk2 == BLANKS && (djointbt_cabdgi1 == 1 || djointbt_cabdgi2 == 1)
cbkncabdgi	(djointbt_cabdgi1 == 0 && djointbt_cabdgi2 == 0) || 
		((djointbt_cabdgi1 == 1 || djointbt_cabdgi2 == 1) && djoinakt_cabdgi == 1) ||
		(btmnobuk != BLANKS && djoinppdKG == 0)
cbkncabdgi1     (djointbt_cabdgi1 == 0 && djointbt_cabdgi2 == 0) ||                                                                                                                    
                ((djointbt_cabdgi1 == 1 || djointbt_cabdgi2 == 1) && djoinakt_cabdgi == 1) ||
                (btmnobuk != BLANKS && djoinppdKG == 0) ||
                (djointbt_cabdgioto == 1 && ( dscanppd2 >= 0 && lok18 == 0 )  && djoinaktwo == 1  )


ctypePerorangan	btmbichek == "1" && djointkmFP == 0
ctdkadaDetail	djoinppdKG == 0


MAP(mmapmap2)
crmdgab3         lrmdgab3        DO_CALC

MAP(mmapmap)
lhasildis       ppdperdis1      REPLACE_IF cBR
lhasildis       ppdperdis2      REPLACE_IF cJI
cdisjs1         ppdperdis5      DO_CALC_IF cdisjs1x
cdisjs2         ppdperdis6      DO_CALC_IF cdisjs2x

/*
ctothrg		ppdtotfak	DO_CALC
brdlok	ppdlok		REPLACE
*/

MAP(mscanppdx)
c1              ljmlbrg         DO_CALC_IF cjmlbrgok

MAP(mmapmap3)
cbrgadd         ljumlah         DO_CALC

MAP(mscanppd3)
c0		lttldsc		DO_CALC
cdisco		lttldsc		DO_CALC

MAP(mscanppd4)
ppdhrg		lttlAHM		REPLACE_IF cadalok15

MAP(mupdbtmx)
lchanel    	btmnonnm 	REPLACE
c1              btmnoantri      DO_CALC_IF cdjoinbtmDaf0	
cantri          btmnoantri      DO_CALC_IF cdjoinbtmDaf1
btmnoantri	lbtmtypjl	REPLACE
lbtmtypjl	btmtypjl	REPLACE

CALCS()
cdelsviFP_fotoktp	djoinsviFP_fotoktp == 1
cdelsviFP_fotonpwp	djoinsviFP_fotonpwp == 1

MAP(maddsviFP_fotoktp)
lnobuk994	svinobuk	REPLACE
btmnobuk	svikode		REPLACE
lfktpjk		svidata		REPLACE
lfotoktp	svitype		REPLACE
btmtgl		svitgl1		REPLACE
lket_fotoktp	svinama		REPLACE
l1xx		svinourt	REPLACE

MAP(maddsviFP_fotonpwp)
lnobuk994	svinobuk	REPLACE
btmnobuk	svikode		REPLACE
lfktpjk		svidata		REPLACE
lfotonpwp	svitype		REPLACE
btmtgl		svitgl1		REPLACE
lket_fotonpwp	svinama		REPLACE
l2xx		svinourt	REPLACE

MAP(maddtkm_faktur)
lfktpjk         tkmdata         REPLACE
lnobuk994       tkmnobuk        REPLACE
btmnobuk        tkmkode         REPLACE
btmtgl          tkmtgl          REPLACE
btmtgl          tkmtgl1         REPLACE
btmcab          tkmcab          REPLACE
btmdvs          tkmdvs          REPLACE
gt_ope1         tkmsts          REPLACE
l994            tkmscr          REPLACE
l620            tkmlok2         REPLACE
cT		tkmlokjl	DO_CALC
g_usrkode	tkmbuk2		REPLACE

CALCS()
cstsinpg1       (djointbdCAB416 == 1 || djointbdNAS416 == 1) && btmsts == "INPG" && ppdjasbrg == "BR" && ppdlok != BLANKS &&
                (djointlm416_last == 0 || (djointlm416_last == 1 && ltlmsts416_last == "VOID"))
cstsinpg2       (djointbdCAB416 == 1 || djointbdNAS416 == 1) && btmsts == "INPG" && ppdjasbrg == "BR" && ppdlok != BLANKS &&
                djointlm416_last == 1
cstsinpg3       (djointbdCAB416 == 1 || djointbdNAS416 == 1) && btmsts == "INPG" && ppdjasbrg == "BR" && ppdlok != BLANKS &&
                djointlm416_abk == 1 && djoinabk416 == 0
cstsinpg1api    (djointbdCAB416 == 1 || djointbdNAS416 == 1) && btmsts == "INPG" && ppdjasbrg == "BR" && ppdlok != BLANKS &&
                (djointlm416_last == 0 || (djointlm416_last == 1 && ltlmsts416_last == "VOID")) && ( g_curcmd == 2 && djoincabapi2 == 1 
                && ltbdkettype == "ADA" && ppdkdmua == BLANKS )
cstsinpg2api    (djointbdCAB416 == 1 || djointbdNAS416 == 1) && btmsts == "INPG" && ppdjasbrg == "BR" && ppdlok != BLANKS &&
                djointlm416_last == 1 && ( g_curcmd == 1 && djoincabapi2 == 1 && ltbdkettype == "ADA" && ppdkdmua == BLANKS  )
cstsinpg3api    (djointbdCAB416 == 1 || djointbdNAS416 == 1) && btmsts == "INPG" && ppdjasbrg == "BR" && ppdlok != BLANKS &&
                djointlm416_abk == 1 && djoinabk416 == 0 && ( g_curcmd == 1 && djoincabapi2 == 1 && ltbdkettype == "ADA" && ppdkdmua == BLANKS ) 

cdjointlm416_last	djointlm416_last == 1
cdjointlm416_abk	djointlm416_abk == 1
curut416        lnourt416 + 1
cjointld0       djointld416 == 0
cjointld1       djointld416 == 1
cnobuk416       STRIP(btmnobuk) + "-"
cket416		"ADMPART KERJAKAN 416"
cdjoinsgmADMPART	djoinsgmADMPART == 1
cdjoinsgmKABENG		djoinsgmKABENG == 1
cdjoinsgmSA		djoinsgmSA == 1
cdjoinsgmFD		djoinsgmFD == 1
cdjoinsgmADH		djoinsgmADH == 1
cdjoinsgmADHDCA		djoinsgmADHDCA == 1

c416ADMPART		djointgmLIBUR == 1 && ltgmtype == "HK" && (djoinsgmADMPART == 1 && djoinabdADMPART == 1)

c416ADH			djointgmLIBUR == 1 && (ltgmtype == "HK" || ltgmtype == "HL") &&
                        (djoinsgmADMPART == 0 || (djoinsgmADMPART == 1 && djoinabdADMPART == 0)) &&
                        (djoinsgmADH == 1 && djoinabdADH == 1)

c416KABENG          	djointgmLIBUR == 1 && (ltgmtype == "HK" || ltgmtype == "HL") && 
			(djoinsgmADMPART == 0 || (djoinsgmADMPART == 1 && djoinabdADMPART == 0)) && 
                        (djoinsgmADH == 0 || (djoinsgmADH == 1 && djoinabdADH == 0)) && 
			(djoinsgmKABENG == 1 && djoinabdKABENG == 1)

c416SA          	djointgmLIBUR == 1 && (ltgmtype == "HK" || ltgmtype == "HL") && 
			(djoinsgmADMPART == 0 || (djoinsgmADMPART == 1 && djoinabdADMPART == 0)) &&  
                        (djoinsgmADH == 0 || (djoinsgmADH == 1 && djoinabdADH == 0)) &&
                        (djoinsgmKABENG == 0 || (djoinsgmKABENG == 1 && djoinabdKABENG == 0)) && 
			(djoinsgmSA == 1 && djoinabdSA == 1)

c416FD	         	djointgmLIBUR == 1 && (ltgmtype == "HK" || ltgmtype == "HL") && 
			(djoinsgmADMPART == 0 || djoinsgmADMPART == 1 && djoinabdADMPART == 0) &&
                        (djoinsgmADH == 0 || djoinsgmADH == 1 && djoinabdADH == 0) &&
                        (djoinsgmKABENG == 0 || (djoinsgmKABENG == 1 && djoinabdKABENG == 0)) &&
                        (djoinsgmSA == 0 || (djoinsgmSA == 1 && djoinabdSA == 0)) &&
			(djoinsgmFD == 1 && djoinabdFD == 1)

cmekanikSTART		btmsales != BLANKS && dscantlm416 >= 0 && lrecordtlm416 == 0 

MAP(mmap416)
cthbl           lthbl           DO_CALC

MAP(mmaptlm416)
cnobuk416	ltlmnobuk416	DO_CALC
btmnobuk	ltlmplg416	REPLACE
btmkdsam        ltlmnobbm416    REPLACE
btmtgl          ltlmtgl416      REPLACE
lastnorangka    ltlmdari416     REPLACE
lastnomesin     ltlmuntuk416    REPLACE
btmcab          ltlmcab416      REPLACE
l416            ltlmscr416      REPLACE
lSPAREPARTG     ltlmdata416     REPLACE
gv_OPEN         ltlmsts416      REPLACE
lnipAHASSFD	lnipAHASSFD	REPLACE_IF cdjoinsgmFD
lnipAHASSSA	lnipAHASSSA	REPLACE_IF cdjoinsgmSA
lnipAHASSKABENG	lnipAHASSKABENG	REPLACE_IF cdjoinsgmKABENG
lnipADH		lnipADH		REPLACE_IF cdjoinsgmADH
lnipADMPART	lnipADMPART	REPLACE_IF cdjoinsgmADMPART
DEBUG	ldumstr	ldumstr	REPLACE

MAP(maddtlm416tambahan)
ltlmnobuk416	tlmnobuk	REPLACE
ltlmplg416	tlmplg		REPLACE
ltlmnobbm416	tlmnobbm	REPLACE
ltlmtgl416	tlmtgl		REPLACE
ltlmdari416	tlmdari		REPLACE
ltlmuntuk416	tlmuntuk	REPLACE
ltlmcab416	tlmcab		REPLACE
ltlmscr416	tlmscr		REPLACE
ltlmdata416	tlmdata		REPLACE
ltlmsts416	tlmsts		REPLACE
lnipAHASSFD	tlmgrup		REPLACE_IF c416FD
lnipAHASSSA	tlmgrup		REPLACE_IF c416SA
lnipAHASSKABENG	tlmgrup		REPLACE_IF c416KABENG
lnipADH		tlmgrup		REPLACE_IF c416ADH 
lnipADMPART	tlmgrup		REPLACE_IF c416ADMPART
btmsales	tlmgrup2	REPLACE_IF cmekanikSTART
DEBUG	ldumstr	ldumstr	REPLACE
	
MAP(maddtld416tambahan)
ltlmnobuk416_last   tldnobuk        REPLACE_IF cdjointlm416_last
ppdnomst2	tldnoll		REPLACE
lSPAREPARTG     tlddata         REPLACE
ppdbrg          tldbrg          REPLACE
ppdket          tldket          REPLACE
ppdlok          tldlok          REPLACE
ppdjml          tldjml          REPLACE_IF cBR
ppdcab          tldcab          REPLACE
l416            tldscr          REPLACE
ppdoto		tldplg		REPLACE
c1        	tldnourt        DO_CALC_IF cjointld0
curut416        tldnourt        DO_CALC_IF cjointld1
ppdnobuk	tldgrup		REPLACE
ppdjasbrg	tldsts		REPLACE
ppdnomst2	tldukrwrn	REPLACE
DEBUG ldumstr ldumstr REPLACE

MAP(mupdtlm416tambahanFOTO)
c0		tlmjml		DO_CALC
cBLANKS		tlmbrdoto	DO_CALC
DEBUG ldumstr ldumstr REPLACE

MAP(mmapabk416)
ltlmnobuk416_last	ltlmnobuk416_abk	REPLACE_IF cdjointlm416_last
ltlmnobuk416_abk	ltlmnobuk416_abk	REPLACE_IF cdjointlm416_abk
DEBUG ldumstr ldumstr REPLACE

MAP(maddabk416tambahan)
gv_INPG         abksts          REPLACE
lKUNCIABSEN     abkdata         REPLACE
lnipAHASSFD     abkkym          REPLACE_IF c416FD
lnipAHASSSA     abkkym          REPLACE_IF c416SA
lnipAHASSKABENG abkkym          REPLACE_IF c416KABENG
lnipADH		abkkym		REPLACE_IF c416ADH
lnipADMPART     abkkym          REPLACE_IF c416ADMPART
ltlmnobuk416_abk    abknobuk        REPLACE
g_tgltrn        abktgl          REPLACE
cket416         abkkym2         DO_CALC
l416            abkscr          REPLACE
l416            abktype         REPLACE
lAHASSFD	abknoll		REPLACE_IF c416FD
lAHASSSA	abknoll		REPLACE_IF c416SA
lAHASSKABENG	abknoll		REPLACE_IF c416KABENG
lADH		abknoll		REPLACE_IF c416ADH
lADMPART        abknoll         REPLACE_IF c416ADMPART
DEBUG   ldumstr ldumstr REPLACE

MAP(maddakt_6d)
btmnobuk	aktkode 	REPLACE
lUBAHBRG6D_11	aktdata 	REPLACE
lUBAHBRG6D_21	akttype 	REPLACE
g_tgltrn	akttgl 		REPLACE
lSYSTIME	aktjam		REPLACE
ppdbrg		aktbrg 		REPLACE
lppdbrglama	aktlok		REPLACE
DEBUG	lppdbrglama lppdbrglama	REPLACE

/*MAP(mupdppd_d1)
gv_OPEN		ppdsts		REPLACE
cBLANKS		ppdsales	DO_CALC
brdbrg		ppdbrg		REPLACE
DEBUG ppdsts	ppdsts		REPLACE
*/
MAP(mupdtld416)
ppdbrg		tldbrg		REPLACE
ppdket		tldket		REPLACE
ppdlok		tldlok		REPLACE
cBLANKS		tldjml2		DO_CALC
cBLANKS		tldtydis	DO_CALC
cBLANKS		tldsisbrg	DO_CALC
DEBUG	lppdbrglama lppdbrglama	REPLACE

CALCS()
/*cdjoinsgmADH	djoinsgmADH == 1
cubhmstr	djoinabkADHmstr == 0 */
cubhmstrKABENG  djoinabkKABENGmstr == 0 && lnipAHASSKABENG != BLANKS
cubhmstrSA	djoinabkSAmstr == 0 && lnipAHASSSA != BLANKS
cubhmstrFD	djoinabkFDmstr == 0 && lnipAHASSFD != BLANKS


MAP(mmapmapabkmstr)
cthbl           lthbl           DO_CALC
DEBUG	lthbl	lthbl		REPLACE
lnipAHASSKABENG	lnipAHASSKABENG	REPLACE_IF cdjoinsgmKABENG
lnipAHASSSA	lnipAHASSSA	REPLACE_IF cdjoinsgmSA
lnipAHASSFD     lnipAHASSFD     REPLACE_IF cdjoinsgmFD



/*MAP(maddabkADHmstr)
lKUNCIABSEN	abkdata		REPLACE
btmnobuk	abknobuk	REPLACE
g_tgltrn	abktgl		REPLACE
gv_INPG		abksts		REPLACE
lket620		abkkym2		REPLACE
lnipADH		abkkym		REPLACE
lADH		abknoll		REPLACE
DEBUG	lthbl	lthbl		REPLACE*/

MAP(maddabkKABENGmstr)
lKUNCIABSEN     abkdata         REPLACE
btmnobuk        abknobuk        REPLACE
g_tgltrn        abktgl          REPLACE
gv_INPG         abksts          REPLACE
lket620         abkkym2         REPLACE
lnipAHASSKABENG abkkym          REPLACE
lAHASSKABENG    abknoll         REPLACE
DEBUG   lthbl   lthbl           REPLACE

MAP(maddabkSAmstr)
lKUNCIABSEN     abkdata         REPLACE
btmnobuk        abknobuk        REPLACE
g_tgltrn        abktgl          REPLACE
gv_INPG         abksts          REPLACE
lket620         abkkym2         REPLACE
lnipAHASSSA     abkkym          REPLACE
lAHASSSA        abknoll         REPLACE
DEBUG   lthbl   lthbl           REPLACE

MAP(maddabkFDmstr)
lKUNCIABSEN     abkdata         REPLACE
btmnobuk        abknobuk        REPLACE
g_tgltrn        abktgl          REPLACE
gv_INPG         abksts          REPLACE
lket620         abkkym2         REPLACE
lnipAHASSFD     abkkym          REPLACE
lAHASSFD        abknoll         REPLACE
DEBUG   lthbl   lthbl           REPLACE

CALCS()
cdjoinppmtotfak		djoinppmtotfak == 1
ctotfakberkurang	lppmtotfak - #ppdtotfak

MAP(mupdppmtotfak)
ctotfakberkurang	ppmtotfak	DO_CALC
ctotfakberkurang	ppmtothrg	DO_CALC
ctotfakberkurang	ppmtotaftdis	DO_CALC
ctotfakberkurang	ppmtotpiull	DO_CALC
ctotfakberkurang	ppmhpp		DO_CALC
DEBUG   lthbl   lthbl           REPLACE

MAP(mapbtf)
ppmplg          btfplg          REPLACE
ppdtglfak       btftglfak       REPLACE
ppdhrg          btfhrgjl        REPLACE

MAP(mmapautodgi)
cBLANKS         lbtmcab         DO_CALC
cBLANKS         lbtmidprsp      DO_CALC
cbtmcab         lbtmcab         DO_CALC
btmidprsp       lbtmidprsp      REPLACE

btmidprsp       ldumstr31       REPLACE
lkodeMD         lkodeMD         REPLACE_IF cdjointbdcab1

cmampatNoWO     lmampatNoWO     DO_CALC_IF ckodeMD_mpm
cnoWODepan      lnoWODepan      DO_CALC_IF ckodeMD_mpm
cnoWOBelakang   lnoWOBelakang   DO_CALC_IF ckodeMD_mpm
cnoWO           lbtmidprsp      DO_CALC_IF ckodeMD_mpm

cnoWO_sinsen    lbtmidprsp      DO_CALC_IF ckodeMD_sinsen
DEBUG   ldumstr   ldumstr    REPLACE

MAP(mmapmapauto)
DEBUG   ldumstr   ldumstr    REPLACE

SPCALCS(spmastersub)
DO_LIB_IF cotY  ap_dbclc(DNAME daddsub,DCOMMAND ADD_SUB,DFILE btm,DLTARGET btmbukidx   btmnobuk,DLLEN 16,DMAP maddsub);

SPCALCS(spmasteradd)
DO_LIB ap_nxpst(l4579,lm4579);   /*Del Pps Subsidi*/
DO_LIB ap_amstr(btmnobuk,ln1,ln2,&lbtmtypjl);
DO_LIB_IF cjoin_nnm0 ap_dbclc(DNAME daddnnm,DCOMMAND ADD,DFILE nnm,DMAP maddnnm);
DO_LIB ap_dbclc(DNAME dupdbtmx,DCOMMAND UPDATE,DTARGET btmprmidx btmprm,DMAP mupdbtmx);
DO_LIB ap_krntf(btmnonnm,lscrstr);

SPCALCS(spmasterupd)
DO_LIB  ap_dbclc(DNAME dmapautodgi,DCOMMAND MAPMAP,DMAP mmapautodgi);
DO_LIB_IF cbkncabdgi ap_dbclc(DNAME ddelppd,DCOMMAND DELETE_RANGE,DTARGET ppdbuk2bbmid btmnobuk,DMAP mnobukbuk);
DO_LIB  ap_dbclc(DNAME dmapmapwait,DCOMMAND MAPMAP,DMAP mmapmapauto); 
DO_LIB_IF ctdkadaDetail ap_nxpst(l4883,lm4883); /* HAPUS BTF */
DO_LIB_IF cbkncabdgi1 ap_nxpst(l4579,lm4579);
DO_LIB ap_dbclc(DNAME dbscanppd,DCOMMAND SCANSCAN,DTARGET ppdbuk2bbmid btmnobuk,DBC_SUM_MAP mscanppd);
DO_LIB_IF crmdstrukturh2_Usia ap_ambts(gv_INPG,lrmdgabUsia,lUsia,lbts2,lbts3,&lhasil1,&lhasil2,&lhasil3,&lhasil1_txtusia,&lhasil2_txt);
DO_LIB_IF crmdstrukturh2_Kilo ap_ambts(gv_INPG,lrmdgabKilo,btmdf2,lbts2,lbts3,&lhasil1,&lhasil2,&lhasil3,&lhasil1_txtkilo,&lhasil2_txt);
DO_LIB ap_nxpst(l4579,lm4579a);
DO_LIB_IF ctdkadaDetail ap_nxpst(l4579,lm4579b);
DO_LIB ap_dbclc(DNAME ddebug,DCOMMAND MAPMAP,DMAP mdebug);
DO_LIB_IF ctypePerorangan ap_dbclc(DNAME daddtkm_faktur, DCOMMAND ADD, DFILE tkm,DMAP maddtkm_faktur);
DO_LIB		ap_dbclc(DNAME dmapmapabkmstr, DCOMMAND MAPMAP, DMAP mmapmapabkmstr);	
/*DO_LIB_IF cubhmstr ap_dbclc(DNAME daddabkADHmstr, DCOMMAND ADD, DFILE abk, DMAP maddabkADHmstr);*/
DO_LIB_IF cubhmstrKABENG ap_dbclc(DNAME daddabkKABENGmstr, DCOMMAND ADD, DFILE abk, DMAP maddabkKABENGmstr);
DO_LIB_IF cubhmstrSA ap_dbclc(DNAME daddabkSAmstr, DCOMMAND ADD, DFILE abk, DMAP maddabkSAmstr);
DO_LIB_IF cubhmstrFD ap_dbclc(DNAME daddabkFDmstr, DCOMMAND ADD, DFILE abk, DMAP maddabkFDmstr);
/*DO_LIB ap_dbclc(DNAME dupdbtm0,DCOMMAND UPDATE,DTARGET btmprmidx btmprm,DMAP mupdbtm0);*/

SPCALCS(sptransadd)
DO_LIB  ap_dbclc(DNAME daddmapppdum,DCOMMAND MAPMAP,DMAP mdumstr);
DO_LIB_IF cbrgok ap_adbtf(gv_O,ppdbrdoto,ppdnomst2,ppdbrg,ppdlok,ppdoto,ppdukrwrn,ppdsat,ppdjml,&ldipenuhi,&ltothpp,&lhrgrata,g_strksg,g_strksg,lmapbtf,g_str_empty,ppdcab,ppmtglfak);

DO_LIB	ap_dbclc(DNAME dmapppd,DCOMMAND MAPMAP,DMAP mmapppd);
DO_LIB	ap_dbclc(DNAME dmapinstansi,DCOMMAND MAPMAP,DMAP minstansi);
DO_LIB	ap_dbclc(DNAME dmappromo,DCOMMAND MAPMAP,DMAP mpromo);
DO_LIB	ap_dbclc(DNAME dmaponlykpb,DCOMMAND MAPMAP,DMAP monlykpb);
DO_LIB	ap_dbclc(DNAME dmapppd_Hitung1,DCOMMAND MAPMAP,DMAP mHitungBarangAll);

DO_LIB_IF cnotdis ap_dbclc(DNAME dmapmap2,DCOMMAND MAPMAP,DMAP mmapmap2);
DO_LIB_IF cnotdis ap_dbclc(DNAME dbscanppdx,DCOMMAND SCANSCAN,DTARGET ppdbuk2bbmid btmnobuk,DBC_SUM_MAP mscanppdx);
DO_LIB_IF cnotdis ap_dbclc(DNAME dmapmap3,DCOMMAND MAPMAP,DMAP mmapmap3);
DO_LIB_IF cnotdisrmd ap_ambts(gv_INPG,lrmdgab3,ljumlah,lbts2,lbts3,&lhasildis,&lhasil2,&lhasil3,lhasil1_txt,lhasil2_txt);
DO_LIB_IF crmdstrukturh2a ap_ambts(gv_INPG,lrmdgabpaket1,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
DO_LIB_IF crmdstrukturh2b ap_ambts(gv_INPG,lrmdgabpaket2,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
DO_LIB_IF crmdstrukturh2cx ap_ambts(gv_INPG,lrmdgabpaket3,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2hrg,&lhasil3,&lhasil1_txt,&lhasil2_txt);
DO_LIB_IF crmdstrukturh2d ap_ambts(gv_INPG,lrmdgabpaket4,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
DO_LIB_IF crmdstrukturh2e ap_ambts(gv_INPG,lrmdgabamic,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
DO_LIB_IF crmdstrukturh2fx ap_ambts(gv_INPG,lrmdgabpaket5,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2hrg,&lhasil3,&lhasil1_txt,&lhasil2_txt);

DO_LIB_IF cnotdis ap_dbclc(DNAME dmapmap,DCOMMAND MAPMAP,DMAP mmapmap);
DO_LIB_IF cnotdis ap_nxpst(l4573,lm4579);
DO_LIB_IF cnotdisx ap_dbclc(DNAME dbscanppd3,DCOMMAND SCANSCAN,DTARGET ppdbuk2bbmid btmnobuk,DBC_SUM_MAP mscanppd3);
DO_LIB             ap_dbclc(DNAME dupdbtmtr,DCOMMAND UPDATE,DTARGET btmbukidx ppdnomst2,DMAP mupdbtmtr);

DO_LIB ap_dbclc(DNAME dmap416,DCOMMAND MAPMAP,DMAP mmap416);
DO_LIB ap_dbclc(DNAME dmaptlm416,DCOMMAND MAPMAP,DMAP mmaptlm416);
DO_LIB_IF cstsinpg1 ap_dbclc(DNAME daddtlm416tambahan,DCOMMAND ADD,DFILE tlm,DLTARGET tlmbukidx tlmnobuk,DLLEN {21}, DMAP maddtlm416tambahan);
DO_LIB_IF cstsinpg2 ap_dbclc(DNAME daddtld416tambahan,DCOMMAND ADD,DFILE tld,DMAP maddtld416tambahan);
DO_LIB_IF cstsinpg2 ap_dbclc(DNAME dupdtlm416tambahanFOTO,DCOMMAND UPDATE_RANGE,DTARGET tlmdatplgtgl lSPAREPARTG btmnobuk,DMAP mupdtlm416tambahanFOTO);
DO_LIB  ap_dbclc(DNAME dmapabk416,DCOMMAND MAPMAP,DMAP mmapabk416);
DO_LIB_IF cstsinpg3 ap_dbclc(DNAME daddabk416tambahan,DCOMMAND ADD, DFILE abk, DMAP maddabk416tambahan);



SPCALCS(sptransupd)
DO_LIB_IF cnotdis ap_nxpst(l4573,lm4579);
DO_LIB_IF cbrgok1 ap_adbtf(gv_O,ppdbrdoto,ppdnomst2,ppdbrg,ppdlok,ppdoto,ppdukrwrn,ppdsat,ppdjml,&ldipenuhi,&ltothpp,&lhrgrata,g_strksg,g_strksg,lmapbtf,g_str_empty,ppdcab,ppmtglfak);

DO_LIB	ap_dbclc(DNAME dmapppdu,DCOMMAND MAPMAP,DMAP mmapppd);
DO_LIB	ap_dbclc(DNAME dmapinstansiu,DCOMMAND MAPMAP,DMAP minstansi);
DO_LIB	ap_dbclc(DNAME dmappromou,DCOMMAND MAPMAP,DMAP mpromo);
DO_LIB	ap_dbclc(DNAME dmaponlykpbu,DCOMMAND MAPMAP,DMAP monlykpb);
DO_LIB	ap_dbclc(DNAME dmapppd_Hitung1u,DCOMMAND MAPMAP,DMAP mHitungBarangAll);

DO_LIB_IF cnotdisx ap_dbclc(DNAME dbscanppd5,DCOMMAND SCANSCAN,DTARGET ppdbuk2bbmid btmnobuk,DBC_SUM_MAP mscanppd3);
DO_LIB_IF ctdkupd1 ap_dbclc(DNAME dbscanppd6,DCOMMAND SCANSCAN,DTARGET ppdbuk2bbmid btmnobuk,DBC_SUM_MAP mscanppd4);
DO_LIB_IF ctdkupd  ap_dbclc(DNAME dupdbtmupd,DCOMMAND UPDATE,DTARGET btmbukidx ppdnomst2,DMAP mupdbtmupd);

DO_LIB_IF cnotdisapi ap_dbclc(DNAME dmapmap2q,DCOMMAND MAPMAP,DMAP mmapmap2);
DO_LIB_IF cnotdisapi ap_dbclc(DNAME dbscanppdxq,DCOMMAND SCANSCAN,DTARGET ppdbuk2bbmid btmnobuk,DBC_SUM_MAP mscanppdx);
DO_LIB_IF cnotdisapi ap_dbclc(DNAME dmapmap3q,DCOMMAND MAPMAP,DMAP mmapmap3);
DO_LIB_IF cnotdisrmdapi ap_ambts(gv_INPG,lrmdgab3,ljumlah,lbts2,lbts3,&lhasildis,&lhasil2,&lhasil3,lhasil1_txt,lhasil2_txt);
DO_LIB_IF crmdstrukturh2a ap_ambts(gv_INPG,lrmdgabpaket1,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
DO_LIB_IF crmdstrukturh2b ap_ambts(gv_INPG,lrmdgabpaket2,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
DO_LIB_IF crmdstrukturh2cx ap_ambts(gv_INPG,lrmdgabpaket3,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2hrg,&lhasil3,&lhasil1_txt,&lhasil2_txt);
DO_LIB_IF crmdstrukturh2d ap_ambts(gv_INPG,lrmdgabpaket4,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
DO_LIB_IF crmdstrukturh2e ap_ambts(gv_INPG,lrmdgabamic,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2,&lhasil3,&lhasil1_txt,&lhasil2_txt);
DO_LIB_IF crmdstrukturh2fx ap_ambts(gv_INPG,lrmdgabpaket5,lbts1,lbts2,lbts3,&lhasil1hrg,&lhasil2hrg,&lhasil3,&lhasil1_txt,&lhasil2_txt);

DO_LIB_IF cnotdisapi ap_dbclc(DNAME dmapmapq,DCOMMAND MAPMAP,DMAP mmapmap);
DO_LIB_IF cnotdisx   ap_dbclc(DNAME dbscanppd3q,DCOMMAND SCANSCAN,DTARGET ppdbuk2bbmid btmnobuk,DBC_SUM_MAP mscanppd3);
DO_LIB_IF cperdisksng ap_dbclc(DNAME dupdbtmtrq,DCOMMAND UPDATE,DTARGET btmbukidx ppdnomst2,DMAP mupdbtmtr);

DO_LIB  ap_dbclc(DNAME dmap416q,DCOMMAND MAPMAP,DMAP mmap416);
DO_LIB  ap_dbclc(DNAME dmaptlm416q,DCOMMAND MAPMAP,DMAP mmaptlm416);
DO_LIB_IF cstsinpg1api ap_dbclc(DNAME daddtlm416tambahanq,DCOMMAND ADD,DFILE tlm,DLTARGET tlmbukidx tlmnobuk,DLLEN {21}, DMAP maddtlm416tambahan);
DO_LIB_IF cstsinpg2api ap_dbclc(DNAME daddtld416tambahanq,DCOMMAND ADD,DFILE tld,DMAP maddtld416tambahan);
DO_LIB_IF cstsinpg2api ap_dbclc(DNAME dupdtlm416tambahanFOTOq,DCOMMAND UPDATE_RANGE,DTARGET tlmdatplgtgl lSPAREPARTG btmnobuk,DMAP mupdtlm416tambahanFOTO);                            
DO_LIB  ap_dbclc(DNAME dmapabk416q,DCOMMAND MAPMAP,DMAP mmapabk416);
DO_LIB_IF cstsinpg3api ap_dbclc(DNAME daddabk416tambahanq,DCOMMAND ADD, DFILE abk, DMAP maddabk416tambahan);


SPCALCS(sptranscel)
DO_LIB_IF cnotdis ap_nxpst(l4573,lm4579);
DO_LIB_IF cnotdisx ap_dbclc(DNAME dbscanppd4,DCOMMAND SCANSCAN,DTARGET ppdbuk2bbmid btmnobuk,DBC_SUM_MAP mscanppd3);
DO_LIB ap_dbclc(DNAME dupdbtmdel,DCOMMAND UPDATE,DTARGET btmbukidx ppdnomst2,DMAP mupdbtmdel);
DO_LIB_IF cbrgok2 ap_dlbtf(gv_O,ppdbrdoto,ppdnomst2,ppdbrg,ppdlok,ppdoto,ppdukrwrn,ppdsat,ppdjml,&ldipenuhi,&ltothpp,&lhrgrata,g_strksg,g_strksg,lmapbtf,g_str_empty,lnamtrnjml);


SPCALCS(sptransc_add)
DO_LIB_IF curusFP_Y ap_dbclc(DNAME daddsviFP_fotoktp,DCOMMAND ADD,DFILE svi,DMAP maddsviFP_fotoktp);
DO_LIB_IF curusFP_Y ap_dbclc(DNAME daddsviFP_fotonpwp,DCOMMAND ADD,DFILE svi,DMAP maddsviFP_fotonpwp);

SPCALCS(sptransc_del)
DO_LIB_IF cdelsviFP_fotoktp ap_dbclc(DNAME ddelsviFP_fotoktp,DCOMMAND DELETE_RANGE,DTARGET svidatkodtyp lfktpjk btmnobuk lfotoktp);
DO_LIB_IF cdelsviFP_fotonpwp ap_dbclc(DNAME ddelsviFP_fotonpwp,DCOMMAND DELETE_RANGE,DTARGET svidatkodtyp lfktpjk btmnobuk lfotonpwp);

SPCALCS(sptransd)
DO_LIB_IF cupdtransd	ap_dbclc(DNAME daddakt_6d, DCOMMAND ADD, DFILE akt, DMAP maddakt_6d);	
DO_LIB		 	ap_dlbtf(gv_O,ppdbrdoto,ppdnomst2,ppdbrg,ppdlok,ppdoto,ppdukrwrn,ppdsat,ppdjml,&ldipenuhi,&ltothpp,&lhrgrata,g_strksg,g_strksg,g_strksg,g_str_empty,lnamtrnjml);
DO_LIB_IF cdjoinppmtotfak	ap_dbclc(DNAME dupdppmtotfak, DCOMMAND UPDATE, DTARGET ppmbukidx btmkdkms, DMAP mupdppmtotfak);
/*DO_LIB			ap_dbclc(DNAME dupdppd_d1, DCOMMAND UPDATE, DTARGET ppdotoidx ppdoto,DMAP mupdppd_d1);*/
DO_LIB			ap_dbclc(DNAME dupdtld416, DCOMMAND UPDATE_RANGE, DTARGET tldstskodbrg lSPAREPARTG lBR ppdoto,DMAP mupdtld416);


POSTING(master)
PST_SUB_ADDCMD spmastersub
PST_ADDCMD spmasteradd
PST_UPDCMD spmasterupd

POSTING(trans)
PST_ADDCMD sptransadd
PST_UPDCMD sptransupd
PST_DELCMD sptranscel

POSTING(transc)
PST_ADDCMD sptransc_add
PST_DELCMD sptransc_del

POSTING(transd)
PST_UPDCMD sptransd

END_SCREEN