2 ! MOVES PAYROLL MST, MDR, AND DED FILES TO PRYSUM DISK. 5 ! PROGRAM NAME:"MSTYSM" - BY JAC 8 ON ERROR GO TO 200 10 PRINT "**BE SURE**":PRINT "THAT THE MONTHLY PAYROL DISK IS ON DRIVE 1 ": PRINT "AND PRYSUM IS ON DRIVE 2":INPUT "READY? - Y OR N";A$:STOP IF A$<>"Y" 15 OPEN "DK1:PAYROLL.MST" AS FILE 1%:GET #1%,RECORD 376%: FIELD #1%,128% AS E$,2% AS M$:M%=SWAP%(CVT$%(M$)):W%=1%:B%=376% 20 OPEN "DK1:PAYROL.MDR" AS FILE 2%:GET #2%,RECORD 376%:FIELD #2%,136% AS E$, 8% AS D$:D8$=D$+"":D%=VAL(LEFT(D8$,2%)):P%=(D%-W%)*128% 25 OPEN "DK2:PAYROL.MST" AS FILE 3%:GET #3%:FIELD #3%,2% AS N$:N%=CVT$%(N$): B2%=W% 30 OPEN "DK2:PAYROL.YDR" AS FILE 4%,RECORDSIZE 1536%:I%=N%:Z%=0% 35 FOR K%=M% TO W% STEP -1%:B1%=K%/4%+W%:IF B1%<>B% THEN GET #W%,RECORD B1%: GET #2%,RECORD B1%:B%=B1% 40 B3%=I%/4%+W%:IF B3%<>B2% OR B2%<>B7% THEN GET #3%,RECORD B3%:B2%=B3% 45 O%=(K%-(B%-W%)*4%)*128%:O1%=(I%-(B2%-1%)*4%)*128%:FIELD #W%,O%+38% AS E$, 4% AS E1$:FIELD #3%,O1%+38% AS E$,4% AS E2$:E3$=E1$+"":E4$=E2$+"" 48 B7%=B%:GET #3%,RECORD B% IF B%<>B2% 50 FIELD #3%,O% AS E$,128% AS M$:FIELD #W%,O% AS E$,128% AS M1$:LSET M$=M1$: PUT #3%,RECORD B%:GOTO 60 IF E4$E3$ THEN PRINT "ERROR",E4$,E3$:STOP 55 GET #4%,RECORD 3%*I%+W%:FIELD #4%,P% AS E$,128% AS L$:FIELD #2%,O% AS E$, 128% AS L1$:LSET L$=L1$:PUT #4%,RECORD 3%*K%+W%:I%=I%-W%:GOTO 65 60 FIELD #4%,P% AS P$,128% AS L$:FIELD #2%,O% AS E$,128% AS L1$:LSET L$=L1$: LSET P$="":PUT #4%,RECORD 3%*K%+W% 65 NEXT K%:GET #3%,RECORD W%:FIELD #3%,2% AS N$:LSET N$=CVT%$(M%):PUT #3%, RECORD W% 70 GET #4%,RECORD W%:FIELD #4%,P% AS E$,8% AS D$:LSET D$=D8$:PUT #4%,RECORD W%: CLOSE 1%,2%,3%,4% 75 OPEN "DK1:PAYROL.DED" AS FILE 1%:DIM #1%,D$(30%)=32%,D%(0%):N%=D%(0%): OPEN "DK2:PAYROL.DED" AS FILE 2%:DIM #2%,D1$(30%)=32%:D1$(0%)=CVT%$(N%): D1$(K%)=D$(K%) FOR K%=1% TO N% 80 CLOSE 1%,2%: PRINT "TRANSFER COMPLETE" : STOP 200 IF ERR=11% THEN IF ERL=48% THEN RESUME 50 ELSE FIELD #3%,2% AS N$,36% AS E$ ,4% AS L$:N%=0%:LSET L$="0000":B2%=W%:PUT #3%,RECORD W%:RESUME 30 205 ON ERROR GOTO 0 210 END