plato:source:plaopl:datescn
Table of Contents
DATESCN
Table Of Contents
Source Code
- DATESCN.txt
- DATESCN
- PROGRAM DATESCN(INPUT,OUTPUT,TAPE1,TAPE4)
- **
- * TAPE1 = MONTHLY ACCOUNT FILE TO BE SEARCHED
- * TAPE4 IS AN OUTPUT FILE ON WHICH TO STORE THE
- * BEGINNING AND END DATES FOR EACH RECORD IN THE
- * MONTHLY ACCOUNT FILE
- *
- * SEENBEG = TRUE IF *ABSY* OR *ARSY* HAS BEEN FOUND
- * SINCE THE LAST TIME *AESY* WAS FOUND
- *
- IMPLICIT INTEGER (A-Z)
- LOGICAL SEENBEG
- DIMENSION ICARD(4)
- * WRITE OUT A HEADER
- WRITE(4,101)
- 101 FORMAT(*BILLING CYCLE DATES*)
- *
- SEENBEG=.FALSE.
- ICARD(4)=0
- * READ NEXT RECORD IN THE ACCOUNT FILE; EXIT IF END OF FILE
- 111 READ(1,112) (ICARD(I),I=1,3)
- 112 FORMAT(A10,10X,A4,3X,A10)
- IF(EOF(1)) 500,200
- *
- * CODE FOR ABSY
- *
- 200 IF(ICARD(2).NE.10LABSY ) GOTO 300
- * IF TWO CONSECUTIVE, THEN NEED TO FAKE AESY
- IF(.NOT.SEENBEG) GOTO 201
- WRITE (4,210) ICARD(1),ICARD(3),10LAESY
- 201 WRITE (4,210) ICARD(1),ICARD(3),ICARD(2)
- 210 FORMAT(A10,1X,A8,1X,A4)
- SEENBEG=.TRUE.
- CALL REMARK(ICARD(3))
- GOTO 111
- *
- * CODE FOR AESY
- *
- 300 IF(ICARD(2).NE.10LAESY ) GOTO 400
- WRITE (4,210) ICARD(1),ICARD(3),ICARD(2)
- SEENBEG=.FALSE.
- GOTO 111
- *
- * CODE FOR ARSY
- *
- 400 IF(ICARD(2).NE.10LARSY ) GOTO 111
- * ONLY CARE ABOUT ARSY IF ABSY NOT SEEN AS THIS MEANS THAT
- * THE ABSY WAS LOST
- IF(SEENBEG) GOTO 111
- ICARD(3)=ICARD(3).AND.74777777777777777777B
- ICARD(3)=ICARD(3).OR.05000000000000000000B
- WRITE (4,401) ICARD(1),ICARD(3),ICARD(2)
- 401 FORMAT(A10,1X,R8,1X,A4)
- SEENBEG=.TRUE.
- CALL REMARK(ICARD(3))
- GOTO 111
- *
- * WRITE ENDING INFORMATION AND THEN EXIT
- *
- 500 WRITE(4,501)
- 501 FORMAT(X,*END OF FILE*)
- END
plato/source/plaopl/datescn.txt ยท Last modified: 2023/08/05 18:54 by Site Administrator