*DECK,HPA32 
      OVCAP.
      SUBROUTINE HPA32
*             CONTROL PROGRAM FOR SECONDARY OVERLAY (3,2) 
* 
*CALL,HPACOM1 
  
      IF (FROG(6) .NE. L"T") GO TO 10 
      CALL SECOND (CP)
      PRINT 9,CP
    9 FORMAT ( ' ENTER HPA32, SECOND = ',F10.3) 
   10 CONTINUE
  
      IF (((RTY .EQ. O"20") .OR. (RTY .EQ. O"21")) .OR. 
     .    ((RTY .EQ. O"23") .OR. (RTY .EQ. O"24"))) GO TO 400 
      IF (IFLD(FDT) .EQ. R"CH") GO TO 300 
      IF ((IFLD(FDT) .EQ. R"SY") .AND. ((MTY .GE. O"612") .AND. 
     .    (MTY .LE. O"614"))) GO TO 300 
      IF (MTY .EQ. O"336")  GO TO 500 
                                                                         R2FCYB 
* 
*           MESSAGES NOT PROCESSED, GET NEXT RECORD 
      CALL GNR3 
      CALL SETEM3(1)
      GO TO 1000
  
*          CHANNEL ERRORS AND MESSAGES
  300 CALL AN2CH3 
      GO TO 1000
  
*           UNIT RECORD ENTRIES  ( CARD READER,PUNCH, PRINTER ) 
  400 CALL AN2UR3 
      GO TO 1000
  
*           SYSTEM DEADSTART, CHECKPOINT AND MAINTENANCE LOG MSGS 
  500 CALL AN2SY3 
* 
 1000 CONTINUE
      END 
      SUBROUTINE AN2CH3 
* 
**        DESCRIPTION 
*         ----------- 
*         SUBROUTINE AN2CH3 PROCESSES SEF INPUT RECORDS FOR CHANNEL 
*         ERRORS/MSGS: PARITY ERRORS FOR 180-XXX DEVICES (EXCLUDING 
*         865/875) ON 844/885/FSC/ISD/DEMA/CDSS2 DISKS, TAPE UNITS AND
*         UNIT RECORD DEVICES; CONTROLWARE LOGGED/LOADED MESSAGES.
*         ALSO INCLUDED ARE CHANNEL UP/DOWN MESSAGES. 
*         IT ALSO PROCESSES MASSTOR CCC CHANNEL MESSAGES. 
*         MDI (CDCNET) INITIALIZATION MESSAGES ARE PROCESSED. 
* 
*         ENTRY CONDITION 
*         ----------------
*         ENTERED WHEN SEF FILE IS POSITIONED AT THE 1ST RECORD OF
*         CHANNEL ERRORS/MESSAGES.
* 
*         EXIT CONDITION
*         --------------- 
*         EXIT WHEN SEF INPUT RECORDS FOR CHANNEL ERRORS/MESSAGES 
*         ARE EXHAUSTED.
* 
*         CALLED BY 
*         --------- 
*         PROGRAM HPA32 
* 
*         CALLS 
*         ----- 
*         ERDIST3 - REPORT CONTROLWARE STATISTICS BY TIME VALUES. 
*         INISET3 - DO INITIAL PREPARATIONS FOR  ANALYSIS REPORT. 
*         STOJN3  - KEEP ERROR STATISTICS BY TIME VALUES. 
* 
*CALL HPACOM1 
*CALL HPACOM2 
* 
   10 CALL INISET3
  
      SAVEORD = TYPORD
      TYPORD = 7HCHANNEL
      IHDR = 16 
      IF (MTY .EQ. O"612") IHDR = 36
      IF (MTY .EQ. O"613") IHDR = 38
      IF (MTY .EQ. O"614") IHDR = 36
      ICORUNS = IDORUNS = ISEEKS = 0
  
   50 CONTINUE
      MPR(1,1) = O"24"
      MPR(1,2) = 4
      IF (NFLD(30) .EQ. R"DC") MPR(1,2) = 10
      IF((NFLD(30) .EQ. R"DC") .AND. (FROG(18) .EQ. 3HYES))MPR(1,2) = 11
      MPR(2,1) = O"35"
      MPR(2,2) = 14 
      MPR(3,1) = O"36"
      MPR(3,2) = 17 
      MPR(4,1) = O"72"
      MPR(4,2) = 6
      MPR(5,1) = O"165" 
      MPR(5,2) = 5
      MPR(6,1) = O"176" 
      MPR(6,2) = 13 
      MPR(7,1) = O"612" 
      MPR(7,2) = 18 
      MPR(8,1) = O"613" 
      MPR(8,2) = 19 
      MPR(9,1) = O"614" 
      MPR(9,2) = 20 
      MPR(10,1) = O"620"
      MPR(10,2) = 15
      MPR(11,1) = O"621"
      MPR(11,2) = 16
      MPR(12,1) = O"5650" 
      MPR(12,2) = 12
  
      IF (RCFA .EQ. 2HON) CALL STOJN3 
      TYPID = 10HCONTRLWARE 
      IF (MTY .LE. O"24") TYPID = 10HCHANNEL
      IF ((MTY.LE.O"24") .AND. (IFLD(25) .NE. 0)) TYPID = 10HCIO CHAN 
      IF (MTY .EQ. O"35") TYPID = 10HCH UP/DOWN 
      IF (MTY.EQ.O"36")  TYPID = 10HLOAD BC 
      IF ((MTY.GE.O"162").AND.(MTY.LE.O"165")) TYPID = 10HCH UP/DOWN
      IF ((MTY .GE. O"612") .AND. (MTY .LE. O"614")) TYPID=10HHANG
      IF (MTY.GE.O"5521") TYPID = 10HCHANNEL
* 
*     SUPPRESS 895 FORMAT 6 (OVERRUN) MESSAGES FROM DETAIL REPORT 
*     ACCUMULATE OVERRUN DATA FOR SUMMARIZTION AT END OF REPORT 
      IF (RTY .NE. 5) GO TO 55
      IF (NFLD(30) .NE. R"DC") GO TO 55 
      IF ((IFLD(36) .AND. O"17") .NE. 6) GO TO 55 
      ICORUNX = (SHIFT(NFLD(34),4) .AND. O"360") .OR. 
     .          (SHIFT(NFLD(35),-8) .AND. O"17")
      ICORUNS = ICORUNS + ICORUNX 
      IDORUNS = IDORUNS + (NFLD(35) .AND. O"377") 
      IADDSK= (SHIFT(NFLD(32),12) .AND. O"17 0000") .OR. NFLD(33) 
      ISEEKS = ISEEKS + IADDSK
      GO TO 100 
  
   55 CONTINUE
      IF (MTY .LE. O"24") GO TO 60
      IF (MTY .EQ. O"35") GO TO 60
      IF (MTY.EQ.O"36")  GO TO 60 
      IF ((MTY .GE. O"70") .AND. (MTY .LE. O"72")) GO TO 60 
      IF ((MTY .GE. O"162") .AND. (MTY .LE. O"167")) GO TO 60 
      IF (MTY .EQ. O"176") GO TO 60 
      IF ((MTY .GE. O"612") .AND. (MTY .LE. O"614")) GO TO 60 
      IF((MTY.EQ.O"620").OR.(MTY.EQ.O"621"))  GO TO 60
      IF (MTY.GE.O"5521") GO TO 60
      GO TO 100 
  
*     GENERATE DETAIL REPORT FOR THIS CHANNEL ERROR/MSG 
* 
   60 IF (RCFD .EQ. 2HON) CALL DL2CH3 
* 
*     READ THE NEXT RECORD
* 
  100 CALL GNR3 
      CALL SETEM3(1)
* 
*     CONCLUDE DETAIL REPORT IF RECORD READ NOT SAME CHANNEL
* 
      IF ((TWIC .LT. 1) .OR. ((IFLD(FDT) .NE. R"CH") .AND.
     .    (IFLD(FDT) .NE. R"SY")) .OR. (IFLD(FEST) .NE. PREC(FEST)))
     .    GO TO 400 
      GO TO 50
  
* 
*     GENERATE ANALYSIS REPORT FOR THIS CHANNEL ERRORS/MSGS 
* 
*     PROVIDE THE 895 DETAIL RPT SUMMARY OF OVERRUN DATA - FORMAT 6 
  400 IF (RCFD .EQ. 3HOFF) GO TO 420
      IF ((ICORUNS.EQ.0).AND.(IDORUNS.EQ.0).AND.(ISEEKS.EQ.0)) GO TO 420
*     CALL OUT PAGE HEADER IF NO OTHER DETAIL REPORT FOR THIS CHANNEL 
      IF (FLAGS(12) .EQ. 7HNEW-EST) THEN
         CALL HEADER
         HCF(2) = 0 
         CALL PHEAD32 (1) 
      ENDIF 
      PRINT 410 
  410 FORMAT (//,10X,'***** SUMMARY OF 895 FORMAT 6 - STATISTICS/', 
     .'OVERRUN DATA *****',/) 
      IF (ISEEKS .NE. 0) PRINT 412,ISEEKS 
  412 FORMAT(16X,'NUMBER OF SEEKS =',I8)
      IF (ICORUNS .NE. 0) PRINT 414,ICORUNS 
  414 FORMAT(16X,'NUMBER OF COMMAND OVERRUNS =',I6) 
      IF (IDORUNS .NE. 0) PRINT 416,IDORUNS 
  416 FORMAT(16X,'NUMBER OF DATA OVERRUNS =',I6)
      IF (IDORUNS .NE. 0) PRINT 418 
  418 FORMAT(///,1X,'* * * * * * * * * * * * * * * * * * * * * * * * * '
     .             ,'* * * * * * * * * * * * * *',/,
     .           1X,'*                                                 '
     .             ,'                          *',/,
     .           1X,'*  DATA OVERRUN ERROR MESSAGES ON DISK UNITS LOGGE'
     .             ,'D IN HPA ARE BASICALLY    *',/,
     .           1X,'*  INFORMATIVE.  THE ERROR MESSAGES BY THEMSELVES '
     .             ,'ARE NOT SOMETHING TO      *',/,
     .           1X,'*  BE ALARMED ABOUT FROM A HARDWARE MAINTENANCE ST'
     .             ,'ANDPOINT.  THE            *',/,
     .           1X,'*  INFORMATION MAY BE USEFUL FOR PERFORMANCE ANALY'
     .             ,'SIS.                      *',/,
     .           1X,'*                                                 '
     .             ,'                          *',/,
     .           1X,'* * * * * * * * * * * * * * * * * * * * * * * * * '
     .             ,'* * * * * * * * * * * * * *')
  
  420 IF (RCFA .EQ. 3HOFF) GO TO 800
      CALL XOVCAP ('ERDIST3',0,0) 
      CALL UOVCAP ('ERDIST3') 
  
  
