5 ! BATCHES JOURNAL VOUCHERS AND CREATES FILE! 8 ! PROGRAM NAME:"BATJV" - BY JAC 10 OPEN "CR:" FOR INPUT AS FILE 1% 20 OPEN "LP:" FOR OUTPUT AS FILE 2%,MODE 66% 30 OPEN "DK1:GLFILE.JV" AS FILE 3% 40 DIM #3%,V1$(1000%)=64%,V%(0%):V%=V%(0%) 51 DEF FNZ$(B%,A) 52 IF ABS(A)<1E+6 THEN FNZ$=LEFT(NUM$(A)+SPACE$(B%-LEN(NUM$(A))),B%):GOTO 58 53 A1=FIX(A/1E+6):A2=((A/1E+6)-A1)*1E+6:A3$=NUM$(A1):A4$=RIGHT(NUM$(A2),2%) 54 IF LEN(A4$)<7% THEN A4$="0"+A4$:GOTO 54 55 A3$=LEFT(A3$,INSTR(2%,A3$," ")-1%)+A4$:FNZ$=LEFT(A3$+SPACE$(B%-LEN(A3$)),B%) 58 FNEND 70 Q$="#,###,###.##":J%=1%:L%=0%: GOSUB 400 80 K%=K%+1%:GET #1%:FIELD #1%,RECOUNT-2% AS A$ 90 IF LEFT(A$,3%)="END" THEN 500 100 D1$=MID(A$,3%,2%)+"-"+MID(A$,5%,2%)+"-7"+MID(A$,7%,1%) 120 D$=MID(A$,14%,21%):A1$=MID(A$,40%,7%):A2$=MID(A$,47%,1%):N%=1% 130 ON ERROR GOTO 700 150 A=(VAL(A1$)*10%+VAL(A2$))*N% 160 F$=MID(A$,51%,2%):B$=MID(A$,58%,6%):B2$=MID(A$,76%,4%):N$=MID(A$,69%,5%) 170 C$=MID(A$,48%,3%)+"-"+F$+"-"+MID(A$,53%,1%)+"-"+MID(A$,54%,4%)+" " 180 C$=C$+LEFT(B$,4%)+"."+RIGHT(B$,5%) 190 T1=T1+A:T2=T2+VAL(F$):T3=T3+VAL(B$) 200 IF B$="223000" THEN T4=T4+A 210 PRINT #2%,TAB(10%);D1$;" ";D$;TAB(55%); 220 PRINT #2%,USING Q$,ABS(A)/100%;:IF A<0% THEN PRINT #2%,"CR"; 240 PRINT #2%,TAB(76%);N$;TAB(90%);C$;" ";B2$ 250 V%=V%+1%:V1$(V%)=MID(A$,3%,5%)+D$+FNZ$(9%,A)+MID(A$,48%,16%) 260 V1$(V%)=V1$(V%)+N$+B2$+MID(A$,80%,1%)+MID(A$,75%,1%) 265 L%=L%+1%:IF L%<52% THEN 80 270 J%=J%+1%:L%=0%:GOSUB 400 280 GOTO 80 400 PRINT #2%,CHR$(128%+1%) !HEADING 410 PRINT #2%,TAB(10%);"SCHOOL DISTRICT NO. 91";TAB(50%);"JOURNAL "; 412 PRINT #2%,"VOUCHERS";TAB(85%);DATE$(0%);TAB(110%);"PAGE ";J% 420 PRINT #2%:PRINT #2%,TAB(10%);" DATE";TAB(76%);"J.V.";TAB(113%); 430 PRINT #2%,"BATCH":PRINT #2%,TAB(10%);"MO-DY-YR D E S C R I P T I O N"; 440 PRINT #2%,TAB(60%);"AMOUNT";TAB(75%);"NUMBER";TAB(98%); 450 PRINT #2%,"CODE";TAB(112%);"NUMBER":PRINT #2% 460 RETURN 500 R$="##,###,###":PRINT #2%,TAB(55%); 520 PRINT #2%,USING Q$,ABS(T1)/100%; 530 IF T1<0% THEN PRINT #2%,"CR*" ELSE PRINT #2%," *" 540 PRINT #2%:PRINT #2%,TAB(40%);"HASH FUND TOTAL "; 560 PRINT #2%,USING R$,T2 570 PRINT #2%,TAB(40%);"HASH CODE TOTAL "; 580 PRINT #2%,USING R$,T3 590 PRINT #2%,TAB(43%);"TOTAL 223000 "; 600 PRINT #2%,USING Q$,ABS(T4)/100%; 610 IF T4<0% THEN PRINT #2%,"CR"; 620 PRINT #2%,TAB(90%);"CARD COUNT",K%-1%:CLOSE 1%,2% 646 INPUT "IS THIS BATCH LISTING OK? - Y OR N";X$:IF X$="N" THEN 650 647 IF X$<>"Y" THEN 646 ELSE V%(0%)=V% 650 CLOSE 3%:STOP 700 ! ERROR-HANDLES CREDIT PUNCH 710 IF ERR<>52% THEN ON ERROR GOTO 0 715 IF ASCII(A2$)=125% THEN A2$="I" 720 A2$=CHR$(ASCII(A2$)-25%):N%=-1% 730 RESUME 150 800 END