10 ! PRINT SUPPLEMENTRY PAYROLL CHECK REGISTER 11 ! PROGRAM NAME: PRSREG BY CWR 15 K=100 20 OPEN "DK1:PAYROL.MST" AS FILE 1% 30 OPEN "DK1:PAYROL.MDR" AS FILE 2% 32 OPEN "DK1:PAYROL.MDS" AS FILE 5% 35 OPEN "DK1:PAYROL.DED" AS FILE 3% 40 OPEN "LP:" FOR OUTPUT AS FILE 4%,MODE(66%) 50 DIM #1,A$(1500%)=128%,A%(0%) : Z%=A%(0%) 60 DIM #2%,M$(1500%)=128%,M%(0%),D6$(0%)=8% 62 DIM #5%,M1$(1500%)=128%,M1%(0%) 65 D6$=D6$(0%) 70 DIM #3,D$(30%)=32%,D%(0%):D2%=D%(0%) 80 F$="####.## ####.## ###.## \ \ \ \ #####" 90 F$=F$+" ####.## ####.## ####.## ####.##"+SPACE$(15)+"####.##" 100 F1$="\ \ ####.## #### 105 P5%=1% : GOSUB 500!PRINT HEADING 106 H9=0:J9=0:T9=0:E9=0:F8=0:S9=0:F9=0:N9=0:Q%=10%:I5%=1% 107 C4%=0%:D9=0 110 FOR I%=1% TO Z% 112 IF MID(M$(I%),47%,1%)<>"V" THEN 115 113 N$=MID(A$(I%),1%,19%)+"-VOID" 114 M$=M$(I%):S8%=-1%:GOSUB 120 115 IF MID(M1$(I%),47%,1%)<>"S" THEN 118 116 N$=MID(A$(I%),1%,24%) 117 M$=M1$(I%):S8%=1%:GOSUB 120 118 NEXT I% 119 GOTO 395 120 IF MID(M$,47%,1%)="N" THEN 390 130 H=VAL(MID(M$,37%,5%)):E=VAL(MID(M$,1%,8%))*S8% 140 J%=VAL(MID(M$,48%,1%)):T=0:D2=0 150 FOR K%=1% TO J% 160 C2$=MID(M$,57%+8%*(K%-1%),2%) 170 ! IF BETWEEN 41 AND 59 INCLUSIVE THEN IT IS A TSA 180 IF C2$>"40" AND C2$<"60" THEN T=T+VAL(MID(M$,59%+8%*(K%-1%),6%))*S8% 190 NEXT K% 200 D1$=MID(A$(I%),37%,6%) 220 F2=VAL(MID(M$,16%,7%))*S8%:S=VAL(MID(M$,24%,7%))*S8% 230 F3=VAL(MID(M$,30%,7%))*S8%:J=VAL(MID(M$,9%,7%))*S8% 239 N4=E-F2-S-F3 : PRINT N$;:INPUT " CHECK # ";C3 240 PRINT #4%,USING F$,H/K,J/K,T/K,N$,D1$,C3,E/K,F2/K,S/K,F3/K,N4/K 241 GOSUB 630 245 H9=H9+H:J9=J9+J:T9=T9+T:E9=E9+E:F8=F8+F2:S9=S9+S:F9=F9+F3 250 FOR J%=0% TO VAL(MID(M$,48%,1%)) 260 D1$=MID(M$,J%*8%+49%,2%) 270 IF D1$=" " THEN 350 280 FOR J1%=1% TO D2% 290 IF D1$=MID(D$(J1%),1%,2%) THEN D1$=MID(D$(J1%),3%,22%):GOTO 320 300 NEXT J1% 310 D1$="OTHER" 320 D=VAL(MID(M$,J%*8%+51%,6%))*S8% 325 IF D=0% THEN 350 330 PRINT #4%,TAB(Q%+72%); ! POSITION AND SPACE 340 PRINT #4%,USING F1$,D1$,D/K 341 GOSUB 630 345 D2=D2+D 350 NEXT J% 355 D9=D9+D2 360 PRINT #4%,TAB(Q%+110%); 370 PRINT #4%,USING "####.##*",(N4-D2)/K:N9=N9+N4-D2 375 GOSUB 630 380 PRINT #4% 385 GOSUB 630 387 C4%=C4%+1% 390 RETURN 395 F2$="NUMBER OF CHECKS ###### #,###,###.## ###,###.## ###,###.## ###,###.## #,###,###.## #,###,###.##" 400 PRINT #4%,TAB(Q%+25%); 410 PRINT #4%,USING F2$,C4%,E9/K,F8/K,S9/K,F9/K,D9/K,N9/K 420 PRINT #4%,CHR$(129%) 430 CLOSE 1%,2%,3%,4%,5% 440 PRINT "END OF CHECK REGISTER" 450 GOTO 1010 500 ! HEADING ROUTINE 503 Q%=0% 505 PRINT #4% FOR L5%=1% TO 3% 510 PRINT #4%,TAB(Q%+22%),"SCHOOL DIST 91 SUPPLEMENTRY CHECK REGISTER"; 520 PRINT #4%,TAB(Q%+71%);D6$;TAB(Q%+107%);"PAGE ";P5% 530 PRINT #4 540 P5%=P5%+1%:L5%=0% 550 PRINT #4%,TAB(Q%+5%);"REG ADJUST TSA EMPLOYEE EMPLOYEE CHECK"; 560 PRINT #4%,TAB(Q%+67%);"GROSS FEDERAL STATE FICA"; 570 PRINT #4%,TAB(Q%+123%);"NET" 580 PRINT #4%,TAB(Q%+4%);"HOURS";SPACE$(18%);"NAME NUMBER NO."; 590 PRINT #4%,TAB(Q%+68%);"AMT TAX TAX TAX"; 600 PRINT #4%,TAB(Q%+107%);"DEDUCTIONS AMT" 610 PRINT #4% 615 Q%=10% 620 RETURN 629 ! COUNT LINES PER PAGE 630 L5%=L5%+1%: IF L5%<50% THEN 650 640 PRINT #4%,CHR$(129%):GOSUB 500 650 RETURN 1000 PRINT"ERROR IN CHECK FILE":STOP 1010 END