* 
*     PROCESS RECORDS FOR NEXT CHANNEL - EXIT IF CHANNELS DEPLETED
* 
  800 TYPORD = SAVEORD
      IF ((TWIC .GE. 1) .AND. ((IFLD(FDT) .EQ. R"CH") .OR.
     .    (IFLD(FDT) .EQ. R"SY"))) GO TO 10 
  
      RETURN
      END 
      SUBROUTINE AN2SY3 
* 
**        DESCRIPTION 
*         ----------- 
*         SUBROUTINE AN2SY3 PROCESSES SEF INPUT RECORDS FOR NOS 
*         DEADSTART, CHECKPOINT AND MAINTENANCE LOG ACTIVITY. 
* 
*         ENTRY CONDITION 
*         ----------------
*         ENTERED WHEN SEF FILE IS POSITIONED AT THE 1ST RECORD OF
*         SYSTEM MESSAGES.
* 
*         EXIT CONDITION
*         --------------- 
*         EXIT WHEN SEF INPUT RECORDS FOR SYSTEM MESSAGES 
*         ARE EXHAUSTED.
* 
*         CALLED BY 
*         --------- 
*         PROGRAM HPA32 
* 
*         CALLS 
*         ----- 
*         ERDIST3 - REPORT SYSTEM ACTIVITY BY TIME VALUES.
*         INISET3 - DO INITIAL PREPARATIONS FOR  ANALYSIS REPORT. 
*         STOJN3  - KEEP SYSTEM ACTIVITY BY TIME VALUES.
* 
*CALL HPACOM1 
*CALL HPACOM2 
* 
      CALL INISET3
  
      IHDR = 36 
  
      MPR(1,1) = O"336" 
      MPR(1,2) = 21 
  
   50 IF (RCFA .EQ. 2HON) CALL STOJN3 
      TYPID = 10HHANG 
  
      IF (MTY .EQ. O"336") GO TO 60 
      GO TO 100 
  
*     GENERATE DETAIL REPORT FOR NOS SYSTEM ACTIVITY
* 
   60 IF (RCFD .EQ. 2HON) CALL DL2SY3 
* 
*     READ THE NEXT RECORD
* 
  100 CALL GNR3 
      CALL SETEM3(1)
* 
*     CONCLUDE DETAIL REPORT IF RECORD READ NOT A NOS MSG.
* 
      IF (TWIC .EQ. 6) GO TO 50 
  
      IF (RCFA .EQ. 3HOFF) GO TO 800
      CALL XOVCAP ('ERDIST3',0,0) 
      CALL UOVCAP ('ERDIST3') 
  
  800 CONTINUE
      RETURN
      END 
      SUBROUTINE AN2UR3 
* 
**        DESCRIPTION 
*         ----------- 
*         SUBROUTINE AN2UR3 PROCESSES SEF ERROR INPUT RECORDS FOR 
*         UNIT RECORD EQUIPMENTS AND DEVELOPS THEIR UNIT ANALYSIS 
*          REPORTS. 
* 
*         ENTRY CONDITIONS
*         ----------------
*         ENTERED WHEN SEF FILE IS POSITIONED AT THE 1ST RECORD OF
*         UNIT RECORD EQUIPMENT.
* 
*         EXIT CONDITIONS 
*         --------------- 
*         EXIT WHEN SEF ERROR INPUT RECORDS FOR UNIT RECORD EQUIP-
*         MENTS ARE EXHAUSTED.
* 
*         DATA AREAS
*         ----------
*         TWIC    - (1)/COMMON BLOCK/FLAG TO IDENTIFY THE DUPLICATE 
*                   DATA FIELDS CONDITIONS OF SEF ERROR INPUT RECORDS.
*         FLAGS(20)-/COMMON BLOCK/CELL TO HOLD USAGE COUNT FOR THIS 
*                    RECORD.  SET BY DRUSE3.
*         PRUK    - (2)/COMMON BLOCK/ARRAY TO SUM USAGE FOR THIS
*                    EQUIPMENT FOR PRINTING IN ERDIST3. 
*                    PRUK(1) - BLOCKS INPUT 
*                    PRUK(2) - BLOCKS OUTPUT
*                    PRUK(3) - MFID 
* 
*         CALLED BY 
*         --------- 
*         PROGRAM HPA3
* 
*         CALLS 
*         ----- 
*         INISET3 - DO INITIAL PREPARATIONS FOR UNIT ANALYSIS REPORT. 
*         STOJN3- KEEP ERROR STATISTICS BY JOB NAME AND TIME VALUES.
*         ERDIST3  - REPORT UNIT ERROR STATISTICS BY JOB NAME AND 
*                  TIME VALUES. 
* 
*CALL,HPACOM1 
*CALL,HPACOM2 
  
*         GET  THE FIELD  DATA
  
   10 CALL INISET3
  
      IHDR = 22 
*        SET DETAIL HEADERS 
      MPR(1,1) = O"51"
      MPR(1,2) = 7
      MPR(2,1) = O"53"
      MPR(2,2) = 8
      MPR(3,1) = O"57"
      MPR(3,2) = 7
      MPR(4,1) = O"60"
      MPR(4,2) = 9
      MPR(5,1) = O"72"
      MPR(5,2) = 7
      MPR(6,1) = O"74"
      MPR(6,2) = 8
      MPR(7,1) = O"75"
      MPR(7,2) = 7
  
      TYPID = 10H PRINTER 
      IF (RTY .EQ. O"21") TYPID = 10H PUNCH 
      IF (RTY .EQ. O"20") TYPID = 10H CARD RDR
  
   50 IF (RCFA .EQ. 2HON) CALL STOJN3 
  
*         CARD/LINE COUNT 
  
      IF(IFLD(FRTY).NE.O"20") GO TO 65
  
*         SUM BLOCKS INPUT
  
         PRUK(1,1) = PRUK(1,1) + FLAGS(20)
         GO TO 67 
   65 CONTINUE
  
*         SUM BLOCKS OUTPUT 
  
         PRUK(2,1) = PRUK(2,1) + FLAGS(20)
   67 CONTINUE
  
      IF (RCFD .EQ. 2HON) CALL DL2UR3 
* 
*          GET NEXT RECORD
* 
      CALL GNR3 
      CALL SETEM3(1)
  
*         IF EQUIP CHANGE 
  
      IF(TWIC.LT.3)GO TO 400
      GO TO 50
  
*         PROCESS USAGE HISTORY 
  
  
  400 IF (RCFA .EQ. 3HOFF) GO TO 800
      CALL XOVCAP ('ERDIST3',0,0) 
      CALL UOVCAP ('ERDIST3') 
  
  
*         IF SAME RECORD TYPE  -- CONTINUE
  
  800 IF (TWIC .GT. 1) GO TO 10 
      RETURN
      END 
      SUBROUTINE DL2CH3 
