SUBROUTINE PASS2 INTEGER RCOUNT INTEGER RTYPE INTEGER RSTYPE INTEGER RTMAX INTEGER RSZMAX INTEGER RECORD (41) INTEGER RSIZE INTEGER RSIZES (20) INTEGER ICLP02 COMMON /RECORD/ RCOUNT COMMON /RECORD/ RTYPE COMMON /RECORD/ RSTYPE COMMON /RECORD/ RTMAX COMMON /RECORD/ RSZMAX COMMON /RECORD/ RECORD COMMON /RECORD/ RSIZE COMMON /RECORD/ RSIZES COMMON /RECORD/ ICLP02 LOGICAL MPFLAG LOGICAL OVMODE LOGICAL LBMODE LOGICAL LOADRB LOGICAL SFLAG INTEGER VERS INTEGER LOADAD INTEGER ZLOC, ZSTR, ZMAX, ZLIMIT INTEGER CLOC, CSTR, CMAX, CLIMIT INTEGER NLOC, NSTR, NMAX, NLIMIT INTEGER DLOC, DSTR, DMAX, DLIMIT INTEGER OLOC, OMAX, OSET INTEGER START INTEGER MODNLX INTEGER CKSUM INTEGER KEY INTEGER ICLP05 COMMON /LDATAX/ MPFLAG COMMON /LDATAX/ OVMODE COMMON /LDATAX/ LBMODE COMMON /LDATAX/ LOADRB COMMON /LDATAX/ SFLAG COMMON /LDATAX/ VERS COMMON /LDATAX/ LOADAD COMMON /LDATAX/ ZLOC, ZSTR, ZMAX, ZLIMIT COMMON /LDATAX/ CLOC, CSTR, CMAX, CLIMIT COMMON /LDATAX/ NLOC, NSTR, NMAX, NLIMIT COMMON /LDATAX/ DLOC, DSTR, DMAX, DLIMIT COMMON /LDATAX/ OLOC, OMAX, OSET COMMON /LDATAX/ START COMMON /LDATAX/ MODNLX COMMON /LDATAX/ CKSUM COMMON /LDATAX/ KEY COMMON /LDATAX/ ICLP05 INTEGER ECODE INTEGER CMCHAN INTEGER RBCHAN INTEGER OBCHAN INTEGER MPCHAN INTEGER DBCHAN INTEGER TTYIN INTEGER TTYOUT COMMON /IODEFN/ ECODE COMMON /IODEFN/ CMCHAN COMMON /IODEFN/ RBCHAN COMMON /IODEFN/ OBCHAN COMMON /IODEFN/ MPCHAN COMMON /IODEFN/ DBCHAN COMMON /IODEFN/ TTYIN COMMON /IODEFN/ TTYOUT INTEGER CMFILE (16) INTEGER RBFILE (16) INTEGER OBFILE (16) INTEGER MPFILE (16) INTEGER DBFILE (16) INTEGER TIFILE (3) INTEGER ICLP03 COMMON /FILES / CMFILE COMMON /FILES / RBFILE COMMON /FILES / OBFILE COMMON /FILES / MPFILE COMMON /FILES / DBFILE COMMON /FILES / TIFILE COMMON /FILES / ICLP03 LOGICAL ERX, EOF, KEYWD INTEGER I, DUMMY C WRITE (DBCHAN, 1) C 1FORMAT (' ENTER PASS2') CALL I2PASS CONTINUE 13000 CONTINUE CALL GETFL (ERX, EOF) IF (ERX) GO TO 9998 IF (EOF) GO TO 9999 IF (.NOT. (KEYWD(DUMMY)))GO TO 13002 CALL WRLIN (MPCHAN, RBFILE, 28) GO TO 13000 13002 CONTINUE CALL OPENF (RBCHAN, RBFILE, ECODE) IF (.NOT. (ECODE.NE.1))GO TO 13004 CALL ERROR(3) GO TO 13000 13004 CONTINUE C WRITE (DBCHAN, 2) (RBFILE(I), I=1,7) C 2FORMAT (' IN PASS2 AFTER OPEN ', 7A2) CONTINUE 13006 CONTINUE CALL GRCORD (ERX, EOF) IF (ERX) GO TO 9996 IF (EOF) GO TO 9997 IF (.NOT. (RTYPE.NE.1 .AND. RTYPE.NE.2 .AND. .NOT.LOADRB))GO TO 13 1008 GO TO 13006 13008 CONTINUE IF (RTYPE.NE.3) CALL CHCKER C WRITE (DBCHAN, 3) RTYPE, RSTYPE C 3FORMAT (' IN PASS2; RTYPE= ', I6, ' RSTYPE= ', I6) GOTO (100,200,300,400,500,600,700,800,900,1000,1100,1200,1300,1400 1,1500,1600,1700,1800,1900,2000) RTYPE 100 CALL T01P2 GO TO 13006 200 CALL T02P2 GO TO 13006 300 CALL T03P2 GO TO 13006 400 CALL T04P2 GO TO 13006 500 CALL T05P2 GO TO 13006 600 CALL T06P2 GO TO 13006 700 CALL T07P2 GO TO 13006 800 CALL T08P2 GO TO 13006 900 CALL T09P2 GO TO 13006 1000 CALL T10P2 GO TO 13006 1100 CALL T11P2 GO TO 13006 1200 CALL T12P2 GO TO 13006 1300 CALL T13P2 GO TO 13006 1400 CALL T14P2 GO TO 13006 1500 CALL T15P2 GO TO 13006 1600 CALL T16P2 GO TO 13006 1700 CALL T17P2 GO TO 13006 1800 CALL T18P2 GO TO 13006 1900 CALL T19P2 GO TO 13006 2000 CALL T20P2 GO TO 13006 9996 CALL ERROR (7) 9997 CALL CLOSF (RBCHAN, ECODE) IF (ECODE.NE.1) CALL ERROR (3) GO TO 13000 9998 CONTINUE 9999 CONTINUE CALL PUNCH (0, 0, 0) C WRITE (DBCHAN, 4) C 4FORMAT (' EXIT PASS2') RETURN END