5 ! BATCHES GENERAL JOURNALS AND CREATES FILE! 8 ! PROGRAM NAME:"BATGJ" - BY JAC 10 OPEN "CR:" FOR INPUT AS FILE 1% 20 OPEN "LP:" FOR OUTPUT AS FILE 2%,MODE 66% 30 OPEN "DK1:ACCPAY.GJ" AS FILE 3% 50 DIM #3%,G1$(50%)=128%,G%(0%):G%=G%(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 60 J%=1%:L%=0%:Q$="#,###,###.##":GOSUB 400 70 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 V$=MID(A$,8%,6%):D$=MID(A$,14%,17%):B2$=MID(A$,76%,4%) 122 ON ERROR GOTO 700 124 E$=MID(A$,32%,7%):E2$=MID(A$,39%,1%):N%=1% 126 E=(VAL(E$)*10%+VAL(E2$))*N% 130 A1$=MID(A$,40%,7%):A2$=MID(A$,47,1):N%=1% 160 A=(VAL(A1$)*10%+VAL(A2$))*N% 170 F$=MID(A$,51%,2%):B$=MID(A$,58%,6%):G$=MID(A$,64%,5%) 180 C$=MID(A$,48%,3%)+"-"+F$+"-"+MID(A$,53%,1%)+"-"+MID(A$,54%,4%)+"-" 190 C$=C$+LEFT(B$,4%)+"."+RIGHT(B$,5%):P1$=MID(A$,69%,5%):O$=MID(A$,74%,1%) 200 T1=T1+A:T2=T2+VAL(F$):T3=T3+VAL(B$):T4=T4+E 220 IF B$="223000" THEN T5=T5+A+E 230 PRINT #2%,TAB(10%);D1$;" ";D$;TAB(40%); 240 IF E=0% THEN 250 242 PRINT #2%,USING Q$,ABS(E)/100%; 245 IF E<0% THEN PRINT #2%,"CR"; 250 PRINT #2%,TAB(55%); 255 IF A=0% THEN 290 260 PRINT #2%,USING Q$,ABS(A)/100%; 270 IF A<0% THEN PRINT #2%,"CR"; 290 PRINT #2%,TAB(75%);V$;" ";P1$;" ";O$;" ";G$;" ";C$;" ";B2$ 300 G%=G%+1%:G1$(G%)=MID(A$,3%,5%)+V$+D$+FNZ$(9%,A)+MID(A$,48%,16%) 302 G1$(G%)=G1$(G%)+P1$+O$+B2$+MID(A$,80%,1%)+G$+" "+FNZ$(9%,E) 310 L%=L%+1%:IF L%<52% THEN 70 320 J%=J%+1%:L%=0%:GOSUB 400 330 GOTO 70 400 PRINT #2%,CHR$(128%+1%) !HEADING SUBROUTINE 410 PRINT #2%,TAB(10%);"SCHOOL DISTRICT NO. 91";TAB(50%);"GENERAL JOURNAL"; 412 PRINT #2%,TAB(85%);DATE$(0%);TAB(110%);"PAGE ";J%:PRINT #2% 430 PRINT #2%,TAB(10%);" DATE";TAB(75%);"VENDOR P.O. G.J."; 431 PRINT #2%,TAB(124%);"BATCH" 440 PRINT #2%,TAB(10%);"MO-DY-YR D E S C R I P T I O N";TAB(60%); 441 PRINT #2%,"AMOUNT";TAB(75%);"NUMBER NUMBER NUMBER"; 442 PRINT #2%,TAB(109%);"CODE";TAB(123%);"NUMBER":PRINT #2% 460 RETURN 500 R$="##,###,###":IF T4=0% THEN 520 510 PRINT #2%,TAB(40%);:PRINT #2%,USING Q$,ABS(T4)/100%; 515 IF T4<0% THEN PRINT #2%,"CR*";ELSE PRINT #2%," *"; 520 PRINT #2%,TAB(55%); 530 PRINT #2%,USING Q$,ABS(T1)/100%; 540 IF T1<0% THEN PRINT #2%,"CR*" ELSE PRINT #2%," *" 550 PRINT #2%:PRINT #2%,TAB(40%);"HASH FUND TOTAL "; 570 PRINT #2%,USING R$,T2 580 PRINT #2%,TAB(40%);"HASH CODE TOTAL "; 590 PRINT #2%,USING R$,T3 600 PRINT #2%,TAB(43%);"TOTAL 223000 "; 610 PRINT #2%,USING Q$,ABS(T5)/100%; 620 IF T5<0% THEN PRINT #2%,"CR"; 630 PRINT #2%,TAB(90%);"CARD COUNT",K%-1%:CLOSE 1%,2% 656 INPUT "IS THIS BATCH LISTING OK? - Y OR N";X$:IF X$="N" THEN 660 657 IF X$<>"Y" THEN 656 ELSE G%(0%)=G% 660 CLOSE 3%:STOP 700 ! ERROR-HANDLES CREDIT PUNCH 710 IF ERR<>52% THEN ON ERROR GOTO 0 715 IF ASCII(E2$)=125% THEN E2$="I" 716 IF ASCII(A2$)=125% THEN A2$="I" 720 N%=-1%:IF ERL=126 THEN E2$=CHR$(ASCII(E2$)-25%):RESUME 126 725 A2$=CHR$(ASCII(A2$)-25%):RESUME 160 800 END