2 ! PRINTS BILL LIST TWICE 5 ! PROGRAM NAME:"BLLIST" - BY JAC 10 INPUT "INPUT DATE AS : MM-DD-YY";D2$ 12 N%=INSTR(1%,D2$,"-"):IF N%<2% OR N%>3% THEN 10 15 IF N%=2% THEN D2$=" "+D2$ 18 N%=INSTR(4%,D2$,"-"):IF N%<5% OR N%>6% THEN 10 20 IF N%=5% THEN D2$=LEFT(D2$,3%)+" "+RIGHT(D2$,4%) 25 OPEN "DK1:ACCPAY.UER" AS FILE 1% 30 DIM #1%,X$(1300%)=128%,X%(0%) 35 OPEN "DK1:ACCPAY.CHK" AS FILE 2% 40 DIM #2%,C$(1000%)=64%,C%(0%) 45 OPEN "DK1:ACCPAY.PKC" AS FILE 3% 50 DIM #3%,H1$(500%)=64%,H%(0%) 55 N%=0%:M%=C%(0%):O%=H%(0%):C1$="201020":C2$="201050" 60 C3$="201040":C4$="201060":C5$=SPACE$(6%) 65 FOR K%=1% TO O% 70 C$=MID(H1$(K%),48%,6%) 75 IF C$=C1$ OR C$=C2$ OR C$=C3$ OR C$=C4$ OR C$=C5$ THEN 95 80 IF MID(H1$(K%),63%,1%)="7" THEN 110 85 N%=N%+1%:X$(N%)=LEFT(H1$(K%),53%)+SPACE$(6%)+MID(H1$(K%),59%,5%) 90 X$(N%)=X$(N%)+MID(H1$(K%),54%,5%):GOTO 110 95 M%=M%+1% 97 D1$=LEFT(H1$(K%),2%)+"-"+MID(H1$(K%),3%,2%)+"-7"+MID(H1$(K%),5%,1%) 100 C$(M%)=D1$+MID(H1$(K%),6%,23%)+" "+MID(H1$(K%),54%,5%)+MID(H1$(K%),38%,16%) 105 C$(M%)=C$(M%)+MID(H1$(K%),29%,9%)+MID(H1$(K%),63%,1%) 110 NEXT K% 115 C%(0%)=M%:CLOSE 2%,3% 120 OPEN "DK1:ACCPAY.INV" AS FILE 2% 125 DIM #2%,I1$(600%)=128%,I%(0%):P%=I%(0%) 135 X$(N%+K%)=I1$(K%) FOR K%=1% TO P% 140 N%=N%+P%:CLOSE 2%:OPEN "DK1:ACCPAY.IDX" AS FILE 3%:DIM #3%,L%(1300%): OPEN "DK1:ACCPAY.ARG" AS FILE 2%:DIM #2%,J(1300%):GOSUB 500:CLOSE 2%,3%: KILL "DK1:ACCPAY.IDX":KILL "DK1:ACCPAY.ARG" 150 OPEN "DK1:GLFILE.FND[2,4]" AS FILE 2%:DIM #2%,F$(20%)=32%,F%(0%):L%=0% 160 OPEN "DK1:GLFILE.EXP[2,4]" AS FILE 3%:DIM #3%,U1$(4000%)=64%,U%(0%) 170 M%=F%(0%):O%=U%(0%):DIM T(20%):Q$="#,###,###.##" 175 OPEN "LP:" FOR OUTPUT AS FILE 4%,MODE 51% 180 FOR H%=1% TO 2% 182 E%=1%:P%=1%:F=0% 185 T(I%)=0% FOR I%=1% TO M% 190 FOR I%=1% TO M% 195 F1$=LEFT(F$(I%),2%):IF MID(X$(E%),41%,2%)<>F1$ THEN 280 ELSE GOSUB 600 200 FOR K%=E% TO N% 215 D1$=LEFT(X$(K%),2%)+"-"+MID(X$(K%),3%,2%)+"-7"+MID(X$(K%),5%,1%) 220 V$=MID(X$(K%),6%,6%):D$=MID(X$(K%),12%,17%):I$=MID(X$(K%),65%,5%) 225 C$=MID(X$(K%),38%,3%)+"-"+MID(X$(K%),41%,2%)+"-"+MID(X$(K%),43%,1%)+"-" 230 C$=C$+MID(X$(K%),44%,4%)+"-"+MID(X$(K%),48%,4%)+"."+MID(X$(K%),52%,2%) 235 P$=MID(X$(K%),54%,5%)+"-"+MID(X$(K%),59%,1%):A=VAL(MID(X$(K%),29%,9%)) 240 PRINT #4%,TAB(10%);D1$;" ";D$;TAB(53%); 245 PRINT #4%,USING Q$,ABS(A)/100%;:IF A<0% THEN PRINT #4% "CR"; 250 PRINT #4%,TAB(71%);V$;" ";P$;" ";I$;" ";C$ 255 T(I%)=T(I%)+A:GOSUB 700 260 IF K%=N% OR MID(X$(K%+1%),41%,2%)<>F1$ THEN E%=K%+1%:GOTO 270 265 NEXT K% 270 PRINT #4%,TAB(53%);:PRINT #4%,USING Q$,ABS(T(I%))/100%; 275 IF T(I%)<0% THEN PRINT #4%,"CR*" ELSE PRINT #4%," *" 280 NEXT I% 285 PRINT #4% FOR I%=1% TO 3% 290 PRINT #4%,TAB(10%);"NO. OF BILLS ";N%;TAB(40%);"FINAL TOTAL";TAB(53%); 295 F=F+T(I%) FOR I%=1% TO M% 300 PRINT #4%,USING Q$,ABS(F)/100%; 305 IF F<0% THEN PRINT #4%,"CR**" ELSE PRINT #4%," **" 310 PRINT #4%,CHR$(129%):P%=1% 315 PRINT #4%,TAB(10%);"SCHOOL DISTRICT NO. 91";TAB(42%);"BILL LIST RECAP"; 325 GOSUB 608:FOR I%=1% TO M% 330 IF T(I%)=0% THEN 350 335 PRINT #4%,TAB(10%);D2$;" ";RIGHT(F$(I%),3%);TAB(53%); 340 PRINT #4%,USING Q$,ABS(T(I%))/100%;:IF T(I%)<0% THEN PRINT #4,"CR"; 345 C$="000-"+LEFT(F$(I%),2%)+"-0-0000-2230.00":PRINT #4%,TAB(101%);C$ 350 NEXT I% 355 PRINT #4% FOR I%=1% TO 3% 360 PRINT #4%,TAB(40%);"FINAL TOTAL";TAB(53%); 365 PRINT #4%,USING Q$,ABS(F)/100%; 370 IF F<0% THEN PRINT #4%,"CR**" ELSE PRINT #4%," **" 380 NEXT H% 385 F1=F-T(1%):D1$=LEFT(D2$,2%)+MID(D2$,4%,2%):O%=O%+1% 386 DEF FNZ$(A) 387 IF ABS(A)<1E+6 THEN FNZ$=LEFT(NUM$(A)+SPACE$(10%-LEN(NUM$(A))),10%):GOTO 392 388 A1=FIX(A/1E+6):A2=((A/1E+6)-A1)*1E+6:A3$=NUM$(A1):A4$=RIGHT(NUM$(A2),2%) 389 IF LEN(A4$)<7% THEN A4$="0"+A4$:GOTO 389 390 A3$=LEFT(A3$,INSTR(2%,A3$," ")-1%)+A4$:FNZ$=LEFT(A3$+SPACE$(10%-LEN(A3$)),10%) 392 FNEND 395 U1$(O%)="0000100000208001"+D1$+"INTERFUND TRANSFER"+SPACE$(14%)+"3E"+FNZ$(F1) 405 FOR I%=2% TO M% 410 IF T(I%)=0% THEN 425 415 O%=O%+1%:U1$(O%)="000"+LEFT(F$(I%),2%)+"00000223500"+D1$+"INTERFUND TRANSFER" 420 U1$(O%)=U1$(O%)+SPACE$(14%)+"3E"+FNZ$(-T(I%)) 425 NEXT I% 430 U%(0%)=O%:CLOSE 1%,2%,3%,4%:KILL "DK1:ACCPAY.UER":STOP 500 L%(K%)=0% FOR K%=1% TO N% 505 J(K%)=VAL(MID(X$(K%),41%,2%)+MID(X$(K%),6%,6%)) FOR K%=1% TO N% 510 M=J(1%):FOR K%=2% TO N%:IF J(K%)>M THEN M=J(K%):GOTO 525 515 T=J(K%):S%=0%:FOR J%=K%-1% TO 1% STEP -1%:IF J(J%)>T THEN S%=S%-1%: L%(J%)=L%(J%)+1% 520 NEXT J%:L%(K%)=L%(K%)+S% 525 NEXT K%:FOR K%=1% TO N%:IF L%(K%)=0% THEN 535 ELSE J%=K%:T$=X$(K%) 530 T1$=X$(J%+L%(J%)):X$(J%+L%(J%))=T$:L%=J%:J%=L%+L%(L%):L%(L%)=0%:T$=T1$: GOTO 530 IF J%<>K% 535 NEXT K%:RETURN 600 PRINT #4%,CHR$(129%):P%=P%+1%:L%=0% 605 PRINT #4%,TAB(10%);RIGHT(F$(I%),3%);TAB(50%);"BILL LIST"; 608 PRINT #4%,TAB(82%);D2$;TAB(110%);"PAGE ";P%:PRINT #4% 610 PRINT #4%,TAB(10%);" DATE";TAB(71%);"VENDOR P.O. INVOICE" 615 PRINT #4%,TAB(10%);"MO-DY-YR D E S C R I P T I O N";TAB(59%);"AMOUNT "; " NUMBER NUMBER NUMBER";TAB(110%);"CODE":PRINT #4%:RETURN 700 L%=L%+1%:GOSUB 600 IF L%>40:RETURN 720 END