2 ! PRINTS DEDUCTION AMOUNTS AFTER CHANGES 5 ! PROGRAM NAME:"PDAC" BY JAC AND CWR 30 OPEN "LP:" FOR OUTPUT AS FILE 1%,MODE 66% 35 OPEN "DK1:PAYROL.MST" AS FILE 2% 38 DIM #2%,A$(1500%)=128%,A%(0%):N%=A%(0%) 40 OPEN "DK1:PAYROL.MDR" AS FILE 3% 42 DIM #3%,M$(1500%)=128%,M%(0%),D1$(0%)=8% 45 OPEN "DK1:PAYROL.DED" AS FILE 4% 48 DIM #4%,D$(30%)=32%,D%(0%):D%=D%(0%) 50 Z$=SYS(CHR$(3%)):PRINT "SEVERAL DEDUCTION CODES CAN BE ENTERED DURING PRINTING" 52 PRINT "END WITH A RETURN" 55 Q$="#,###.##":Q1$="###,###,###":Q2$="###,###.##" 58 D3$=LEFT(D1$(0%),2%)+MID(D1$(0%),4%,2%):J%=0%:DIM T(2%) 59 INPUT "DEDUCTION CODE";C1$:PRINT " ";C1$:IF C1$="" THEN 195 60 T1=0%:T2=0%:F1=0%:F2=0%:M%=0%:J%=J%+1%:L%=0%:GOSUB 400 70 FOR I%=1% TO D% : IF C1$=LEFT(D$(I%),2%) THEN 75 72 NEXT I%:GOTO 195 75 D1$=MID(D$(I%),3%,22%) 80 FOR K%=1% TO N% ! REGISTER LOOP 90 P%=49%:T%=VAL(MID(M$(K%),48%,1%)) 100 FOR H%=0% TO T% ! CHECK FOR DEDUCTION 105 IF MID(M$(K%),P%,2%)<>C1$ THEN 125 110 GOSUB 450 ! PRINT DEDUCTION 115 IF C1$<>"61" THEN H%=T%:GOTO 130 125 P%=P%+8% 130 NEXT H% ! NEXT DEDUCTION 135 NEXT K% ! NEXT EMPLOYEE 140 GOSUB 600 ! PRINT PAGE TOTAL 145 PRINT #1% ! PRINT DEDUCTION TOTAL 150 PRINT #1%,TAB(21%); 155 PRINT #1%,USING Q1$,F1; 160 PRINT #1%,"* DEDUCTION TOTAL";TAB(58%); 165 PRINT #1%,USING Q2$,ABS(F2)/100%; 170 IF F2<0% THEN PRINT #1%,"CR*" ELSE PRINT #1%," *" 175 PRINT #1% 180 PRINT #1%,"NUMBER OF DEDUCTIONS ";M%;TAB(53%);"CODE ";C1$ 185 L1=L1+F1:L2=L2+F2:N1%=N1%+M% 190 GOTO 59 195 IF L%<46% THEN 205 ! CHECK FOR END OF PAGE 200 J%=J%+1%:GOSUB 400 ! PRINT HEADING 205 PRINT #1% ! PRINT FINAL TOTALS 210 PRINT #1%,TAB(21%); 215 PRINT #1%,USING Q1$,L1; 220 PRINT #1%,"**";TAB(44%);"FINAL TOTAL "; 225 PRINT #1%,USING Q2$,ABS(L2)/100%; 230 IF L2<0% THEN PRINT #1%,"CR**" ELSE PRINT #1%," **" 235 PRINT #1% 240 PRINT #1%,"TOTAL DEDUCTION COUNT ";N1% 300 Z$=SYS(CHR$(2%)) 315 PRINT #1%,CHR$(129%):CLOSE 1%,2%,3%,4%,5%:STOP 400 PRINT #1%,CHR$(129%) 405 PRINT #1%,"SCHOOL DIST. 91";TAB(20%);"DEDUCTION REGISTER";TAB(45%); 410 PRINT #1%,D1$(0%);TAB(62%);"PAGE ";J%:PRINT #1% 420 PRINT #1%,TAB(25%);"EMPLOYEE";TAB(57%);"DED." 425 PRINT #1%,"D E S C R I P T I O N NUMBER EMPLOYEE NAME"; 430 PRINT #1%,TAB(57%);"CODE AMOUNT":PRINT #1% 435 RETURN 450 E$=MID(A$(K%),37%,6%):T1=T1+VAL(MID(E$,3%,4%)):N$=LEFT(A$(K%),24%): A=-VAL(MID(M$(K%),P%+2%,6%)):IF A=0% THEN 500 ELSE T2=T2+A:M%=M%+1% 470 PRINT #1%," ";D1$;TAB(26%);E$;" ";N$;C1$; 475 PRINT #1%,USING Q$,ABS(A)/100%; 480 IF A<0% THEN PRINT #1%,"CR" ELSE PRINT #1% 485 L%=L%+1%:IF L%<50% THEN 500 490 GOSUB 600 ! PRINTS PAGE TOTALS 495 J%=J%+1%:L%=0%:GOSUB 400 500 RETURN 600 PRINT #1% 605 PRINT #1%,TAB(21%); 610 PRINT #1%,USING Q1$,T1; 615 F1=F1+T1:T1=0%:PRINT #1%,TAB(58%); 620 PRINT #1%,USING Q2$,ABS(T2)/100%; 625 IF T2<0% THEN PRINT #1%,"CR" ELSE PRINT #1% 630 F2=F2+T2:T2=0% 635 RETURN 670 END