2 ! ARRANGE AND PRINT PAYROLL RECAP. 5 ! PROGRAM NAME:"APTRCP" - BY JAC 10 OPEN "DK1:PAYROL.RCP" AS FILE 1%:DIM #1%,R$(1000%)=64%,R%(0%):N%=R%(0%) 15 OPEN "DK1:PAYROL.ARG" AS FILE 2%:DIM #2%,J(1000%):DIM I%(1000%) 20 J(K%)=VAL(MID(R$(K%),30%,2%)+MID(R$(K%),37%,6%)+MID(R$(K%),27%,3%)+ MID(R$(K%),33%,4%)+MID(R$(K%),32%,1%)) FOR K%=1% TO N% 25 I%(K%)=0% FOR K%=1% TO N%:GOSUB 400:CLOSE 2%:KILL "DK1:PAYROL.ARG" 50 OPEN "LP:" FOR OUTPUT AS FILE 2%,MODE 66% 55 OPEN "DK1:PAYROL.MDR" AS FILE 3% 60 DIM #3%,M$(1500%)=128%,M%(0%),D$(0%)=8%:D1$=D$(0%):CLOSE 3% 65 OPEN "DK1:PAYROL.FND" AS FILE 3%:DIM #3%,F$(20%)=32%,F%(0%) 75 J%=1%:Q$="#,###,###.##":Q%=10%:I%=1%:GOSUB 460:K%=1%:Z%,L%=0% 80 B$=LEFT(F$(I%),2%) 85 IF K%>N% THEN 180 90 A$=MID(R$(K%),30%,2%):IF A$=B$ THEN 115 100 IF Z%=0% THEN 110 ELSE GOSUB 500 110 I%=I%+1%:B$=LEFT(F$(I%),2%):X%=-1%:GOTO 90 115 IF X%<0% THEN X%=0%:J%=J%+1%:L%=0%:GOSUB 460 120 D2$=LEFT(R$(K%),2%)+"-"+MID(R$(K%),3%,2%)+"-"+RIGHT(D1$,7%):Z%=-1% 125 D$=MID(R$(K%),5%,22%):A=VAL(MID(R$(K%),55%,10%)):F1$=MID(R$(K%),54%,1%) 130 F2$=MID(R$(K%),37%,6%):C$=MID(R$(K%),27%,3%)+"-"+MID(R$(K%),30%,2%)+"-" 135 C$=C$+MID(R$(K%),32%,1%)+"-"+MID(R$(K%),33%,4%)+"-"+LEFT(F2$,4%)+"." 140 C$=C$+RIGHT(F2$,5%):PRINT #2%,TAB(Q%);D2$;" ";D$;TAB(45%+Q%); 141 IF F1$<>"P" THEN 145 142 PRINT #2%,TAB(65%+Q%);:PRINT #2%,USING Q$,ABS(A)/100%;:F2=F2+A 143 IF A<0% THEN PRINT #2%,"CR"; 144 GOTO 150 145 PRINT #2%,USING Q$,ABS(A)/100%;:IF A<0% THEN PRINT #2%,"CR"; 146 F=F+A 150 PRINT #2%,TAB(85%+Q%);MID(R$(K%),48%,5%);TAB(95%+Q%);C$:GOSUB 525 170 K%=K%+1%:GOTO 85 180 GOSUB 500:PRINT #2%:PRINT #2%,TAB(15%+Q%);"TOTAL OF ALL FUNDS";TAB(45%+Q%); 185 PRINT #2%,USING Q$,ABS(T1)/100%; 190 IF T1<0% THEN PRINT #2%,"CR**"; ELSE PRINT #2%," **"; 195 PRINT #2%,TAB(65%+Q%);:PRINT #2%,USING Q$,ABS(T2)/100%; 200 IF T2<0% THEN PRINT #2%,"CR**" ELSE PRINT #2%," **" 205 PRINT #2%,TAB(Q%);"TOTAL ENTRIES ";N%:PRINT #2%,CHR$(129%):CLOSE 1%,2%,3% 210 STOP 400 M=J(1%):FOR K%=2% TO N%:IF J(K%)>M THEN M=J(K%):GOTO 415 405 T=J(K%):FOR J%=K%-1% TO 1% STEP -1%:IF J(J%)>T THEN I%(K%)=I%(K%)-1%: I%(J%)=I%(J%)+1% 410 NEXT J% 415 NEXT K% 420 FOR K%=1% TO N%:IF I%(K%)=0% THEN 430 ELSE J%=K%:T$=R$(K%) 425 T1$=R$(J%+I%(J%)):R$(J%+I%(J%))=T$:L%=J%:J%=L%+I%(L%):I%(L%)=0%:T$=T1$: GOTO 425 IF J%<>K% 430 NEXT K%:RETURN 460 PRINT #2%,CHR$(129%) 465 PRINT #2%,TAB(Q%);RIGHT(F$(I%),3%);TAB(43%+Q%);"PAYROLL RECAP"; 470 PRINT #2%,TAB(80%+Q%);D1$;TAB(100%+Q%);"PAGE ";J%:PRINT #2% 475 PRINT #2%,TAB(Q%);" DATE";TAB(49%+Q%);"EXPENDED";TAB(68%+Q%); 478 PRINT #2%,"OBLIGATED";TAB(85%+Q%);"REF.";TAB(102+Q%);"BUDGET" 480 PRINT #2%,TAB(Q%);"MO-DY-YR D E S C R I P T I O N";TAB(51%+Q%);"AMOUNT"; 485 PRINT #2%,TAB(71%+Q%);"AMOUNT";TAB(84%+Q%);"NUMBER";TAB(103%+Q%);"CODE" 490 PRINT #2%:RETURN 500 PRINT #2%:PRINT #2%,TAB(20%+Q%);"FUND TOTAL";TAB(45%+Q%); 505 PRINT #2%,USING Q$,ABS(F)/100%; 510 IF F<0% THEN PRINT #2%,"CR*"; ELSE PRINT #2%," *"; 512 PRINT #2%,TAB(65%+Q%);:PRINT #2%,USING Q$,ABS(F2)/100%; 515 IF F2<0% THEN PRINT #2%,"CR*" ELSE PRINT #2%," *" 520 T1=T1+F:T2=T2+F2:F=0%:F2=0%:Z%=0% 525 L%=L%+1%:IF L%<52% THEN 535 530 J%=J%+1%:L%=0%:GOSUB 460 535 RETURN 650 END