*DECK HPA39 
      OVCAP.
      SUBROUTINE HPA39
  
***   HPA39   CONTROL PROGRAM FOR SECONDARY OVERLAY (3,9) 
*             FOR PROCESSING OF LOOSELY COUPLED NETWORK MESSAGES
* 
*     ENTRY CONDITIONS
*             1) AN LCN RECORD RESIDES IN IFLD AWAITING PROCESSING
*             2)  EXIT3F HAS TO BE ZERO IN ORDER TO PROCESS LCN DATA
* 
*     DATA AREAS USED 
* 
*     /COMW/  IFLD
* 
*             IFLD CONTAINS THE FOLLOWING FOR ALL LCN RECORDS 
* 
* SEF HEADER   1  SYSTEM OF ORIGIN (UPPER BIT SET = NOS/BE) 
*              2  RECORD TYPE (74B, 75B OR 76B) 
*              3  PRIMARY CHANNEL TO CYBER HOST NAD 
*              4  EQUIPMENT ID (= ZERO) 
*              5  UNIT ID (= ZERO)
*              6  YEARS IN OCTAL
*              7  JULIAN DATE 
*              8  ERROR CODE
*              9  TIME OF JOB..HH 
*             10  TIME OF JOB..MM 
*             11  TIME OF JOB..SS 
*             12  CHANNEL USED AT TIME OF ERROR 
*             13  PPU NUMBER
*             14  ALTERNATE CHANNEL (= ZERO)
*             15  EST ORDINAL (= HUI) 
*             16  RECOVERED/UNRECOVERED BIT 
*             17  DEVICE TYPE (= NC)
*             18  JOBNAME 
*             19  HUI 
*             20  TIME (ENCODED FOR PRINT)
* BML HEADER  21  MSGID 
*             22  SYMPTOM CODE
*             23  N1 - PPU
*             24  N2 - CHL
*             25  N3, N4, N5, N6
*             26  EST 
*             27  RETRY 
*             28  FLAGS 
*             29  CHR 
*             30  MFID
*             31  RFU AND HUI 
* 
*CALL HPACOM1 
  
      IF (FROG(6) .NE. L"T") GO TO 10 
      CALL SECOND (CP)
      PRINT 9,CP
    9 FORMAT ( ' ENTER HPA39, SECOND = ',F10.3) 
   10 CONTINUE
  
* 
*     CALL APPROPRIATE SUBROUTINE TO PROCESS THIS LCN MESSAGE RTY 
* 
*     LCN STATISTICS/DETAIL STATUS TABLE - RTY 74B, EC=60B
      IF (RTY .NE. O"74") GO TO 100 
   50 CONTINUE
      CALL LCNSTAT
  
*     LCN ERRORS
  100 IF ((RTY .NE. O"75") .AND. (RTY .NE. O"76")) GO TO 900
      CALL AN9NC3 
      IF (RTY .EQ. O"74") GO TO 50
  
  900 CONTINUE
      END 
      SUBROUTINE AN9NC3 
  
*CALL HPACOM1 
*CALL HPACOM2 
  
      CALL LOVCAP ('ACCUM3')
  
   10 CALL INISET3
  
      IHDR = 10 
      SAVEORD = TYPORD
      TYPORD = 10HHUI 
      ICNTFLG = 0 
  
*     SET UP DETAIL HEADERS 
      IBUMP = 0 
      IF (FROG(18) .EQ. 3HOFF) IBUMP = 1
      MPR(1,1) = O"1200"
      MPR(1,2) = 25 
      MPR(2,1) = O"1257"
      MPR(2,2) = 21 
      MPR(3,1) = O"1277"
      MPR(3,2) = 23 
      MPR(4,1) = O"4100"
      MPR(4,2) = 9 + IBUMP
      MPR(5,1) = O"4106"
      MPR(5,2) = 11 
      MPR(6,1) = O"4107"
      MPR(6,2) = 13 
      MPR(7,1) = O"4110"
      MPR(7,2) = 15 
      MPR(8,1) = O"4111"
      MPR(8,2) = 17 
      MPR(9,1) = O"4112"
      MPR(9,2) = 19 
      MPR(10,1) = O"4113" 
      MPR(10,2) = 11
  
  100 IF (RCFA .EQ. 2HON) CALL STOJN3 
  
      HDATA(1) = SEBUF(27)
      HDATA(2) = SEBUF(28)
      HDATA(3) = SEBUF(29)
      IF (RTY .EQ. O"76") GO TO 400 
  
*     PROCESS ERROR LOG MESSAGES
      IF (MTY .EQ. O"4112") HCF(2) = 20 
*     OBTAIN NAD, DI TYPE AND CONTROLWARE REVISION
      TYPID = IFLD(25) .AND. O"377" 
      HDATA(4) = (SHIFT(IFLD(25),-8) .AND. O"377")
      HDATA(5) = (SHIFT(IFLD(25),-16) .AND. O"377") 
*     OBTAIN SOURCE NAD ADDRESS 
      IFLD(39) = ((SHIFT(IFLD(39),4) .AND. O"360").OR.
     .            (IFLD(40) .AND. O"17")) 
      GO TO 500 
  
*     PROCESS LOCAL DI, PATH AND CONNECTION ERRORS
*     OBTAIN NAD AND CHANNEL
  400 TYPID = IFLD(35)
      HDATA(4) = IFLD(24) 
      IF ((MTY .GE. O"1201") .AND. (MTY .LE. O"1256")) HCF(2) = 3 
      IF ((MTY .GE. O"1260") .AND. (MTY .LE. O"1276")) HCF(2) = 4 
      IF (MTY .EQ. O"1200") HCF(2) = 5
      IF (HCF(2) .NE. 3) GO TO 402
      HDATA(1) = 10HDEVICE INT
      HDATA(2) = 10HERFACE - L
      HDATA(3) = 10HOCAL NAD
  402 IF (HCF(2) .NE. 4) GO TO 404
      HDATA(1) = 10HPATH ERROR
      HDATA(2) = 10HS - LOCAL 
      HDATA(3) = 10HNAD 
  404 CONTINUE
  
*     GENERATE THE DETAIL REPORT
  500 IF (RCFD .EQ. 2HON) CALL DL9NC3 (ICNTFLG,ICNT1ST,ICNT2ND) 
      IF (RCFA .EQ. 3HOFF) GO TO 600
  
*     SUM ERRORS BY HUI 
      RNAD = R"  "
      IF ((MTY .GE. O"1260") .AND. (MTY .LE. O"1277")) RNAD = IFLD(38)
      IF ((MTY .EQ. O"1200") .OR.  (MTY .EQ. O"4100")) RNAD = IFLD(38)
      ICOMBO = (SHIFT(TYPEST,12)) .AND. O"7777 0000" .OR. TYPID 
      ICOMBO = (SHIFT(ICOMBO,12)) .AND. O"7777 7777 0000" .OR. RNAD 
      CALL ACCUM3 (ICOMBO,1)
  
*     READ THHE NEXT RECORD 
  600 CONTINUE
      CALL GNR3 
      CALL SETEM3(1)
  
*     CHECK FOR CONNECTION REPEAT MSG WHEN EOF, NEW MTY OR HUID/NAD/CH
      IF (ICNTFLG .EQ. 0) GO TO 610 
      IF ((MTY.EQ.O"1200") .AND. (IFLD(FEST).EQ.PREC(FEST)) .AND. 
     .    (IFLD(35).EQ.PREC(35)) .AND. (IFLD(24).EQ.PREC(24)) .AND. 
     .    (TWIC .GT. 0)) GO TO 610
      PRINT 604,ICNT1ST,ICNT2ND,ICNTFLG 
  604 FORMAT(2X,A8,3H - ,A8,' PRECEDING MESSAGE REPEATED',I4,'  TIMES', 
     ./)
      LINE = LINE + 2 
      ICNTFLG = ICNT1ST = ICNT2ND = 0 
  
*     CHECK FOR RECORD CHANGE 
  610 CONTINUE
      IF (((IFLD(FDT) .EQ. R"NC") .AND. (IFLD(FEST) .EQ. PREC(FEST))) 
     ..AND.(TWIC .NE. 0)) GO TO 100 
  
*     CHECK FOR ANALYSIS REPORT 
      IF (RCFA .EQ. 3HOFF) GO TO 800
  
*     GENERATE AN ANALYSIS REPORT 
      CALL XOVCAP ('ERDIST3',0,0) 
      CALL UOVCAP ('ERDIST3') 
  
*     PRINT SUMMARY OF ERRORS BY HUI
      HDATA(1) = 10HHUI....NAD
      HDATA(2) = 10H...REM NAD
      CALL PLSEC(4) 
      CALL XOVCAP ('PRSUM3',1,15) 
      CALL UOVCAP ('PRSUM3')
  
  
  800 TYPORD = SAVEORD
      IF (((RTY .EQ. O"75") .OR. (RTY .EQ. O"76")) .AND.
     .     (TWIC .GT. 0)) GO TO 10
  
      CALL UOVCAP ('ACCUM3')
  
      RETURN
      END 
      SUBROUTINE DL9NC3 (ICNTFLG,ICNT1ST,ICNT2ND) 
  
*CALL HPACOM1 
*CALL HPACOM2 
  
      DIMENSION TRNKMSG(3,7), GATEMSG(2,8), GATEFC(2,6), IDEAD(4,161) 
      DIMENSION ICNTFLD (10)
      DIMENSION HWSTAT(2,9), PCT(3,30), PCT2(2,6,9) 
  
*     TRUNK ERROR LOG MESSAGES
      DATA (TRNKMSG(I,1),I=1,3,1)/
     .10HGARBLED RE,10HSP FROM RE,10HMOTE NAD  /
      DATA (TRNKMSG(I,2),I=1,3,1)/
     .10HNO RESPONS,10HE FROM REM,10HOTE NAD   /
      DATA (TRNKMSG(I,3),I=1,3,1)/
     .10HLOCAL TCI/,10HTCU PROBLE,10HM         /
      DATA (TRNKMSG(I,4),I=1,3,1)/
     .10HREMOTE NAD,10H HARDWARE/,10HFCS ERR   /
      DATA (TRNKMSG(I,5),I=1,3,1)/
     .10HREMOTE PRO,10HC NOT RUNN,10HING/ABN   /
      DATA (TRNKMSG(I,6),I=1,3,1)/
     .10HNO RESPONS,10HE FROM REM,10HOTE PROC  /
      DATA (TRNKMSG(I,7),I=1,3,1)/
     .10HLOCAL TCU ,10HOFF-LINE  ,10H          /
  
*     HARDWARE STATUS INTERPRETATION FOR LOCAL DI ERRORS
      DATA (HWSTAT(I,1),I=1,2,1) / 10HCHANNEL PA,10HRITY      / 
      DATA (HWSTAT(I,2),I=1,2,1) / 10HNAD PROC N,10HOT RUNNING/ 
      DATA (HWSTAT(I,3),I=1,2,1) / 10HNAD PROC A,10HBNORMAL   / 
      DATA (HWSTAT(I,4),I=1,2,1) / 10HMEMORY PAR,10HITY       / 
      DATA (HWSTAT(I,5),I=1,2,1) / 10HILLEGAL FU,10HNCTION    / 
      DATA (HWSTAT(I,6),I=1,2,1) / 10HDEVICE ENB,10HL SWIT OFF/ 
      DATA (HWSTAT(I,7),I=1,2,1) / 10HCHANNEL SE,10HQUENCE    / 
      DATA (HWSTAT(I,8),I=1,2,1) / 10HASSEMBLY/D,10HISASSEMBLY/ 
      DATA (HWSTAT(I,9),I=1,2,1) / 10HRESIDUE DA,10HTA        / 
*     GATEWAY GENERIC ERROR TYPES 
      DATA (GATEMSG(I,1),I=1,2,1)/
     .10HTX FATAL E,10HRROR      /
      DATA (GATEMSG(I,2),I=1,2,1)/
     .10HTX QUICKLO,10HOK ERROR  /
      DATA (GATEMSG(I,3),I=1,2,1)/
     .10HTX QWIKLK ,10HLOOPBACK  /
      DATA (GATEMSG(I,4),I=1,2,1)/
     .10HTX NONFATA,10HL ERROR   /
      DATA (GATEMSG(I,5),I=1,2,1)/
     .10HRX FATAL E,10HRROR      /
      DATA (GATEMSG(I,6),I=1,2,1)/
     .10HRX QUICKLO,10HOK ERROR  /
      DATA (GATEMSG(I,7),I=1,2,1)/
     .10HRX NONFATA,10HL ERROR   /
      DATA (GATEMSG(I,8),I=1,2,1)/
     .10HUNIDENTIFI,10HED ERROR  /
  