* 
**         DESCRIPTION
*          -----------
*         SUBROUTINE DL2CH3 DEVELOPS DATA FOR THE CHANNEL ERROR/MSGS
*         DETAIL REPORT.
* 
*          CALLED BY
*          ---------
*         SUBROUTINE AN2CH3 
* 
*          CALLS
*          -----
*          LOAPR   - LOAD MESSAGE DESCRIPTION IN PL ARRAY.
*          PRINT32 - PRINT DETAIL REPORT. 
*          UCHEK32 - CONTROL SUBHEADER PRINTING.
* 
*CALL HPACOM1 
*CALL HPACOM2 
* 
      DIMENSION SUBERR(35,4)
      DIMENSION FMTTXT (3,9)
      DIMENSION LBCMSG(3,4) 
      DIMENSION HNGMSG (2, 5), PPDATA (3), IDSDATA (2, 14), REASON (3,5)
  
      DATA (HNGMSG(I,1),I=1,2) / 10HNO USER JO,10HB IMPACT  / 
      DATA (HNGMSG(I,2),I=1,2) / 10HJOB STEP A,10HBORTED    / 
      DATA (HNGMSG(I,3),I=1,2) / 10HJOB ABORTE,10HD         / 
      DATA (HNGMSG(I,4),I=1,2) / 10HPP HUNG   ,10H          / 
      DATA (HNGMSG(I,5),I=1,2) / 10HUNIDENTIFI,10HED CODE   / 
  
      PPDATA(1) = 10H INPUT REG 
      PPDATA(2) = 10HOUTPUT REG 
      PPDATA(3) = 10HMSG BUFFER 
  
      DATA (IDSDATA(I,1),I=1,2) / 10HCM ASSIGNE,10HD TO NOSVE/
      DATA (IDSDATA(I,2),I=1,2) / 10HCM RETURNE,10HD TO NOS  /
      DATA (IDSDATA(I,3),I=1,2) / 10HPP ASSIGNE,10HD TO NOSVE/
      DATA (IDSDATA(I,4),I=1,2) / 10HPP RETURNE,10HD TO NOS  /
      DATA (IDSDATA(I,5),I=1,2) / 10HCPP ASSIGN,10HD TO NOSVE/
      DATA (IDSDATA(I,6),I=1,2) / 10HCPP RETURN,10HED TO NOS /
      DATA (IDSDATA(I,7),I=1,2) / 10H          ,10H          /
      DATA (IDSDATA(I,8),I=1,2) / 10H          ,10H          /
      DATA (IDSDATA(I,9),I=1,2) / 10HDEADSTART ,10HPP ERROR  /
      DATA (IDSDATA(I,10),I=1,2)/ 10HIDLE PP ER,10HROR       /
      DATA (IDSDATA(I,11),I=1,2)/ 10HIDLE CPP E,10HRROR      /
      DATA (IDSDATA(I,12),I=1,2)/ 10HBAD  PP RT,10HND TO NOS /
      DATA (IDSDATA(I,13),I=1,2)/ 10HBAD CPP RT,10HND TO NOS /
      DATA (IDSDATA(I,14),I=1,2)/ 10HDEADSTART ,10HCPP ERROR /
  
      DATA(REASON(I,1),I=1,3)/10HCPP NOT RE,10HADING PP R,10HESIDENT   /
      DATA(REASON(I,2),I=1,3)/10HCPP DIDN'T,10H FINISH RD,10HING PP RES/
      DATA(REASON(I,3),I=1,3)/10HCHANNEL 15,10H PARITY ER,10HROR       /
      DATA(REASON(I,4),I=1,3)/10HPP RESIDEN,10HT PRESET T,10HIMEOUT    /
      DATA(REASON(I,5),I=1,3)/10HUNRECOGNIZ,10HED REASON ,10HCODE =    /
  
      DATA (LBCMSG(I,1),I=1,3,1) /
     .10HCONTROLLER,10H DID NOT T,10HAKE ALL CW/
      DATA (LBCMSG(I,2),I=1,3,1) /
     .10HGENERAL ST,10HATUS      ,10H          /
      DATA (LBCMSG(I,3),I=1,3,1) /
     .10HFUNCTION T,10HIMEOUT    ,10H          /
      DATA (LBCMSG(I,4),I=1,3,1) /
     .10HNO GENERAL,10H STATUS RE,10HCEIVED    /
  
      DATA (FMTTXT(I,1),I=1,3,1)/ 
     .10HPROGRAM OR,10H SYSTEM CH,10HECKS      /
      DATA (FMTTXT(I,2),I=1,3,1)/ 
     .10HDEVICE EQU,10HIPMENT CHE,10HCKS       /
      DATA (FMTTXT(I,3),I=1,3,1)/ 
     .10HSTORAGE DI,10HRECTOR EQU,10HIPMENT CKS/
      DATA (FMTTXT(I,4),I=1,3,1)/ 
     .10HSTORAGE DI,10HRECTOR CON,10HTROL CKS  /
      DATA (FMTTXT(I,5),I=1,3,1)/ 
     .10HDATA CHECK,10HS - W/O DI,10HSPLACEMENT/
      DATA (FMTTXT(I,6),I=1,3,1)/ 
     .10HDATA CHECK,10HS -WITH DI,10HSPLACEMENT/
      DATA (FMTTXT(I,7),I=1,3,1)/ 
     .10HUSAGE STAT,10HS/OVERRUN ,10HERRORS    /
      DATA (FMTTXT(I,8),I=1,3,1)/ 
     .10HSTORAGE DI,10HR-TO-CNTLR,10H PATH/CHKS/
      DATA (FMTTXT(I,9),I=1,3,1)/ 
     .10HCONTROLLER,10H EQUIPMENT,10H CHECKS   /
  
      DATA(SUBERR(01,I),I=1,4) /  1,10HTAPE UNIT ,10HOFF-LINE/N,
     .                              10HO POWER   /
      DATA(SUBERR(02,I),I=1,4) /  2,10HTAPE UNIT ,10HBUSY (UNAV,
     .                              10HAILABLE)  /
      DATA(SUBERR(03,I),I=1,4) /  4,10HTAPE UNIT ,10HNOT READY ,
     .                              10H          /
      DATA(SUBERR(04,I),I=1,4) /  6,10HMISSING WR,10HITE RING  ,
     .                              10H          /
      DATA(SUBERR(05,I),I=1,4) / 10,10HI/O TIMEOU,10HT         ,
     .                              10H          /
      DATA(SUBERR(06,I),I=1,4) / 50,10HUNRECOGNIZ,10HABLE FUNCT,
     .                              10HION CODE  /
      DATA(SUBERR(07,I),I=1,4) / 51,10HNO TAPE UN,10HIT CONNECT,
     .                              10HED        /
      DATA(SUBERR(08,I),I=1,4) /111,10HCCC ABN EN,10HD LOAD XFE,
     .                              10HR REG SEQ /
      DATA(SUBERR(09,I),I=1,4) /112,10HCCC ABN EN,10HD READ XFE,
     .                              10HR REG SEQ /
      DATA(SUBERR(10,I),I=1,4) /113,10HCCC XFER R,10HEG DATA ER,
     .                              10HROR (W/R) /
      DATA(SUBERR(11,I),I=1,4) /114,10HCCC ABN EN,10HD DIAG. WR,
     .                              10HITE SEQ   /
      DATA(SUBERR(12,I),I=1,4) /117,10HFULL/EMPTY,10HCNTER ERR ,
     .                              10HAWR DIAGS /
      DATA(SUBERR(13,I),I=1,4) /120,10HCCC BUFR A,10HDD. INCOR ,
     .                              10HAWR DIAGS /
      DATA(SUBERR(14,I),I=1,4) /122,10HINCOR BLK ,10HID ON DIAG,
     .                              10H WRT (AWR)/
      DATA(SUBERR(15,I),I=1,4) /124,10HCCC ABN EN,10HD DIAG. RE,
     .                              10HAD SEQ    /
      DATA(SUBERR(16,I),I=1,4) /126,10HCCC DIAG R,10HEAD PATTN ,
     .                              10HERR (AWR) /
      DATA(SUBERR(17,I),I=1,4) /127,10HDATA ERR I,10HN RD XFER ,
     .                              10HREG (AWR) /
      DATA(SUBERR(18,I),I=1,4) /130,10HINCOR BLK ,10HID ON DIAG,
     .                              10H RD (AWR) /
      DATA(SUBERR(19,I),I=1,4) /131,10H799X MESSA,10HGE DEVICE ,
     .                              10HUNIT CHECK/
      DATA(SUBERR(20,I),I=1,4) /132,10H799X MSG D,10HEVICE UNIT,
     .                              10HEXCEPTION /
      DATA(SUBERR(21,I),I=1,4) /150,10HMSG CHKSUM,10H ERR DTC'D,
     .                              10H BY 799X  /
      DATA(SUBERR(22,I),I=1,4) /151,10HMSG CHKSUM,10H ERR BY CC,
     .                              10HC CTRLWARE/
      DATA(SUBERR(23,I),I=1,4) /155,10HTIMEOUT EX,10HPECTED CCC,
     .                              10H-DI RESP  /
      DATA(SUBERR(24,I),I=1,4) /156,10HTIMEOUT EX,10HPECTED C17,
     .                              10H0-DI RESP /
      DATA(SUBERR(25,I),I=1,4) /157,10HTIMEOUT EX,10HPECTED *RE,
     .                              10HQ IN*STA  /
      DATA(SUBERR(26,I),I=1,4) /160,10HCCC ABN ON,10H LOADING X,
     .                              10HFER REG   /
      DATA(SUBERR(27,I),I=1,4) /161,10HCCC ABN ON,10H READING C,
     .                              10HODE TABLES/
      DATA(SUBERR(28,I),I=1,4) /164,10HCCC ABN ON,10H SYS RESET,
     .                              10H COMMAND  /
      DATA(SUBERR(29,I),I=1,4) /165,10HCCC ABN EN,10HD STATUS S,
     .                              10HENSE COM'D/
      DATA(SUBERR(30,I),I=1,4) /170,10HCCC SEQUEN,10HCE ERROR  ,
     .                              10H          /
      DATA(SUBERR(31,I),I=1,4) /171,10HCCC INTERF,10HACE ERROR ,
     .                              10H          /
      DATA(SUBERR(32,I),I=1,4) /172,10HC170-DI CH,10HANNEL PARI,
     .                              10HTY ERROR  /
      DATA(SUBERR(33,I),I=1,4) /173,10HC170-DI ME,10HMORY PARIT,
     .                              10HY ERROR   /
      DATA(SUBERR(34,I),I=1,4) /174,10HC170-DI CO,10HNTROL PACK,
     .                              10HAGE PE    /
      DATA(SUBERR(35,I),I=1,4) /175,10HCCC DEADMA,10HN TIMER EX,
     .                              10HPIRED     /
  
  
*     SCREEN OUT DUAL STATE CM / PP STATUS IF NO ST PARAMETER 
      IF (MTY .EQ. O"613") THEN 
         SYMPTOM = SEFREC(8) .AND. O"7777"
         IF ((FROG(8) .EQ. 3HOFF) .AND. (SYMPTOM .LT. O"120")) GO TO 900
      ENDIF 
  
*     CHECK FOR STATISTICS FLAG (ST PARAMETER)
* 
      IF (FLAGS(8) .LT. O"20") GO TO 5
      IF (FROG(8) .EQ. 3HOFF) GO TO 900 
* 
*     PREPARE THE DETAIL REPORT SUBHEADERS
* 
    5 CALL UCHEK32
      IF (FLAGS(4) .EQ. 3HOFF) GO TO 900
  
      IF ((MTY .GE. O"70") .AND. (MTY .LE. O"72")) GO TO 100
      IF ((MTY .EQ. O"166") .OR. (MTY .EQ. O"167")) GO TO 150 
      IF (MTY .EQ. O"176") GO TO 150
      IF ((MTY .GE. O"162") .AND. (MTY .LE. O"165")) GO TO 200
      IF (MTY .LE. O"24") GO TO 300 
      IF (MTY .EQ. O"35") GO TO 220 
      IF (MTY.EQ.O"36")  GO TO 550
      IF (MTY .EQ. O"612") GO TO 160
      IF (MTY .EQ. O"613") GO TO 170
      IF (MTY .EQ. O"614") GO TO 190
      IF((MTY.EQ.O"621").OR.(MTY.EQ.O"620"))  GO TO 500 
      IF (MTY.GE.O"5521") GO TO 400 
      GO TO 900 
  
*     GENERATE DETAIL REPORT FOR CONTROLWARE LOGGED/LOADED
* 
*     PREPARE THE CONTROL MODULE NUMBER AND CW VERSION/REVISION 
* 
  100 IF (SEFREC(4) .EQ. 0) SEFREC(4) = 10H 
      IF ((SHIFT (SEFREC(4),6) .AND. O"77") .EQ. 0) SEFREC(4) = 
     .           (SEFREC(4) .AND.      O"7777 7777 7777 7777")
     .                      .OR.  O"5555 0000 0000 0000 0000" 
      ICMNUM = 10H
      IF ((SEFREC(6) .AND. O"7777") .NE. 0) THEN
         ICM = SHIFT(SEFREC(5),12) .AND. O"7777"
         ENCODE (10,140,ICMNUM) ICM 
  140    FORMAT (O2,8X) 
      ENDIF 
      CALL LOAPR(1,IFLD(20),ICMNUM,SEFREC(4),SEBUF(27),SEBUF(28), 
     .             SEBUF(29),MFID,SP) 
      IF ((SEFREC(7) .AND. 1) .NE. 0) PL(8) = 10H   CIO CCH 
      CALL PRINT32 ( 5, 8 ) 
      GO TO 900 
  
