10 ! BATCH PAYROLL ADJUSTMENT FILE 15 ! PROGRAM NAME:BATADJ BY CWR 20 OPEN "DK1:PAYROL.PAF" AS FILE 1% 21 OPEN "LP:" FOR OUTPUT AS FILE 8%,MODE 66% 29 INPUT "FILE ";F9$ 30 OPEN F9$ FOR INPUT AS FILE 2% 37 F2$="########"+SPACE$(15%)+"########.## ######### ###########.##" 40 DIM #1%, A1$(100%)=64%,A1%(0%) 45 ON ERROR GOTO 300 46 F$="\ \###############.##" 47 B1=0:B2=0:B3=0:B4=0 50 Q%=A1%(0%):P1%=0%:P5%=1% 56 PRINT "STARTING INDEX:",Q% 60 Q%=Q%+1%:INPUT LINE #2,C$:C$=LEFT(C$,LEN(C$)-2%) 80 IF LEN(C$)<80 THEN 150 90 IF MID(C$,80%,1%)<>"5" AND MID(C$,80%,1%)<>"6" THEN 270 100 N$=MID(C$,1%,15%):E$=MID(C$,26%,4%):D$=MID(C$,30%,4%)+"7"+MID(C$,34%,1%) 110 T$=" "+MID(C$,35%,6%) 115 T=VAL(T$) !CHECK FOR CREDIT PUNCH 120 C1$=MID(C$,80%,1%):C$=MID(C$,64%,16%) 130 A1$(Q%)=N$+E$+D$+T$+C$+C1$ 132 B1=B1+VAL(E$) 133 B2=B2+T 134 B4=B4+VAL(RIGHT(C$,11%)) 135 B3=B3+VAL(MID(C$,4%,2%)) 140 GOSUB 2000:GOTO 60 150 PRINT #8%:PRINT #8%,TAB(P%+22%);:PRINT #8%,USING F2$,B1,B2/100%,B3,B4/100%:Q2%=Q%-1%:CLOSE 8% 151 PRINT "BATCH TOTALS" 152 PRINT USING F$, "EMP#",B1 153 PRINT USING F$,"AMOUNT",B2/100% 154 PRINT USING F$, "FUND",B3 155 PRINT USING F$, "GROUP", B4/100% 156 INPUT "IS BATCH OK";K$ 157 IF K$<>"Y" THEN PRINT "RERUN BATCH": GOTO 290 158 A1%(0%)=Q2% 159 INPUT "LAST BATCH ";K$: IF K$<>"Y" THEN 260 160 ! ORDER BY EMPLOYEE# 170 FOR I%=1% TO Q%-2%:T1$=MID(A1$(I%+1%),16%,4%) 180 IF MID(A1$(I%),16%,4%)<=T1$ THEN 250 190 T$=A1$(I%+1%):A1$(I%+1%)=A1$(I%) 200 FOR J%=I% TO 2% STEP -1% 210 IF MID(A1$(J%-1%),16%,4%)<=T1$ THEN A1$(J%)=T$:GOTO 250 220 A1$(J%)=A1$(J%-1%) 230 NEXT J% 240 A1$(1%)=T$ 250 NEXT I% 260 PRINT Q2%;" ITEMS NOW IN PAYROL.PAF" 265 GOTO 290 270 PRINT "CARD INPUT ERROR-RE-RUN" 275 PRINT C$:STOP 290 CLOSE 1%,2%:GOTO 400 300 IF ERR<>52% THEN 1000 310 T2$=MID(C$,40%,1%) 320 IF ASCII(T2$)=125% THEN T2$="I" 330 T2$=CHR$(ASCII(T2$)-25%) 340 T$="-"+MID(C$,35%,5%)+T2$ 345 T=VAL(T$) 350 RESUME 120 400 GOTO 9000 1000 IF ERR<>11% THEN ON ERROR GOTO 0 1010 RESUME 150 2000 IF P1%=0% THEN GOSUB 3000 ELSE IF P1%>56% THEN GOSUB 3100 2010 PRINT #8%,TAB(P%+1%);N$;TAB(P%+26%);E$;TAB(P%+34%);LEFT(D$,2%)+"/"+MID(D$,3%,2%)+"/"+RIGHT(D$,5%);TAB(P%+47%); 2020 PRINT #8%,USING "######.##",T/100%; 2030 PRINT #8%,TAB(P%+60%);LEFT(C$,3%)+"-"+MID(C$,4%,2%)+"-"+MID(C$,6%,1%)+"-"+MID(C$,7%,4%); 2035 PRINT #8%,"-"+MID(C$,11%,4%)+"."+RIGHT(C$,15%)+" "+C1$+" ";Q% 2040 P1%=P1%+1%:RETURN 3000 PRINT #8% FOR L5%=1% TO 3% 3010 PRINT #8%,TAB(P%+22%);"SCHOOL DIST 91 ADJUSTMENT BATCH";TAB(P%+107%);"PAGE ";P5%:P5%=P5%+1% 3020 PRINT #8%:PRINT #8%,TAB(P%+9%);"NAME";TAB(P%+26%);"EMP #";TAB(P%+35%); 3022 PRINT #8%,"DATE";TAB(P%+48%);"AMOUNT";TAB(P%+66%);"CODE";TAB(P%+87%);"INDEX" 3030 P1%=5%:RETURN 3100 PRINT #8%,CHR$(129%):GOSUB 3000:RETURN 9000 END