10! DEDUCTION AMOUNT CHANGES 20! PROGRAM NAME: DAC BY CWR 21 F$="#,###.##" 22 F1$="### "+F$+" "+F$ 23 B2%=4%:B3%=512%/B2%:W%=0%:N1%=1% 40 OPEN "KB:" AS FILE 2% 45 OPEN "DK1:PAYROL.MDR" AS FILE 1% 50 GET #1%, RECORD 376%: FIELD # 1%, 128% AS D$,2% AS I$ 60 M%=SWAP%(CVT$%(I$)):GET #1%,RECORD 1% 61 PRINT M%:STOP 100 INPUT "DEDUCTION CODE",C$:PRINT "DEDUCTION CODE IS ";C$;:INPUT " OK (YES)",I$:IF I$<>"YES" THEN 100 110 Z$=SYS(CHR$(3%)):DIM P(11%),R(11%):K0%=100% 120 PRINT "ENTER AMOUNTS WITH NO DECIMAL THEN TYPE END IF LESS THAN 12 ITEMS" 130 PRINT " # PRESENT AMOUNT REPLACE WITH:" 140 FOR I%= 0% TO 11%: GOSUB 8150 150 IF I$="END" THEN 200 160 NEXT I% 200 PRINT "IF ANY CHANGES TYPE ITEM # ELSE TYPE END" 210 INPUT #2%,I$:IF I$="END" THEN 250 ELSE I%=VAL(I$)-1% 220 GOSUB 8150: GOTO 210 250 PRINT:FOR S%=0% TO 11%:IF P(S%)=0% THEN S%=S%-1%:GOTO 265 260 PRINT USING F1$,S%+1%,P(S%)/K0%,R(S%)/K0%:NEXT S% 265 IF S%<0% THEN 100 270 INPUT "OK (YES)",I$:IF I$<>"YES" THEN 200 280 PRINT:PRINT 300 FOR J%=1% TO M%: GOSUB 3000 :N%=N%-1% 310 FOR I1%=0% TO N% 315 IF D$(I1%)<>C$ THEN 380 ELSE D1=VAL(D1$(I1%)) 320 FOR I%=0% TO S%:IF D1<>P(I%) THEN 370 ELSE W%=1% 330 IF R(I%)<>0% THEN 360 ELSE LSET N$=MID(NUM$(N%),2%,1%):N%=N%-1% 340 FOR I2%=I1% TO N %:LSET D$(I2%)=D$(I2%+1%):LSET D1$(I2%)=D1$(I2%+1%):NEXT I2% 350 LSET D$(N%+1%)=" ": LSET D1$(N%+1%)=" ":GOTO 315 360 R$=NUM$(R(I%)):RSET D1$(I1%)=LEFT (R$,LEN(R$)-1%):GOTO 380 370 NEXT I% 380 NEXT I1% 390 NEXT J% 400 GOTO 9000 3000 B1%=FIX(J%/B2%):O%=J%-B1%*B2%:B1%=B1%+1% 3010 IF B1%=N1% THEN 3030 ELSE IF W%=1% THEN PUT #1%,RECORD N1%:W%=0% 3020 GET #1%,RECORD B1%:N1%=B1% 3030 D1%=O%*B3%: IF D1%=D% THEN 3060 ELSE D%=D1% 3040 FIELD #1%,D%+47% AS D$,1% AS N$:N%=VAL(N$) 3050 FIELD #1%,D%+56%+I1%*8% AS D$,2% AS D$(I1%),6% AS D1$(I1%) FOR I1%=0% TO N%-1% 3060 RETURN 8150 PRINT I%+1%; TAB(10%);: INPUT #2%,I$ 8160 IF I$="END" THEN 8180 ELSE P(I%)=VAL(I$):PRINT USING F$,P(I%)/K0%;:PRINT TAB(23%);:INPUT #2%,I$ 8170 R(I%)=VAL(I$): PRINT USING F$, R(I%)/K0% 8180 RETURN 9000 Z$=SYS(CHR$(2%)) 9005 IF W%=1% THEN PUT #1%,RECORD N1% 9010 PRINT "END OF RUN" 9020 CLOSE 1%,2% 9030 END