*     GENERATE DETAIL REPORT FOR CCC/NIP MICROCODE/STATUS MESSAGES
  150 IEST = SHIFT(SEFREC(4),12) .AND. O"7777"
      STAT = SHIFT(SEFREC(5),12) .AND. O"7777"
      CALL LOAPR (1,IFLD(20),IEST,IFLD(FPPU),IFLD(FCON),STAT, 
     .              SEBUF(27),SEBUF(28),SEBUF(29))
      PL(9) = MFID
      CALL PRINT32 (1,9)
      GO TO 900 
  
*     GENERATE DETAIL REPORT FOR CONDITIONAL HANG MESSAGES
  160 FLG = (SHIFT(SEFREC(4),12) .AND. O"77") + 1 
      IF (FLG .GT. 4) THEN
         FLG = FLG - 1
         HNGMSGX = 7HED CODE
         ENCODE (10,162,HNGMSG(2,5)) HNGMSGX,FLG
  162    FORMAT (A7,1X,O2)
         FLG = 5
      ENDIF 
      PA  = SHIFT(SEFREC(4),24) .AND. O"7777" 
      JSN = SEFREC(4) .AND. O"7777 7777 7777" 
         IF (JSN .EQ. 0) JSN = 10H
      CALL LOAPR (1,IFLD(20),HNGMSG(1,FLG),HNGMSG(2,FLG),JSN,PA,
     .              PPDATA(1),SEFREC(5),PPDATA(2))
      PL(9)  = SEFREC(6)
      PL(10) = PPDATA(3)
      PL(11) = SEFREC(7)
      CALL PRINT32 (22, 11) 
      GO TO 900 
  
*     GENERATE DETAIL REPORT FOR DUAL STATE MESSAGES
  170 SYMPTOM = SEFREC(8) .AND. O"7777" 
      FLG = SYMPTOM - O"107"
      IF (SYMPTOM .GT. O"111") GO TO 180
  
*     - - - PROCESS THE CM ASSIGNED/RETURNED MESSAGES 
      FWA = SHIFT(SEFREC(5),36) .AND. O"7777 7777"
      LWA = SEFREC(5) .AND. O"7777 7777"
      CALL LOAPR (1, IFLD(20),IDSDATA(1,FLG),IDSDATA(2,FLG),FWA,LWA,
     .               SP,SP,SP)
      CALL PRINT32 (23, 5)
      GO TO 900 
  
*     - - - PROCESS THE PP/CPP STATUS MESSAGES
  180 PP = SEFREC(5) .AND. O"7777"
      CALL LOAPR (1, IFLD(20),IDSDATA(1,FLG),IDSDATA(2,FLG),PP,SP,
     .               SP,SP,SP)
      IF ((SYMPTOM .EQ. O"112") .OR. (SYMPTOM .EQ. O"113") .OR. 
     .    (SYMPTOM .EQ. O"120") .OR. (SYMPTOM .EQ. O"121") .OR. 
     .    (SYMPTOM .EQ. O"123")) CALL PRINT32 (24, 4) 
      IF ((SYMPTOM .EQ. O"114") .OR. (SYMPTOM .EQ. O"115") .OR. 
     .    (SYMPTOM .EQ. O"122") .OR. (SYMPTOM .EQ. O"124")) 
     .    CALL PRINT32 (25, 4)
      IF  (SYMPTOM .EQ. O"125") THEN
         DO 185 I = 1, 8
            IF (I .LT. 4) THEN
               IF (I .EQ. 1) REASCD = SHIFT(SEFREC(6),-24) .AND. O"7777"
               IF (I .EQ. 2) REASCD = SHIFT(SEFREC(6),-12) .AND. O"7777"
               IF (I .EQ. 3) REASCD = SEFREC(6) .AND. O"7777" 
            ENDIF 
            IF (I .GE. 4) THEN
               IF (I .EQ. 4) REASCD = SHIFT(SEFREC(7),12) .AND. O"7777" 
               IF (I .EQ. 5) REASCD = SHIFT(SEFREC(7),24) .AND. O"7777" 
               IF (I .EQ. 6) REASCD = SHIFT(SEFREC(7),36) .AND. O"7777" 
               IF (I .EQ. 7) REASCD = SHIFT(SEFREC(7),48) .AND. O"7777" 
               IF (I .EQ. 8) REASCD = SEFREC(7) .AND. O"7777" 
            ENDIF 
            IF (REASCD .LE. 0) GO TO 185
            ICD = REASCD
            IF (REASCD .GT. 4) ICD = 5
            PL(5) = REASON(1,ICD) 
            PL(6) = REASON(2,ICD) 
            PL(7) = REASON(3,ICD) 
            IF (ICD .EQ. 5) PL(7) = (REASCD + O"33") .OR. 
     .                              (PL(7) .AND. MASK(54))
            IF (I .EQ. 1) CALL PRINT32 (27, 7)
            IF (I .GT. 1) CALL PRINT32 (28, 7)
  185    CONTINUE 
      ENDIF 
  186 CONTINUE
      GO TO 900 
  
*     GENERATE DETAIL REPORT FOR NOS SYSTEM TITLE/VERSION 
  190 CALL LOAPR (1,IFLD(20),SEFREC(3),SEFREC(4),SEFREC(5),SEFREC(6), 
     .              SEFREC(7),SEFREC(8),SP) 
      CALL PRINT32 (26, 7)
      GO TO 900 
  
*     GENERATE DETAIL REPORT FOR CHANNEL UP/DOWN MSGS 
  200 CALL LOAPR (1,IFLD(20),IFLD(FPPU),SEBUF(27),SEBUF(28),
     .             SEBUF(29),MFID,SP,SP)
      CALL PRINT32 (4,6)
      GO TO 900 
  
*     GENERATE DETAIL REPORT FOR CHANNEL/EQ UP/DOWN MSGS
  220 CALL LOAPR (1,IFLD(20),IFLD(FJOB),IFLD(22),IFLD(21),IFLD(FPPU), 
     .              IFLD(FUN),SEBUF(27),SEBUF(28))
      PL (9) = SEBUF(29)
      PL(10) = MFID 
      IF (IFLD(25) .EQ. 1) PL(11) = R" CIO" 
      CALL PRINT32 ( 15, 11 ) 
      GO TO 900 
  
*     GENERATE DETAIL REPORT FOR CHANNEL PARITY ERRORS
  300 IRECV = 3H NO 
      IF (IFLD(16) .EQ. 0) IRECV = 3HYES
      IEST = IFLD(29) 
      IDT = IFLD(30)
      PVSN = IFLD(27) 
      IDX = 0 
      IF ((SEFREC(3) .AND. MASK(48)) .NE. L" CONTINU") GO TO 310
      IDX = 1 
      IEST = NFLD(29) 
      IDT = NFLD(30)
      IF (IDT .EQ. R"DC") GO TO 340 
  310 CALL LOAPR (1,IFLD(20),IFLD(FJOB),PVSN,IDT,IEST,IFLD(FPPU), 
     .              IFLD(FCON),IFLD(FUN)) 
      CALL LOAPR (9,IRECV,IFLD(21),IFLD(22),IFLD(23),MFID,
     .              SP,SP,SP) 
      CALL PRINT32 (2, 13)
  
*     GENERATE DX FOR DETAIL STATUS - IF SELECTED AND AVAILABLE 
      IF ((IDX .EQ. 0) .OR. (FLAGS(11) .EQ. 3HOFF)) GO TO 900 
      DO 320 I = 32,43
      IF (IFLD(I) .NE. 0) GO TO 330 
      IF (I .GT. 39) GO TO 320
      IF (NFLD(I) .NE. 0) GO TO 330 
  320 CONTINUE
      GO TO 900 
  
  330 CALL LOAPR (1,IFLD(32),IFLD(33),IFLD(34),IFLD(35),IFLD(36), 
     .              IFLD(37),IFLD(38),IFLD(39)) 
      CALL LOAPR (9,IFLD(40),IFLD(41),IFLD(42),IFLD(43),NFLD(32), 
     .              NFLD(33),NFLD(34),NFLD(35)) 
      CALL LOAPR (17,NFLD(36),NFLD(37),NFLD(38),NFLD(39), 
     .               SP,SP,SP,SP) 
      CALL PRINT32 (3,20) 
      GO TO 900 
  
*     GENERATE DETAIL REPORT FOR 895 CHANNEL ERRORS 
  340 CONTINUE
      SD = SHIFT(IFLD(FUN),-5) .AND. 1
      HSC = SHIFT(IFLD(FUN),-4) .AND. 1 
      UNIT = IFLD(FUN) .AND. O"17"
      ICCC = NFLD(42) .AND. O"1777" 
      IREV = SHIFT(NFLD(39),-6) .AND. O"17" 
  
*     CHECK FOR SINGLE CIO PP DATA - OBTAIN UPPER 4 BITS OF ADAPTER FCN 
      IF (IFLD(25) .NE. 0) IFLD(23) = IFLD(23) .OR. 
     .                     (SHIFT(NFLD(27),30) .AND. O"17 0000")
  
      CALL LOAPR (1,IFLD(20),IFLD(FJOB),PVSN,IDT,IEST,IRECV,
     .              IFLD(21),IFLD(FPPU))
      CALL LOAPR (9,IFLD(FCHAN),ICCC,SD,HSC,UNIT,IFLD(23),
     .              IFLD(22),MFID)
      CALL LOAPR (17,NFLD(40),NFLD(41),IREV,SP,SP,SP,SP,SP) 
      IF (FROG(18) .NE. 3HYES) THEN 
         CALL PRINT32 ( 9, 19 ) 
      ELSE
         CALL PRINT32 (10, 16 ) 
      PRINT 990,NFLD(40),NFLD(41),IREV
  990 FORMAT (20X,'CYBER DI STATUS = ',O4,'   895 DI STATUS = ',O4, 
     .            '   CW REV = ',I2)
      ENDIF 
  
