EXTERNAL TIME INTEGER S1,IXTA,TIME EXTERNAL S1,IXTA INTEGER M,D,Y INTEGER REC9,LSTDAY, * RECORD(14,6),FRSTRE(14,6), * RECPOS,I,LSTACT C STATEMENT FUNCTIONS ARE: INTEGER POS POS(I1)=MOD(I1,6)+1 C C DEFINE FILE 9 (400,85,U,REC9) C 50 CONTINUE REC9=1 READ (9'REC9) RECPOS,FRSTRE REC9=RECPOS/6+1 READ (9'REC9) RECPOS,RECORD LSTDAY=RECORD(2,POS(RECPOS)) WRITE (4,1) (RECORD(I,POS(RECPOS)),I=1,14) LSTACT=IXTA(S1(RECORD(4,POS(RECPOS)))) C READ THE NEXT ENTRY RECPOS=RECPOS+1 CALL DATE (M,D,Y) @ GET TODAYS DATE IN INTEGERS IF (M.GE.1.AND.M.LE.12) GOTO 10 @ TEST FOR AN VALID DATE WORD WRITE (4,4) @ NO VALID DATE, SO WE TAKE NO ACTION STOP 20 CONTINUE WRITE (4,5) GOTO 50 30 CONTINUE WRITE (4,6) STOP 10 CONTINUE CALL ADATE (RECORD(1,POS(RECPOS))) WRITE (4,2) (RECORD(I,POS(RECPOS)),I=1,3) READ (4,3) (RECORD(I,POS(RECPOS)),I=4,14) NXTACT=IXTA(S1(RECORD(4,POS(RECPOS)))) IF (LSTACT.EQ.NXTACT) GOTO 20 IF (NXTACT.NE.IXTA(S1(1HA)).AND. * NXTACT.NE.IXTA(S1(1HE))) GOTO 20 IF (NXTACT.EQ.IXTA(S1(1HE)).AND.LSTDAY.NE.RECORD(2,POS(RECPOS))) * GOTO 30 REC9=RECPOS/6+1 WRITE (9'REC9) RECPOS,RECORD IF (REC9.EQ.2) STOP REC9=1 WRITE (9'REC9) RECPOS,FRSTRE STOP 1 FORMAT (/,1X,A2,1H/,A2,3H/19,A2,1X,10A6,A4) 2 FORMAT (1X,A2,1H/,A2,3H/19,A2,1H:,$) 3 FORMAT (11A6) 4 FORMAT (' BAD DATE TODAY - NO ENTRY DONE') 5 FORMAT (' BAD ACTION - REPEAT') 6 FORMAT (' BAD DATE FOR ',3H'E',' ACTION - NO ENTRY DONE') END