*     GATEWAY DIAGNOSTIC FUNCTION CODES 
      DATA (GATEFC(I,1),I=1,2,1)/ 
     .10HHW MASTER ,10HCLEAR     /
      DATA (GATEFC(I,2),I=1,2,1)/ 
     .10HCLEAR GATE,10HWAY TRACE /
      DATA (GATEFC(I,3),I=1,2,1)/ 
     .10HDO FIRMWAR,10HE QWIK LK /
      DATA (GATEFC(I,4),I=1,2,1)/ 
     .10HDO TERMINA,10HL LOOPBACK/
      DATA (GATEFC(I,5),I=1,2,1)/ 
     .10HDO REMOTE ,10HDET STATUS/
      DATA (GATEFC(I,6),I=1,2,1)/ 
     .10HUNIDENTIFI,10HED FNCTION/
  
*     COMMON CONTROLWARE DISASTER ERROR CODES         / 
      DATA (IDEAD(I,1),I=1,4,1)/
     .Z"101",10HTCU SWITCH,10HTMISMATCH ,10H          / 
      DATA (IDEAD(I,2),I=1,4,1)/
     .Z"102",10HNAD SPECIF,10HED IS BAD ,10H          / 
      DATA (IDEAD(I,3),I=1,4,1)/
     .Z"103",10HTOO MANY B,10HUFFERS SPE,10HCIFIED    / 
      DATA (IDEAD(I,4),I=1,4,1)/
     .Z"104",10HTCU'S WON',10HT MASTER C,10HLEAR      / 
      DATA (IDEAD(I,5),I=1,4,1)/
     .Z"105",10HTCU DOESN',10HT RESP. TO,10H DIAG.    / 
      DATA (IDEAD(I,6),I=1,4,1)/
     .Z"106",10HPCT'S SPEC,10HIFIED BAD ,10HPARAM.    / 
      DATA (IDEAD(I,7),I=1,4,1)/
     .Z"107",10HNON-0 JUMP,10H FAILS(QUI,10HCK LK)    / 
      DATA (IDEAD(I,8),I=1,4,1)/
     .Z"108",10HPOS. JUMP ,10HFAILS(QUIC,10HK LK)     / 
      DATA (IDEAD(I,9),I=1,4,1)/
     .Z"109",10H0 JUMP FAI,10HLS(QUICK L,10HOOK)      / 
      DATA (IDEAD(I,10),I=1,4,1)/ 
     .Z"10A",10HTRUE JMP F,10HAILS(QUICK,10H LOOK)    / 
      DATA (IDEAD(I,11),I=1,4,1)/ 
     .Z"10B",10HFALSE JMP ,10HFAILS(QUIK,10H LOOK)    / 
      DATA (IDEAD(I,12),I=1,4,1)/ 
     .Z"10C",10HT2I INSTR.,10H FAILS(QWI,10HK LK)     / 
      DATA (IDEAD(I,13),I=1,4,1)/ 
     .Z"10D",10HCOMMAND FA,10HILS (QUICK,10H LOOK)    / 
      DATA (IDEAD(I,14),I=1,4,1)/ 
     .Z"10E",10HMEM. TEST ,10HFAILED(QUI,10HCK LK)    / 
      DATA (IDEAD(I,15),I=1,4,1)/ 
     .Z"10F",10HMINUS JMP ,10HFAILED(QUI,10HCK LK)    / 
      DATA (IDEAD(I,16),I=1,4,1)/ 
     .Z"110",10HDATA MISCO,10HMPARE-DIAG,10H. READ    / 
      DATA (IDEAD(I,17),I=1,4,1)/ 
     .Z"111",10HDIAG RD FA,10HIL-INIT CO,10HRE SZ     / 
      DATA (IDEAD(I,18),I=1,4,1)/ 
     .Z"201",10HNO NST DEF,10H. FOR CNCT,10HPATH      / 
      DATA (IDEAD(I,19),I=1,4,1)/ 
     .Z"202",10HILLEGAL MS,10HG TYPE MOD,10HIFIER     / 
      DATA (IDEAD(I,20),I=1,4,1)/ 
     .Z"204",10HBAD MSG OR,10H NO MSG QU,10HEUED      / 
      DATA (IDEAD(I,21),I=1,4,1)/ 
     .Z"206",10HILLEGAL ST,10HATE/CLARIF,10HIER       / 
      DATA (IDEAD(I,22),I=1,4,1)/ 
     .Z"207",10HBAD MSG ON,10H Q/MAINT. ,10HPATH      / 
      DATA (IDEAD(I,23),I=1,4,1)/ 
     .Z"208",10HATTMPT TO ,10HRELEASE Q-,10HED PCT    / 
      DATA (IDEAD(I,24),I=1,4,1)/ 
     .Z"209",10HISTATE ERR,10HOR        ,10H          / 
      DATA (IDEAD(I,25),I=1,4,1)/ 
     .Z"302",10HILLEGAL RE,10HQUEST CODE,10H          / 
      DATA (IDEAD(I,26),I=1,4,1)/ 
     .Z"303",10HINTERRUPT ,10HSTACK OVER,10HFLOW      / 
      DATA (IDEAD(I,27),I=1,4,1)/ 
     .Z"304",10HINTRPTD PG,10HM RUNS INH,10HIBITED    / 
      DATA (IDEAD(I,28),I=1,4,1)/ 
     .Z"305",10HATT TO SCH,10HED NON-EX ,10HSATEL     / 
      DATA (IDEAD(I,29),I=1,4,1)/ 
     .Z"306",10HTRY TO REL,10HEASE THREA,10HDED BF    / 
      DATA (IDEAD(I,30),I=1,4,1)/ 
     .Z"401",10HBUFFER REL,10HEASE PROBL,10HEM        / 
      DATA (IDEAD(I,31),I=1,4,1)/ 
     .Z"402",10HBUFR QUE-I,10HNG HANGS N,10HZ TRHD    / 
      DATA (IDEAD(I,32),I=1,4,1)/ 
     .Z"403",10HATT TO REL,10HEASE OWNED,10HPCT       / 
      DATA (IDEAD(I,33),I=1,4,1)/ 
     .Z"501",10HNO SYSTEM ,10HBUFFER AVA,10HILABLE    / 
      DATA (IDEAD(I,34),I=1,4,1)/ 
     .Z"503",10HBAD PATH S,10HTATE FOR D,10HISCON     / 
      DATA (IDEAD(I,35),I=1,4,1)/ 
     .Z"504",10HNO ROOM FO,10HR NAD STAT,10H TABLS    / 
      DATA (IDEAD(I,36),I=1,4,1)/ 
     .Z"505",10HTOP BUFR O,10HN RCV Q BA,10HD MSG     / 
      DATA (IDEAD(I,37),I=1,4,1)/ 
     .Z"506",10HPCT IN WRO,10HNG STAT-PU,10HRGE RT    / 
      DATA (IDEAD(I,38),I=1,4,1)/ 
     .Z"601",10HCONTRL PCK,10HG READ PAR,10HITY ER    / 
      DATA (IDEAD(I,39),I=1,4,1)/ 
     .Z"602",10HTCI FATAL ,10HHARDWARE E,10HRROR      / 
      DATA (IDEAD(I,40),I=1,4,1)/ 
     .Z"603",10HINTERRPTS ,10HDISABLD TO,10HO LONG    / 
      DATA (IDEAD(I,41),I=1,4,1)/ 
     .Z"604",10HLINE 2+5 U,10HP SIMULTAN,10HEOUSLY    / 
      DATA (IDEAD(I,42),I=1,4,1)/ 
     .Z"701",10HNO SYSTEM ,10HBUFFER AVA,10HILABLE    / 
      DATA (IDEAD(I,43),I=1,4,1)/ 
     .Z"702",10HBAD INTRPT,10H FOR TRNK ,10HRECEIV    / 
      DATA (IDEAD(I,44),I=1,4,1)/ 
     .Z"703",10HBAD INITIA,10HLIZQTION S,10HTATE      / 
      DATA (IDEAD(I,45),I=1,4,1)/ 
     .Z"704",10HNO BUFFER ,10HFOR STREAM,10HING       / 
      DATA (IDEAD(I,46),I=1,4,1)/ 
     .Z"705",10HILLEGAL MS,10HG OR MSG S,10HEQ.       / 
      DATA (IDEAD(I,47),I=1,4,1)/ 
     .Z"707",10HILLEGAL ST,10HATE OR CLA,10HRIFIER    / 
      DATA (IDEAD(I,48),I=1,4,1)/ 
     .Z"801",10HNO RESP BU,10HFFER AVAIL,10HABLE      / 
      DATA (IDEAD(I,49),I=1,4,1)/ 
     .Z"802",10HFATAL TRUN,10HK ERROR   ,10H          / 
      DATA (IDEAD(I,50),I=1,4,1)/ 
     .Z"803",10HRESP OUT O,10HF RANGE/IL,10HLEGAL     / 
      DATA (IDEAD(I,51),I=1,4,1)/ 
     .Z"804",10HBAD RESP F,10HOR STREAMI,10HNG        / 
      DATA (IDEAD(I,52),I=1,4,1)/ 
     .Z"805",10HILLEGAL PA,10HTH STATE/C,10HLARIFR    / 
      DATA (IDEAD(I,53),I=1,4,1)/ 
     .Z"806",10HRE-XMIT MS,10HG ILL FOR ,10HCURRNT    / 
      DATA (IDEAD(I,54),I=1,4,1)/ 
     .Z"807",10HTCU SEL TO,10H XMIT-NO R,10HCV TCU    / 
      DATA (IDEAD(I,55),I=1,4,1)/ 
     .Z"808",10HEXTRANEOUS,10H TRANSMIT ,10HINTRPT    / 
      DATA (IDEAD(I,56),I=1,4,1)/ 
     .Z"809",10HILLEGAL IN,10HIT STATE F,10HOUND      / 
      DATA (IDEAD(I,57),I=1,4,1)/ 
     .Z"80A",10HNO TCU SEL,10HECTED FOR ,10HTRANS.    / 
      DATA (IDEAD(I,58),I=1,4,1)/ 
     .Z"80B",10HILLEGAL ST,10HREAM MODE ,10HMSG.      / 
      DATA (IDEAD(I,59),I=1,4,1)/ 
     .Z"80D",10HILLEGAL MS,10HG ON TRNK ,10HSEND Q    / 
      DATA (IDEAD(I,60),I=1,4,1)/ 
     .Z"80E",10HILEGAL RES,10HP FOR TRUN,10HK SEND    / 
      DATA (IDEAD(I,61),I=1,4,1)/ 
     .Z"80F",10HILLEGAL MA,10HINT. PATH ,10HMSG.      / 
      DATA (IDEAD(I,62),I=1,4,1)/ 
     .Z"810",10HMESSAGE DI,10HD NOT VALI,10HDATE      / 
  