*     CHECK FOR SINGLE CIO PP DATA - REPORT THREE ERROR REGISTERS 
      IF (IFLD(25) .NE. 0) THEN 
         OSR  = SHIFT(NFLD(27),36) .AND. O"77 7777" 
         IACR = SHIFT(NFLD(27),54) .AND. O"77 7777" 
         IESR = (SHIFT(NFLD(27),12) .AND. O"77 0000") .OR. NFLD(28) 
         PRINT 985,OSR,IACR,IESR
  985    FORMAT (12X,'CIO REGISTERS:   OPERATIONAL = ',Z4,
     .               '   CONTROL = ',Z4,'   ERROR = ',Z4,/) 
         LINE = LINE + 2
      ENDIF 
  
  
*     PROVIDE SENSE BYTE STATUS IF VALIDATED BY GENERAL STATUS = XX2XB
*          OR GENERAL STATUS = 4400B AND 895 DI STATUS = XXX2(NOT 2112B)
  350 IF ((IFLD(22) .EQ. O"4400") .AND. ((NFLD(41).AND.2) .NE. 0) .AND. 
     .    (NFLD(41) .NE. O"2112")) GO TO 352
      IF ((IFLD(22) .AND. O"20") .NE. 0) GO TO 352
      IF (FROG(18) .EQ. 3HYES) CALL PLSEC(4)
      GO TO 900 
  352 PL(1) = 10H      SENS 
      PL(2) = 10HE BYTES
      DO 353 I = 1,6
  353 IFLD(42+I) = NFLD(31+I) 
      J = 32
      DO 354 I = 3,24,3 
      PL(I)   = SHIFT(IFLD(J),-4) .AND. O"377"
      PL(I+1) = (SHIFT(IFLD(J),4) .AND. O"360") .OR.
     .          (SHIFT(IFLD(J+1),-8) .AND. O"17") 
      PL(I+2) = IFLD(J+1) .AND. O"377"
      J = J + 2 
      IF (J .EQ. 38) J = J + 1
  354 CONTINUE
      IF (FROG(18) .NE. 3HYES) CALL PRINT32 ( 13, 26 )
      IF (FROG(18) .EQ. 3HYES) CALL PRINT32 ( 14, 26 )
  
      FSC = (SHIFT(NFLD(36),12) .AND. O"17 0000") .OR.
     .      (NFLD(37) .AND. O"7777")
      FMT = IFLD(36) .AND. O"17"
      FMTX = FMT + 1
      SUBCODE = SHIFT(IFLD(37),-8) .AND. O"17"
      PRINT 360,FSC,FMT,(FMTTXT(I,FMTX),I=1,3,1),SUBCODE
  360 FORMAT ('     >>> FAULT SYMPTOM CODE ',Z4,/,'     >>> FORMAT ', 
     .Z1,' - ',3A10,15X,' SUBCODE - ',Z1,/) 
      LINE = LINE + 3 
      GO TO 900 
  
*     GENERATE DETAIL REPORT FOR 7990 MSE 
  400 IEST = SHIFT(IFLD(FPPU),6).OR.IFLD(14)
      IDT = IFLD(42)
      ENCODE (10,401,NUMSM) IFLD(FUN) 
      ENCODE (10,401,NUMDRD) IFLD(4)
  401 FORMAT (I1,9X)
      IF (IFLD(FUN).EQ.O"77") NUMSM = 10H 
      IF (IFLD(4).EQ.O"7") NUMDRD = 10H 
      REVNUM = SHIFT(IFLD(38),-7).AND.O"37" 
      FUNC = IFLD(38).AND.O"177"
      NUMCPLR = IFLD(41).AND.O"1777"
      SUBCODE = IFLD(23).AND.O"177" 
      CALL LOAPR(1,IFLD(20),IDT,IEST,MFID,NUMSM,NUMDRD,REVNUM,FUNC) 
      PL(9) = NUMCPLR 
      DO 410  I = 1,35
      IF (SUBCODE.EQ.SUBERR(I,1)) GO TO 420 
  410 CONTINUE
      PL(10) = 10H
      GO TO 430 
  420 ENCODE (10,421,PL(10)) SUBCODE
  421 FORMAT (O3,7X)
      PL(11) = SUBERR(I,2)
      PL(12) = SUBERR(I,3)
      PL(13) = SUBERR(I,4)
  430 CONTINUE
      IF (FROG(18).NE.3HYES) GO TO 440
      CALL PRINT32(11,13) 
      CALL LOAPR(1,IFLD(21),IFLD(22),IFLD(23),IFLD(39),IFLD(40),
     .           IFLD(43),SP,SP)
      CALL PRINT32(101,6) 
      IF (FLAGS(11).EQ.2HON) GO TO 450
      IF (FLAGS(4).EQ.3HOFF) RETURN 
      PRINT 431 
  431 FORMAT (1X) 
      LINE = LINE + 1 
      RETURN
  440 CONTINUE
      CALL LOAPR(14,IFLD(21),IFLD(22),IFLD(23),IFLD(39),IFLD(40), 
     .           IFLD(43),SP,SP)
      CALL PRINT32(12,19) 
      IF (FLAGS(11).NE.2HON) RETURN 
  450 DO 460  I = 24,37 
      IF (IFLD(I).NE.0) GO TO 470 
  460 CONTINUE
      IF (FLAGS(4).EQ.3HOFF) RETURN 
      IF (FROG(18).NE.3HYES) RETURN 
      PRINT 431 
      LINE = LINE + 1 
      RETURN
*      PRINT SENSE BYTES FOR DETAIL EXTENDED CCC CHANNEL REPORT 
  470 PL(1) = SHIFT(IFLD(24),-4).AND.O"377" 
      PL(2) = (SHIFT(IFLD(24),4).AND.O"360").OR.
     .              (SHIFT(IFLD(25),-5).AND.O"17")
      PL(3) = (SHIFT(IFLD(25),5).AND.O"370").OR.(IFLD(26).AND.7)
      J = 40
      DO 480  I = 4,9 
      PL(I) = SHIFT(IFLD(27),-J).AND.O"377" 
      J = J - 8 
  480 CONTINUE
              J = 28
      DO 490  I = 10,24,3 
      PL(I) = SHIFT(IFLD(J),-4).AND.O"377"
      PL(I+1) = (SHIFT(IFLD(J),4).AND.O"360").OR. 
     .                (SHIFT(IFLD(J+1),-8).AND.O"17") 
      PL(I+2) = IFLD(J+1).AND.O"377"
      J = J + 2 
  490 CONTINUE
      CALL PRINT32(102,24)
      GO TO 900 
* 
*        GENERATE DETAIL REPORTS FOR MDI INITIALIZATION 
  500 VER = SEFREC(4).AND.Z"FFFF" 
      SEST = SHIFT(SEFREC(4),12).AND.O"7777"
      IGS = SEFREC(8).AND.O"7777" 
      IFLGA = 3H NO 
      IF (IFLD(16).EQ.0) IFLGA = 3HYES
      IF(MTY.EQ.O"621")  GO TO 505
      CALL LOAPR(1,IFLD(20),SEST,VER,SEBUF(27),SEBUF(28), 
     .             SEBUF(29),MFID,SP) 
      CALL PRINT32(20,7)
      GO TO 510 
  505 CALL LOAPR(1,IFLD(20),IFLGA,SEST,IGS,VER,SEBUF(27),SEBUF(28), 
     .             SEBUF(29)) 
      CALL LOAPR(9,MFID,SP,SP,SP,SP,SP,SP,SP) 
      CALL PRINT32(18,9)
* 
  510 IF(MTY.EQ.O"620")  GO TO 900
      IDET = 10HDETAIL STA
      IDET1 = 10HTUS(HEX) = 
* 
*        FORMAT THE DETAIL STATUS (208 BITS)
      IDS1 = SHIFT(SEFREC(5),16).AND.Z"0FFFF" 
      IDS2 = SHIFT(SEFREC(5),32).AND.Z"0FFFF" 
      IDS3 = SHIFT(SEFREC(5),48).AND.Z"0FFFF" 
      IDS4 = (SHIFT(SEFREC(5).AND.Z"0FFF",4).OR.
     .       (SHIFT(SEFREC(6),4).AND.Z"0F"))
      IDS5 = SHIFT(SEFREC(6),20).AND.Z"0FFFF" 
      IDS6 = SHIFT(SEFREC(6),36).AND.Z"0FFFF" 
* 
      CALL LOAPR(1,IDET,IDET1,IDS1,IDS2,IDS3,IDS4,IDS5,IDS6)
      CALL PRINT32(17,8)
* 
      IDS7 = SHIFT(SEFREC(6),52).AND.Z"0FFFF" 
      IDS8 = (SHIFT(SEFREC(6).AND.Z"0FF",8).OR. 
     .       (SHIFT(SEFREC(7),8).AND.Z"0FF")) 
      IDS9 = SHIFT(SEFREC(7),24).AND.Z"0FFFF" 
      IDS10 = SHIFT(SEFREC(7),40).AND.Z"0FFFF"
      IDS11 = SHIFT(SEFREC(7),56).AND.Z"0FFFF"
      IDS12 = (SHIFT(SEFREC(7).AND.Z"0F",12).OR.
     .        (SHIFT(SEFREC(8),12).AND.Z"0FFF"))
      IDS13 = SHIFT(SEFREC(8),28).AND.Z"0FFFF"
* 
      CALL LOAPR(1,IDS7,IDS8,IDS9,IDS10,IDS11,IDS12,IDS13,SP) 
      CALL PRINT32(19,7)
      GO TO 900 
* 
*         GENERATE DETAIL REPORTS FOR ERRORS ISSUED BY LOADBC 
* 
  550 SYMPTOM = SEFREC(6).AND.O"7777" 
      IF ((SYMPTOM.EQ.O"114").OR.(SYMPTOM.EQ.O"117")) THEN
           GS = 4H
           FC = 4H
           J = 1
           IF (SYMPTOM.EQ.O"117") J = 4 
      ENDIF 
* 
      IF (SYMPTOM.EQ.O"115")  THEN
           GS = SEFREC(4) 
           FC = 4H
           J = 2
      ENDIF 
* 
      IF (SYMPTOM.EQ.O"116")  THEN
           GS = 4H
           FC = SEFREC(4) 
           J = 3
      ENDIF 
