2 ! PRINT PAYROLL RECONCILATION CHECK REGISTER 5 ! PROGRAM NAME:"PRCRG" - JAC. 10 OPEN "LP:" FOR OUTPUT AS FILE 1%,MODE 66% 15 OPEN "DK1:PAYROL.CHK" AS FILE 2% 20 DIM #2%,C$(1000%)=64%,C%(0%):DIM I%(1000%) 22 OPEN "DK1:PAYROL.MDR" AS FILE 3%:DIM #3%,M$(1500%)=128%,M%(0%),D$(0%)=8%: D9$=D$(0%):CLOSE 3% 25 P%=0%:N%=C%(0%):Q%=12%:Q$="##,###.##":GOSUB 400:GOSUB 300 32 C$="000-01-0-0000-2010.20":T=0%:F=0% 35 FOR K%=1% TO N% 40 T$=C$(K%):D1$=LEFT(T$,8%):N$=MID(T$,9%,21%):E$=MID(T$,30%,6%) 45 A=VAL(MID(T$,36%,8%)):C1$=MID(T$,44%,5%) 55 PRINT #1%,TAB(Q%);D1$;" ";N$;TAB(45%+Q%);E$;TAB(59%+Q%); 60 PRINT #1%,USING Q$,ABS(A)/100%;:IF A<0% THEN PRINT #1%,"CR"; 70 T=T+A:PRINT #1%,TAB(76%+Q%);C1$;TAB(88%+Q%);C$ 75 L%=L%+1%:IF L%<52% THEN 100 80 F=F+T:PRINT #1%:PRINT #1%,TAB(58%+Q%);:PRINT #1%,USING "#"+Q$,ABS(T)/100%; 90 IF T<0% THEN PRINT #1%,"CR*" ELSE PRINT #1%," *" 95 T=0%:GOSUB 300 100 NEXT K% 102 PRINT #1%:PRINT #1%,TAB(58%+Q%);:PRINT #1%,USING "#"+Q$,ABS(T)/100%; 104 IF T<0% THEN PRINT #1%,"CR*" ELSE PRINT #1%," *" 105 PRINT #1%:PRINT #1%,TAB(35%+Q%);"TOTAL OF CHECKS";TAB(56%+Q%); 110 F=F+T:PRINT #1%,USING "#,#"+Q$,ABS(F)/100%; 115 IF F<0% THEN PRINT #1%,"CR**" ELSE PRINT #1%," **" 120 PRINT #1%,CHR$(129%):CLOSE 1%,2%:STOP 300 PRINT #1%,CHR$(129%):P%=P%+1%:L%=0% 305 PRINT #1%,TAB(Q%);"SCHOOL DISTRICT NO. 91";TAB(35%+Q%);"PAYROLL CHECKS"; 310 PRINT #1%," REGISTER";TAB(70%+Q%);D9$;TAB(94%+Q%);"PAGE ";P% 315 PRINT #1% 320 PRINT #1%,TAB(2%+Q%);"DATE";TAB(44%+Q%);"EMPLOYEE";TAB(76%+Q%);"CHECK" 325 PRINT #1%,TAB(Q%);"MO-DY-YR D E S C R I P T I O N";TAB(45%+Q%);"NUMBER"; 330 PRINT #1%,TAB(62%+Q%);"AMOUNT";TAB(76%+Q%);"NUMBER";TAB(96%+Q%);"CODE" 335 PRINT #1%:RETURN 400 OPEN "DK1:PAYROL.CK1" AS FILE 3%:DIM #3%,C1$(1000%)=64% 402 OPEN "DK1:PAYROL.ARG" AS FILE 4%:DIM #4%,J(1000%) 405 J(K%)=VAL(MID(C$(K%),44%,5%)) FOR K%=1% TO N% 410 I%(K%)=K% FOR K%=1% TO N% 415 FOR K%=1% TO N%-1%:IF J(K%)<=J(K%+1%) THEN 440 420 T=J(K%+1%):J(K%+1%)=J(K%):T%=I%(K%+1%):I%(K%+1%)=I%(K%) 425 FOR J%=K% TO 2% STEP -1% 430 IF J(J%-1%)<=T THEN J(J%)=T:I%(J%)=T%:GOTO 440 435 J(J%)=J(J%-1%):I%(J%)=I%(J%-1%):NEXT J%:J(1%)=T:I%(1%)=T% 440 NEXT K% 445 C1$(K%)=C$(I%(K%)) FOR K%=1% TO N% 450 C$(K%)=C1$(K%) FOR K%=1% TO N% 455 CLOSE 3%,4%:KILL "DK1:PAYROL.CK1":KILL "DK1:PAYROL.ARG":RETURN 460 END