*     GATEWAY DISASTER ERROR CODES
      DATA (IDEAD(I,63),I=1,4,1)/ 
     .Z"1000",10HINIT PARAM,10HS DO NOT C,10HOMPAR     /
      DATA (IDEAD(I,64),I=1,4,1)/ 
     .Z"1001",10HBAD STATE ,10HIN GATEWAY,10HINIT.     /
      DATA (IDEAD(I,65),I=1,4,1)/ 
     .Z"1002",10HINIT CONCT,10H MSG NOT P,10HROCESD    /
      DATA (IDEAD(I,66),I=1,4,1)/ 
     .Z"1003",10HILLEGAL GA,10HTEWAY ID I,10HN INIT    /
      DATA (IDEAD(I,67),I=1,4,1)/ 
     .Z"1004",10HESI INTERR,10HUPT OCCURR,10HED        /
      DATA (IDEAD(I,68),I=1,4,1)/ 
     .Z"1005",10HINIT FIRMW,10HARE TIMEOU,10HT         /
      DATA (IDEAD(I,69),I=1,4,1)/ 
     .Z"1006",10HINIT FIRMW,10HARE QUICK ,10HLK ERR    /
      DATA (IDEAD(I,70),I=1,4,1)/ 
     .Z"1021",10HPCT LMT TB,10HLE OVFL/NO,10HLPCTS     /
      DATA (IDEAD(I,71),I=1,4,1)/ 
     .Z"1022",10HPCT NOT IN,10H LIMIT TAB,10HLE        /
      DATA (IDEAD(I,72),I=1,4,1)/ 
     .Z"1023",10HNST BZY BI,10HT SET/BAD ,10HNAD ID    /
      DATA (IDEAD(I,73),I=1,4,1)/ 
     .Z"1024",10HNST ERROR/,10HBAD PATH I,10HD         /
      DATA (IDEAD(I,74),I=1,4,1)/ 
     .Z"1025",10HMESSAGE TY,10HPE/MODIFIE,10HR BAD     /
      DATA (IDEAD(I,75),I=1,4,1)/ 
     .Z"1026",10HILLEGAL ME,10HSSAGE FOR ,10HGATEWY    /
      DATA (IDEAD(I,76),I=1,4,1)/ 
     .Z"1027",10HPATH STATE,10H/CLARIFIER,10H BAD      /
      DATA (IDEAD(I,77),I=1,4,1)/ 
     .Z"1028",10HCONTROL BU,10HFER QUEUE ,10HEMPTY     /
      DATA (IDEAD(I,78),I=1,4,1)/ 
     .Z"1029",10HILLEGAL FL,10HAG SET IN ,10HPCT       /
      DATA (IDEAD(I,79),I=1,4,1)/ 
     .Z"102A",10HUNABL PUT ,10HPCT/NST BK,10H SEND     /
      DATA (IDEAD(I,80),I=1,4,1)/ 
     .Z"1040",10HINTERRUPT,,10H ERROR FOU,10HND        /
      DATA (IDEAD(I,81),I=1,4,1)/ 
     .Z"1041",10HFRAGMENTAT,10HION ERROR ,10H          /
      DATA (IDEAD(I,82),I=1,4,1)/ 
     .Z"1042",10HBIT MAP ER,10HROR       ,10H          /
      DATA (IDEAD(I,83),I=1,4,1)/ 
     .Z"1043",10HSEQUENCE N,10HUMBER ERRO,10HR         /
      DATA (IDEAD(I,84),I=1,4,1)/ 
     .Z"1044",10HTABLE OVER,10HFLOW      ,10H          /
      DATA (IDEAD(I,85),I=1,4,1)/ 
     .Z"1045",10HILLEGAL FR,10HAME STORAG,10HE FCN     /
      DATA (IDEAD(I,86),I=1,4,1)/ 
     .Z"1046",10HFRAME STOR,10HAGE CANT G,10HATHER     /
      DATA (IDEAD(I,87),I=1,4,1)/ 
     .Z"1047",10HFRAME STOR,10HAGE DIRCTR,10HY OVFL    /
      DATA (IDEAD(I,88),I=1,4,1)/ 
     .Z"1048",10HCONTROL BU,10HFFER QUEUE,10H EMPTY    /
      DATA (IDEAD(I,89),I=1,4,1)/ 
     .Z"1049",10HTEST PLUG ,10HCNCTD, SW ,10HENABLD    /
  
*     NTN DISASTER ERROR CODES
      DATA (IDEAD(I,90),I=1,4,1)/ 
     .Z"A01",10HILLEGAL ME,10HSSAGE     ,10H          / 
      DATA (IDEAD(I,91),I=1,4,1)/ 
     .Z"A02",10HILLEGAL ST,10HATE FOR TH,10HIS MSG    / 
      DATA (IDEAD(I,92),I=1,4,1)/ 
     .Z"A03",10HILLEGAL ST,10HATE       ,10H          / 
      DATA (IDEAD(I,93),I=1,4,1)/ 
     .Z"A04",10HNO BUFFER ,10HSPACE     ,10H          / 
      DATA (IDEAD(I,94),I=1,4,1)/ 
     .Z"A05",10HSTREAMING ,10HSTATE ILLE,10HGAL       / 
      DATA (IDEAD(I,95),I=1,4,1)/ 
     .Z"A06",10HBAD INITIA,10HLIZATION P,10HARAM.     / 
  
*     C170/7000 DISASTER ERROR CODES
      DATA (IDEAD(I,96),I=1,4,1)/ 
     .Z"A01",10HCHANNEL SE,10HQUENCE ERR,10HOR        / 
      DATA (IDEAD(I,97),I=1,4,1)/ 
     .Z"A02",10HSHOULD BE ,10HLEAST CNCT,10H Q MSG    / 
      DATA (IDEAD(I,98),I=1,4,1)/ 
     .Z"A03",10HDATA PATH ,10HNO. 0 TOO ,10HLARGE     / 
      DATA (IDEAD(I,99),I=1,4,1)/ 
     .Z"A04",10HNO DI CODE,10H TO PROCES,10HS         / 
      DATA (IDEAD(I,100),I=1,4,1)/
     .Z"A05",10HRESP Q TYP,10HE=1; MOD .,10HNE. 2     / 
      DATA (IDEAD(I,101),I=1,4,1)/
     .Z"A06",10HILLEGAL TY,10HPE OR MODI,10HFIER      / 
      DATA (IDEAD(I,102),I=1,4,1)/
     .Z"A07",10HRESP Q MSG,10H TYPE NOT ,10H1 OR 2    / 
      DATA (IDEAD(I,103),I=1,4,1)/
     .Z"A08",10HILL PCT ST,10H/CLAR DTCT,10HD/VALUE   / 
      DATA (IDEAD(I,104),I=1,4,1)/
     .Z"A09",10HILLEGAL CO,10HMMAND CODE,10H          / 
      DATA (IDEAD(I,105),I=1,4,1)/
     .Z"A0A",10HMOD.NE.1 -,10H DISABL ST,10H INIT     / 
      DATA (IDEAD(I,106),I=1,4,1)/
     .Z"A0B",10HCOMMAND WA,10HS NOT ACTI,10HVE PATH   / 
      DATA (IDEAD(I,107),I=1,4,1)/
     .Z"A0C",10HNO REASON-,10HDI STAT FO,10HR ERR     / 
      DATA (IDEAD(I,108),I=1,4,1)/
     .Z"A0D",10HC170=DI OR,10HC18=NAD SE,10HQ ERR     / 
      DATA (IDEAD(I,109),I=1,4,1)/
     .Z"A0E",10HINTERRUPT ,10HMASKED / N,10HOT USED   / 
      DATA (IDEAD(I,110),I=1,4,1)/
     .Z"A0F",10HILL COMM-R,10HEMSTR OR S,10HTR FLG    / 
      DATA (IDEAD(I,111),I=1,4,1)/
     .Z"A10",10HDI NEVR CL,10HRS DVINIT ,10HFLE FLG   / 
      DATA (IDEAD(I,112),I=1,4,1)/
     .Z"A11",10HILLEGAL CM,10HSTATE / CM,10HCLARIFR   / 
      DATA (IDEAD(I,113),I=1,4,1)/
     .Z"A12",10HSUBF2 OR S,10HUBF3 DETEC,10HTED ERR   / 
      DATA (IDEAD(I,114),I=1,4,1)/
     .Z"A13",10HFCN NOT 23,10H OR 33 W/I,10HLL CMST   / 
      DATA (IDEAD(I,115),I=1,4,1)/
     .Z"A14",10HNO BUFFER ,10HAFTER NO T,10HRMINTOR   / 
      DATA (IDEAD(I,116),I=1,4,1)/
     .Z"A15",10HRDFLAG SET,10H W/CMSTATE,10H 5 OR 6   / 
      DATA (IDEAD(I,117),I=1,4,1)/
     .Z"A16",10HBUFR ADR E,10HRR/NOT CON,10HVRT BFR   / 
      DATA (IDEAD(I,118),I=1,4,1)/
     .Z"A17",10HQUEUEING I,10HNSTRUCTION,10H ERROR    / 
      DATA (IDEAD(I,119),I=1,4,1)/
     .Z"A18",10HWORD COUNT,10H TOO BIG  ,10H          / 
      DATA (IDEAD(I,120),I=1,4,1)/
     .Z"A19",10HCNVRT SUB ,10HCALLR WANT,10HS 0WORD   / 
      DATA (IDEAD(I,121),I=1,4,1)/
     .Z"A1A",10HREAD CONVE,10HRSION LOGI,10HC ERROR   / 
  
*     DEC/VAX DISASTER ERROR CODES
      DATA (IDEAD(I,122),I=1,4,1)/
     .Z"B01",10HTRANS INAC,10HT ON L=0/T,10HRM INTR   / 
      DATA (IDEAD(I,123),I=1,4,1)/
     .Z"B02",10HILLOG SEQ ,10HOF INTRPTS,10H RECVD    / 
      DATA (IDEAD(I,124),I=1,4,1)/
     .Z"B03",10HUNEXPECTED,10H TERMINATE,10H INTRPT   / 
      DATA (IDEAD(I,125),I=1,4,1)/
     .Z"B04",10HCURR RESRV,10HD MINI NO.,10H INVALD   / 
      DATA (IDEAD(I,126),I=1,4,1)/
     .Z"B05",10HFILE ALTRD,10H SET/CH FL,10HG INTRP   / 
      DATA (IDEAD(I,127),I=1,4,1)/
     .Z"B06",10H2CONSEC CT,10HRL PKG CPD,10H PE RCV   / 
      DATA (IDEAD(I,128),I=1,4,1)/
     .Z"B07",10HCONTRL PKG,10H CPD/UNDEF,10H INTRPT   / 
      DATA (IDEAD(I,129),I=1,4,1)/
     .Z"B08",10HMEM PE WHE,10HN NOT SET ,10HTRANSFR   / 
      DATA (IDEAD(I,130),I=1,4,1)/
     .Z"B09",10HINVALID ST,10HATE/CLARIF,10HIER       / 
      DATA (IDEAD(I,131),I=1,4,1)/
     .Z"B0A",10HERR INTRPT,10H RCVD W/NO,10H STAT     / 
      DATA (IDEAD(I,132),I=1,4,1)/
     .Z"B0B",10HUNEXPECTED,10H ERROR INT,10HERRUPT    / 
      DATA (IDEAD(I,133),I=1,4,1)/
     .Z"B0C",10HPROCESSOR ,10HSEQUENCE E,10HRROR      / 
      DATA (IDEAD(I,134),I=1,4,1)/
     .Z"B0D",10HMSG RECEIV,10HED ON RESP,10H QUEUE    / 
  
*     IBM DISASTER ERROR CODES
      DATA (IDEAD(I,135),I=1,4,1)/
     .Z"A01",10HFILE ALTRD,10HSET UNEXPE,10HCTEDLY    / 
      DATA (IDEAD(I,136),I=1,4,1)/
     .Z"A02",10HRE-ENTRANC,10HY PROBLEM ,10H          / 
      DATA (IDEAD(I,137),I=1,4,1)/
     .Z"A03",10HUNDEFINED ,10HINTERRUPT ,10H          / 
      DATA (IDEAD(I,138),I=1,4,1)/
     .Z"A04",10HSPURIOUS I,10HNTERRUPT  ,10H          / 
      DATA (IDEAD(I,139),I=1,4,1)/
     .Z"A05",10HQUEUEING P,10HROBLEM    ,10H          / 
      DATA (IDEAD(I,140),I=1,4,1)/
     .Z"A07",10HSTREAMING ,10HPATH FOUND,10H          / 
      DATA (IDEAD(I,141),I=1,4,1)/
     .Z"A09",10HSYSTEM BUF,10HR ALLOCATI,10HON ERR    / 
      DATA (IDEAD(I,142),I=1,4,1)/
     .Z"A0A",10HILLEGAL MS,10HG ON PATH ,10HQUEUE     / 
  