* 
      CALL LOAPR(1,IFLD(20),GS,FC,LBCMSG(1,J),LBCMSG(2,J),LBCMSG(3,J),
     .            MFID,SP)
      CALL PRINT32(21,7)
  
* 
  900 CONTINUE
      RETURN
      END 
      SUBROUTINE DL2SY3 
* 
**         DESCRIPTION
*          -----------
*          SUBROUTINE DL2SY3 DEVELOPS DATA FOR THE NOS DEADSTART, 
*          CHECKPOINT AND MAINTENANCE FILE MSGS.
* 
*          CALLED BY
*          ---------
*          SUBROUTINE AN2SY3
* 
*          CALLS
*          -----
*          LOAPR   - LOAD MESSAGE DESCRIPTION IN PL ARRAY.
*          PRINT32 - PRINT DETAIL REPORT. 
*          UCHEK32 - CONTROL SUBHEADER PRINTING.
* 
*CALL HPACOM1 
*CALL HPACOM2 
* 
      DIMENSION SYMCDE ( 5, 10 )
  
      DATA(SYMCDE(I,01),I=1,5,1) /O"101",10HMAINTENANC,10HE LOG CREA, 
     .                                   10HTED       ,10H          / 
      DATA(SYMCDE(I,02),I=1,5,1) /O"102",10HMAINTENANC,10HE LOG ACCE, 
     .                                   10HSSED      ,10H          / 
      DATA(SYMCDE(I,03),I=1,5,1) /O"103",10HMAINTENANC,10HE LOG TERM, 
     .                                   10HINATED    ,10H          / 
      DATA(SYMCDE(I,04),I=1,5,1) /O"104",10HDEADSTART ,10HRECOVERY -, 
     .                                   10H LEVEL    ,10H          / 
      DATA(SYMCDE(I,05),I=1,5,1) /O"105",10HMAINTENANC,10HE LOG READ, 
     .                                   10H ERROR    ,10H          / 
      DATA(SYMCDE(I,06),I=1,5,1) /O"107",10HMAINTENANC,10HE LOG DATA, 
     .                                   10H LOST     ,10H          / 
      DATA(SYMCDE(I,07),I=1,5,1) /O"112",10HSYSTEM CHE,10HCKPOINT   , 
     .                                   10H          ,10H          / 
      DATA(SYMCDE(I,08),I=1,5,1) /O"113",10HMAINTENANC,10HE LOG ACCE, 
     .                                  10HSSED BY HP,10HA         /
      DATA(SYMCDE(I,09),I=1,5,1) /O"114",10HMAINTENANC,10HE LOG MSGS, 
     .                                   10H LOST - DE,10HTCD CPUMTR/ 
      DATA(SYMCDE(I,10),I=1,5,1) /     0,10HSYMPTOM CO,10HDE NOT REC, 
     .                                   10HOGNIZED   ,10H          / 
  
* 
*     PREPARE THE DETAIL REPORT SUBHEADERS
* 
    5 CALL UCHEK32
      IF (FLAGS(4) .EQ. 3HOFF) GO TO 900
  
      IF (MTY .EQ. O"336") GO TO 100
      GO TO 900 
  
*     GENERATE DETAIL REPORT FOR NOS SYSTEM ACTIVITY
  100 SYMPTOM = SEFREC(4) .AND. O"7777" 
      ICODE = SYM = 1H
      DO 210 I = 1, 9 
      IF (SYMPTOM .EQ. SYMCDE(1,I)) GO TO 214 
  210 CONTINUE
      ENCODE (10,212,SYM) SYMPTOM 
      ICODE = 7HCODE =
  212 FORMAT (6X,O4)
  
  214 IF (SYMPTOM .EQ. O"104") SYMCDE(5,4) = (SEFREC(4) .AND. MASK(12))+
     .                                       O"5533 5555 5555 5555 5555"
  
      CALL LOAPR (1,IFLD(20),SYMCDE(2,I),SYMCDE(3,I),SYMCDE(4,I), 
     .              SYMCDE(5,I),ICODE,SYM,MFID) 
      CALL PRINT32 ( 16, 8 )
      GO TO 900 
* 
  900 CONTINUE
      RETURN
      END 
      SUBROUTINE DL2UR3 
* 
**         DESCRIPTION
*          -----------
* 
*          SUBROUTINE DL2UR3 DEVELOPS DATA FOR THE UNIT RECORD
*          EQUIPMENT DETAIL REPORT AND IS CALLED BY PROCUR5 
* 
*          ENTRY CONDITIONS 
*          ---------------- 
*          DATA AREAS SHARED- 
*          IFLD(64),PL(32)
* 
*         CALLED BY AN2UR3
* 
* 
*          CALLS- 
*                PERR3 - LOADS ERROR DESCRIPTION IN PL ARRAY
*                PRINT - PRINTS ERROR REPORT
* 
* 
*CALL,HPACOM1 
*CALL HPACOM2 
* 
*        SKIP SYSTEM AND USAGE MESSAGES UNLESS ( ST ) SELECTED
      IF (FLAGS(8) .LT. O"20") GO TO 60 
      IF(FROG(8).EQ.3HOFF) GO TO 900
  
   60 CALL UCHEK32
      IF (FLAGS(4) .EQ. 3HOFF) GO TO 900
  
*     DETERMINE ERROR/MESSAGE TYPE
      IF (MTY .EQ. O"60") GO TO 100 
      IF ((MTY .EQ. O"52") .OR. (MTY .EQ. O"53")) GO TO 200 
      IF ((MTY .EQ. O"73") .OR. (MTY .EQ. O"74")) GO TO 200 
  
*     PRINT UNIT RECORD MESSAGE 
      CALL LOAPR (1,HDATA(3),IFLD(20),IFLD(FPPU),IFLD(3), 
     .              IFLD(FCON),IFLD(21),IFLD(22),IFLD(23))
      PL(9) = MFID
      CALL PRINT32 (6,9)
      GO TO 900 
  
*     PRINT CUMULATIVE STATUS RECORD
  100 ICOUNT = SEFREC(4)
      CALL LOAPR (1,HDATA(3),IFLD(20),IFLD(3),IFLD(FCON),ICOUNT,
     .              MFID,SP,SP) 
      CALL PRINT32 (7,6)
      GO TO 900 
  
*     PRINT EQUIPMENT ON/OFF RECORD 
  200 CALL LOAPR (1,HDATA(3),IFLD(20),IFLD(FPPU),IFLD(3),IFLD(FCON),
     .              MFID,SP,SP) 
      CALL PRINT32 (8,6)
  
  900 CONTINUE
      RETURN
      END 
      SUBROUTINE PHEAD32 (ST) 
* 
**     PHEAD32 PRINTS HEADINGS FOR REPORTS DEVELOPED
*      BY HPA32 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 SCANN OF (HCF) FLAG.
* 
*       EXIT CONDITIONS 
*       ----------------
*          SUB-HEADER PRINT COMPLETED.
*              ENCOUNTER (HCF) FLAG CONTAINING ( 0 ). 
* 
*CALL HPACOM1 
*CALL,HPACOM2 
  
      P = ST
*        TEST IF PRINT FLAG IS OFF                                      000140
      IF (FLAGS(4) .EQ. 3HOFF) GO TO 1000                               000150
      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. 21)) 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) PTR 
* 
   10 CONTINUE
      IF (TYPID .EQ. 10HHANG      ) GO TO 5 
      PRINT 11,TYPORD,TYPDT,ORD,TYPID 
   11 FORMAT (4H DT ,A4,6H - ** ,R2,1X,A4,3H **,
     .4X,3H.. ,A10,'  DATA  ..')
      GO TO 5 
  
*        MESSAGE TYPE SUBHEADER 
   20 IF ((TYPID.EQ.10HCONTRLWARE).OR.(TYPID.EQ.10HCH UP/DOWN)) GO TO 6 
      IF (TYPID .EQ. 10HHANG      ) GO TO 24
      PRINT 21,SEBUF(27),SEBUF(28),SEBUF(29)
   21 FORMAT (/,21X,13HMSG-TYPE >>> ,2A10,A8,4H <<<,/)
      LINE = LINE + 1 
      GO TO 2 
   24 PRINT 25,TYPDT,SEBUF(27),SEBUF(28),SEBUF(29)
   25 FORMAT(/,9H DT - ** ,R2,3H **,10X,13HMSG-TYPE >>> ,2A10,A8,4H <<<,
     ./)
      GO TO 2 
  
*        DATE 
   30 PRINT 31,SEBUF(23)
   31 FORMAT (1X,A8)
      GO TO 5 
  
*        MESSAGE TYPE SUBHEADER FOR CHANNEL PARITY ERRORS 
   40 PRINT 41
   41 FORMAT (1X,'DATE',22X,'DEVICE',14X,'RCV  RTY   GEN        MF',
     ./,'    TIME     JOB   PSN/VSN  TYPE EST ',
     .'PP-EQ-UN  Y/N  CNT   STAT FUNC  ID',/,1X,7(10H----------)) 
      GO TO 2 
  
*        MESSAGE TYPE SUBHEADER FOR CHANNEL UP/DOWN MSGS
   50 PRINT 51
   51 FORMAT (' DATE',/,
     .'    TIME                  PP         MESSAGE',23X,'MFID',/,
     .1X,7(10H----------))
      GO TO 2 
  
*        MESSAGE TYPE SUBHEADER FOR CONTROLWARE LOGGED/LOADED MSGS
   60 PRINT 61
   61 FORMAT (/,' DATE                CONTROLWARE',/, 
     .'    TIME     (CM)      VER/REV      MESSAGE',24X,'MFID',/, 
     .1X,7(10H----------))
      GO TO 2 
  
*       SUBHEADER FOR UNIT RECORD DETAIL REPORT 
   70 PRINT 71
   71 FORMAT (3X,'DATE',5X, 
     .'TIME     PP   CH   EQ    FCN   EQ-STAT CONV-STAT MFID',/,
     .1X,6(10H----------),4H----) 
      GO TO 2 
  
*        SUBHEADER FOR EQUIPMENT ON/OFF DETAIL REPORT 
   80 PRINT 81
   81 FORMAT (3X,'DATE     TIME     PP   CH   EQ    MFID',
     ./,1X,4(10H----------))
      GO TO 2 
  
*        SUBHEADER FOR UNIT RECORD CUMULATIVE STATUS DETAIL REPORT
   90 PRINT 91
   91 FORMAT (3X,'DATE     TIME     CH   EQ     COUNT    MFID', 
     ./,1X,4(10H----------),5H-----)
      GO TO 2 
  
