5 ! BATCHES INVOICES OR P.O. AND CREATES OR ADDS TO THEIR FILES! 8 ! PROGRAM NAME:"BATINP" - BY JAC. 10 OPEN "CR:" FOR INPUT AS FILE 1% 11 OPEN "LP:" FOR OUTPUT AS FILE 2%,MODE 66% 12 DEF FNZ$(A,B%) 13 IF ABS(A)<1E+6 THEN FNZ$=LEFT(NUM$(A)+SPACE$(B%-LEN(NUM$(A))),B%):GOTO 18 14 A1=FIX(A/1E+6):A2=((A/1E+6)-A1)*1E+6:A3$=NUM$(A1):A4$=RIGHT(NUM$(A2),2%) 15 IF LEN(A4$)<7% THEN A4$="0"+A4$:GOTO 15 16 A3$=LEFT(A3$,INSTR(2%,A3$," ")-1%)+A4$:FNZ$=LEFT(A3$+SPACE$(B%-LEN(A3$)),B%) 18 FNEND 20 GET #1%:FIELD #1%,RECOUNT-2% AS A$:K%=1% 40 IF LEFT(A$,3%)="END" THEN 500 50 IF MID(A$,80%,1%)="5" THEN 100 60 OPEN "DK1:ACCPAY.PO" AS FILE 3% ! BATCH P.O.'S 80 M%=-1%:DIM #3%,P1$(1000%)=64%,P%(0%):P%=P%(0%) 95 GOTO 130 100 OPEN "DK1:ACCPAY.INV" AS FILE 3% ! BATCH INVOICES 115 DIM #3%,I1$(600%)=128%,I%(0%):I%=I%(0%) 130 J%=1%:L%=0%:Q$="#,###,###.##": GOSUB 400 140 D1$=MID(A$,3%,2%)+"-"+MID(A$,5%,2%)+"-7"+MID(A$,7%,1%) 160 D$=MID(A$,14%,17%):E=VAL(MID(A$,32%,8%)):A1$=MID(A$,40%,7%):A2$=MID(A$,47%,1%) 172 ON ERROR GOTO 700 174 N%=1% 175 A=(VAL(A1$)*10%+VAL(A2$))*N% 180 V$=MID(A$,8%,6%):P$=MID(A$,69%,5%):I$=MID(A$,64%,5%) 190 F$=MID(A$,51%,2%):B$=MID(A$,58%,6%):B2$=MID(A$,76%,4%) 200 C$=MID(A$,48%,3%)+"-"+F$+"-"+MID(A$,53%,1%)+"-"+MID(A$,54%,4%) 210 C$=C$+"-"+LEFT(B$,4%)+"."+RIGHT(B$,5%) 220 T1=T1+E:T2=T2+A:T3=T3+VAL(F$):T4=T4+VAL(B$) 230 IF B$="223000" THEN T5=T5+A 240 PRINT #2%,TAB(8%);D1$;" ";D$;TAB(38%); 250 IF E=0% THEN 270 260 PRINT #2%,USING Q$,E/100%; 270 PRINT #2%,TAB(53%);:PRINT #2%,USING Q$,ABS(A)/100%; 285 IF A<0% THEN PRINT #2%,"CR"; 290 PRINT #2%,TAB(73%);V$;" ";P$;" ";MID(A$,74%,1%); 300 IF I$<>" " THEN PRINT #2%," ";I$; 330 PRINT #2%,TAB(99%);C$;" ";B2$ 340 IF M% THEN 355 345 I%=I%+1%:I1$(I%)=MID(A$,3%,5%)+V$+D$+FNZ$(A,9%)+MID(A$,48%,16%) 350 I1$(I%)=I1$(I%)+P$+MID(A$,74%,1%)+B2$+MID(A$,80%,1%)+I$ 352 I1$(I%)=I1$(I%)+MID(A$,31%,1%)+FNZ$(E,9%):GOTO 365 355 P%=P%+1%:P1$(P%)=MID(A$,3%,5%)+V$+D$+FNZ$(A,9%)+MID(A$,48%,16%) 360 P1$(P%)=P1$(P%)+P$+MID(A$,74%,1%)+B2$+MID(A$,80%,1%) 365 L%=L%+1%:IF L%<52% THEN 375 370 J%=J%+1%:L%=0%:GOSUB 400 375 K%=K%+1%:GET #1%:FIELD #1%,RECOUNT-2% AS A$ 385 IF LEFT(A$,3%)="END" THEN 500 ELSE 140 400 PRINT #2%,CHR$(128%+1%) !HEADING ROUTINE 410 PRINT #2%,TAB(8%);"SCHOOL DISTRICT NO. 91";TAB(48%); 420 IF M% THEN PRINT #2%,"PURCHASE ORDERS"; ELSE PRINT #2%,"INVOICES"; 425 PRINT #2%,TAB(83%);DATE$(0%);TAB(108%);"PAGE ";J%:PRINT #2% 430 PRINT #2%,TAB(8%);" DATE";TAB(73%);"VENDOR P.O. INVOICE"; 431 PRINT #2%,TAB(122%);"BATCH" 440 PRINT #2%,TAB(8%);"MO-DY-YR D E S C R I P T I O N";TAB(58%); 441 PRINT #2%,"AMOUNT";TAB(73%);"NUMBER NUMBER NUMBER"; 442 PRINT #2%,TAB(108%);"CODE";TAB(121%);"NUMBER":PRINT #2% 460 RETURN 500 IF T1=0% THEN 550 535 PRINT #2%,TAB(38%);:PRINT #2%,USING Q$,T1/100%; 540 PRINT #2%," *"; 550 PRINT #2%,TAB(53%);:PRINT #2%,USING Q$,ABS(T2)/100%; 560 IF T2<0% THEN PRINT #2%,"CR*" ELSE PRINT #2%," *" 565 PRINT #2%:R$="##,###,###" 570 PRINT #2%,TAB(38%);"HASH FUND TOTAL "; 575 PRINT #2%,USING R$,T3 580 PRINT #2%,TAB(38%);"HASH CODE TOTAL "; 585 PRINT #2%,USING R$,T4 590 PRINT #2%,TAB(41%);"TOTAL 223000 "; 595 PRINT #2%,USING Q$,ABS(T5)/100%;:IF T5<0% THEN PRINT #2%,"CR"; 600 PRINT #2%,TAB(88%);"CARD COUNT",K%-1%:CLOSE 1%,2% 606 INPUT "IS THIS BATCH LISTING OK? - Y OR N";X$:IF X$="N" THEN 610 607 IF X$<>"Y" THEN 606 608 IF M% THEN P%(0%)=P% ELSE I%(0%)=I% 610 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 175 740 END