*     C200 DISASTER ERROR CODES 
      DATA (IDEAD(I,143),I=1,4,1)/
     .Z"2200",10HHARDWARE F,10HAILURE (DI,10H)         /
      DATA (IDEAD(I,144),I=1,4,1)/
     .Z"2202",10HLOGIC ERR ,10H(BIO ENTRD,10H-BUZY)    /
      DATA (IDEAD(I,145),I=1,4,1)/
     .Z"2203",10HILLEGAL BO,10HAT FCN COD,10HE FOUND   /
      DATA (IDEAD(I,146),I=1,4,1)/
     .Z"2204",10HREMAINING ,10HELEM BLK C,10HNT ILL    /
      DATA (IDEAD(I,147),I=1,4,1)/
     .Z"2205",10HQUEUEING P,10HROBLEM    ,10H          /
      DATA (IDEAD(I,148),I=1,4,1)/
     .Z"2206",10HBAD BUFFER,10H ADDRESS  ,10H          /
      DATA (IDEAD(I,149),I=1,4,1)/
     .Z"2207",10HSTREAMING ,10HPATH STATE,10H FOUND    /
      DATA (IDEAD(I,150),I=1,4,1)/
     .Z"2208",10HILLG MSG T,10HYP FOR PAT,10HH STATE   /
      DATA (IDEAD(I,151),I=1,4,1)/
     .Z"2209",10HILLEGAL FU,10HNCTION BOA,10HT REQ.    /
      DATA (IDEAD(I,152),I=1,4,1)/
     .Z"220B",10HILLEGAL PA,10HTH STATE  ,10H          /
      DATA (IDEAD(I,153),I=1,4,1)/
     .Z"220C",10HC200 WANTS,10H US DEAD  ,10H          /
      DATA (IDEAD(I,154),I=1,4,1)/
     .Z"220D",10HILLEGAL HA,10HRDWARE INT,10HERRUPT    /
      DATA (IDEAD(I,155),I=1,4,1)/
     .Z"220E",10HOUR ZIP NO,10HT FOUND-CM,10H DIRCT    /
      DATA (IDEAD(I,156),I=1,4,1)/
     .Z"220F",10HILLEGAL AD,10HR IN CM DI,10HRECTORY   /
      DATA (IDEAD(I,157),I=1,4,1)/
     .Z"2210",10HNO BUFFER ,10HAVAIL FOR ,10HERR LOG   /
      DATA (IDEAD(I,158),I=1,4,1)/
     .Z"2211",10HTIMER SCHE,10HDULE CONFL,10HICT       /
      DATA (IDEAD(I,159),I=1,4,1)/
     .Z"2212",10HINVALID BO,10HAD ELEMENT,10H ADDRSS   /
      DATA (IDEAD(I,160),I=1,4,1)/
     .Z"CCCC",10HFATAL CHEC,10HKSUM ERR-B,10HN LD BD   /
      DATA (IDEAD(I,161),I=1,4,1)/
     .0000000,10HUNIDENTIFI,10HED DISASTE,10HR ERROR   /
  
*     CONNECTION ERROR MESSAGES FROM PATH CONTROL TABLE 
      DATA (PCT(I,1),I=1,3,1)/
     .10HNO ANSWER ,10HFRM REMOTE,10H NAD      /
      DATA (PCT(I,2),I=1,3,1)/
     .10HLOCAL TCI/,10HTCU PROBLE,10HM         /
      DATA (PCT(I,3),I=1,3,1)/
     .10HGARBLED RE,10HSP FRM REM,10H NAD      /
      DATA (PCT(I,4),I=1,3,1)/
     .10HREM PROC N,10HOT RUNNING,10H/ABN      /
      DATA (PCT(I,5),I=1,3,1)/
     .10HNO RESPONS,10HE FRM REM ,10HPROC      /
      DATA (PCT(I,6),I=1,3,1)/
     .10HREMOTE NAD,10HHW/FCS ERR,10HOR        /
      DATA (PCT(I,7),I=1,3,1)/
     .10H          ,10H          ,10H          /
      DATA (PCT(I,8),I=1,3,1)/
     .10H          ,10H          ,10H          /
      DATA (PCT(I,9),I=1,3,1)/
     .10HLOST COMMU,10HNICATIONS-,10HLHN       /
      DATA (PCT(I,10),I=1,3,1)/ 
     .10HCANT INIT ,10HW/REM-LH N,10HAD        /
      DATA (PCT(I,11),I=1,3,1)/ 
     .10H          ,10H          ,10H          /
      DATA (PCT(I,12),I=1,3,1)/ 
     .10H          ,10H          ,10H          /
      DATA (PCT(I,13),I=1,3,1)/ 
     .10H          ,10H          ,10H          /
      DATA (PCT(I,14),I=1,3,1)/ 
     .10H          ,10H          ,10H          /
      DATA (PCT(I,15),I=1,3,1)/ 
     .10H          ,10H          ,10H          /
      DATA (PCT(I,16),I=1,3,1)/ 
     .10H          ,10H          ,10H          /
      DATA (PCT(I,17),I=1,3,1)/ 
     .10HREMOTE NAD,10H AUTOLOADE,10HD         /
      DATA (PCT(I,18),I=1,3,1)/ 
     .10HNO PCT AT ,10HREMOTE NAD,10H          /
      DATA (PCT(I,19),I=1,3,1)/ 
     .10HTCUS DONT ,10HVALIDATE  ,10H          /
      DATA (PCT(I,20),I=1,3,1)/ 
     .10HPATH DISAP,10HPEARED    ,10H          /
      DATA (PCT(I,21),I=1,3,1)/ 
     .10HHOST INACT,10HIVE       ,10H          /
      DATA (PCT(I,22),I=1,3,1)/ 
     .10HC/W SETS D,10HONT MATCH ,10H          /
      DATA (PCT(I,23),I=1,3,1)/ 
     .10H          ,10H          ,10H          /
      DATA (PCT(I,24),I=1,3,1)/ 
     .10H          ,10H          ,10H          /
      DATA (PCT(I,25),I=1,3,1)/ 
     .10HNO PCT - L,10HONG HAUL N,10HAD        /
      DATA (PCT(I,26),I=1,3,1)/ 
     .10HTCUS DONT ,10HVALIDATE-L,10HHN        /
      DATA (PCT(I,27),I=1,3,1)/ 
     .10HNO MATCH F,10HOR ROUTING,10H-LHN      /
      DATA (PCT(I,28),I=1,3,1)/ 
     .10HATTEMPTED ,10HCNCT TO LH,10H NAD      /
      DATA (PCT(I,29),I=1,3,1)/ 
     .10HCNCT LIMIT,10HREACHED-LH,10H NAD      /
      DATA (PCT(I,30),I=1,3,1)/ 
     .10HUNIDENTIFI,10HED REASON ,10H          /
  
*     CONNECTION ERROR MESSAGES - PATH STATE/CLARIFIER DEFINITIONS
      DATA (PCT2(I,1,1),I=1,2,1) / 10HPATH AVAIL,10HABLE      / 
      DATA (PCT2(I,2,1),I=1,2,1) / 10HCNCT INIT ,10HBY LOC DEV/ 
      DATA (PCT2(I,2,2),I=1,2,1) / 10HCNCT MSG S,10HX-REM NAD / 
      DATA (PCT2(I,2,3),I=1,2,1) / 10HCNCT MSG A,10HCPT BY REM/ 
      DATA (PCT2(I,2,5),I=1,2,1) / 10HBEING CNCT,10H BY REMOTE/ 
      DATA (PCT2(I,2,6),I=1,2,1) / 10HCNCT REJ B,10HY REM HOST/ 
      DATA (PCT2(I,2,7),I=1,2,1) / 10HCNCT REJ B,10HY LOC HOST/ 
      DATA (PCT2(I,2,8),I=1,2,1) / 10HCNCT REJ B,10HY NETWORK / 
      DATA (PCT2(I,3,1),I=1,2,1) / 10HCNCT PTH-H,10HOST UNTOLD/ 
      DATA (PCT2(I,3,2),I=1,2,1) / 10HCNCT PTH-H,10HOST INFRMD/ 
      DATA (PCT2(I,3,3),I=1,2,1) / 10HDISCNCT IN,10HIT BY HOST/ 
      DATA (PCT2(I,3,4),I=1,2,1) / 10HDISCNCT IN,10HIT BY HOST/ 
      DATA (PCT2(I,3,6),I=1,2,1) / 10HREM NAD IN,10HIT STRMING/ 
      DATA (PCT2(I,3,7),I=1,2,1) / 10HDVP REQUES,10HTS STRMING/ 
      DATA (PCT2(I,3,8),I=1,2,1) / 10HSTRMING AC,10HCPT BY REM/ 
      DATA (PCT2(I,3,9),I=1,2,1) / 10HDISCNCT RE,10HCVD FR REM/ 
      DATA (PCT2(I,4,1),I=1,2,1) / 10HPURGE IN P,10HROGRESS   / 
      DATA (PCT2(I,4,2),I=1,2,1) / 10HFLUSH IN P,10HROGRESS   / 
      DATA (PCT2(I,4,3),I=1,2,1) / 10HFLUSH COMP,10HLETED     / 
      DATA (PCT2(I,4,4),I=1,2,1) / 10HPATH REM A,10HBRTD-FLUSH/ 
      DATA (PCT2(I,5,1),I=1,2,1) / 10HCNCT BRKN-,10HSNSD BY TX/ 
      DATA (PCT2(I,5,2),I=1,2,1) / 10HCNCT BRKN-,10HSNSD BY RX/ 
      DATA (PCT2(I,6,9),I=1,2,1) / 10HUNIDENTIFI,10HED ST/CLAR/ 
  
*     ******************************************************************
  
      CALL UCHEK39
  
      IF (RTY .EQ. O"76") GO TO 400 
      IF (MTY .EQ. O"4112") GO TO 100 
      IF (MTY .GT. O"4100") GO TO 200 
  
*     PROCESS TRUNK ERROR LOG MESSAGES - TYPES 1 AND 2
*     OBTAIN SOURCE TCU ENABLES 
      TCUTST = IFLD(41) .AND. O"17" 
      TCUENB = O"33333333"
      IF ((TCUTST .AND. 1) .NE. 0) TCUENB = TCUENB + 1
      IF ((TCUTST .AND. 2) .NE. 0) TCUENB = TCUENB + O"100" 
      IF ((TCUTST .AND. 4) .NE. 0) TCUENB = TCUENB + O"10000" 
      IF ((TCUTST .AND. O"10") .NE. 0) TCUENB = TCUENB + O"1000000" 
*     OBTAIN SOURCE TCU ERROR ADDRESS 
      STCUADR = ((IFLD(45) .AND. O"777") * 2) 
*     OBTAIN SOURCE TCU STATUS
      TCUSTAT = SHIFT(IFLD(46),-5) .AND. 7
*     OBTAIN SOURCE TCU INTERRUPT 
      TCUINTR = SHIFT(IFLD(47),-4) .AND. 7
*     OBTAIN TCU STAT I 
      TCUI = IFLD(45) 
*     OBTAIN TCU STAT II
      TCUII = (SHIFT(IFLD(46),8) .AND. O"17 7400") .OR. IFLD(47)
*     OBTAIN THE MESSAGE TYPE 
      MSGTYP = IFLD(48) 
*     OBTAIN THE TCU CONNECT
      TCUTST = (IFLD(47) .AND. 7) .XOR. 7 
      IF (TCUTST .GE. 4) TCUCNCT = R"0000"
      IF (TCUTST .EQ. 3) TCUCNCT = R"0001"
      IF (TCUTST .EQ. 2) TCUCNCT = R"0010"
      IF (TCUTST .EQ. 1) TCUCNCT = R"0100"
      IF (TCUTST .EQ. 0) TCUCNCT = R"1000"
*     OBTAIN THE TCU INTERRUPT LINE NUMBER
      TCULINE = IFLD(36) .AND. O"17"
*     OBTAIN THE MESSAGE MODIFIER 
      MSGMOD = IFLD(49) 
*     OBTAIN DESTINATION NAD ADDRESS
      IDESNAD = IFLD(38)
*     OBTAIN RESPONSE PARAMETER 1 
      RESP1 = IFLD(42)
*     OBTAIN RESPONSE PARAMETER 2 
      RESP2 = IFLD(43)
*     OBTAIN RESPONSE PARAMETER 3 
      RESP3 = IFLD(44)
*     OBTAIN DESTINATION TCU ERROR ADDRESS
      ITCUADR = (((SHIFT(RESP1,8) .AND. O"400") .OR. RESP3) * 2)
  
*     OBTAIN TRUNK ERROR MESSAGE
      IF (TCUI .NE. 0) GO TO 20 
      IF ((TCUII .AND. O"17 7600") .NE. 0) GO TO 20 
      GO TO 26
   20 IF ((TCUI .AND. O"1000") .EQ. 0) GO TO 22 
      IMSG = 1
      GO TO 40
   22 IF ((TCUSTAT .NE. 1) .AND. (TCUSTAT .NE. 4)) GO TO 24 
      IMSG = 2
      GO TO 40
   24 IF (TCUINTR .EQ. 5) GO TO 26
      IF (TCUSTAT .EQ. 1) GO TO 26
      IMSG = 3
      GO TO 40
   26 IF ((RESP1 .AND. O"376") .EQ. 0) GO TO 28 
      IMSG = 4
      GO TO 40
   28 IF ((RESP2 .AND. O"102") .EQ. 0) GO TO 30 
      IMSG = 4
      GO TO 40
   30 IF ((RESP2 .AND. O"60") .EQ. 0) GO TO 32
      IMSG = 5
      GO TO 40
   32 IF ((RESP2 .AND. 1) .EQ. 0) GO TO 34
      IMSG = 6
      GO TO 40
   34 IMSG = 4
   40 CONTINUE
  
      IF (FROG(18) .EQ. 3HOFF) GO TO 50 
  