*        SUBHEADER FOR 895 CHANNEL ERRORS - 132 COLUMNS 
  100 PRINT 101 
  101 FORMAT (1X,'DATE',21X,'DEV     RCV RT',29X,'GEN   MF',
     .'   CY DI  895 DI  CW', 
     ./,'    TIME    JOB   PACK-ID TYP EST Y/N CT PP CHR',
     .' CCC SD HSC UN   FUNC STAT  ID   STAT   STAT    REV',
     ./,1X,9(10H----------),9H---------)
      GO TO 2 
  
*        SUBHEADER FOR 895 CHANNEL ERRORS - 80 COLUMNS
  110 PRINT 111 
  111 FORMAT (1X,'DATE',21X,'DEV     RCV RT',29X,'GEN   MF',
     ./,'    TIME    JOB   PACK-ID TYP EST Y/N CT PP CHR',
     .' CCC SD HSC UN   FUNC STAT  ID', 
     ./,1X,7(10H----------),8H--------) 
      GO TO 2 
  
  120 IF (FROG(18).EQ.3HYES) PRINT 121
      IF (FROG(18).NE.3HYES) PRINT 122
  121 FORMAT (1X,'DATE',8X,'DEV     MF',8X,'REV     CPLR  SUB',/, 
     .3X,'TIME     TYPE EST ID SM DRD NUM FUN  NUM CODE',11X, 
     .'MESSAGE',/,1X,7(10H----------),9H---------)
  122 FORMAT (1X,'DATE',8X,'DEV     MF',8X,'REV     CPLR  SUB',T83, 
     .'GENERAL  DETAIL C170 DI CCC DI   DIAG',/,
     .3X,'TIME     TYPE EST ID SM DRD NUM FUN  NUM CODE',11X, 
     .'MESSAGE',T84,'STATUS  STATUS  STATUS STATUS STATUS', 
     ./,1X,12(10H----------)) 
      LINE = LINE + 1 
      GO TO 2 
  
*        SUBHEADER FOR CCC/NIP MICROCODE/STATUS MESSAGES
  130 PRINT 131 
  131 FORMAT (/,' DATE',/,'    TIME     EST   PP   EQ   STAT   MESSAGE',
     .24X,'MFID',/,1X,7(10H----------)) 
      GO TO 2 
  
*        MESSAGE TYPE SUBHEADER FOR CHANNEL/EQ DOWNED 
  140 PRINT 141 
  141 FORMAT (/,' DATE                DEVICE',/,
     .3X,'TIME        JOB    TYPE EST  PP  UN  MESSAGE',22X,'MFID',/, 
     .1X,7(10H----------),2H--) 
      GO TO 2 
  
* 
*        MESSAGE TYPE SUBHEADER FOR MDI SOFTWARE LOADED 
  150 PRINT 151 
  151 FORMAT (/,' DATE                   SOFTWARE   ',/,
     .       '     TIME     EST       VERSION  MESSAGE',
     .       24X,'MFID',/,1X,7(10H----------))
      GO TO 2 
* 
*        MESSAGE TYPE SUBHEADER FOR MDI SOFTWARE ERROR MESSAGE
  160 PRINT 161 
  161 FORMAT (/,' DATE                   GEN   SOFTWARE', 
     .       /,'     TIME     RCV  EST  STAT  VERSION  MESSAGE',
     .       21X,'MFID',/,1X,7(10H----------))
      GO TO 2 
* 
*         SUBHEADER FOR LOADBC ERROR MESSAGES 
* 
  170 PRINT 171 
  171 FORMAT (/,' DATE',10X,'( GEN  )  (FUNC)',/,4X,'TIME',7X,
     .'(STATUS)  (CODE)     MESSAGE',24X,'MFID',/,1X,7(10H----------))
      GO TO 2 
* 
*         MESSAGE TYPE SUBHEADER FOR CONDITIONAL HANG MESSAGES
  180 PRINT 181 
  181 FORMAT (' DATE                                     PP PROG',/,
     .        '   TIME    ABORT FLAG DEFINITION  JSN      ADDR  ',
     .'           PP DATA',/, 
     .1X,7(10H----------),9H---------)
      GO TO 2 
* 
*         MESSAGE TYPE SUBHEADER FOR DUAL STATE MESSAGES
  190 PRINT 191 
  191 FORMAT (' DATE',/,
     .'   TIME      DUAL STATE ACTIVITY',/, 
     .1X,7(10H----------),9H---------)
      GO TO 2 
  
*         MESSAGE TYPE SUBHEADER FOR NOS SYSTEM TITLE/VERSION 
  200 PRINT 201 
  201 FORMAT (' DATE',/,
     .'   TIME      SYSTEM TITLE',34X,'SYSTEM VERSION',/, 
     .1X,7(10H----------),9H---------)
      GO TO 2 
  
*         MESSAGE TYPE SUBHEADER FOR NOS DEADSTARTS, CHECKPOINTS, ETC.
  210 PRINT 211 
  211 FORMAT (' DATE',/,
     .'   TIME       SYSTEM ACTIVITY',37X,'MFID',/, 
     .1X,7(10H----------),9H---------)
      GO TO 2 
  
 1000 RETURN
      END 
      SUBROUTINE PRINT32 (LT,NW)
* 
**        DESCRIPTION 
*         ----------- 
*         SUBROUTINE PRINT32 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. 
*         PHEAD - PRINT SUB-HEADER IN VARIOUS REPORT. 
* 
*CALL,HPACOM1 
  
      DIMENSION IFORM (11, 28), FMT (11)
  
*        FORMAT FOR CCC/NIP MICROCODE/STATUS MESSAGES 
      DATA (IFORM(I,1),I=1,5,1) / 
     .10H(3X,A8,2X,,10HO3,2(3X,O2,10H),3X,O4,3X,10H,2A10,A8,4,
     .10HX,R1)        / 
  
*        FORMAT FOR CHANNEL PARITY ERRORS 
      DATA (IFORM(I,2),I=1,7,1) / 
     .10H(2X,A8,2(1,10HX,R8),1X,R,10H2,2X,O3,3(,10H1X,O2),2X,,
     .10HA3,2X,I2,3,10HX,2(1X,O4),10H,2X,R1)      / 
  
*        FORMAT FOR CHANNEL PARITY ERRORS DETAILED STATUS - DX
      DATA (IFORM(I,3),I=1,4,1) / 
     .10H(20X,10(1H,10H/,O4.0),/,,10H20X,10(1H/,10H,O4.0))     /
  
*        FORMAT FOR CHANNEL UP/DOWN MESSAGES
      DATA (IFORM(I,4),I=1,4,1) / 
     .10H(3X,A8,15X,10H,O2,9X,2A1,10H0,A8,4X,R1,10H)            / 
  
*        FORMAT FOR CONTROLWARE LOGGED/LOADED DETAIL
      DATA (IFORM(I,5),I=1,5,1) / 
     .10H(3X,A8,4X,,10HA2,5X,A10,,10H4X,2A10,A8,10H,4X,R1,A10,
     .10H)         /
  
*        FORMAT FOR UNIT RECORD DETAIL
      DATA(IFORM(I,6),I=1,4,1) /
     .10H(2(1X,A8),,10H3(3X,O2),3,10H(4X,O4),6X,10H,R1)      /
  
*        FORMAT FOR UNIT RECORD DETAIL - CUMULATIVE STATUS
      DATA (IFORM(I,7),I=1,4,1) / 
     .10H(2(1X,A8),,10H2(3X,O2),I,10H10.0,6X,R1,10H)         /
  
*        FORMAT FOR UNIT RECORD DETAIL - EQUIPMENT ON/OFF 
      DATA (IFORM(I,8),I=1,3,1) / 
     .10H(2(1X,A8),,10H3(3X,O2),6,10HX,R1)        / 
  
*        FORMAT FOR 895 CHANNEL ERRORS - 132 COLUMNS
      DATA (IFORM(I,9),I=1,11,1) /
     .10H(2X,A8,1X,,10HR8,1X,R6,1,10HX,R2,1X,O3,10H,1X,A3,I3,,
     .10H1X,O2,1X,O,10H2,1X,O4,2(,10H2X,O1),2X,,10HO2,1X,O6.4,
     .10H,1X,O4,3X,,10HR1,2(3X,O4,10H),4X,I2)  /
  
*        FORMAT FOR 895 CHANNEL ERRORS - 80 COLUMNS 
      DATA (IFORM(I,10),I=1,10,1) / 
     .10H(2X,A8,1X,,10HR8,1X,R6,1,10HX,R2,1X,O3,10H,1X,A3,I3,,
     .10H1X,O2,1X,O,10H2,1X,O4,2(,10H2X,O1),2X,,10HO2,1X,O6.4,
     .10H,1X,O4,3X,,10HR1)       /
  
*        FORMAT FOR CCC CHANNEL ERRORS - 80 COLUMN
      DATA (IFORM(I,11),I=1,7,1) /
     .10H(4X,A8,2X,,10HR2,1X,O3,2,10HX,R1,2X,A1,10H,3X,A1,2X,,10HI2,1X,O
     .3,1,10HX,O4,2X,A3,10H,1X,3A10) /
  
*        FORMAT FOR CCC CHANNEL ERRORS - 132 COLUMN 
      DATA (IFORM(I,12), I=1,10,1) /
     .10H(4X,A8,2X,,10HR2,1X,O3,2,10HX,R1,2X,A1,10H,3X,A1,2X,,10HI2,1X,O
     .3,1,10HX,O4,2X,A3,10H,1X,3A10,2,10HX,O4,1H/,O,10H4,2X,O4,2X,10H,3(
     .3X,O4))/
  
*     FORMAT FOR 7165/895 SENSE BYTES - 132 COLUMNS 
      DATA (IFORM(I,13),I=1,4,1) /
     .10H(44X,2A10,,10H12(Z2,1H/),10H,/,64X,12(,10HZ2,1H/))      /
  
*     FORMAT FOR 7165/895 SENSE BYTES - 80 COLUMNS
      DATA (IFORM(I,14),I=1,4,1) /
     .10H(23X,2A10,,10H12(Z2,1H/),10H,/,43X,12(,10HZ2,1H/))      /
  
