PUBLIC oGasyAkhirB oGasyAkhirB=CREATEOBJECT("oAkhirBulan") oGasyAkhirB.Height=340 oGasyAkhirB.Width=492 oGasyAkhirB.Autocenter=Tengah oGasyAkhirB.Caption="Proses Akhir Bulan" oGasyAkhirB.Show(0) DEFINE CLASS oAkhirBulan AS form Top = 0 Left = 0 Height = 340 Width = 492 DoCreate = .T. Caption = "Gasy" Closable = .T. ControlBox = .T. TitleBar = 1 MaxButton= .F. Icon = "bmps\arw03up.ico" WindowType = 1 WindowState = 0 BackColor = RGB(144,176,168) Name = "_form" ADD OBJECT label1 AS label WITH ; AutoSize = .T., ; FontName = "MS Sans Serif", ; BackStyle = 0, ; Caption = "Tanggal Proses", ; Height = 15, ; Left = 20, ; Top = 50, ; Width = 76, ; ColorSource = 0, ; ZOrderSet = 4, ; Name = "Label1" ADD OBJECT tgl AS textbox WITH ; Alignment = 3, ; Value = {}, ; Height = 23, ; Left = 106, ; Top = 46, ; Width = 100, ; Name = "Tgl" ADD OBJECT prsdp AS commandbutton WITH ; AutoSize = .T., ; Top = 100, ; Left = 20, ; Height = 23, ; Width = 72, ; FontBold = .T., ; FontName = "MS Sans Serif", ; Caption = "Proses 1", ; ZOrderSet = 1, ; Name = "prsDp" ADD OBJECT prstb AS commandbutton WITH ; AutoSize = .T., ; Top = 140, ; Left = 20, ; Height = 23, ; Width = 72, ; FontBold = .T., ; FontName = "MS Sans Serif", ; Caption = "Proses 2", ; ZOrderSet = 1, ; Name = "prsTb" ADD OBJECT prskr AS commandbutton WITH ; AutoSize = .T., ; Top = 180, ; Left = 20, ; Height = 23, ; Width = 72, ; FontBold = .T., ; FontName = "MS Sans Serif", ; Caption = "Proses 3", ; ZOrderSet = 1, ; Name = "prsKr" ADD OBJECT prsTp AS commandbutton WITH ; AutoSize = .T., ; Top = 220, ; Left = 20, ; Height = 23, ; Width = 72, ; FontBold = .T., ; FontName = "MS Sans Serif", ; Caption = "Proses 4", ; ZOrderSet = 1, ; Name = "prsTp" ADD OBJECT pdp AS checkbox WITH ; Top = 105, ; Left = 105, ; Height = 15, ; Width = 272, ; FontName = "MS Sans Serif", ; Caption = "\<1. Hitung Anggaran Bunga Deposito Bulan Berikutnya", ; ZOrderSet = 0, ; Name = "pDp" ADD OBJECT ptb AS checkbox WITH ; Top = 145, ; Left = 105, ; Height = 15, ; Width = 356, ; FontName = "MS Sans Serif", ; AutoSize = .T., ; BackStyle = 0, ; Caption = "\<2. Pemindahan Saldo Akhir Tabungan Umum Ke Awal Bulan Berikutnya", ; Name = "pTb" ADD OBJECT pkr AS checkbox WITH ; Top = 185, ; Left = 105, ; Height = 15, ; Width = 178, ; FontName = "MS Sans Serif", ; AutoSize = .T., ; BackStyle = 0, ; Caption = "\<3. Perhitungan Kolektibilitas Kredit", ; ZOrderSet = 0, ; Name = "pKr" ADD OBJECT pTp AS checkbox WITH ; Top = 225, ; Left = 105, ; Height = 15, ; Width = 178, ; FontName = "MS Sans Serif", ; AutoSize = .T., ; BackStyle = 0, ; Caption = "\<4. Tabungan Program",; ZOrderSet = 0, ; Name = "pTp" ADD OBJECT proses AS commandbutton WITH ; Top = 270, ; Left = 105, ; Height = 27, ; Width = 84, ; Caption = "Proses", ; Name = "Proses" ADD OBJECT cmdkembali AS commandbutton WITH ; Top = 270, ; Left = 377, ; Height = 27, ; Width = 84, ; Caption = "Exit", ; Name = "cmdKembali" PROCEDURE cmdKembali.Click RELEASE oGasyAkhirB ENDPROC PROCEDURE prsdp.Click CLOSE TABLES All Gasy_Tgl=This.Parent.Tgl.Value IF EMPTY(Gasy_Tgl) RETURN ENDIF ALAMATDP=ALAMATNYA("ADP") IF EMPTY(ALAMATDP) Inipesan('Cek File'+CHR(13)+'Alamat data deposito tidak ditemukan') RETURN ENDIF IF !BUKA(.T.,ALAMATDP+'DP_MST','DP_MST',ALAMATDP+'DP_MST1',ALAMATDP+'DP_MST2',ALAMATDP+'DP_MST3') RETURN ENDIF IF !BUKA(.T.,ALAMATDP+'DP_BNG','DP_BNG',ALAMATDP+'DP_BNG') TUTUP("DP_MST") RETURN ENDIF SELECT DP_MST mJml=RECCOUNT("DP_MST") mNoM=0 SET ORDER TO 1 GO TOP DO WHILE NOT EOF() mNom=mNom+1 Tunggu("Kode : "+Kode+CHR(13)+"Nama: "+Nama,mNom/mJml*100) IF EMPTY(TGL_TRK) mLAMA=LAMA_BLN(Gasy_Tgl,TGL_TRS) IF mLAMA>0 mKODE=KODE mSD=SD mINDUK=INDUK mTGL=TGL_TRS mBUNGA=RP_BUNGA mPAJAK=RP_PAJAK FOR NOM=1 TO MIN(mLAMA,JNG_WAKTU)) mTGLB=GOMONTH(TGL_TRS,NOM) SELECT DP_BNG SET ORDER TO 1 SEEK mKODE+mSD+DTOS(mTGLB) IF !FOUND() APPEND BLANK REPLACE KODE WITH mKODE,; SD WITH mSD, INDUK WITH mINDUK,; TGL_TRS WITH mTGL, TGL_BNG WITH mTGLB,; RP_BUNGA WITH mBUNGA, RP_PAJAK WITH mPAJAK ENDIF NEXT ENDIF ENDIF SELECT DP_MST SET ORDER TO 1 SKIP ENDDO TUTUP("DP_MST","DP_BNG") Tunggu('Proses sudah selesai',100,0) ENDPROC PROCEDURE prstb.Click CLOSE TABLES all Gasy_Tgl=This.Parent.Tgl.Value IF EMPTY(Gasy_Tgl) RETURN ENDIF IF Buka(.f.,'Alamat','ALamat') SELECT LEFT(KODE,1) AS TBU,Alamat AS ALAMATDATA FROM Alamat WHERE KLP=='ATB' INTO CURSOR TBU_JNS SELECT TBU_JNS GO TOP IF EOF() Inipesan('Cek File'+CHR(13)+'Alamat data tabungan tidak ditemukan') CLOSE TABLES ALL RETURN ENDIF TUTUP("ALAMAT") ELSE Inipesan('Cek File'+CHR(13)+'Alamat data tabungan tidak ditemukan') CLOSE TABLES ALL RETURN ENDIF Select TBU_JNS Go TOP If Eof() Inipesan('Cek File'+CHR(13)+'File seri tabungan kosong') CLOSE TABLES ALL Return ENDIF xmMulai=0 SELECT TBU_JNS GO TOP MFILESLD=ALLTRIM(ALAMATDATA)+'NTB'+GS_NTOC(GASY_TGL)+LEFT(DTOS(GASY_TGL),4) DO WHILE !EOF() xmMulai=xmMulai+1 MSERI=ALLTRIM(TBU) mLokasi=ALLTRIM(ALAMATDATA) MFILESLD1=ALLTRIM(ALAMATDATA)+'TS'+Alltrim(mSERI)+GS_NTOC(GASY_TGL)+LEFT(DTOS(GASY_TGL),4) MFILESLD2=ALLTRIM(ALAMATDATA)+'TS'+Alltrim(mSERI)+GS_NTOC(Eom(GASY_TGL)+1)+LEFT(DTOS(Eom(GASY_TGL)+1),4) REINDEKS('TB_SLD',mSeri,mLokasi,GASY_TGL) REINDEKS('TB_SLD',mSeri,mLokasi,Eom(GASY_TGL)+1) Tutup('TB_MST') Bukadbf(.f.,'TB_MST',mLokasi,mSeri,Gasy_Tgl) IF BUKA(.T.,MFILESLD1,'TB_SLD1',MFILESLD1) IF BUKA(.T.,MFILESLD2,'TB_SLD2',MFILESLD2) SELECT TB_SLD2 Tunggu("Proses Pengecekan Data",1) GO top DO WHILE !EOF() DELETE SKIP ENDDO PACK Tunggu("Proses Pengecekan Data",100) Tunggu("Proses Copy Data",1) SELECT TB_SLD2 APPEND FROM (MFILESLD1) FOR TBS_LALU+TBS_KINI-TBT_KINI+BUNGA-PAJAK>0 GO TOP mJml=RECCOUNT("TB_SLD2") mNom=0 DO WHILE !EOF() mNom=mNom+1 Tunggu("Proses Update Data, Kode: "+Kode+CHR(13)+"SERI : "+MSERI,mNom/mJml*100) REPLACE TBS_LALU WITH TBS_LALU+TBS_KINI-TBT_KINI+BUNGA-PAJAK,; TBS_KINI WITH 0, TBT_KINI WITH 0, BUNGA WITH 0, PAJAK WITH 0, DSB_KINI WITH 0 SKIP ENDDO ENDIF IF xmMulai=1 Select TB_SLD1.GRP,TBS_LALU,TBS_KINI,TBT_KINI,DSB_KINI,BUNGA,PAJAK, TB_MST.* from TB_SLD1 ; Left Join TB_MST On TB_SLD1.KODE=TB_MST.KODE Order By TB_SLD1.KODE INTO TABLE (mFileSld) USE ELSE IF BUKA(.T.,MFILESLD,'TB_SLD') Select TB_SLD1.GRP,TBS_LALU,TBS_KINI,TBT_KINI,DSB_KINI,BUNGA,PAJAK, TB_MST.* from TB_SLD1 ; Left Join TB_MST On TB_SLD1.KODE=TB_MST.KODE Order By TB_SLD1.KODE INTO CURSOR NTBSALDO SELECT TB_SLD APPEND FROM NTBSALDO TUTUP('NTBSALDO','TB_SLD') ENDIF ENDIF ENDIF SELECT TBU_JNS SKIP ENDDO TUNGGU("Proses selesai",100,0) CLOSE TABLES ALL ENDPROC PROCEDURE prstp.Click CLOSE TABLES all Gasy_Tgl=Eom(This.Parent.Tgl.Value) IF EMPTY(Gasy_Tgl) RETURN ENDIF IF Buka(.f.,'Alamat','Alamat') SELECT LEFT(KODE,1) AS TBP,ALAMAT AS ALAMATDATA FROM ALAMAT WHERE KLP=='ATP' INTO CURSOR TBP_JNS SELECT TBP_JNS GO TOP IF EOF() Inipesan('Cek File'+CHR(13)+'Alamat data tabungan tidak ditemukan') CLOSE TABLES ALL RETURN ENDIF TUTUP("ALAMAT") ELSE Inipesan('Cek File'+CHR(13)+'Alamat data tabungan tidak ditemukan') CLOSE TABLES ALL RETURN ENDIF Select TBP_JNS Go TOP If Eof() Inipesan('Cek File'+CHR(13)+'File seri tabungan program kosong') CLOSE TABLES ALL Return ENDIF SELECT TBP_JNS GO TOP MFILESLD=ALLTRIM(ALAMATDATA)+'NTP'+GS_NTOC(GASY_TGL)+LEFT(DTOS(GASY_TGL),4) CREATE TABLE (mFILEsld) (TGL_TRS D(8),GRP C(1),KODE C(9),INDUK C(8),; NAMA C(30), ALAMAT C(30),KOTA C(30), KTP C(30),; PEKERJAAN C(15),TGL_LAHIR D(8),; JML_SETOR N(9),JNS_SETOR C(1),; JNG_WAKTU N(3),PRS_BUNGA N(6,2),; SKT C(4),KWT C(4),KPT C(4),GOL C(3),; KLA C(4),CATATAN C(30),NAMA_AW C(30),ALAMAT_AW C(30),; STD_JURNAL C(2), Pokok_Bll N(12), Pokok_Bli N(12), ; Bunga_Bll N(12,2), Pajak_Bll N(12), Dsb_Kini N(16,2), ; Bunga_Bli N(12,2), Pajak_Bli N(12), Tarik_Bli N(16,2)) USE BUKA(.T.,MFILESLD,'TP_SLD') SELECT TBP_JNS GO TOP DO WHILE !EOF() MSERI=ALLTRIM(TBP) mLokasi=ALLTRIM(ALAMATDATA) Tutup('TP_MST','TP_KRT') Bukadbf(.t.,'TP_MST',mLokasi,ALLTRIM(mSeri),Gasy_Tgl) Bukadbf(.t.,'TP_KRT',mLokasi,ALLTRIM(mSeri),Gasy_Tgl) IF USED('TP_MST') AND USED('TP_KRT') SELECT TP_MST nRekord=RECCOUNT('TP_MST') Mulai=0 GO top DO WHILE !EOF() STORE 0 TO mPokokBll, mPokokBli, mBungaBll, mBungaBli, mPajakBll, mPajakBli, mDsbKini, mSaldo, mTarik vKode=Kode Mulai=Mulai+1 Tunggu("Kode:"+Kode+CHR(13)+"Nama:"+Nama,Mulai/nRekord*100) SELECT TP_KRT SET ORDER TO 1 SEEK vKOde IF FOUND() DO WHILE KODE==Vkode IF TGL_TRS0 SELECT TP_SLD APPEND BLANK REPLACE TGL_TRS WITH TP_MST.TGL_TRS, GRP WITH TP_MST.GRP,; KODE WITH vKode, INDUK WITH TP_MST.Induk,; NAMA WITH TP_MST.Nama, ALAMAT WITH Tp_MSt.Alamat,; KOTA WITH TP_MST.KOTA, ; KTP WITH Tp_Mst.KTP,; PEKERJAAN WITH Tp_Mst.Pekerjaan,; TGL_LAHIR WITH Tp_Mst.Tgl_Lahir,; JML_SETOR WITH Tp_Mst.Jml_setor,; JNS_SETOR WITH Tp_Mst.Jns_setor,; JNG_WAKTU WITH Tp_Mst.Jng_waktu,; PRS_BUNGA WITH Tp_Mst.Prs_bunga,; SKT WITH Tp_Mst.Skt,; KWT WITH Tp_Mst.Kwt,; KPT WITH Tp_Mst.Kpt,; GOL WITH Tp_Mst.Gol,; KLA WITH Tp_Mst.Kla,; CATATAN WITH Tp_Mst.Catatan,; NAMA_AW WITH Tp_Mst.Nama_Aw,; ALAMAT_AW WITH Tp_Mst.Alamat_Aw,; STD_JURNAL WITH Tp_Mst.Std_Jurnal,; Pokok_Bll WITH mPokokBll,; Pokok_Bli WITH mPokokBli,; Bunga_Bll WITH mBungaBll,; Pajak_Bll WITH mPajakBll,; Dsb_Kini WITH mDsbKini,; Bunga_Bli WITH mBungaBli,; Pajak_Bli WITH mPajakBli,; Tarik_Bli WITH mTarik ENDIF SELECT tp_mst SKIP ENDDO ENDIF SELECT TBP_JNS SKIP ENDDO TUNGGU("Proses selesai",100,0) CLOSE TABLES ALL ENDPROC PROCEDURE prskr.Click CLOSE TABLES all Gasy_Tgl=This.Parent.Tgl.Value IF EMPTY(Gasy_Tgl) RETURN ENDIF IF Buka(.f.,'Alamat','Alamat') SELECT LEFT(KODE,1) AS KRU,KETERANGAN,Alamat AS ALAMATDATA FROM Alamat WHERE KLP=='AKR' INTO CURSOR KRU_JNS SELECT KRU_JNS GO TOP IF EOF() Inipesan('Cek File'+CHR(13)+'Alamat data kredit tidak ditemukan') CLOSE TABLES ALL RETURN ENDIF TUTUP("GASYKLAS") ELSE Inipesan('Cek File'+CHR(13)+'Alamat data kredit tidak ditemukan') CLOSE TABLES ALL RETURN ENDIF mxMulai=0 Select KRU_JNS Go TOP MFILESLD=ALLTRIM(ALAMATDATA)+'NKR'+GS_NTOC(GASY_TGL)+STR(YEAR(GASY_TGL),4) DO WHILE NOT EOF() mxMulai=mxMulai+1 mnseri=keterangan MFILEMST=ALLTRIM(ALAMATDATA)+'KM'+ALLTRIM(KRU)+'MST' MFILETRS=Alltrim(ALAMATDATA)+'KK'+Alltrim(KRU)+'TRS' MFILERCS=Alltrim(ALAMATDATA)+'KK'+Alltrim(KRU)+'RCS' MFILEMSTB=ALLTRIM(ALAMATDATA)+'KB'+ALLTRIM(KRU)+GS_NTOC(GASY_TGL)+STR(YEAR(GASY_TGL),4) IF BUKA(.T.,(MFILEMST),'KR_MST',(MFILEMST+'1'),(MFILEMST+'2'),(MFILEMST+'3')) IF BUKA(.T.,(MFILETRS),'KR_TRS',(MFILETRS)) AND BUKA(.T.,(MFILERCS),'KR_RCS',(MFILERCS)) SELECT KR_MST nRekord=RECCOUNT("KR_MST") Mulai=0 SELECT kr_mst GO top DO WHILE NOT EOF() IF TGL_CAIR<=EOM(GASY_TGL) Mulai=Mulai+1 Tunggu("Kode:"+Kode+CHR(13)+"Nama:"+Nama,Mulai/nRekord*100) mKode=Kode mJNSB=JNS_BUNGA mTgl=Tgl_Cair mTglb=Tgl_Cair STORE 0 TO MP1, MP2, MB1, MB2 REPLACE TGL_BAYAR WITH TGL_CAIR IF MJNSB=='C' SELE KR_RCS SET ORDER TO 1 SEEK ALLTRIM(MKODE) IF FOUND() DO WHILE KODE==MKODE IF TANGGAL=BOM(GASY_TGL) AND TANGGAL<=GASY_TGL MP2=MP2+IIF(SD='1',NILAI_RP,0) MB2=MB2+IIF(SD$'234',NILAI_RP,0) MTGLB=TANGGAL ENDIF SKIP ENDDO ENDIF SELECT KR_MST REPLACE ANG_POKOK WITH mP1, DBPK_B WITH MP2, ANG_BUNGA WITH MB1, DBBG_B WITH MB2 REPLACE TGL_BAYAR WITH MTGLB, KOL WITH "1", KOL_MAN WITH "L",; TGK_PRPBLL WITH 0, TGK_BRPBLL WITH 0,; TGK_PXXBLL WITH 0, TGK_BXXBLL WITH 0,; TGK_PRPBLI WITH 0, TGK_BRPBLI WITH 0,; TGK_PXXBLI WITH 0, TGK_BXXBLI WITH 0,; SLD_BLI WITH MB2+MB1-MP1-MP2, SLD_BLL WITH MB1-MP1 ELSE STORE 0 TO MP1, MP2, MB1, MB2 SELECT KR_TRS SET ORDER TO 1 SEEK ALLTRIM(MKODE) IF FOUND() DO WHILE KODE==MKODE IF TANGGAL=BOM(GASY_TGL) AND TANGGAL<=GASY_TGL MP2=MP2+ANG_POKOK MB2=MB2+ANG_BUNGA MTGLB=TANGGAL ENDIF SKIP ENDDO ENDIF SELECT KR_MST REPLACE ANG_POKOK WITH mP1, DBPK_B WITH MP2, ANG_BUNGA WITH MB1, DBBG_B WITH MB2 REPLACE TGL_BAYAR WITH MTGLB, KOL WITH "1", KOL_MAN WITH "L",; TGK_PRPBLL WITH 0, TGK_BRPBLL WITH 0,; TGK_PXXBLL WITH 0, TGK_BXXBLL WITH 0,; TGK_PRPBLI WITH 0, TGK_BRPBLI WITH 0,; TGK_PXXBLI WITH 0, TGK_BXXBLI WITH 0,; SLD_BLL WITH JML_PINJAM-ANG_POKOK,; SLD_BLI WITH JML_PINJAM-ANG_POKOK-DBPK_B IF JML_PINJAM-ANG_POKOK-DBPK_B<>0 DO CASE CASE mJnsB="B" DO BPRTGK WITH mKODE,GASY_TGL, .F. CASE mJNSB="M" DO BPRTGKM WITH mKODE,GASY_TGL, .F. CASE mJNSB="R" DO BPRTGKM WITH mKODE,GASY_TGL, .F. CASE mJNSB="H" DO BPRTGKM WITH mKODE,GASY_TGL, .F. CASE mJNSB="A" DO BPRTGKM WITH mKODE,GASY_TGL, .F. CASE mJNSB="T" DO BPRTGK WITH mKODE,GASY_TGL, .F. ENDCASE SELECT HASIL GO TOP IF !EOF() SELECT HASIL LOCATE FOR VAL(TANGGAL)==VAL(LEFT(DTOS(GASY_TGL),6))-1 IF !FOUND() SELECT HASIL GO BOTTOM ENDIF IF VAL(TANGGAL)<=VAL(LEFT(DTOS(GASY_TGL),6))-1 SELECT KR_MST REPLACE BUNGA_YHD WITH HASIL.AGR_B2, ; TGK_PRPBLL WITH MAX(HASIL.TGK_POKOK,0) TGK_BRPBLL WITH MAX(HASIL.TGK_BUNGA,0); TGK_PXXBLL WITH MAX(HASIL.NKALIP,0), TGK_BXXBLL WITH MAX(HASIL.NKALIB,0) ELSE SELECT KR_MST REPLACE BUNGA_YHD WITH 0, SLD_BLL WITH 0,; TGK_PRPBLL WITH 0, TGK_BRPBLL WITH 0,; TGK_PXXBLL WITH 0, TGK_BXXBLL WITH 0 ENDIF SELECT HASIL LOCATE FOR TANGGAL==LEFT(DTOS(GASY_TGL),6) IF FOUND() SELECT KR_MST REPLACE BUNGA_BLI WITH HASIL.AGR_B1, ; TGK_PRPBLI WITH MAX(HASIL.TGK_POKOK,0), TGK_BRPBLI WITH MAX(HASIL.TGK_BUNGA,0),; TGK_PXXBLI WITH MAX(HASIL.NKALIP,0), TGK_BXXBLI WITH MAX(HASIL.NKALIB,0) ELSE SELECT KR_MST REPLACE BUNGA_BLI WITH 0, SLD_BLI WITH 0,; TGK_PRPBLI WITH 0, TGK_BRPBLI WITH 0,; TGK_PXXBLI WITH 0, TGK_BXXBLI WITH 0 ENDIF ENDIF SELECT KR_MST IF JML_PINJAM-ANG_POKOK=0 AND TGL_CAIR<=GASY_TGL REPLACE KOL WITH "1", KOL_MAN WITH "1",; TGK_PRPBLL WITH 0, TGK_BRPBLL WITH 0,; TGK_PXXBLL WITH 0, TGK_BXXBLL WITH 0,; TGK_PRPBLI WITH 0, TGK_BRPBLI WITH 0,; TGK_PXXBLI WITH 0, TGK_BXXBLI WITH 0,; SLD_BLL WITH 0 ENDIF IF JML_PINJAM-ANG_POKOK>0 AND TGL_CAIR<=GASY_TGL IF JML_PINJAM-ANG_POKOK-DBPK_B=0 REPLACE KOL WITH "1", KOL_MAN WITH "L",; TGK_PRPBLL WITH 0, TGK_BRPBLL WITH 0,; TGK_PXXBLL WITH 0, TGK_BXXBLL WITH 0,; TGK_PRPBLI WITH 0, TGK_BRPBLI WITH 0,; TGK_PXXBLI WITH 0, TGK_BXXBLI WITH 0,; SLD_BLI WITH 0 ELSE *KOLEKBI(GASY_TGL) IF GOMONTH(TGL_CAIR,JNG_WAKTU)>GASY_TGL DO CASE CASE TGK_PXXBLI<=6 REPLACE KOL WITH '1' CASE TGK_PXXBLI>6 REPLACE KOL WITH '2' ENDCASE ELSE IF GOMONTH(TGL_CAIR,JNG_WAKTU+6)0 AND TGL_CAIR<=GASY_TGL INTO TABLE (MFILEMSTB) USE IF mxMulai=1 SELECT * FROM KR_MST WHERE SLD_BLI+SLD_BLL<>0 AND TGL_CAIR<=GASY_TGL INTO TABLE (MFILESLD) USE ELSE IF BUKA(.T.,(MFILESLD),'KR_SLD') SELECT * FROM KR_MST WHERE SLD_BLL+SLD_BLI<>0 AND TGL_CAIR<=GASY_TGL INTO CURSOR NKRSALDO SELECT NKRSALDO GO TOP IF !EOF() SELECT * FROM NKRSALDO INTO ARRAY KRNSALDO SELECT KR_SLD APPEND FROM ARRAY KRNSALDO ENDIF TUTUP("KR_SLD","NKRSALDO") ENDIF ENDIF TUTUP("KR_MST","KR_TRS") ENDIF ENDIF SELECT KRU_JNS SKIP ENDDO Tunggu('Proses sudah selesai',100,0) ENDPROC PROCEDURE tgl.Init This.Value=Gasy_Tgl ENDPROC PROCEDURE tgl.keypress LPARAMETERS nKeyCode, nShiftAltCtrl IF TYPE('This.Parent.GasyTgl')='O' This.Parent.RemoveObject('GasyTgl') ENDIF ENDPROC PROCEDURE tgl.gotfocus IF TYPE('This.Parent.GasyTgl')='O' This.Parent.RemoveObject('GasyTgl') ENDIF ENDPROC PROCEDURE tgl.click IF TYPE('This.Parent.GasyTgl')='O' This.Parent.RemoveObject('GasyTgl') ENDIF ENDPROC PROCEDURE proses.Click IF This.Parent.pDp.Value=1 This.Parent.prsDp.Click ENDIF IF This.Parent.pTb.Value=1 This.Parent.prsTb.Click ENDIF IF This.Parent.pKr.Value=1 This.Parent.prsKr.Click ENDIF IF This.Parent.pTp.Value=1 This.Parent.prsTp.Click ENDIF ENDPROC PROCEDURE tgl.RightClick IF TYPE('This.Parent.GasyTgl')<>'O' This.Parent.NewObject('GasyTgl','_viewtgl','Progasy.Vcx') This.Parent.GasyTgl.Top=This.Top This.Parent.GasyTgl.Left=This.Left+This.Width This.Parent.GasyTgl.Kembalinya=This.Name This.Parent.GasyTgl.Visible=.T. This.Parent.GasyTgl.Proses.Click(IIF(EMPTY(This.Value),DATE(),This.Value)) ENDIF ENDPROC ENDDEFINE * *-- EndDefine: form1 **************************************************
PUBLIC oGasyAkhirB oGasyAkhirB=CREATEOBJECT("oAkhirBulan") oGasyAkhirB.Height=340 oGasyAkhirB.Width=492 oGasyAkhirB.Autocenter=Tengah oGasyAkhirB.Caption="Proses Akhir Bulan" oGasyAkhirB.Show(0) DEFINE CLASS oAkhirBulan AS form Top = 0 Left = 0 Height = 340 Width = 492 DoCreate = .T. Caption = "Gasy" Closable = .T. ControlBox = .T. TitleBar = 1 MaxButton= .F. Icon = "bmps\arw03up.ico" WindowType = 1 WindowState = 0 BackColor = RGB(144,176,168) Name = "_form" ADD OBJECT label1 AS label WITH ; AutoSize = .T., ; FontName = "MS Sans Serif", ; BackStyle = 0, ; Caption = "Tanggal Proses", ; Height = 15, ; Left = 20, ; Top = 50, ; Width = 76, ; ColorSource = 0, ; ZOrderSet = 4, ; Name = "Label1" ADD OBJECT tgl AS textbox WITH ; Alignment = 3, ; Value = {}, ; Height = 23, ; Left = 106, ; Top = 46, ; Width = 100, ; Name = "Tgl" ADD OBJECT prsdp AS commandbutton WITH ; AutoSize = .T., ; Top = 100, ; Left = 20, ; Height = 23, ; Width = 72, ; FontBold = .T., ; FontName = "MS Sans Serif", ; Caption = "Proses 1", ; ZOrderSet = 1, ; Name = "prsDp" ADD OBJECT prstb AS commandbutton WITH ; AutoSize = .T., ; Top = 140, ; Left = 20, ; Height = 23, ; Width = 72, ; FontBold = .T., ; FontName = "MS Sans Serif", ; Caption = "Proses 2", ; ZOrderSet = 1, ; Name = "prsTb" ADD OBJECT prskr AS commandbutton WITH ; AutoSize = .T., ; Top = 180, ; Left = 20, ; Height = 23, ; Width = 72, ; FontBold = .T., ; FontName = "MS Sans Serif", ; Caption = "Proses 3", ; ZOrderSet = 1, ; Name = "prsKr" ADD OBJECT prsTp AS commandbutton WITH ; AutoSize = .T., ; Top = 220, ; Left = 20, ; Height = 23, ; Width = 72, ; FontBold = .T., ; FontName = "MS Sans Serif", ; Caption = "Proses 4", ; ZOrderSet = 1, ; Name = "prsTp" ADD OBJECT pdp AS checkbox WITH ; Top = 105, ; Left = 105, ; Height = 15, ; Width = 272, ; FontName = "MS Sans Serif", ; Caption = "\<1. Hitung Anggaran Bunga Deposito Bulan Berikutnya", ; ZOrderSet = 0, ; Name = "pDp" ADD OBJECT ptb AS checkbox WITH ; Top = 145, ; Left = 105, ; Height = 15, ; Width = 356, ; FontName = "MS Sans Serif", ; AutoSize = .T., ; BackStyle = 0, ; Caption = "\<2. Pemindahan Saldo Akhir Tabungan Umum Ke Awal Bulan Berikutnya", ; Name = "pTb" ADD OBJECT pkr AS checkbox WITH ; Top = 185, ; Left = 105, ; Height = 15, ; Width = 178, ; FontName = "MS Sans Serif", ; AutoSize = .T., ; BackStyle = 0, ; Caption = "\<3. Perhitungan Kolektibilitas Kredit", ; ZOrderSet = 0, ; Name = "pKr" ADD OBJECT pTp AS checkbox WITH ; Top = 225, ; Left = 105, ; Height = 15, ; Width = 178, ; FontName = "MS Sans Serif", ; AutoSize = .T., ; BackStyle = 0, ; Caption = "\<4. Tabungan Program",; ZOrderSet = 0, ; Name = "pTp" ADD OBJECT proses AS commandbutton WITH ; Top = 270, ; Left = 105, ; Height = 27, ; Width = 84, ; Caption = "Proses", ; Name = "Proses" ADD OBJECT cmdkembali AS commandbutton WITH ; Top = 270, ; Left = 377, ; Height = 27, ; Width = 84, ; Caption = "Exit", ; Name = "cmdKembali" PROCEDURE cmdKembali.Click RELEASE oGasyAkhirB ENDPROC PROCEDURE prsdp.Click CLOSE TABLES All Gasy_Tgl=This.Parent.Tgl.Value IF EMPTY(Gasy_Tgl) RETURN ENDIF ALAMATDP=ALAMATNYA("ADP") IF EMPTY(ALAMATDP) Inipesan('Cek File'+CHR(13)+'Alamat data deposito tidak ditemukan') RETURN ENDIF IF !BUKA(.T.,ALAMATDP+'DP_MST','DP_MST',ALAMATDP+'DP_MST1',ALAMATDP+'DP_MST2',ALAMATDP+'DP_MST3') RETURN ENDIF IF !BUKA(.T.,ALAMATDP+'DP_BNG','DP_BNG',ALAMATDP+'DP_BNG') TUTUP("DP_MST") RETURN ENDIF SELECT DP_MST mJml=RECCOUNT("DP_MST") mNoM=0 SET ORDER TO 1 GO TOP DO WHILE NOT EOF() mNom=mNom+1 Tunggu("Kode : "+Kode+CHR(13)+"Nama: "+Nama,mNom/mJml*100) IF EMPTY(TGL_TRK) mLAMA=LAMA_BLN(Gasy_Tgl,TGL_TRS) IF mLAMA>0 mKODE=KODE mSD=SD mINDUK=INDUK mTGL=TGL_TRS mBUNGA=RP_BUNGA mPAJAK=RP_PAJAK FOR NOM=1 TO MIN(mLAMA,JNG_WAKTU)) mTGLB=GOMONTH(TGL_TRS,NOM) SELECT DP_BNG SET ORDER TO 1 SEEK mKODE+mSD+DTOS(mTGLB) IF !FOUND() APPEND BLANK REPLACE KODE WITH mKODE,; SD WITH mSD, INDUK WITH mINDUK,; TGL_TRS WITH mTGL, TGL_BNG WITH mTGLB,; RP_BUNGA WITH mBUNGA, RP_PAJAK WITH mPAJAK ENDIF NEXT ENDIF ENDIF SELECT DP_MST SET ORDER TO 1 SKIP ENDDO TUTUP("DP_MST","DP_BNG") Tunggu('Proses sudah selesai',100,0) ENDPROC PROCEDURE prstb.Click CLOSE TABLES all Gasy_Tgl=This.Parent.Tgl.Value IF EMPTY(Gasy_Tgl) RETURN ENDIF IF Buka(.f.,'Alamat','ALamat') SELECT LEFT(KODE,1) AS TBU,Alamat AS ALAMATDATA FROM Alamat WHERE KLP=='ATB' INTO CURSOR TBU_JNS SELECT TBU_JNS GO TOP IF EOF() Inipesan('Cek File'+CHR(13)+'Alamat data tabungan tidak ditemukan') CLOSE TABLES ALL RETURN ENDIF TUTUP("ALAMAT") ELSE Inipesan('Cek File'+CHR(13)+'Alamat data tabungan tidak ditemukan') CLOSE TABLES ALL RETURN ENDIF Select TBU_JNS Go TOP If Eof() Inipesan('Cek File'+CHR(13)+'File seri tabungan kosong') CLOSE TABLES ALL Return ENDIF xmMulai=0 SELECT TBU_JNS GO TOP MFILESLD=ALLTRIM(ALAMATDATA)+'NTB'+GS_NTOC(GASY_TGL)+LEFT(DTOS(GASY_TGL),4) DO WHILE !EOF() xmMulai=xmMulai+1 MSERI=ALLTRIM(TBU) mLokasi=ALLTRIM(ALAMATDATA) MFILESLD1=ALLTRIM(ALAMATDATA)+'TS'+Alltrim(mSERI)+GS_NTOC(GASY_TGL)+LEFT(DTOS(GASY_TGL),4) MFILESLD2=ALLTRIM(ALAMATDATA)+'TS'+Alltrim(mSERI)+GS_NTOC(Eom(GASY_TGL)+1)+LEFT(DTOS(Eom(GASY_TGL)+1),4) REINDEKS('TB_SLD',mSeri,mLokasi,GASY_TGL) REINDEKS('TB_SLD',mSeri,mLokasi,Eom(GASY_TGL)+1) Tutup('TB_MST') Bukadbf(.f.,'TB_MST',mLokasi,mSeri,Gasy_Tgl) IF BUKA(.T.,MFILESLD1,'TB_SLD1',MFILESLD1) IF BUKA(.T.,MFILESLD2,'TB_SLD2',MFILESLD2) SELECT TB_SLD2 Tunggu("Proses Pengecekan Data",1) GO top DO WHILE !EOF() DELETE SKIP ENDDO PACK Tunggu("Proses Pengecekan Data",100) Tunggu("Proses Copy Data",1) SELECT TB_SLD2 APPEND FROM (MFILESLD1) FOR TBS_LALU+TBS_KINI-TBT_KINI+BUNGA-PAJAK>0 GO TOP mJml=RECCOUNT("TB_SLD2") mNom=0 DO WHILE !EOF() mNom=mNom+1 Tunggu("Proses Update Data, Kode: "+Kode+CHR(13)+"SERI : "+MSERI,mNom/mJml*100) REPLACE TBS_LALU WITH TBS_LALU+TBS_KINI-TBT_KINI+BUNGA-PAJAK,; TBS_KINI WITH 0, TBT_KINI WITH 0, BUNGA WITH 0, PAJAK WITH 0, DSB_KINI WITH 0 SKIP ENDDO ENDIF IF xmMulai=1 Select TB_SLD1.GRP,TBS_LALU,TBS_KINI,TBT_KINI,DSB_KINI,BUNGA,PAJAK, TB_MST.* from TB_SLD1 ; Left Join TB_MST On TB_SLD1.KODE=TB_MST.KODE Order By TB_SLD1.KODE INTO TABLE (mFileSld) USE ELSE IF BUKA(.T.,MFILESLD,'TB_SLD') Select TB_SLD1.GRP,TBS_LALU,TBS_KINI,TBT_KINI,DSB_KINI,BUNGA,PAJAK, TB_MST.* from TB_SLD1 ; Left Join TB_MST On TB_SLD1.KODE=TB_MST.KODE Order By TB_SLD1.KODE INTO CURSOR NTBSALDO SELECT TB_SLD APPEND FROM NTBSALDO TUTUP('NTBSALDO','TB_SLD') ENDIF ENDIF ENDIF SELECT TBU_JNS SKIP ENDDO TUNGGU("Proses selesai",100,0) CLOSE TABLES ALL ENDPROC PROCEDURE prstp.Click CLOSE TABLES all Gasy_Tgl=Eom(This.Parent.Tgl.Value) IF EMPTY(Gasy_Tgl) RETURN ENDIF IF Buka(.f.,'Alamat','Alamat') SELECT LEFT(KODE,1) AS TBP,ALAMAT AS ALAMATDATA FROM ALAMAT WHERE KLP=='ATP' INTO CURSOR TBP_JNS SELECT TBP_JNS GO TOP IF EOF() Inipesan('Cek File'+CHR(13)+'Alamat data tabungan tidak ditemukan') CLOSE TABLES ALL RETURN ENDIF TUTUP("ALAMAT") ELSE Inipesan('Cek File'+CHR(13)+'Alamat data tabungan tidak ditemukan') CLOSE TABLES ALL RETURN ENDIF Select TBP_JNS Go TOP If Eof() Inipesan('Cek File'+CHR(13)+'File seri tabungan program kosong') CLOSE TABLES ALL Return ENDIF SELECT TBP_JNS GO TOP MFILESLD=ALLTRIM(ALAMATDATA)+'NTP'+GS_NTOC(GASY_TGL)+LEFT(DTOS(GASY_TGL),4) CREATE TABLE (mFILEsld) (TGL_TRS D(8),GRP C(1),KODE C(9),INDUK C(8),; NAMA C(30), ALAMAT C(30),KOTA C(30), KTP C(30),; PEKERJAAN C(15),TGL_LAHIR D(8),; JML_SETOR N(9),JNS_SETOR C(1),; JNG_WAKTU N(3),PRS_BUNGA N(6,2),; SKT C(4),KWT C(4),KPT C(4),GOL C(3),; KLA C(4),CATATAN C(30),NAMA_AW C(30),ALAMAT_AW C(30),; STD_JURNAL C(2), Pokok_Bll N(12), Pokok_Bli N(12), ; Bunga_Bll N(12,2), Pajak_Bll N(12), Dsb_Kini N(16,2), ; Bunga_Bli N(12,2), Pajak_Bli N(12), Tarik_Bli N(16,2)) USE BUKA(.T.,MFILESLD,'TP_SLD') SELECT TBP_JNS GO TOP DO WHILE !EOF() MSERI=ALLTRIM(TBP) mLokasi=ALLTRIM(ALAMATDATA) Tutup('TP_MST','TP_KRT') Bukadbf(.t.,'TP_MST',mLokasi,ALLTRIM(mSeri),Gasy_Tgl) Bukadbf(.t.,'TP_KRT',mLokasi,ALLTRIM(mSeri),Gasy_Tgl) IF USED('TP_MST') AND USED('TP_KRT') SELECT TP_MST nRekord=RECCOUNT('TP_MST') Mulai=0 GO top DO WHILE !EOF() STORE 0 TO mPokokBll, mPokokBli, mBungaBll, mBungaBli, mPajakBll, mPajakBli, mDsbKini, mSaldo, mTarik vKode=Kode Mulai=Mulai+1 Tunggu("Kode:"+Kode+CHR(13)+"Nama:"+Nama,Mulai/nRekord*100) SELECT TP_KRT SET ORDER TO 1 SEEK vKOde IF FOUND() DO WHILE KODE==Vkode IF TGL_TRS0 SELECT TP_SLD APPEND BLANK REPLACE TGL_TRS WITH TP_MST.TGL_TRS, GRP WITH TP_MST.GRP,; KODE WITH vKode, INDUK WITH TP_MST.Induk,; NAMA WITH TP_MST.Nama, ALAMAT WITH Tp_MSt.Alamat,; KOTA WITH TP_MST.KOTA, ; KTP WITH Tp_Mst.KTP,; PEKERJAAN WITH Tp_Mst.Pekerjaan,; TGL_LAHIR WITH Tp_Mst.Tgl_Lahir,; JML_SETOR WITH Tp_Mst.Jml_setor,; JNS_SETOR WITH Tp_Mst.Jns_setor,; JNG_WAKTU WITH Tp_Mst.Jng_waktu,; PRS_BUNGA WITH Tp_Mst.Prs_bunga,; SKT WITH Tp_Mst.Skt,; KWT WITH Tp_Mst.Kwt,; KPT WITH Tp_Mst.Kpt,; GOL WITH Tp_Mst.Gol,; KLA WITH Tp_Mst.Kla,; CATATAN WITH Tp_Mst.Catatan,; NAMA_AW WITH Tp_Mst.Nama_Aw,; ALAMAT_AW WITH Tp_Mst.Alamat_Aw,; STD_JURNAL WITH Tp_Mst.Std_Jurnal,; Pokok_Bll WITH mPokokBll,; Pokok_Bli WITH mPokokBli,; Bunga_Bll WITH mBungaBll,; Pajak_Bll WITH mPajakBll,; Dsb_Kini WITH mDsbKini,; Bunga_Bli WITH mBungaBli,; Pajak_Bli WITH mPajakBli,; Tarik_Bli WITH mTarik ENDIF SELECT tp_mst SKIP ENDDO ENDIF SELECT TBP_JNS SKIP ENDDO TUNGGU("Proses selesai",100,0) CLOSE TABLES ALL ENDPROC PROCEDURE prskr.Click CLOSE TABLES all Gasy_Tgl=This.Parent.Tgl.Value IF EMPTY(Gasy_Tgl) RETURN ENDIF IF Buka(.f.,'Alamat','Alamat') SELECT LEFT(KODE,1) AS KRU,KETERANGAN,Alamat AS ALAMATDATA FROM Alamat WHERE KLP=='AKR' INTO CURSOR KRU_JNS SELECT KRU_JNS GO TOP IF EOF() Inipesan('Cek File'+CHR(13)+'Alamat data kredit tidak ditemukan') CLOSE TABLES ALL RETURN ENDIF TUTUP("GASYKLAS") ELSE Inipesan('Cek File'+CHR(13)+'Alamat data kredit tidak ditemukan') CLOSE TABLES ALL RETURN ENDIF mxMulai=0 Select KRU_JNS Go TOP MFILESLD=ALLTRIM(ALAMATDATA)+'NKR'+GS_NTOC(GASY_TGL)+STR(YEAR(GASY_TGL),4) DO WHILE NOT EOF() mxMulai=mxMulai+1 mnseri=keterangan MFILEMST=ALLTRIM(ALAMATDATA)+'KM'+ALLTRIM(KRU)+'MST' MFILETRS=Alltrim(ALAMATDATA)+'KK'+Alltrim(KRU)+'TRS' MFILERCS=Alltrim(ALAMATDATA)+'KK'+Alltrim(KRU)+'RCS' MFILEMSTB=ALLTRIM(ALAMATDATA)+'KB'+ALLTRIM(KRU)+GS_NTOC(GASY_TGL)+STR(YEAR(GASY_TGL),4) IF BUKA(.T.,(MFILEMST),'KR_MST',(MFILEMST+'1'),(MFILEMST+'2'),(MFILEMST+'3')) IF BUKA(.T.,(MFILETRS),'KR_TRS',(MFILETRS)) AND BUKA(.T.,(MFILERCS),'KR_RCS',(MFILERCS)) SELECT KR_MST nRekord=RECCOUNT("KR_MST") Mulai=0 SELECT kr_mst GO top DO WHILE NOT EOF() IF TGL_CAIR<=EOM(GASY_TGL) Mulai=Mulai+1 Tunggu("Kode:"+Kode+CHR(13)+"Nama:"+Nama,Mulai/nRekord*100) mKode=Kode mJNSB=JNS_BUNGA mTgl=Tgl_Cair mTglb=Tgl_Cair STORE 0 TO MP1, MP2, MB1, MB2 REPLACE TGL_BAYAR WITH TGL_CAIR IF MJNSB=='C' SELE KR_RCS SET ORDER TO 1 SEEK ALLTRIM(MKODE) IF FOUND() DO WHILE KODE==MKODE IF TANGGAL=BOM(GASY_TGL) AND TANGGAL<=GASY_TGL MP2=MP2+IIF(SD='1',NILAI_RP,0) MB2=MB2+IIF(SD$'234',NILAI_RP,0) MTGLB=TANGGAL ENDIF SKIP ENDDO ENDIF SELECT KR_MST REPLACE ANG_POKOK WITH mP1, DBPK_B WITH MP2, ANG_BUNGA WITH MB1, DBBG_B WITH MB2 REPLACE TGL_BAYAR WITH MTGLB, KOL WITH "1", KOL_MAN WITH "L",; TGK_PRPBLL WITH 0, TGK_BRPBLL WITH 0,; TGK_PXXBLL WITH 0, TGK_BXXBLL WITH 0,; TGK_PRPBLI WITH 0, TGK_BRPBLI WITH 0,; TGK_PXXBLI WITH 0, TGK_BXXBLI WITH 0,; SLD_BLI WITH MB2+MB1-MP1-MP2, SLD_BLL WITH MB1-MP1 ELSE STORE 0 TO MP1, MP2, MB1, MB2 SELECT KR_TRS SET ORDER TO 1 SEEK ALLTRIM(MKODE) IF FOUND() DO WHILE KODE==MKODE IF TANGGAL=BOM(GASY_TGL) AND TANGGAL<=GASY_TGL MP2=MP2+ANG_POKOK MB2=MB2+ANG_BUNGA MTGLB=TANGGAL ENDIF SKIP ENDDO ENDIF SELECT KR_MST REPLACE ANG_POKOK WITH mP1, DBPK_B WITH MP2, ANG_BUNGA WITH MB1, DBBG_B WITH MB2 REPLACE TGL_BAYAR WITH MTGLB, KOL WITH "1", KOL_MAN WITH "L",; TGK_PRPBLL WITH 0, TGK_BRPBLL WITH 0,; TGK_PXXBLL WITH 0, TGK_BXXBLL WITH 0,; TGK_PRPBLI WITH 0, TGK_BRPBLI WITH 0,; TGK_PXXBLI WITH 0, TGK_BXXBLI WITH 0,; SLD_BLL WITH JML_PINJAM-ANG_POKOK,; SLD_BLI WITH JML_PINJAM-ANG_POKOK-DBPK_B IF JML_PINJAM-ANG_POKOK-DBPK_B<>0 DO CASE CASE mJnsB="B" DO BPRTGK WITH mKODE,GASY_TGL, .F. CASE mJNSB="M" DO BPRTGKM WITH mKODE,GASY_TGL, .F. CASE mJNSB="R" DO BPRTGKM WITH mKODE,GASY_TGL, .F. CASE mJNSB="H" DO BPRTGKM WITH mKODE,GASY_TGL, .F. CASE mJNSB="A" DO BPRTGKM WITH mKODE,GASY_TGL, .F. CASE mJNSB="T" DO BPRTGK WITH mKODE,GASY_TGL, .F. ENDCASE SELECT HASIL GO TOP IF !EOF() SELECT HASIL LOCATE FOR VAL(TANGGAL)==VAL(LEFT(DTOS(GASY_TGL),6))-1 IF !FOUND() SELECT HASIL GO BOTTOM ENDIF IF VAL(TANGGAL)<=VAL(LEFT(DTOS(GASY_TGL),6))-1 SELECT KR_MST REPLACE BUNGA_YHD WITH HASIL.AGR_B2, ; TGK_PRPBLL WITH MAX(HASIL.TGK_POKOK,0) TGK_BRPBLL WITH MAX(HASIL.TGK_BUNGA,0); TGK_PXXBLL WITH MAX(HASIL.NKALIP,0), TGK_BXXBLL WITH MAX(HASIL.NKALIB,0) ELSE SELECT KR_MST REPLACE BUNGA_YHD WITH 0, SLD_BLL WITH 0,; TGK_PRPBLL WITH 0, TGK_BRPBLL WITH 0,; TGK_PXXBLL WITH 0, TGK_BXXBLL WITH 0 ENDIF SELECT HASIL LOCATE FOR TANGGAL==LEFT(DTOS(GASY_TGL),6) IF FOUND() SELECT KR_MST REPLACE BUNGA_BLI WITH HASIL.AGR_B1, ; TGK_PRPBLI WITH MAX(HASIL.TGK_POKOK,0), TGK_BRPBLI WITH MAX(HASIL.TGK_BUNGA,0),; TGK_PXXBLI WITH MAX(HASIL.NKALIP,0), TGK_BXXBLI WITH MAX(HASIL.NKALIB,0) ELSE SELECT KR_MST REPLACE BUNGA_BLI WITH 0, SLD_BLI WITH 0,; TGK_PRPBLI WITH 0, TGK_BRPBLI WITH 0,; TGK_PXXBLI WITH 0, TGK_BXXBLI WITH 0 ENDIF ENDIF SELECT KR_MST IF JML_PINJAM-ANG_POKOK=0 AND TGL_CAIR<=GASY_TGL REPLACE KOL WITH "1", KOL_MAN WITH "1",; TGK_PRPBLL WITH 0, TGK_BRPBLL WITH 0,; TGK_PXXBLL WITH 0, TGK_BXXBLL WITH 0,; TGK_PRPBLI WITH 0, TGK_BRPBLI WITH 0,; TGK_PXXBLI WITH 0, TGK_BXXBLI WITH 0,; SLD_BLL WITH 0 ENDIF IF JML_PINJAM-ANG_POKOK>0 AND TGL_CAIR<=GASY_TGL IF JML_PINJAM-ANG_POKOK-DBPK_B=0 REPLACE KOL WITH "1", KOL_MAN WITH "L",; TGK_PRPBLL WITH 0, TGK_BRPBLL WITH 0,; TGK_PXXBLL WITH 0, TGK_BXXBLL WITH 0,; TGK_PRPBLI WITH 0, TGK_BRPBLI WITH 0,; TGK_PXXBLI WITH 0, TGK_BXXBLI WITH 0,; SLD_BLI WITH 0 ELSE *KOLEKBI(GASY_TGL) IF GOMONTH(TGL_CAIR,JNG_WAKTU)>GASY_TGL DO CASE CASE TGK_BXXBLI<=6 REPLACE KOL WITH '1' CASE TGK_BXXBLI>6 REPLACE KOL WITH '2' ENDCASE ELSE IF GOMONTH(TGL_CAIR,JNG_WAKTU+6)0 AND TGL_CAIR<=GASY_TGL INTO TABLE (MFILEMSTB) USE IF mxMulai=1 SELECT * FROM KR_MST WHERE SLD_BLI+SLD_BLL<>0 AND TGL_CAIR<=GASY_TGL INTO TABLE (MFILESLD) USE ELSE IF BUKA(.T.,(MFILESLD),'KR_SLD') SELECT * FROM KR_MST WHERE SLD_BLL+SLD_BLI<>0 AND TGL_CAIR<=GASY_TGL INTO CURSOR NKRSALDO SELECT NKRSALDO GO TOP IF !EOF() SELECT * FROM NKRSALDO INTO ARRAY KRNSALDO SELECT KR_SLD APPEND FROM ARRAY KRNSALDO ENDIF TUTUP("KR_SLD","NKRSALDO") ENDIF ENDIF TUTUP("KR_MST","KR_TRS") ENDIF ENDIF SELECT KRU_JNS SKIP ENDDO Tunggu('Proses sudah selesai',100,0) ENDPROC PROCEDURE tgl.Init This.Value=Gasy_Tgl ENDPROC PROCEDURE tgl.keypress LPARAMETERS nKeyCode, nShiftAltCtrl IF TYPE('This.Parent.GasyTgl')='O' This.Parent.RemoveObject('GasyTgl') ENDIF ENDPROC PROCEDURE tgl.gotfocus IF TYPE('This.Parent.GasyTgl')='O' This.Parent.RemoveObject('GasyTgl') ENDIF ENDPROC PROCEDURE tgl.click IF TYPE('This.Parent.GasyTgl')='O' This.Parent.RemoveObject('GasyTgl') ENDIF ENDPROC PROCEDURE proses.Click IF This.Parent.pDp.Value=1 This.Parent.prsDp.Click ENDIF IF This.Parent.pTb.Value=1 This.Parent.prsTb.Click ENDIF IF This.Parent.pKr.Value=1 This.Parent.prsKr.Click ENDIF IF This.Parent.pTp.Value=1 This.Parent.prsTp.Click ENDIF ENDPROC PROCEDURE tgl.RightClick IF TYPE('This.Parent.GasyTgl')<>'O' This.Parent.NewObject('GasyTgl','_viewtgl','Progasy.Vcx') This.Parent.GasyTgl.Top=This.Top This.Parent.GasyTgl.Left=This.Left+This.Width This.Parent.GasyTgl.Kembalinya=This.Name This.Parent.GasyTgl.Visible=.T. This.Parent.GasyTgl.Proses.Click(IIF(EMPTY(This.Value),DATE(),This.Value)) ENDIF ENDPROC ENDDEFINE * *-- EndDefine: form1 **************************************************