*     GENERATE 80 COLUMN TRUNK ERROR LOG REPORT 
      CALL LOAPR(1,IFLD(20),IFLD(32),IFLD(33),TCUENB, 
     .             STCUADR,TCUSTAT,TCUINTR,TCUI)
*     CHECK FOR TYPE 2/RECEIVE - SOME FIELDS INVALID
*     (MSG TYP/MOD AND DESTINATION DATA: NAD, RESP1, RESP2 AND TCU EADR)
      IF (IFLD(32) .EQ. 2) GO TO 44 
      CALL LOAPR(9,TCUII,MSGTYP,TRNKMSG(1,IMSG),TRNKMSG(2,IMSG),
     .             TRNKMSG(3,IMSG),TCUCNCT,TCULINE,MSGMOD)
      CALL LOAPR(17,IDESNAD,RESP1,RESP2,ITCUADR,SP,SP,SP,SP)
      CALL PRINT39 (101,20) 
      GO TO 900 
   44 CALL LOAPR(9,TCUII,TRNKMSG(1,IMSG),TRNKMSG(2,IMSG), 
     .             TRNKMSG(3,IMSG),TCUCNCT,TCULINE,SP,SP) 
      CALL PRINT39 (104,14) 
      GO TO 900 
  
*     GENERATE 132 COLUMN TRUNK ERROR LOG REPORT
   50 CALL LOAPR(1,IFLD(20),IFLD(32),IFLD(33),TCUENB, 
     .             TCUCNCT,STCUADR,TCUSTAT,TCUINTR) 
*     CHECK FOR TYPE 2/RECEIVE - SOME FIELDS INVALID
*     (MSG TYP/MOD AND DESTINATION DATA: NAD, RESP1, RESP2 AND TCU EADR)
      IF (IFLD(32) .EQ. 2) GO TO 54 
      CALL LOAPR(9,TCULINE,TCUI,TCUII,MSGTYP,MSGMOD,
     .             TRNKMSG(1,IMSG),TRNKMSG(2,IMSG),TRNKMSG(3,IMSG)) 
      CALL LOAPR(17,IDESNAD,RESP1,RESP2,ITCUADR,SP,SP,SP,SP)
      CALL PRINT39 (102,20) 
      GO TO 900 
   54 CALL LOAPR(9,TCULINE,TCUI,TCUII,TRNKMSG(1,IMSG),
     .             TRNKMSG(2,IMSG),TRNKMSG(3,IMSG),SP,SP) 
      CALL PRINT39 (105,14) 
      GO TO 900 
  
*     PROCESS NAD ERROR LOG UNAVAILABLE 
  100 SOURCE = 6H LOCAL 
      IF (IFLD(21) .EQ. O"301") SOURCE = 6HREMOTE 
      CALL LOAPR (1,IFLD(20),IFLD(3),TYPID,SOURCE,
     .              SP,SP,SP,SP)
      CALL PRINT39 (10,4) 
      GO TO 900 
  
*     PROCESS NON-TRUNK ERROR LOG MESSAGES
  200 IELWD3 = ((SHIFT(IFLD(36),8) .AND. O"17 7400") .OR. 
     .         (IFLD(37) .AND. O"377")) 
      IELWD4 = ((SHIFT(IFLD(38),8) .AND. O"17 7400") .OR. 
     .         (SHIFT(IFLD(39),4) .AND. O"360") .OR.
     .         (IFLD(40) .AND. O"17"))
      IELWD5 = ((SHIFT(IFLD(41),8) .AND. O"17 7400") .OR. 
     .         (IFLD(42) .AND. O"377")) 
      IELWD6 = ((SHIFT(IFLD(43),8) .AND. O"17 7400") .OR. 
     .         (IFLD(44) .AND. O"377")) 
      IELWD7 = IFLD(45) 
      IELWD8 = ((SHIFT(IFLD(46),8) .AND. O"17 7400") .OR. 
     .         (IFLD(47) .AND. O"377")) 
      IELWD9 = ((SHIFT(IFLD(48),8) .AND. O"17 7400") .OR. 
     .         (IFLD(49) .AND. O"377")) 
  
      GO TO (210,210,210,210,220,210,270,280,290,900,230) MTY - O"4100" 
  
*     PROCESS DEVICE INTERFACE ERROR LOG MESSAGES - TYPE 3
*     ***NAD TYPES 170, DEC, IBM, GATEWAY AND 7000*** 
  210 IELWD3 = IFLD(36) 
      CALL LOAPR (1,IFLD(20),IFLD(32),IFLD(33),IELWD3,
     .              IELWD4,IELWD5,IELWD6,IELWD7)
      PL(9) = IELWD8
      PL(10) = IELWD9 
      CALL PRINT39 (3,10) 
      GO TO 900 
  
*     ***NAD TYPE 200/RCD***
  220 IELWD3 = IFLD(38) 
      IELWD4 = ((SHIFT(IFLD(39),4) .AND. O"360") .OR. 
     .         (IFLD(40) .AND. O"17"))
      IELWD5 = IFLD(41) 
      IELWD6 = IFLD(42) 
      IELWD7 = IFLD(43) 
      IELWD8 = IFLD(45) .AND. O"377"
      CALL LOAPR (1,IFLD(20),IFLD(32),IFLD(33),IELWD3,
     .              IELWD4,IELWD5,IELWD6,IELWD7)
      PL(9) = IELWD8
      CALL PRINT39 (4,9)
      GO TO 900 
  
*     ****CRAY NAD****
  230 CALL LOAPR (1,IFLD(20),IFLD(32),IFLD(33),IFLD(36),IFLD(37), 
     .            IELWD4,IELWD5,IELWD6) 
      PL(9) = IELWD7
      PL(10) = IELWD8 
      PL(11) = IELWD9 
      CALL PRINT39 (12,11)
      GO TO 900 
  
*     PROCESS DISASTER ERROR LOG MESAGES - TYPE 4 
  270 DO 272 I = 1,62 
      IF (IDEAD(1,I) .EQ. IELWD9) GO TO 276 
  272 CONTINUE
      IF (HDATA(4) .EQ. 213) FROMTO = O"077137" 
      IF ((HDATA(4).EQ.101) .OR. (HDATA(4).EQ.201)) FROMTO = O"140171"
      IF ((HDATA(4).EQ.110) .OR. (HDATA(4).EQ.211)) FROMTO = O"140171"
      IF ((HDATA(4).EQ.105) .OR. (HDATA(4).EQ.205)) FROMTO = O"172206"
      IF ((HDATA(4).EQ.107) .OR. (HDATA(4).EQ.207)) FROMTO = O"207216"
      IF (HDATA(4) .EQ. 12) FROMTO = O"217240"
      FROM = SHIFT(FROMTO,-9) .AND. O"777"
      TO = FROMTO .AND. O"777"
      DO 274 I = FROM,TO,1
      IF (IDEAD(1,I) .EQ. IELWD9) GO TO 276 
  274 CONTINUE
      I = 161 
  276 IMSG = I
      CALL LOAPR (1,IFLD(20),IFLD(32),IFLD(33),IELWD9,
     .              IDEAD(2,IMSG),IDEAD(3,IMSG),IDEAD(4,IMSG),IELWD3) 
      CALL LOAPR (9,IELWD4,IELWD5,IELWD6,IELWD7,IELWD8,SP,SP,SP)
      CALL PRINT39 (5,13) 
      GO TO 900 
  
*     PROCESS GATEWAY ERROR LOG MESSAGES - TYPES 5 AND 6
  280 IMSG = 8
      IF ((IELWD5 .GE. Z"901") .AND. (IELWD5 .LE. Z"904")) IMSG = 1 
      IF ((IELWD5 .GE. Z"A01") .AND. (IELWD5 .LE. Z"A11")) IMSG = 2 
      IF ((IELWD5 .GE. Z"A33") .AND. (IELWD5 .LE. Z"A44")) IMSG = 3 
      IF ((IELWD5 .GE. Z"B01") .AND. (IELWD5 .LE. Z"B66")) IMSG = 4 
      IF ((IELWD5 .GE. Z"101") .AND. (IELWD5 .LE. Z"105")) IMSG = 5 
      IF ((IELWD5 .GE. Z"201") .AND. (IELWD5 .LE. Z"218")) IMSG = 6 
      IF ((IELWD5 .GE. Z"301") .AND. (IELWD5 .LE. Z"341")) IMSG = 7 
      CALL LOAPR (1,IFLD(20),IFLD(32),IFLD(33),IELWD5,
     .              GATEMSG(1,IMSG),GATEMSG(2,IMSG),IELWD3,IELWD4)
      CALL LOAPR (9,IELWD6,IELWD7,IELWD8,IELWD9,SP,SP,SP,SP)
      CALL PRINT39 (6,12) 
      GO TO 900 
  
*     PROCESS GATEWAY DIAGNOSTIC ERROR LOG MESSAGES - TYPE 7
  290 IMSG = IELWD3 + 1 
      IF ((IELWD3 .LT. 0) .OR. (IELWD3 .GT. 4)) IMSG = 6
      CALL LOAPR (1,IFLD(20),IFLD(32),IFLD(33),IELWD3,
     .              GATEFC(1,IMSG),GATEFC(2,IMSG),IELWD8,IELWD9)
      CALL LOAPR (9,IELWD5,IELWD6,IELWD7,SP,SP,SP,SP,SP)
      CALL PRINT39 (7,11) 
      GO TO 900 
  
*     PROCESS LOCAL DEVICE INTERFACE, PATH AND CONNECTION ERRORS
  400 IF (MTY .EQ. O"1200") GO TO 600 
      IF (MTY .GE. O"1260") GO TO 500 
  
*     LOCAL DEVICE INTERFACE ERRORS - MTY 1201 THRU 1256
      RECVR = 4H YES
      IF (IFLD(16) .EQ. 1) RECVR = 4H  NO 
      IF ((IFLD(28) .AND. 2) .NE. 0) GO TO 410
  
*     ***REPORT LOCAL DI ERROR WITHOUT VALID DI/TCI STATUS, CWHALT
      CALL LOAPR (1,IFLD(20),SEBUF(27),SEBUF(28),SEBUF(29), 
     .              IFLD(27),RECVR,IFLD(33),IFLD(34)) 
      CALL LOAPR (9,IFLD(32),IFLD(39),IFLD(40),IFLD(41),IFLD(42), 
     .              SP,SP,SP) 
      CALL PRINT39 (8,13) 
      GO TO 420 
  
*     ***REPORT LOCAL DI ERROR WITH VALID DI/TCI STATUS, CWHALT 
*     OBTAIN THE TCU CONNECT
  410 TCUTST = (IFLD(46) .AND. 7) .XOR. 7 
      IF (TCUTST .GE. 4) TCUCNCT = R"0000"
      IF (TCUTST .EQ. 3) TCUCNCT = R"0001"
      IF (TCUTST .EQ. 2) TCUCNCT = R"0010"
      IF (TCUTST .EQ. 1) TCUCNCT = R"0100"
      IF (TCUTST .EQ. 0) TCUCNCT = R"1000"
*     OBTAIN TCU INTERRUPT
      TCUINTR = SHIFT(IFLD(46),-4) .AND. 7
*     OBTAIN SOURCE TCU ERROR ADDRESS 
      STCUADR = ((IFLD(45) .AND. O"777") * 2) 
      ICWHALT = 0 
      IF (MTY .NE. O"1202") GO TO 412 
*     OBTAIN CWHALT 
      ICWHALT = (((SHIFT(IFLD(36),12) .AND. O"17 0000") .OR.
     .            (SHIFT(IFLD(37),8) .AND. O"7400")) .OR. 
     .            (IFLD(38) .AND. O"377"))
  412 CALL LOAPR (1,IFLD(20),SEBUF(27),SEBUF(28),SEBUF(29), 
     .              ICWHALT,IFLD(27),RECVR,IFLD(44))
      CALL LOAPR (9,TCUINTR,TCUCNCT,STCUADR,IFLD(45),IFLD(46),
     .              IFLD(33),IFLD(34),IFLD(32)) 
      CALL LOAPR(17,IFLD(39),IFLD(40),IFLD(41),IFLD(42),
     .              SP,SP,SP,SP)
      IF (MTY .EQ. O"1202") CALL PRINT39 (103,20) 
      IF (MTY .NE. O"1202") CALL PRINT39 (106,20) 
  
