10 REM- PROGRAM NAME- EXPX44 20 REM- PROGRAM COMPUTES PAYROLL AMOUNTS BASED ON NUMBER OF HOURS WORKED. IT ALSO GENERATES PAYROLL TRANSACTIONS TO UPDATE GENERAL LEDGER. 30 OPEN "DF:TRANS.PAY" AS FILE 4 40 DIM #4, T$(1000)=46 50 OPEN "DF:EMPLOY.MST" AS FILE 2 60 DIM #2, E$(500)=255 70 OPEN "CR:" FOR INPUT AS FILE 3 80 LET G0$=" " 90 LET J%=1 100 LET L1$="000000" 110 LET X%=1 120 FIELD #3, 80 AS F$ 130 ON ERROR GOTO 1290 140 GET #3 !READ TIME CARD 150 LET G$=MID(F$,4,3) !EMPLOYEE NUMBER 160 IF G$>MID(E$(X%),4,3) GOTO 1160 170 IF G$3 THEN GOSUB 1070 420 LET M=3-A 430 LET H9$=SPACE$(M)+X1$ 440 LET O9=O9+(INT(O/10)) !DROP HUNDRETHS POS 450 LET X9$=NUM$(O9) 460 GOSUB 1350 470 IF LEN(X1$)>3 THEN GOSUB 1070 480 LET M=3-A 490 LET O9$=SPACE$(M)+X1$ 500 LET O=VAL(O$) 510 LET P=VAL(MID(E$(X%),31,4)) !GET HOURLY RATE 520 LET P1=(P*H)+INT(1.5*(P*O)) !REG + OVRTIME 530 LET P1=INT(P1/100) 540 IF R1$=SPACE$(7) THEN LET R1$=I$ 550 IF I$<>R1$ GOTO 730 560 LET P9=P1+VAL(L1$) 570 LET X9$=NUM$(P9) 580 GOSUB 1350 590 LET M=6-A 600 LET L1$=SPACE$(M)+X1$ 660 LET X9$=NUM$(P1): GOSUB 1350 670 LET M=7-A 680 LET T9$=SPACE$(M)+X9$ 690 LET T$(J%)=R1$+T5$+T9$+SPACE$(5) 700 LET J%=J%+1 710 LET E$(X%)=MID(E$(X%),1,28)+"1"+MID(E$(X%),30,15)+L1$+ MID(E$(X%),51,129)+R1$+R2$+R3$+S1$+S2$+S3$+T1$+T2$+ T3$+H9$+O9$+MID(E$(X%),243,13) 720 GOTO 140 730 IF S1$=SPACE$(7) THEN LET S1$=I$ 740 IF I$<>S1$ GOTO 900 750 LET P9=P1+VAL(L1$) 760 LET X9$=NUM$(P9) 770 GOSUB 1350 780 LET M=6-A 790 LET L1$=SPACE$(M)+X1$ 850 LET X9$=NUM$(P1): GOSUB 1350 860 LET M=7-A 870 LET T9$=SPACE$(M)+X9$ 880 LET T$(J%)=S1$+T5$+T9$+SPACE$(5) 890 GOTO 700 900 IF T1$=SPACE$(7) THEN LET T1$=I$ 910 IF T1$<>I$ GOTO 1130 920 LET P9=VAL(L1$)+P1 930 LET X9$=NUM$(P9) 940 GOSUB 1350 950 LET M=6-A 960 LET L1$=SPACE$(M)+X1$ 1020 LET X9$=NUM$(P1): GOSUB 1350 1030 LET M=7-A 1040 LET T9$=SPACE$(M)+X9$ 1050 LET T$(J%)=T1$+T5$+T9$+SPACE$(5) 1060 GOTO 700 1070 LET N=1: LET A=LEN(X1$) 1080 IF A>3 GOTO 1100 1090 RETURN 1100 LET N=N+1: LET A=A-1 1110 LET X1$=MID(X1$,N,A) 1120 GOTO 1080 1130 PRINT "ACCOUNT #"+I$;" CANNOT BE FOUND FOR "+ MID(F$,1,6) 1140 STOP 1150 GOTO 710 1160 LET X%=X%+1 1170 LET L1$="000000" 1180 GOTO 160 1190 LET N=1 1200 IF A>5 GOTO 1240:LET X1$=MID(X9$,N,A) 1210 LET M=5-A 1220 IF A>5 THEN LET M=0 1230 RETURN 1240 IF LEFT(X9$,1)<>" " THEN STOP 1250 LET N=N+1 1260 LET A=A-1: GOTO 1200 1270 PRINT "CANNOT FIND MASTER REC FOR ID # ";G$ 1280 GOTO 140 1290 IF ERR=11 GOTO 1400 1300 IF ERR<>14 GOTO 1330 1310 SLEEP(15) 1320 RESUME 1330 PRINT "ERR0R =";ERR 1340 STOP 1350 LET A=LEN(X9$) 1360 LET A=A-1 1370 LET X1$=MID(X9$,1,A) 1380 LET M=5-A 1390 RETURN 1400 LET T$(J%)="9999999"+SPACE$(34)+"99999" 1410 CLOSE 2,3,4 1420 CHAIN "EXP051" 1430 END