10 REM-PROGRAM NAME: "EXPX46" 20 REM- PROGRAM PRINTS PAYROLL CHECKS FROM EMPLOYEE MASTER FILE. 30 OPEN "DF:CHECKS.EMP" AS FILE 5 40 DIM #5, C9$(1000)=32 50 OPEN "DF:EMPLOY.MST" AS FILE 1 60 DIM #1,E$(500)=255 70 OPEN "LP:" FOR OUTPUT AS FILE 2 80 INPUT "HOURLY OR SALARY";E3$ 90 INPUT "PRINTER LINED UP" I9$ 100 IF I9$="YES" GOTO 121 110 PRINT #2, SPACE$(78) 120 GOTO 90 121 LETY%=Y%+1 122 IF LEFT(C9$(Y%),7)="9999999" GOTO 130 123 GOTO 121 130 INPUT "ENTER NUMBER OF STARTING CHECK"; C5$ 140 LET C5=VAL(C5$) 150 LET X%=X%+1 160 LET B$=E$(X%) 170 IF LEFT(B$,5)="99999" GOTO 1750 180 IF MID(B$,45,6)=SPACE$(6) THEN GOTO 150 190 IF VAL(MID(B$,45,6))=0 THEN GOTO 150 200 IF MID(B$,29,1)<>"1" GOTO 150 210 LET F$=LEFT(B$,6) !ID NUMBER 220 LET G$=MID(B$,7,15) !EMPLOYEE NAME 230 LET L1$=MID(B$,45,6) !GROSS EARNINGS 240 LET L2$=MID(B$,51,5) !FED TAX 250 LET L3$=MID(B$,56,5) !STATE TAX 260 LET L4$=MID(B$,61,5) !FICA 270 REM-VOLUNTARY DEDUCTIONS 275 IF MID(B$,30,1)="1" AND E3$="HOURLY" GO TO 450 280 LET M1$=MID(B$,66,5) !HOSPITAL BLDG FUND 290 LET M2$=MID(B$,71,5) !ANNUITY 300 LET M3$=MID(B$,76,5) !CREDIT UNION 310 LET M4$=MID(B$,81,5) !RETIREMENT 320 LET M5$=MID(B$,86,5) !WASH NATL 330 LET M6$=MID(B$,91,5) !BC/BS 340 LET M7$=MID(B$,96,5) !MISC 350 REM-NEXT IS YTD EARNINGS AND DEDUCTIONS 360 LET N1$=MID(B$,101,7) !YTD GROSS PAY 370 LET N2$=MID(B$,108,7) !CONTRACT TO DATE PAY 380 LET N3$=MID(B$,115,6) !YTD FED TAX 390 LET N4$=MID(B$,121,6) !YTD STATE TAX 400 LET N5$=MID(B$,127,6) !YTD FICA 410 REM-NEXT IS YTD VOLUNTARY DEDUCTIONS 420 LET M9=VAL(MID(B$,133,6))+VAL(MID(B$,139,6))+VAL(MID(B$,145,6)) +VAL(MID(B$,151,6))+VAL(MID(B$,157,6))+VAL(MID(B$,163,6)) 421 LET M9=M9+VAL(MID(B$,169,6)) !TO ADD IN DISABL INS DED 440 GO TO 490 450 LET M1$,M2$,M3$,M4$,M5$,M6$,M7$="00000" 460 GO TO 360 490 FOR K%=1 TO 4 500 PRINT #2, SPACE$(78) 510 NEXT K% 520 LET C%=4 530 LET L1=VAL(L1$)/100 540 LET T=T+L1 550 LET L2=VAL(L2$)/100 560 LET L3=VAL(L3$)/100 570 LET L4=VAL(L4$)/100 580 LET L5=L1-(L2+L3+L4) 590 PRINT #2, DATE$(0)+SPACE$(2); 600 PRINT #2, USING "#,###.## ###.## ###.## ###.##", L1,L2,L3,L4; 610 PRINT #2, USING " ##,###.##", L5 620 LET C%=C%+1 630 PRINT #2, SPACE$(78): LET C%=C%+1 635 LET D=0 650 IF M1$=SPACE$(5) GOTO 730 660 IF VAL(M1$)=0 GOTO 730 670 LET M0$="HOSPITAL BLDG FUND" 680 PRINT #2,SPACE$(23)+M0$+SPACE$(10); 690 LET M1=VAL(M1$)/100 700 LET D=D+M1 710 PRINT #2, USING "###.##", M1 720 LET C%=C%+1 730 IF M2$=SPACE$(5) GOTO 810 740 IF VAL(M2$)=0 GOTO 810 750 LET M0$="ANNUITY " 760 PRINT #2, SPACE$(23)+M0$+SPACE$(10); 770 LET M2=VAL(M2$)/100 780 LET D=D+M2 790 PRINT #2, USING "###.##", M2 800 LET C%=C%+1 810 IF M3$=SPACE$(5) OR VAL(M3$)=0 GOTO 880 820 LET M0$="CREDIT UNION " 830 PRINT #2, SPACE$(23)+M0$+SPACE$(10); 840 LET M3=VAL(M3$)/100 850 LET D=D+M3 860 PRINT #2, USING "###.##", M3 870 LET C%=C%+1 880 IF M4$=SPACE$(5) OR VAL(M4$)=0 GOTO 950 890 LET M0$="RETIREMENT " 900 PRINT #2, SPACE$(23)+M0$+SPACE$(10); 910 LET M4=VAL(M4$)/100 920 LET D=D+M4 930 PRINT #2, USING"###.##", M4 940 LET C%=C%+1 950 IF M5$=SPACE$(5) OR VAL(M5$)=0 GOTO 1020 960 LET M0$="WASH NATIONAL " 970 PRINT #2, SPACE$(23)+M0$+SPACE$(10); 980 LET M5=VAL(M5$)/100 990 LET D=D+M5 1000 PRINT #2, USING "###.##", M5 1010 LET C%=C%+1 1020 IF M6$=SPACE$(5) OR VAL(M6$)=0 GOTO 1090 1030 LET M0$="BLUE CROSS " 1040 PRINT #2, SPACE$(23)+M0$+SPACE$(10); 1050 LET M6=VAL(M6$)/100 1060 LET D=D+M6 1070 PRINT #2, USING "###.##", M6 1080 LET C%=C%+1 1090 IF M7$=SPACE$(5) OR VAL(M7$)=0 GOTO 1160 1100 LET M0$="MISCELLANEOUS " 1110 PRINT #2, SPACE$(23)+M0$+SPACE$(10); 1120 LET M7=VAL(M7$)/100 1130 LET D=D+M7 1140 PRINT #2, USING "###.##",M7 1150 LET C%=C%+1 1160 IF C%=15 GOTO 1200 1170 PRINT #2, SPACE$(78) 1180 LET C%=C%+1 1190 GOTO 1160 1200 LET L6=L5-D 1210 PRINT #2, SPACE$(51); 1220 PRINT #2, USING "###.## ####.##",D,L6 1230 LET C%=C%+1 1240 LET N1=VAL(N1$)/100 1250 LET N3=VAL(N3$)/100 1260 LET N4=VAL(N4$)/100 1270 LET N5=VAL(N5$)/100 1280 PRINT #2, SPACE$(78) !TO BE REPLACED WITHYTD TOTALS 1290 LET C%=C%+1 1300 IF C%=19 GOTO 1330 1310 PRINT #2, SPACE$(78) 1320 GOTO 1290 1330 PRINT #2, SPACE$(11); 1331 LET M9=M9/100 1332 LET N9=N1-(M9+N3+N4+N5) 1334 PRINT #2, USING "##,###.## #,###.## #,###.## ###.## #,###.## ##,###.##", N1,N3,N4,N5,M9,N9 1336 LET C%=C%+1 1337 IF C%=28 GOTO 1340 1338 PRINT #2, SPACE$(78) 1339 GOTO 1336 1340 PRINT #2, SPACE$(19)+F$+SPACE$(9)+G$+SPACE$(7)+ DATE$(0) 1350 LET C%=C%+1 1360 IF C%=32 GOTO 1410 1370 PRINT #2, SPACE$(78) 1380 GOTO 1350 1410 PRINT #2, SPACE$(45); 1420 IF L56 GOTO 1720 1690 LET X1$=MID(X9$,N,A) 1700 LET M=6-A 1710 RETURN 1720 IF LEFT(X9$,1)<>" " THEN STOP 1730 LET N=N+1 1740 LET A=A-1: GOTO 1680 1750 LET C9$(Y%)="9999999"+SPACE$(24) 1760 CLOSE 1,2,5 1770 END