*     REPORT THE HARDWARE STATUS FOR LOCAL DI ERRORS
  420 IF ((IFLD(34) .EQ. 0) .OR. (MTY .EQ. O"1202"))  GO TO 900 
      PRINT 423 
  423 FORMAT (1H+,49X,'** HARDWARE STATUS BIT(S) **') 
      IF (IFLD(34) .EQ. O"7777") GO TO 900
      DO 430 I = 1,9
      ISHFN = I - 1 
      ITEST = SHIFT(IFLD(34),-ISHFN) .AND. 1
      IF (ITEST .EQ. 0) GO TO 430 
      PRINT 425,(HWSTAT(J,I),J=1,2) 
  425 FORMAT (51X,'= ',2(A10))
      LINE = LINE + 1 
  430 CONTINUE
      GO TO 900 
  
*     LOCAL PATH ERRORS - MTY 1260 THRU 1276
  500 RECVR = 3HYES 
      IF (IFLD(16) .EQ. 1) RECVR = 3H NO
*     OBTAIN SOURCE TCU ENABLES 
      TCUTST = IFLD(36) .AND. O"17" 
      TCUENB = O"33333333"
      IF ((TCUTST .AND. 1) .NE. 0) TCUENB = TCUENB + 1
      IF ((TCUTST .AND. 2) .NE. 0) TCUENB = TCUENB + O"100" 
      IF ((TCUTST .AND. 4) .NE. 0) TCUENB = TCUENB + O"10000" 
      IF ((TCUTST .AND. O"10") .NE. 0) TCUENB = TCUENB + O"1000000" 
      CALL LOAPR (1,IFLD(20),SEBUF(27),SEBUF(28),SEBUF(29), 
     .              IFLD(27),RECVR,IFLD(33),IFLD(34)) 
      CALL LOAPR (9,TCUENB,IFLD(38),IFLD(32),IFLD(39),
     .              IFLD(40),IFLD(41),IFLD(42),SP)
      CALL PRINT39 (9,15) 
      GO TO 420 
  
*     LOCAL CONNECTION ERRORS - MTY 1200
  600 MSG = SHIFT(NFLD(25),-4) .AND. O"377" 
      MSG = MSG + 1 
      IF (MSG .GT. 29) MSG = 30 
      STATE = (SHIFT(IFLD(39),-4) .AND. O"17") + 1
      ICLAR = ((SHIFT(IFLD(39),4) .AND. O"360") .OR. (SHIFT(IFLD(40),-8)
     .      .AND. O"17")) + 1 
      IF ((STATE .LE. 5) .AND. (ICLAR .LE. 9)) GO TO 610
      STATE = 6 
      ICLAR = 9 
  610 HOP = SHIFT(NFLD(23),2) .OR. (SHIFT(NFLD(24),-4) .AND. 3) 
      NAD = (SHIFT(NFLD(24),4) .AND. O"360") .OR. (SHIFT(NFLD(25),-20)
     .      .AND. O"17")
      IFLD(38) = NAD
      NET = SHIFT(NFLD(25),-12) .AND. O"377"
*     OBTAIN SOURCE TCU ENABLES 
      TCUTST = IFLD(36) .AND. O"17" 
      TCUENB = O"33333333"
      IF ((TCUTST .AND. 1) .NE. 0) TCUENB = TCUENB + 1
      IF ((TCUTST .AND. 2) .NE. 0) TCUENB = TCUENB + O"100" 
      IF ((TCUTST .AND. 4) .NE. 0) TCUENB = TCUENB + O"10000" 
      IF ((TCUTST .AND. O"10") .NE. 0) TCUENB = TCUENB + O"1000000" 
      CALL LOAPR (1,IFLD(20),PCT(1,MSG),PCT(2,MSG),PCT(3,MSG),
     .              PCT2(1,STATE,ICLAR),PCT2(2,STATE,ICLAR),HOP,NET)
      PL(9) = NAD 
      PL(10) = TCUENB 
  
*     CHECK FOR CONSECUTIVE CONNECTION ERRORS 
      DO 620 I = 2,10 
      IF (PL(I) .NE. ICNTFLD(I)) GO TO 630
  620 CONTINUE
      ICNTFLG = ICNTFLG + 1 
      ICNT2ND = IFLD(20)
      GO TO 900 
  630 IF (ICNTFLG .NE. 0) PRINT 632,ICNT1ST,ICNT2ND,ICNTFLG 
  632 FORMAT(2X,A8,3H - ,A8,' PRECEDING MESSAGE REPEATED',I4,'  TIMES', 
     ./)
      IF (ICNTFLG .NE. 0) LINE = LINE + 2 
      ICNTFLG = ICNT1ST = ICNT2ND = 0 
      ICNT1ST = IFLD(20)
      DO 634 I = 2,10 
  634 ICNTFLD(I) = PL(I)
      CALL PRINT39 (11,10)
      GO TO 900 
  
  900 CONTINUE
      RETURN
      END 
      SUBROUTINE LCNSTAT
*CALL HPACOM1 
*CALL HPACOM2 
  
      CALL INISET3
  
      IHDR = 10 
  
      HDATA(1) = 10HSTATISTICS
      HDATA(2) = 10H - DETAILE
      HDATA(3) = 10HD STATUS
  
      MPR(1,1) = O"60"
      MPR(1,2) = 7
      HCF(2) = 8
  
*     SKIP IF NO D/DX AND ST PARAMETERS 
  100 IF (RCFD .EQ. 3HOFF) GO TO 300
      IF (FROG(8) .EQ. 3HOFF) GO TO 300 
  
*     GENERATE STATISTICS (FOR ST PARAMETER)
      CALL UCHEK39
  
*     COMBINE TOTAL NUMBER OF MSGS SENT 
      IFLD(38) = ((SHIFT(IFLD(38),20) .AND. O"377 7400 0000") .OR.
     .            (IFLD(39) .AND. O"377 7777")) 
  
*     COMBINE NUMBER OF QUEUE FULL MESSAGES SENT
      IFLD(41) = ((SHIFT(IFLD(41),8) .AND. O"17 7400") .OR. 
     .            (IFLD(42) .AND. O"377"))
  
      CALL LOAPR (1,IFLD(20),IFLD(31),IFLD(32),IFLD(38),
     .              IFLD(40),IFLD(41),IFLD(43),IFLD(44))
      PL(9) = IFLD(45)
  
      CALL PRINT39 (1,9)
  
*     GENERATE DETAILED STATUS TABLE (FOR ST AND DX PARAMETERS) 
      IF (FLAGS(11) .EQ. 3HOFF) GO TO 300 
  
      PL(1) = ((SHIFT(IFLD(32),8) .AND. O"17 7400") .OR.
     .         (IFLD(33) .AND. O"377")) 
      PL(2) = ((SHIFT(IFLD(34),8) .AND. O"17 7400") .OR.
     .         (IFLD(35) .AND. O"377")) 
      PL(3) = ((SHIFT(IFLD(36),8) .AND. O"17 7400") .OR.
     .         (IFLD(37) .AND. O"377")) 
      PL(4) = (SHIFT(IFLD(38),-16) .AND. O"17 7777")
      PL(5) = IFLD(38) .AND. O"17 7777" 
      PL(6) = (SHIFT(IFLD(40),-16) .AND. O"17 7777")
      PL(7) = IFLD(40) .AND. O"17 7777" 
      PL(8) = IFLD(41) .AND. O"17 7777" 
      PL(9) = IFLD(43)
      PL(10) = IFLD(44) 
      PL(11) = IFLD(45) 
      PL(12) = ((SHIFT(IFLD(46),12) .AND. O"17 0000") .OR.
     .          (NFLD(21) .AND. O"7777")) 
      PL(13) = ((SHIFT(NFLD(22),4) .AND. O"17 7760") .OR. 
     .          (SHIFT(NFLD(23),-2) .AND. O"17")) 
      PL(14) = ((SHIFT(NFLD(23),10) .AND. O"14 0000") .OR.
     .          (SHIFT(NFLD(24),8) .AND. O"3 7400") .OR.
     .          (SHIFT(NFLD(25),-16) .AND. O"377")) 
      PL(15) = NFLD(25) .AND. O"17 7777"
      PL(16) = ((SHIFT(NFLD(26),4) .AND. O"17 7760") .OR. 
     .          (SHIFT(NFLD(27),-2) .AND. O"17")) 
      PL(17) = ((SHIFT(NFLD(27),14) .AND. O"14 0000") .OR.
     .          (SHIFT(NFLD(28),8) .AND. O"3 7400") .OR.
     .          (SHIFT(NFLD(29),2) .AND. O"374") .OR. 
     .          (SHIFT(NFLD(30),-10) .AND. 3))
      PL(18) = ((SHIFT(NFLD(30),6) .AND. O"17 7700") .OR. 
     .          (SHIFT(NFLD(31),-12) .AND. O"77"))
      PL(19) = ((SHIFT(NFLD(31),4) .AND. O"17 7760") .OR. 
     .          (SHIFT(NFLD(32),-4) .AND. O"17")) 
      PL(20) = ((SHIFT(NFLD(32),12) .AND. O"17 0000") .OR.
     .          (SHIFT(NFLD(33),4) .AND. O"7760") .OR.
     .          (SHIFT(NFLD(34),-4) .AND. O"17")) 
      PL(21) = ((SHIFT(NFLD(34),12) .AND. O"17 0000") .OR.
     .          (SHIFT(NFLD(35),4) .AND. O"7760") .OR.
     .          (SHIFT(NFLD(36),-4) .AND. O"17")) 
      PL(22) = ((SHIFT(NFLD(36),12) .AND. O"17 0000") .OR.
     .          (SHIFT(NFLD(37),4) .AND. O"7760") .OR.
     .          (SHIFT(NFLD(38),-8) .AND. O"17")) 
      PL(23) = ((SHIFT(NFLD(38),8) .AND. O"17 7400") .OR. 
     .          (SHIFT(NFLD(39),-12) .AND. O"377")) 
      PL(24) = ((SHIFT(NFLD(39),4) .AND. O"17 7760") .OR. 
     .          (SHIFT(NFLD(40),-16) .AND. O"17"))
  
      CALL PRINT39 (2,24) 
  
*     READ THE NEXT RECORD
  300 CALL GNR3 
      CALL SETEM3(1)
  
*     CHECK FOR RECORD CHANGE 
      IF (TWIC .GT. 1) GO TO 100
  
  900 CONTINUE
      RETURN
      END 
      SUBROUTINE PHEAD39 (ST) 
* 
**     PHEAD39 PRINTS HEADINGS FOR REPORTS DEVELOPED
*      BY HPA39 ROUTINES. 
* 
*      ENTRY CONDITIONS 
*      -----------------
*      HCF(5) - ARRAY PRESET WITH POINTERS TO A SET OF HEADINGS 
*               THAT MAY BE PRINTED.  A NON-ZERO VALUE IN HCF(1)
*               TO HCF(5) IS A POINTER TO A HEADING, AS USED IN 
*               COMPUTED GO-TO. HCF(1) TO (5) ARE SCANNED 
*               SEQUENTIALLY AND SEVERAL SUBHEADERS MAY BE PRINTED. 
*          ST = CONTAINS POINTER TO WHERE ROUTINE WILL
*               START SCAN OF (HCF) FLAG. 
* 
*       EXIT CONDITIONS 
*       ----------------
*          SUB-HEADER PRINT COMPLETED.
*          ENCOUNTER (HCF) FLAG CONTAINING ( 0 ). 
* 
*       DATA AREAS
*       --------------------
*        HCF(5) - FLAGS TO CONTROL SUB-HEADER PRINT 
*        HDATA(5) = 5 WORDS OF (A) FORMAT DATA USED IN PRINT. 
*        TYPEST = CURRENT EST 
*        TYPDT = CURRENT DEVICE TYP 
*        TYPID = CURRENT DEVICE NOMENCLATURE (DISK,TAPE,ETC.) 
* 
*         CALLED BY 
*         --------- 
*         PRINT39 - AUTOMATICALLY, WHEN NEW PAGE IS INITIATED.
*         HPA39  ROUTINES THAT NEED TO CALL SUBHEADER.
* 
*CALL HPACOM1 
*CALL HPACOM2 
  
      P = ST
