10 ! MAKE SUPPLEMENTRY PAYROLL CHECK ENTRIES 11 ! PROGRAM NAME: PRSCW BY CWR 12 ! D3$(0%) IS THE DATE 13 INPUT "EMP# IF RESTART";E5$ 14 ON ERROR GOTO 725 20 OPEN "DK1:PAYROL.MST" AS FILE 1% 30 OPEN "DK1:PAYROL.MDR" AS FILE 2% 35 OPEN "DK1:PAYROL.MDS" AS FILE 7%:DIM #7%,M1$(1500%)=128%,M1%(0%) 40 OPEN "DK1:PAYROL.CHK" AS FILE 3% 50 DIM #1,A$(1500%)=128%,A%(0%): Z%=A%(0%) 60 DIM #2,M$(1500%)=128%,M%(0%),D3$(0%)=8%:D3$=D3$(0%) 70 DIM #3,C$(1000)=64%,C%(0%):I3%=C%(0%) 90 OPEN "DK1:PAYROL.DED" AS FILE 5% 100 DIM #5,D$(30%)=32%,D%(0%):D2%=D%(0%) 120 OPEN "DK1:PAYROL.RCP" AS FILE 6% 130 DIM #6,R$(1000%)=64%,R%(0%):I6%=R%(0%) 131 DEF FNC$(C9,C9%) 132 C8$=NUM$(C9) 133 IF ABS(C9)<1E+6 THEN C9$=LEFT(C8$,LEN(C8$)-1%): GO TO 137 134 C8=FIX(C9/1E+6): C7=((C9/1E+6)-C8)*1E+6:C9$=RIGHT(NUM$(C7),2%): C8$=NUM$(C8) 135 IF LEN(C9$)<7% THEN C9$="0"+C9$:GO TO 135 136 C9$=LEFT(C8$,INSTR(2%,C8$," ")-1%)+C9$ 137 IF C9>=0% THEN C9$=RIGHT(C9$,2%) 138 C9$=C9$+SPACE$(C9%-LEN(C9$)): IF LEN(C9$)<>C9% THEN PRINT "NUMBER OVERFLOW" 139 FNC$=C9$:FNEND 140 I1%=0%:E9=0:GOTO 143 IF E5$="":E9=CVT$F(C$(0%)) 141 GOTO 142 IF I3%=0%:IF MID(C$(I3%),32%,4%)>=E5$ THEN E9=E9+ VAL(MID(C$(I3%),36%,8%)):I3%=I3%-1%:GOTO 141 142 PRINT USING "RESTART CHECK INDEX=#### NET=###,####.##",I3%,E9/100% 143 FOR I%=1% TO Z% 145 IF MID(M$(I%),47%,1%)<>"V" THEN 148 146 N$=MID(A$(I%),1%,16%)+"-VOID" 147 M$=M$(I%):S8%=-1%:GOSUB 156:M$(I%)=SPACE$(46%)+"N"+RIGHT(M$(I%),48%) 148 IF MID(M1$(I%),47%,1%)<>"S" THEN 151 149 N$=MID(A$(I%),1%,21%):M$=M1$(I%):S8%=1%:GOSUB 156 150 M$(I%)=M1$(I%) 151 NEXT I% 153 GOTO 650 156 IF MID(M$,47%,1%)="N" THEN 640 157 E=VAL(MID(M$,1%,8%)):J=VAL(MID(M$,9%,7%)) 160 F=VAL(MID(M$,16%,7%)):S=VAL(MID(M$,24%,7%)) 170 F1=VAL(MID(M$,30%,7%)):H=VAL(MID(M$,37%,7%)) 180 P=VAL(MID(M$,51%,6%)):T=0 300 Q1%=2%:D1=0 305 IF VAL(MID(M$,51%,6%))=0 THEN J9%=1% ELSE J9%=0% 310 FOR J%=J9% TO VAL(MID(M$,48%,1%)) 370 D=VAL(MID(M$,J%*8%+51%,6%)) 380 D1=D1+D 440 NEXT J% 445 N8=E-F-S-F1-D1 !NET EARNINGS 540 E9=E9+N8*S8% : PRINT N$:INPUT " CHECK # ",N 610 IF I3%>999% THEN 700 620 C$=D3$+N$+MID(A$(I%),37%,6%)+FNC$(-N8*S8%,8%)+FNC$(N,5%) 630 C$(I3%+1%)=C$+"0000100000201020":I3%=I3%+1% 640 RETURN 650 R$=MID(D3$(0%),1%,2%)+MID(D3$(0%),4%,2%)+"NET PAYROLL "+"0000100000201020" 660 R$=R$+SPACE$(9%)+"53"+"E"+FNC$(-E9,10%) 670 I6%=I6%+1% : IF I6%>1000% THEN 710 680 R$(I6%)=R$ 690 R%(0%)=I6%:C%(0%)=I3% 695 PRINT USING "NET PAYROLL = ##########.##",E9/100 697 CLOSE 1%,2%,3%,7%,5%,6% 698 GOTO 730 700 PRINT "OVERFLOW IN CHECK FILE":GOTO 725 710 PRINT "OVERFLOW IN RECAP FILE":GOTO 725 720 PRINT "NUMBER OVERFLOW" 725 PRINT "SUBSCRIPT ";I3%;" ";C$(I3%) 726 C%(0%)=I3%:C$(0%)=CVTF$(E9):CLOSE 1%,2%,3%,4%,5%,6% 727 ON ERROR GOTO 0 730 END