*     FORMAT FOR CHANNEL/EQ DOWNED MESSAGE
      DATA (IFORM(I,15),I=1,6,1) /
     .10H(3X,A8,2X,,10HR8,2X,R2,2,10HX,O3,2(2X,,10HO2),2X,2A1,
     .10H0,A8,3X,R1,10H,R4)      /
* 
*         FORMAT FOR NOS DEADSTARTS, CHECKPOINTS, MAINTENANCE MSGS. 
      DATA (IFORM(I,16),I=1,3,1) /
     .10H(3X,A8,3X,,10H4A10,A7,R4,10H,3X,R1)   /
* 
*        FORMAT FOR MDI INITIALIZATION MESSAGES 
      DATA (IFORM(I,17),I=1,2,1) /
     .10H(10X,2A10,,10H6(1X,Z4)  /
      DATA (IFORM(I,18),I=1,5,1) /
     .10H(3X,A8,3X,,10HA3,2X,O3,2,10HX,O4,3X,Z4,10H,4X,2A10,A,
     .10H8,2X,R1,) /
      DATA (IFORM(I,19),I=1,2,1) /
     .10H(30X,7(1X,,10H,Z4))     /
      DATA (IFORM(I,20),I=1,4,1) /
     .10H(3X,A8,3X,,10HO3,7X,Z4,5,10HX,2A10,A8,,10H5X,R1)    /
* 
*         FORMAT FOR LOADBC ERRORS
      DATA (IFORM(I,21),I=1,4,1)  / 
     .10H(3X,A8,6X,,10HA4,5X,A4,6,10HX,3A10,3X,,10HR1)       /
* 
*         FORMAT FOR CONDITIONAL HANG MESSAGES
      DATA (IFORM(I,22),I=1,7,1)  / 
     .10H(1X,A8,2X,,10H2A10,3X,R6,10H,3X,O4,1X,,10H2(A10,1H:,,
     .10H1X,O20,/,4,10H8X),A10,1H,10H:,1X,O20) /
* 
*         FORMAT FOR DUAL STATE MESSAGES - CM ASSIGN/RETURN 
      DATA (IFORM(I,23),I=1,7,1)  / 
     .10H(3X,A8,2X,,10H2A10,4X,10,10HHFWA/1000B,10H:,1X,O8,3X,
     .10H,13HLWA-1/,10H1000B: ,O8,10H)         /
* 
*         FORMAT FOR DUAL STATE MESSAGES - PP STATUS
      DATA (IFORM(I,24),I=1,4,1)  / 
     .10H(3X,A8,2X,,10H2A10,1X,13,10HHLOGICAL  ,10HPP: ,O2)  /
* 
*         FORMAT FOR DUAL STATE MESSAGES - CPP STATUS 
      DATA (IFORM(I,25),I=1,4,1)  / 
     .10H(3X,A8,2X,,10H2A10,1X,13,10HHLOGICAL C,10HPP: ,O2)  /
* 
*         FORMAT FOR NOS SYSTEM TITLE/VERSION 
      DATA (IFORM(I,26),I=1,3,1)  / 
     .10H(3X,A8,2X,,10H4A10,6X,2A,10H10)        / 
* 
*         FORMAT FOR 1ST CPP DEADSTART MESSAGE - WITH REASONS 
      DATA (IFORM(I,27),I=1,5,1)  / 
     .10H(3X,A8,2X,,10H2A10,1X,13,10HHLOGICAL C,10HPP: ,O2,1X,
     .10H,3A10)    /
* 
*         FORMAT FOR NEXT CPP DEADSTART MESSAGE - WITH REASONS
      DATA (IFORM(I,28),I=1,3,1)  / 
     .10H(3X,A8,2X,,10H2A10,16X,A,10H1,3A10)   /
* 
* 
* 
*       **********************************************
* 
*         ...START OF (FORM2) ARRAY FOR LARGE FORMATS ... 
* 
*        ... THESE ARE CALLED WITH FORMAT PARAMETER BIASED
*            BY +100, IN PRINT CALL . 
* 
*        ************************************************ 
* 
* 
*      IF CURRENT DETAILS - NOT TO BE PRINTED - RETURN. 
      IF (FLAGS(4) .EQ. 3HOFF) GO TO 50 
  
      IF (LINE .LT. PLF) GO TO 3
      IF (LT .EQ. 3) GO TO 3
      IF (LT .EQ. 28) GO TO 3 
  
      CALL HEADER 
      IF ((IFLD(FDT) .EQ. R"CH") .OR. (IFLD(FDT) .EQ. R"SY")) HCF(4) = 3
      CALL PHEAD32(1) 
  
    3 CONTINUE
      LINE=LINE+1 
      IF (LT .EQ. 3) LINE = LINE + 1
      IF (LT .EQ. 10) LINE = LINE + 1 
      IF ((LT .EQ. 13) .OR. (LT .EQ. 14)) LINE = LINE + 1 
      IF (LT .EQ. 22) LINE = LINE + 2 
      IF (LT .GE. 100) GO TO 10 
  
      DO 5 J = 1,11 
      FMT(J) = IFORM(J,LT)
    5 CONTINUE
      PRINT FMT,(PL(J),J=1,NW)
      GO TO 50
* 
*      PRINT WITH FORMAT OF 100 OR MORE 
   10 LFM = LT - 100
      GO TO (15,20) LFM 
   15 PRINT 16, (PL(I),I=1,6) 
   16 FORMAT (5X,'GENERAL/DETAIL, C170/CCC DI, DIAG STATUS  ',5(O4,'/'),
     .O4) 
      GO TO 50
   20 IF (FROG(18).EQ.3HYES) PRINT 21, (PL(I),I=1,24) 
      IF (FROG(18).NE.3HYES) PRINT 22, (PL(I),I=1,24) 
   21 FORMAT (28X,'SENSE BYTES  ',11(Z2,'/'),Z2,/,41X,11(Z2,'/'),Z2,/)
   22 FORMAT (67X,'SENSE BYTES  ',11(Z2,'/'),Z2,/,80X,11(Z2,'/'),Z2,/)
      LINE = LINE + 2 
  
  
   50 DO 60 K=1,NW
   60 PL(K) = 1H
* 
      RETURN
      END 
      SUBROUTINE UCHEK32
**
*        UCHEK32  - BASIC ROUTINE USED BY DETAIL PROCESSORS, TO 
*                   TEST FOR CHANGES IN MESSAGE THAT WILL AFFECT
*                   SUBHEADER PRINT.  WHEN CHANGE OCCURS, MODIFY
*                   POINTERS AND CALL PHEAD32 FOR NEW HEADING 
*                   OF DEVICE AND MESSAGE TYPE. 
* 
*        ENTRY CONDITIONS 
*       ------------------- 
*       CURRENT MESSAGE IN PROCESS IS IN (IFLD) 
*     - FOR START OF REPORT, (SVEST) FLAG HAS BEEN PRESET,
*       BY ANALYZER ROUTINES, TO ( -1) TO INDICATE
*       ORIGINAL ENTRY. 
* 
*       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 
  
      IF (TYPID .NE. 10HHANG      ) CALL DREPT3 
  
*       JUMP IF NOT INITIAL ENTRY FOR THIS UNIT 
      IF ( FLAGS(12) .NE. 7HNEW-EST ) GO TO 200 
      FLAGS(12) = 1H
      SVMTY = IFLD(FMTY)
      SVTYPID = TYPID 
      PDATE = SEBUF(21) 
      CALL HEADER 
      CALL FLIP3
      IF ((IFLD(FDT) .EQ. R"CH") .OR. (IFLD(FDT) .EQ. R"SY")) HCF(4) = 3
      CALL PHEAD32 (1)
      GO TO 500 
  
*         TEST CHANGE IN CHANNEL FOR CHANNEL ERRORS/MSGS
  200 IF (IFLD(FEST) .NE. PREC(FEST)) GO TO 300 
  
*         TEST CHANGE IN MESSAGE TYPE 
      IF (SVMTY .NE. MTY) GO TO 300 
  
      IF ((IFLD(FUN) .NE. PREC(FUN)) .AND.
     .   ((IFLD(FDT) .EQ. R"CH") .OR. (IFLD(FDT) .EQ. R"SY"))) GO TO 300
  
*       TEST CHANGE OF DATE 
      IF (PDATE .NE. SEBUF(23)) GO TO 250 
      HDATA(3) = 1H 
      GO TO 500 
  
*        PUT DATE BACK INTO DETAIL LINE 
  250 PDATE = SEBUF(23) 
      HDATA(3) = PDATE
      IF ((IFLD(FDT) .NE. R"CH") .AND. (IFLD(FDT) .NE. R"SY")) GO TO 500
      IF ((LINE + 4) .GE. PLF) GO TO 400
      CALL FLIP3
      HCF(4) = 3
      CALL PHEAD32 (4)
      GO TO 500 
  
*        SETUP FOR NEW MESSAGE TYPE 
  300 PDATE = SEBUF(23) 
      HDATA(3) = PDATE
      SVMTY = MTY 
*     SET SUBHEADER CONTROLS
      IF ((LINE + 6) .GE. PLF) GO TO 400
      CALL FLIP3
      IF (SVTYPID .NE. TYPID) GO TO 310 
      CALL PHEAD32 (2)
      GO TO 500 
  310 PRINT 311 
  311 FORMAT (1X) 
      IF ((LINE + 9) .GE. PLF) GO TO 400
      SVTYPID = TYPID 
      HCF(4) = 3
      CALL PHEAD32 (1)
      GO TO 500 
  
*        PRINT NEW PAGE HEADER AND SUBHEADERS 
  400 CONTINUE
      SVTYPID = TYPID 
      CALL HEADER 
      CALL FLIP3                                                        000540
      IF ((IFLD(FDT) .EQ. R"CH") .OR. (IFLD(FDT) .EQ. R"SY")) HCF(4) = 3
      CALL PHEAD32 (1)
  
  500 RETURN
      END 
          IDENT  INTEM32
          LCC OVCAP.
          ENTRY  INTEM32
OVLNO     SET    2
          USE    /LINK/ 
LINKET    BSS    1
LINKEM    BSS    1
          USE    *
  
INTEM32   BSS    1
          SX6    ET 
          SA6    LINKET 
          SX6    EC 
          SA6    LINKEM 
          JP     INTEM32
          EJECT 
*CALL COMHPAERT 
          END 