*         TEST IF PRINT FLAG IS OFF 
      IF (FLAGS(4) .EQ. 3HOFF) GO TO 1000 
      GO TO 5 
  
    2 LINE = LINE + 1 
    5 LINE = LINE + 1 
  
      IF (P .GT. 5) GO TO 1000
  
    6 PTR = HCF(P)
      IF ((PTR .LE. 0) .OR. (PTR .GT.26)) GO TO 1000
      P = P + 1 
  
*         JUMP TO PRINT AS CALLED BY POINTER
      GO TO (10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,
     .       170,180,190,200,210,220,230,240,250,260) PTR 
* 
*         LCN HEADER INFORMATION
   10 PRINT 11,TYPDT,HDATA(1),HDATA(2),HDATA(3) 
   11 FORMAT (8H DT - **,R2,9H **   .. ,2A10,A8,3H ..)
      GO TO 5 
  
*         HEADER FOR ERROR LOG MESSAGES 
   20 PRINT 21,TYPEST,TYPID,HDATA(4),HDATA(5) 
   21 FORMAT (/,1X,'HUI/NAD = ',Z2,'/',Z2,3X,'DI TYPE/CW REV = ', 
     .I3,'/',Z2,3X,'ALL FIELDS HEX EXCEPT DI TYPE',/) 
      GO TO 2 
  
*         SUBHEADER FOR LOCAL DEVICE INTERFACE ERRORS 
   30 PRINT 31,TYPEST,TYPID,HDATA(4)
   31 FORMAT (/,1X,'HUI/NAD/CH = ',Z2,'/',Z2,'/',O2,'   ALL FIELDS',
     .' HEX EXCEPT CH AND AS NOTED',/)
      GO TO 2 
  
*         SUBHEADER FOR PATH ERRORS 
   40 PRINT 41,TYPEST,TYPID,HDATA(4)
   41 FORMAT (/,1X,'HUI/NAD/CH = ',Z2,'/',Z2,'/',O2,'   ONLY HUI AND',
     .' NAD FIELDS ARE HEX',/)
      GO TO 2 
  
*         SUBHEADER FOR CONNECTION ERRORS 
   50 PRINT 51,TYPEST,TYPID,HDATA(4)
   51 FORMAT (/,1X,'HUI/NAD/CH = ',Z2,'/',Z2,'/',O2,'   ALL FIELDS',
     .' HEX EXCEPT CH',/) 
      GO TO 2 
  
*         DATE CHANGE - DETAIL REPORT 
   60 PRINT 61, SEBUF(23) 
   61 FORMAT (1X,A8)
      GO TO 6 
  
*         SUBHEADER FOR STATISTICS
   70 PRINT 71
   71 FORMAT (/,1X,4HDATE,19X,8HMESSAGES,12X,9HQ - FULLS,7X,
     .'WAIT-A-BITS (WNAK)',/,2X,'TIME     HUI NAD    SENT   ',
     .' RECEIVED    SENT  RECEIVED      SENT   RECEIVED') 
      GO TO 800 
  
*         SUBHEADER FOR STATISTICS - DETAILED STATUS INFO 
   80 PRINT 81
   81 FORMAT (/,25X,'ALL FIELDS HEX') 
      GO TO 2 
  
*         SUBHEADER FOR TRUNK ERROR LOG MESSAGES - 80 COULMNS 
   90 PRINT 91,IFLD(39) 
   91 FORMAT (18X,'---------SOURCE NAD = ',Z2,'----------', 
     .'        ERROR MESSAGE',/,18X,'TCU ENBL         TCU     ',
     .'TCI   MSG',/,1X,'DATE     --LOG-- TCU CNCT TCU TCU INTR  STATUS',
     .'  TYP -----DESTINATION NAD-----')
      PRINT 92
   92 FORMAT (2X,'TIME    TYP SEQ   0123 EADR STAT LINE  I    II',
     .' MOD   NAD RESP1 RESP2 TCU EADR')
      LINE = LINE + 3 
      GO TO 800 
  
*         SUBHEADER FOR TRUNK ERROR LOG MESSAGES - 132 COULMNS
  100 PRINT 101,IFLD(39)
  101 FORMAT (19X,'---------------SOURCE NAD = ',Z2,'-----------------',
     .7X,'ERROR MESSAGE',9X,'-----DESTINATION NAD-----')
      PRINT 102 
  102 FORMAT (1X,'DATE     --LOG-- TCU ENBL/CNT TCU TCU  TCU  INTR TCI',
     .'-STAT MSG MSG',/,2X,'TIME    TYP SEQ  0123  0123 EADR STAT', 
     .' INTR LINE  I   II  TYP MOD',29X,'NAD  RESP1 RESP2 TCU EADR')
      LINE = LINE + 3 
      GO TO 900 
  
*         SUBHEADER FOR DEVICE INTERFACE ERROR LOG MESSAGES - 80 COL. 
  110 IF (MTY .EQ. O"4105") GO TO 114 
      IF (MTY .EQ. O"4113") GO TO 116 
      PRINT 111 
  111 FORMAT (1X,'DATE     --LOG--  INTRPT     DI                  ', 
     .'      LAST    ACTIVE   ACTIVE',/,2X,'TIME    TYP SEQ    LINE', 
     .'   STATUS  ADDRESS   LENGTH  CNTRL WD  ADDRESS  LENGTH') 
      LINE = LINE + 2 
      GO TO 800 
  
*         SUBHEADER FOR 200 DEVICE INTERFACE ERROR LOG MESSAGES - 80 COL
  114 PRINT 115 
  115 FORMAT (1X,'DATE     --LOG--                      SOURCE NAD',
     .'  MSG       MSG   DESTINATION',/,2X,'TIME     TYP SEQ  MESS',
     .'AGE   ADDRESS   ADDRESS    TYPE      MOD   PATH NUMBER') 
      LINE = LINE + 2 
      GO TO 800 
  
*         SUBHEADER FOR CRAY DEVICE INTERFACE ERROR LOG MESSAGES -80 COL
  116 PRINT 117 
  117 FORMAT (1X,'DATE     --LOG--  INTRPT         DI          ', 
     .'REFERENCE  F/W      F/W      F/W',/,2X,'TIME    TYP SEQ   LINE', 
     .'  CODE  STATUS ADDRESS   CODE   INFO1    INFO2    INFO3')
      LINE = LINE + 2 
      GO TO 800 
  
  120 CONTINUE
      GO TO 2 
  
*         SUBHEADER FOR DISASTER ERROR LOG MESSAGES - 80 COLUMNS
  130 PRINT 131 
  131 FORMAT (1X,'DATE      -LOG- ',33X,'DI   ADR   A   B1   B2   ',
     .'CNDN',/,2X,'TIME     TY SQ DEAD CODE AND MESSAGE',12X, 
     .'STAT ERR  REG  REG  REG  BIT') 
      LINE = LINE + 2 
      GO TO 800 
  
  140 CONTINUE
      GO TO 2 
  
*         SUBHEADER FOR GATEWAY ERROR LOG MESSAGES - 80 COLUMNS 
  150 PRINT 151 
  151 FORMAT (1X,'DATE     --LOG--',27X,' H/W   BUFR  F/W   ',
     .'F/W   F/W  CHAN',/,2X,'TIME    TYP SEQ CODE/ERROR ', 
     .'MESSAGE TYPE    STAT  ADR  INFO1 INFO2 INFO3 STAT')
      LINE = LINE + 2 
      GO TO 800 
  
  160 CONTINUE
      GO TO 2 
  
*         SUBHEADER FOR GATEWAY DIAGNOSTIC ERROR LOG MESSAGES - 80C 
  170 PRINT 171 
  171 FORMAT (47X,'--SOURCE--     --DESTINATION--',/,1X,'DATE     ',
     .'--LOG--',30X,'FCS  BUFFER    PROC  FCS  BUFFER',/, 
     .2X,'TIME    TYP SEQ   CODE/DIAGNOSTIC FUNCTION   ERR  N/RDY', 
     .'     STAT  ERR  N/RDY')
      LINE = LINE + 2 
      GO TO 800 
  
  180 CONTINUE
      GO TO 2 
  
*         SUBHEADER FOR NAD ERROR LOG UNAVAILABLE - 80 C
  190 PRINT 191 
  191 FORMAT (1X,'DATE',/,2X,'TIME        CH    NAD      LOCAL/REMOTE', 
     ./,1X,4(10H----------))
      GO TO 2 
  
*        SUBHEADER FOR NAD ERROR LOG UNAVAILABLE
  200 PRINT 201,TYPEST
  201 FORMAT (/,1X,'HUI = ',Z2,'   ALL FIELDS HEX EXCEPT CH',/) 
      GO TO 2 
  
*         SUBHEADER FOR LOCAL DEVICE INTERFACE MESSAGES - 80 C
  210 PRINT 211 
  211 FORMAT (1X,'DATE',/,2X,'TIME',5X,'ERROR MESSAGE',//,
     .1X,'C/W  H/W  ----CONTROLWARE FUNCTIONS---',3X,'RTY RCV', 
     .' DI   TCU  TCU  TCU   TCI STAT',/,1X,'STAT STAT LAST', 
     .' PREV1 PREV2 PREV3 PREV4   CNT Y/N STAT INTR 0123 EADR ',
     .'--I---II-',/,1X,'---------------(OCTAL)----------------')
      LINE = LINE + 6 
      GO TO 800 
  
  220 CONTINUE
      GO TO 2 
  
*         SUBHEADER FOR LOCAL PATH MESSAGES - 80 C
  230 PRINT 231 
  231 FORMAT (1X,'DATE      ERROR MESSAGE/CWARE FUNCTIONS  RTY ', 
     .'RCV C/W  H/W  TCU ENBL  REMOTE',/,2X,'TIME     LAST',
     .' PREV1 PREV2 PREV3 PREV4   CNT Y/N STAT STAT   0123',
     .'     NAD') 
      LINE = LINE + 4 
      GO TO 800 
  
  240 CONTINUE
      GO TO 2 
  
*         SUBHEADER FOR LOCAL CONNECTION MESSAGES - 80 C
  250 PRINT 251 
  251 FORMAT (59X,'ERR ERR ',/,1X,'DATE',54X,'NAD NAD REM LOC TCU', 
     ./,2X,'TIME     ERROR MESSAGE',14X,'FINAL PATH STATE',5X,
     .'HOP NET NAD   0123') 
      LINE = LINE + 4 
      GO TO 800 
  
  260 CONTINUE
      GO TO 2 
  
  800 PRINT 801 
  801 FORMAT (1X,7(10H----------),8H--------) 
      GO TO 2 
  
  900 PRINT 901 
  901 FORMAT (1X,11(10H----------),9H---------) 
      GO TO 2 
  
 1000 RETURN
      END 
      SUBROUTINE PRINT39 (LT,NW)
* 
**        DESCRIPTION 
*         ----------- 
*         SUBROUTINE PRINT39 PRINTS A LINE OF DATA IN VARIOUS REPORTS 
*         BY TRACKING LINE COUNTS AND STARTS NEW PAGE IF NEEDED.
* 
*         ENTRY CONDITIONS
*         ----------------
*         LT   - DEFINES THE FORMAT STATEMENT TO BE USED, 
*         NW   - DEFINES THE NUMBER OF WORDS TO BE PRINTED. 
* 
*         DATA AREAS SHARED - 
*         LINE, RCF, PL(32) 
* 
*         EXIT CONDITIONS 
*         --------------- 
*         DATA AREAS SHARED - 
*         LINE
* 
*         DATA AREAS
*         ----------
*         LINE   - (1)/COMMON BLOCK/NUMBER OF LINES PRINTED SO FAR
*                  IN A PAGE. 
*         IFORM  - (12,60)/COMMON BLOCK/AREA TO HOLD THE EXECUTION
*                  TIME FORMAT STATEMENTS FOR VARIOUS REPORTS.
*                  COLUMN NUMBER SELECTS A SET OF FORMAT STATEMENT
*                  AND THE MAXIMUN LENGTH OF ONE STATEMENT IS 12
*                  WORDS LONG.
*         PL - (32)/COMMON BLOCK/AREA TO HOLD A LIST OF PRINT 
*                  DATA LOADED BY THE CALLING ROUTINE.
*         CALLS 
*         ----- 
*         HEADER - INITIALIZE EACH PAGE OF VARIOUS REPORTS. 
*         PHEAD39 - PRINT SUB-HEADER IN VARIOUS REPORTS.
* 
*CALL HPACOM1 
  
      DIMENSION IFORM (7,12), FORM2(12,6), FMT(12)
* 
*        FORMAT FOR STATISTICS - FIRST LINE 
      DATA (IFORM(I,1), I=1,5,1) /
     .10H(2X,A8,2(2,10HX,Z2),2(2X,10H,Z8),2(4X,,10HZ4),8X,2(Z,
     .10H4,4X))    /
  
*        FORMAT FOR STATISTICS - 2ND/3RD LINES
      DATA (IFORM(I,2), I=1,4,1) /
     .10H(19X,12(1H,10H/,Z4),/,19,10HX,12(1H/,Z,10H4))       /
  
*        FORMAT FOR DEVICE INTERFACE ERROR LOG MESSAGES - 80 COLUMNS
      DATA (IFORM(I,3), I=1,4,1) /
     .10H(2X,A8,1X,,10HZ2,2X,Z2,5,10HX,Z2,6(5X,,10HZ4))      /
  
*        FORMAT FOR 200 DEVICE INTERFACE ERROR LOG MESSAGES - 80 COLUMNS
      DATA (IFORM(I,4), I=1,4,1) /
     .10H(2X,A8,1X,,10HZ2,2X,Z2,5,10HX,Z2,5(8X,,10HZ2))      /
  
*        FORMAT FOR DISASTER ERROR LOG MESSAGES - 80 COLUMNS
      DATA (IFORM(I,5), I=1,5,1) /
     .10H(2X,A8,1X,,10HZ2,1X,Z2,1,10HX,Z4,1X,2(,10HA10),A7,6(,
     .10H1X,Z4))   /
  
*        FORMAT FOR GATEWAY ERROR LOG MESSAGES - 80 COLUMNS 
      DATA (IFORM(I,6), I=1,5,1) /
     .10H(2X,A8,1X,,10HZ2,2X,Z2,2,10HX,Z3,1X,2(,10HA10),2X,6(,
     .10HZ4,2X))   /
  
*        FORMAT FOR GATEWAY DIAGNOSTIC ERROR LOG MESSAGES - 80 COLUMNS
      DATA (IFORM(I,7), I=1,6,1) /
     .10H(2X,A8,1X,,10HZ2,2X,Z2,3,10HX,Z3,1X,2(,10HA10),3X,2(,
     .10HZ4,2X),3X,,10H3(Z4,2X)) /
  
*        FORMAT FOR LOCAL DEVICE INTERFACE MSGS (W/O STATUS) - 80 C 
      DATA (IFORM(I,8), I=1,6,1) /
     .10H(2X,A8,1X,,10H2(A10),A8,,10H4X,I2,A4,/,10H,2(1X,O4),,
     .10H1X,5(O4.3,,10H2X))      /
  
*        FORMAT FOR LOCAL PATH MESSAGES - 80 COLUMNS
      DATA (IFORM(I,9), I=1,7,1) /
     .10H(2X,A8,2X,,10H2(A10),A8,,10H3X,I2,1X,A,10H3,2(1X,O4),
     .10H,3X,R4,5X,,10HZ2,/,11X,5,10H(O4.3,2X))/
  
*        FORMAT FOR NAD ERROR LOG UNAVAILABLE 
      DATA (IFORM(I,10),I=1,3,1) /
     .10H(2X,A8,4X,,10HO2,4X,Z2,8,10HX,A6)        / 
  
*        FORMAT FOR LOCAL CONNECTION MESSAGES - 80 COLUMNS
      DATA (IFORM(I,11),I=1,5,1) /
     .10H(2X,A8,1X,,10H2(A10),A4,,10H3X,2(A10),,10H1X,3(Z2,2X,
     .10H),2X,R4)                /
  
*        FORMAT FOR CRAY DEVICE INTERFACE ERROR LOG MSGS - 80 COLUMNS 
      DATA (IFORM(I,12),I=1,5,1) /
     .10H(2X,A8,1X,,10HZ2,2X,Z2,4,10HX,Z2,4X,Z2,10H,4(4X,Z4),,
     .10H2(5X,Z4)) /
* 
* 
*       **********************************************
* 
*         ...START OF (FORM2) ARRAY FOR LARGE FORMATS ... 
* 
*        ... THESE ARE CALLED WITH FORMAT PARAMETER BIASED
*            BY +100, IN PRINT CALL . 
* 
*       **********************************************
* 
* 
*        FORMAT FOR TRUNK ERROR LOG MESSAGES - 80 COLUMNS 
      DATA (FORM2(I,1),I=1,12,1) /
     .10H(2X,A8,1X,,10HZ2,2X,Z2,3,10HX,R4,2X,Z3,10H,2(3X,Z1),,
     .10H2X,Z4,1X,Z,10H4,1X,Z2,1X,10H,2(A10),A8,10H,/,20X,R4,,
     .10H11X,Z2,12X,10H,Z2,5X,Z2,,10H2(4X,Z2),4,10HX,Z3)     /
  
*        FORMAT FOR TRUNK ERROR LOG MESSAGES - 132 COLUMNS
      DATA (FORM2(I,2),I=1,12,1) /
     .10H(2X,A8,1X,,10HZ2,2X,Z2,2,10HX,R4,2X,R4,10H,2X,Z3,2(3,
     .10HX,Z1),3X,Z,10H2,2(2X,Z4),10H,2(1X,Z2),,10H2X,2(A10),,
     .10HA8,1X,Z2,2,10H(4X,Z2),4X,10H,Z3)      ,10H           / 
  
*        FORMAT FOR LOCAL DEVICE INTERFACE MSGS (W STAT, CWHALT) - 80 C 
      DATA (FORM2(I,3), I=1,9,1) /
     .10H(2X,A8,1X,,10H2(A10),A7,,10HZ4,1X,I2,A,10H4,1X,Z4,3X,
     .10H,Z1,2X,R4,,10H2X,Z3,2(1X,10H,Z4),/,2(1,10HX,O4),1X,5,
     .10H(O4.3,2X))              /
  
*        FORMAT FOR TRUNK RECEIVE ERROR LOG MESSAGES - 80 COLUMNS 
      DATA (FORM2(I,4),I=1,9,1) / 
     .10H(2X,A8,1X,,10HZ2,2X,Z2,3,10HX,R4,2X,Z3,10H,2(3X,Z1),,
     .10H2X,Z4,1X,Z,10H4,4X,2(A10,10H),A8,/,20X,10H,R4,11X,Z2,
     .10H)         /
  
*        FORMAT FOR TRUNK RECEIVE ERROR LOG MESSAGES - 132 COLUMNS
      DATA (FORM2(I,5),I=1,8,1) / 
     .10H(2X,A8,1X,,10HZ2,2X,Z2,2,10HX,R4,2X,R4,10H,2X,Z3,2(3,
     .10HX,Z1),3X,Z,10H2,2(2X,Z4),10H,8X,2(A10),10H,A8)      /
  
*         FORMAT FOR LOCAL DEVICE INTERFACE MSGS (W STAT) - 80 COL
      DATA (FORM2(I,6),I=1,9,1) / 
     .10H(2X,A8,1X,,10H2(A10),A8,,10HI4.0,I2,A4,10H,1X,Z4,3X,,
     .10HZ1,2X,R4,2,10HX,Z3,2(1X,,10HZ4),/,2(1X,10H,O4),1X,5(,
     .10HO4.3,2X)) /
  
*       **********************************************
  
*     IF CURRENT DETAILS - NOT TO BE PRINTED - RETURN.
      IF (FLAGS(4) .EQ. 3HOFF) GO TO 100
  
*     SKIP LINE LIMIT CHECK IF CONTINUATION MESSAGE 
      IF (LT .EQ. 2) GO TO 5
  
      IF(LINE .LE. PLF) GO TO 5 
  
*     INSERT DATE IF NEW HEADER FOR DETAIL REPORTS
      HCF(4) = 6
      CALL HEADER 
      CALL PHEAD39(1) 
    5 LINE = LINE + 1 
      IF (LT .EQ. 2) LINE = LINE + 1
      IF ((LT .EQ. 8) .OR. (LT .EQ. 9)) LINE = LINE + 1 
      IF ((LT .EQ. 101) .OR. (LT .EQ. 103)) LINE = LINE + 1 
      IF ((LT .EQ. 104) .OR. (LT .EQ. 106)) LINE = LINE + 1 
  
      IF (LT .GE. 100) GO TO 10 
  
*     PRINT WITH FORMAT OF LESS THAN 100
      DO 8 J = 1,7
    8 FMT(J) = IFORM(J,LT)
      PRINT FMT, (PL(J),J=1,NW) 
      GO TO 100 
  
*     PRINT WITH FORMAT OF 100 OR MORE
   10 LFM = LT - 100
      DO 12 J=1,12
   12 FMT(J) = FORM2(J,LFM) 
      PRINT FMT, (PL(J),J=1,NW) 
      GO TO 100 
  
  100 DO 110 K = 1,NW 
  110 PL(K) = 1H
  
      RETURN
      END 
      SUBROUTINE UCHEK39
**
*             UCHEK39 - ROUTINE USED BY DETAIL SUBROUTINES, TO
*                   TEST FOR CHANGES IN MESSAGE THAT WILL AFFECT
*                   SUBHEADER PRINT.  WHEN CHANGE OCCURS, MODIFY
*                   POINTERS AND CALL PHEAD39 FOR NEW HEADING 
*                   OF DEVICE AND MESSAGE TYPE. 
* 
*        ENTRY CONDITIONS 
*       ------------------- 
*       CURRENT MESSAGE IN PROCESS IS IN (IFLD) 
* 
*       EXIT CONDITIONS 
*       ----------------
*       CURRENT APPLICABLE SUB-HEADERS ARE PRINTED , AND FLAGS
*       FOR TEST CHANGES IN NEXT MESSAGE ARE SAVED. 
* 
*       DATA AREAS
*        -----------
*        SVMTY - SAVE MESSAGE TYPE IN PROCESS 
* 
*CALL HPACOM1 
*CALL HPACOM2 
  
*       JUMP IF NOT INITIAL ENTRY FOR THIS UNIT 
      IF (FLAGS(12) .NE. 7HNEW-EST) GO TO 200 
  
*             INITIALIZE
      CALL DREPT3 
      FLAGS(12) = 1H
      SVMTY = IFLD(FMTY)
      SVMTYP = HDATA(1) 
      PDATE =  SEBUF(21)
      CALL HEADER 
      CALL FLIP3
      HCF(4) = 6
      CALL PHEAD39 (1)
      GO TO 500 
  
*         TEST CHANGE IN MESSAGE TYPE 
  200 IF (SVMTY .NE. MTY) GO TO 300 
  
*         TEST FOR CHANGE IN SUBHEADER (MESSAGE CATEGORY) 
      IF (SVMTYP .NE. HDATA(1)) GO TO 300 
  
*     CHECK FOR NAD/CH CHANGE FOR LOCAL DI, PATH OR CONNECTION ERRORS 
      IF ((RTY .EQ. O"76") .AND.
     .   ((IFLD(35).NE.PREC(35)) .OR. (IFLD(24).NE.PREC(24)))) GO TO 300
  
*       TEST CHANGE OF DATE 
      IF (PDATE .EQ. SEBUF(23)) GO TO 500 
  
*        INSERT DATE CHANGE FOR SAME MESSAGE
      PDATE = SEBUF(23) 
      HCF(4) = 6
      IF ((LINE+1) .GT. PLF) GO TO 400
      CALL PHEAD39 (4)
      GO TO 500 
  
*         PRINT NEW HEADER FOR NEW MESSAGE
  300 PDATE = SEBUF(23) 
      SVMTY = MTY 
*     SET SUBHEADER CONTROLS
      CALL FLIP3
      HCF(4) = 6
      IF ((LINE + 12) .GT. PLF) GO TO 400 
      PRINT 311 
  311 FORMAT (1X) 
      LINE = LINE + 1 
      IF (SVMTYP .NE. HDATA(1)) GO TO 410 
      CALL PHEAD39 (2)
      GO TO 500 
  
*         PRINT NEW PAGE HEADERS
  400 CALL HEADER 
  410 CONTINUE
      SVMTYP = HDATA(1) 
      CALL PHEAD39 (1)
  
  500 RETURN
      END 
          IDENT  INTEM39
          LCC OVCAP.
          ENTRY INTEM39 
 OVLNO    SET   9 
          USE   /LINK/
 LINKET   BSS   1 
 LINKEM   BSS   1 
          USE   * 
  
 INTEM39  BSS   1 
          SX6   ET
          SA6   LINKET
          SX6   EC
          SA6   LINKEM
          JP    INTEM39 
          EJECT 
*CALL COMHPAERT 
          END 
