FTN4
      PROGRAM TGPI4(5), 92080-16391 REV.2026 800430                     
C 
C     SOURCE 92080-18391
C 
C 
C 
C     **************************************************************
C     * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1978.  ALL RIGHTS    *
C     * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, RE- *
C     * PRODUCED, OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITH-  *
C     * OUT THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.  *
C     **************************************************************
C 
C 
C 
C      PRGMR : JEAN CHARLES MIARD (HPG) 
C 
C 
C*********************************************************************
C*                                                                   *
C*              THIS IS A SEGMENT OF THE TGP PROGRAM USED TO         *
C*   PRINT THE TRANSACTION SPECIFICATIONS ON THE LIST DEVICE .       *
C*   THE 3070 LABEL ATTACHED TO THE TRANSACTION DEFINED IS ALSO      *
C*   PRINTED .                                                       *
C*                                                                   *
C*       IF INDIC = -1 : RETURN FROM TGP11 THE IMAGE OPERATIONS      *
C*                       HAVE BEEN LISTED .                          *
C*       IF INDIC = 4278 : REQUEST TO LIST A TRANSACTION SPEC COMING *
C*                         FROM TGP1                                 *
C*                                                                   *
C*********************************************************************
C 
C 
C  DECLARATIONS COMMON VARIABLES *************
C 
      COMMON ILU,ISCRN,IQST,ISKIP,INDIC 
      COMMON IFORM(780) 
      COMMON JFORM(1700)
      COMMON MFORM(28)
      COMMON LFORM(42)
      COMMON ITT
      COMMON IKEY(26,3) 
      COMMON IUMAX,IMMAX
      COMMON IMODB
      COMMON ILITE(15)
      COMMON IMAI(45,5) 
      COMMON IMFLG,IMAS,IMDT,IMKY 
      COMMON KFORM(2844)
      COMMON ILIBR(67)
      COMMON NIMAG
      COMMON IBASE(10),IMODE
C 
C   LOCAL VARIABLES ****************
C 
      DIMENSION IBUF(52),IDATE(15),JNY(2,2),IRED3(13),IRED5(10) 
      DIMENSION IK1(6),ITERM(4),IALPHA(26)
      DIMENSION IRSET(3),IKBD(4),ISTRG(4),IINT(4),IREAL(4)
      DIMENSION IFUN(4),INAM(3),JFUN(11),JAR(10),JCO(4),JDE(3)
      DIMENSION JNE(5),JDV(8),JDI(8),JEX(8),JNX(10),JCE(11),JCN(11) 
      DIMENSION JID(9),JTE(6),JDA(3),JTI(7),JNAM(3),IPRES(27) 
      DIMENSION ICRBF(4),ITIME(5),ISUM(6),KTERM(4,3)
      DIMENSION JOFF(4,4),JNCH(4),IONL(8),JTI12(6)
      DIMENSION MGSRED(11),IYES(3),BCRED(8),IDSUB(12) 
      DIMENSION ILARGE(3),ISMALL(3),ISCROL(8),ICLEAR(11)
C 
      LOGICAL ISSPA,ISBIT,JULIB 
C 
C 
C 
C 
C  DATA VALUES *************
C 
      DATA IK1/2HRE,2HSE,2HT/,2HST,2HAR,2HT / 
      DATA IRSET/2HRE,2HSE,2HT /
      DATA IKBD/2HKE,2HYB,2HOA,2HRD/
      DATA ISTRG/2HST,2HRI,2HNG,2H  / 
      DATA IINT/2HIN,2HTE,2HGE,2HR /
      DATA IREAL/2HRE,2HAL,2H  ,2H  / 
      DATA IFUN/2HFU,2HNC,2HTI,2HON/
      DATA INAM/2HTG,2HP1,2H  / 
      DATA JFUN/2H F,2HUN,2HCT,2HIO,2HNS,2H A,2HCC,2HEP,2HTE,2HD ,2H: / 
      DATA JAR/2HAR,2HIT,2HHM,2HET,2HIC,2H O,2HPE,2HRA,2HTO,2HRS/ 
      DATA JCO/2HCO,2HNT,2HIN,2HUE/ 
      DATA JDE/2HDE,2HLE,2HTE/
      DATA JNE/2HNE,2HXT,2H E,2HNT,2HRY/
      DATA JDV/2HDE,2HFA,2HUL,2HT ,2HVA,2HLU,2HE ,2H: / 
      DATA JDI/2HDI,2HSP,2HLA,2HYE,2HD ,2HVA,2HLU,2HE / 
      DATA JEX/2HCH,2HEC,2HK ,2HEX,2HIS,2HTE,2HNC,2HE / 
      DATA JNX/2HCH,2HEC,2HK ,2HNO,2HN ,2HEX,2HIS,2HTE,2HNC,2HE / 
      DATA JCE/2HCH,2HEC,2HK ,2HAL,2HL ,2HCH,2HAI,2HNS,2H E,2HMP,2HTY/
      DATA JCN/2HCH,2HEC,2HK ,2HCH,2HAI,2HN ,2HNO,2HN ,2HEM,2HPT,2HY /
      DATA JID/2HTR,2HAN,2HSA,2HCT,2HIO,2HN ,2HID,2H. ,2H: /
      DATA JTE/2HTE,2HRM,2HIN,2HAL,2H #,2H :/ 
      DATA JDA/2HDA,2HTE,2H :/
      DATA JTI/2HTI,2HME,2H O,2HF ,2HDA,2HY ,2H: /
      DATA JNAM/2HTG,2HPI,2H1 / 
      DATA IPRES/15530B,15555B,15446B,65460B, 
     C41040B,    15542B,6412B,6412B,15446B,62112B,2HPr,2Hes,2Hs ,15446B,
     C62113B,2HNE,2HXT,2H S,2HCR,2HEE,2HN ,15446B,62112B,2Hke,74433B, 
     C23144B,40040B/
      DATA ICRBF/2H  ,2H  ,2H  ,2H  / 
      DATA ISUM/2H(T,2HOT,2HAL,2H I,2HTE,2HM)/
      DATA JNY/2HNO,2H  ,2HYE,2HS / 
      DATA JOFF/98,67,91,98, 92,68,92,50, 93,69,93,98, 72,61,77,0/
      DATA JNCH/20,6,14,0/
      DATA IRED3/2HTY,2HPE,2H I,2HII,2H C,2HAR,2HD/,2HBA,2HDG,2HE , 
     *           2HRE,2HAD,2HER/
      DATA IRED5/2HTY,2HPE,2H V,2H B,2HAD,2HGE,2H R,2HEA,2HDE,2HR / 
      DATA IONL/2HON,2H-L,2HIN,2HE,,2H S,2HUM,2HMA,2HRY/
      DATA JTI12/2H24,2H H,2HR ,2HCL,2HOC,2HK / 
      DATA JBYTES/170/
      DATA MGSRED/2HMA,2HGS,2HTR,2HIP,2HE ,2HCA,2HRD,2H R,2HEA, 
     .2HDE,2HR /
      DATA IYES/2HYE,2HS ,2H  / 
      DATA BCRED/2HBA,2HR ,2HCO,2HDE,2H R,2HEA,2HDE,2HR / 
      DATA IDSUB/2HUS,2HER,2H W,2HRI,2HTT,2HEN,2H D,2HAT,2HA ,
     .2HMO,2HDU,2HLE/ 
      DATA ILARGE/2HLA,2HRG,2HE / 
      DATA ISMALL/2HSM,2HAL,2HL / 
      DATA ISCROL/2H W,2HIT,2HH ,2HSC,2HRO,2HLL,2HIN,2HG /
      DATA ICLEAR/2H, ,2HCL,2HEA,2HR ,2HDI,2HSP,2HLA,2HY ,2HFI,2HRS,
     *2HT / 
      DATA JWORDS/85/ 
C 
C***********************************************************************
C 
C   GET LIST LU AND IF INDIC = -1 GO TO FINISH LISTING
C 
C************************************************************************ 
C 
      LU=ISKIP
49    IF(INDIC.EQ.-1) GO TO 470 
C 
C*********************************************************************
C 
C   WRITE QUESTION SPECIFICATIONS 
C 
C*********************************************************************
C 
      NLINE=32000 
      IPAGE=IMODB 
      CALL FTIME(IDATE) 
300   DO 400 I=1,IUMAX+IMMAX
      MC=(I-1)*JBYTES 
      MW=(I-1)*JWORDS 
C 
C  CALCULATE NO. OF LINES REQUIRED BY THIS QUES 
C 
      JF=JFORM(50+MW) 
      KLINE=14
C 
C-----DISPLAY VALUE ? 
      IF(IGET1(JFORM,103+MC).EQ.1HX)KLINE=KLINE+8 
C 
C-----CARD/TYPE III BADGE READER ?
      IF(IGET2(JFORM,39+MC).NE.2H  )KLINE=KLINE+3 
C 
C-----TYPE V BADGE READER ? 
      IF(IGET2(JFORM,44+MC).NE.2H  )KLINE=KLINE+3 
C 
C-----MAGSTRIPE READER ?
      IF(IGET1(JFORM,164+MC).NE.1H .OR. 
     .   JFORM(83+MW).NE.2H  ) KLINE=KLINE+3
C 
C-----BAR CODE READER ? 
      IF(IGET2(JFORM,179+MC).NE.2H  )  KLINE=KLINE+3
C 
C-----USER WRITTEN DATA MODULE ?
      IF(JFORM(77+MW).NE.2H  )  KLINE=KLINE+2 
C 
C-----CRT USAGE ? 
      IF(IGET1(IFORM,1550+MC).NE.1H )  KLINE=KLINE+2
C 
C-----IMAGE ITEM NAME ? 
      IF(ISSPA(JFORM,27+MC,6))KLINE=KLINE+1 
C 
C-----IMAGE EDITS ? 
      IF(IAND(IMAI(2*I-1,2)/64,700B).NE.0)KLINE=KLINE+1 
C 
C-----ARITHMETIC OPERATORS
      IF(IGET1(JFORM,JOFF(JF+1,1)+MC).EQ.1HX)KLINE=KLINE+1
C 
C-----NEXT ENTRY
      IF(IGET1(JFORM,JOFF(JF+1,2)+MC).EQ.1HX)KLINE=KLINE+1
C 
C-----CONTINUE
      IF(IGET1(JFORM,49+MC).EQ.1HX .AND. J.EQ.3)KLINE=KLINE+1 
C 
C-----DELETE
      IF(IGET1(JFORM,51+MC).EQ.1HX .AND. J.EQ.3)KLINE=KLINE+1 
C 
C-----USER EDIT MODULE
      IF(ISSPA(JFORM,JOFF(JF+1,3)+MC,5) .AND. J.NE.3)KLINE=KLINE+1
C 
C-----LENGTH OF STORAGE 
      IF(I.EQ.IUMAX .OR. I.EQ.IUMAX+IMMAX)NLINE=NLINE+2 
C 
C  HEADER FOR U QUESTIONS 
C 
      NLINE=NLINE+KLINE 
      IF(NLINE.LT.50)GO TO 308
      CALL PHEAD(LU,IPAGE,IDATE)
      NLINE=KLINE 
C 
308   CONTINUE
      IF((I.NE.1).OR.(IUMAX.EQ.0)) GO TO 310
      J=2HU 
      WRITE(LU,2008) IUMAX,J
      WRITE(LU,2009)
      NLINE=NLINE+2 
C 
C  HEADER FOR M QUESTIONS 
C 
310   IF(I.NE.IUMAX+1) GO TO 320
      J=2HM 
      WRITE(LU,2008) IMMAX,J
      WRITE(LU,2009)
      NLINE=NLINE+2 
320   CONTINUE
C 
C  PRINT QUESTION LABEL 
C 
      WRITE(LU,2011) (IFORM(637+(I-1)*6+K),K=1,6) 
      WRITE(LU,2033)
C 
C  DISPLAYED INFORMATION
C 
      IF(IGET1(JFORM,2+MC).NE.1HX) GO TO 324
C 
C  DISPLAY LABEL
C 
      CALL MOVCA(JFORM,107+MC,IBUF,1,16)
      WRITE(LU,2034)(IBUF(K),K=1,8) 
C 
C  INDICATOR LIGHT #
C 
      J1=JFORM(51+MW) 
      J2=2H 
      J3=2HNO 
      J4=2HNE 
      IF(J1.NE.2H00) WRITE(LU,2035) J1,J2 
      IF(J1.EQ.2H00) WRITE(LU,2035) J3,J4 
C 
C  ITEM TYPE
C 
      K=IGET1(JFORM,133+MC) 
      IF(K.EQ.1HS) J=0
      IF(K.EQ.1HI) J=1
      IF(K.EQ.1HR) J=2
      IF(K.NE.1H ) GO TO 321
      J=IAND(IMAI(2*I,2),30000B)/4096 
321   IF(J.EQ.0) CALL MOVEW(ISTRG,IBUF,4) 
      IF(J.EQ.1) CALL MOVEW(IINT,IBUF,4)
      IF(J.EQ.2) CALL MOVEW(IREAL,IBUF,4) 
      IF(J.EQ.0) WRITE(LU,2040) (IBUF(K),K=1,4),JFORM(66+MW)
      IF(J.NE.0) WRITE(LU,2039) (IBUF(K),K=1,4) 
C 
C  DISPLAY MODULE 
C 
      IBUF(3)=2H
      CALL MOVCA(JFORM,126+MC,IBUF,1,5) 
      IF(ISSPA(JFORM,126+MC,5)) WRITE(LU,2036) (IBUF(K),K=1,3)
C 
C  IMAGE NAME (ADD "TOTALED ITEM" IF NECESSARY) 
C 
      CALL MOVCA(JFORM,134+MC,IBUF,1,6) 
      IF(.NOT.ISSPA(JFORM,134+MC,6)) GO TO 3212 
      IF(IGET1(JFORM,146+MC).EQ.1HX) GO TO 3211 
      WRITE(LU,2037) (IBUF(K),K=1,3)
      GO TO 32111 
3211  WRITE(LU,2037) (IBUF(K),K=1,3),(ISUM(IX),IX=1,6)
32111 CALL MOVCA(JFORM,140+MC,IBUF,1,6) 
      WRITE(LU,20371) (IBUF(K),K=1,3) 
C 
C PRINT DISPLAY 
C 
3212  CONTINUE
      J=1 
      CALL BLANC(IBUF,30) 
      JF=IGET2(JFORM,105+MC)
      IF(JF.EQ.2H  ) GO TO 3213 
         J=2
         IBUF(2)=2H , 
         IF(JF.EQ.2HX )CALL MOVCA(IONL,1,IBUF,6,7)
         IF(JF.EQ.2H X)CALL MOVCA(IONL,10,IBUF,6,7) 
         IF(JF.EQ.2HXX)CALL MOVCA(IONL,1,IBUF,6,16) 
3213  CONTINUE
      CALL MOVCA(JNY(1,J),1,IBUF,1,3) 
      WRITE(LU,2038) (IBUF(K),K=1,12) 
C 
C  DISPLAYED DATA OFFSET IN OUTPUT BUFFER 
C 
322   WRITE(LU,2045) IMAI(2*I,5)
C 
C  ANSWER SPECIFICATIONS
C 
C 
C  IF TYPE III CARD/BADGE READER ?
C 
324   CONTINUE
      CALL MOVCA(JFORM,11+MC,IBUF,1,16) 
      WRITE(LU,2041)(IBUF(K),K=1,8) 
      IF(IGET2(JFORM,39+MC).EQ.2H   .AND. IGET2(JFORM,44+MC).EQ.2H
     *.AND. IGET1(JFORM,164+MC).EQ.1H 
     *.AND. IGET2(JFORM,165+MC).EQ.2H 
     *.AND. IGET2(JFORM,159+MC).EQ.2H 
     *.AND. IGET2(JFORM,154+MC).EQ.2H  )
     *   GO TO 325
      IF(IGET2(JFORM,39+MC).EQ.2H  ) GO TO 328
      WRITE(LU,2012) IRED3
C-----NEW CARD? 
      IF(.NOT.ISSPA(JFORM,35+MC,4)) GO TO 326 
C-----YES.  DISPLAY NEW CARD SPECS. 
      ICRBF(1)=2H . 
      ICRBF(2)=2H . 
      CALL MOVCA(JFORM,35+MC,ICRBF,1,1) 
      CALL MOVCA(JFORM,36+MC,ICRBF,3,1) 
      CALL MOVCA(JFORM,37+MC,ICRBF,5,2) 
      WRITE(LU,2013) (ICRBF(ICR),ICR=1,3) 
326   WRITE(LU,2014)JFORM(20+MW),JFORM(21+MW) 
C 
C  IF TYPE V BADGE READER ? 
C 
328   IF(IGET2(JFORM,44+MC).EQ.2H  )GO TO 3281
      WRITE(LU,2012)IRED5 
      ICRBF(1)=2H . 
      CALL MOVCA(JFORM,43+MC,ICRBF,1,1) 
      IF(ICRBF(1).NE.2H .)WRITE(LU,2013) ICRBF(1) 
      CALL MOVCA(JFORM,44+MC,ICRBF,1,2) 
      CALL MOVCA(JFORM,46+MC,ICRBF,3,2) 
      WRITE(LU,2014)ICRBF(1),ICRBF(2) 
      GO TO 330 
C 
C  IF MAGSTRIPE READER ?
C 
3281  IF(IGET1(JFORM,164+MC).EQ.1H .AND.
     .         JFORM(83+MW).EQ.2H  ) GO TO 3285 
      WRITE(LU,2012)MGSRED
C --- NEW CARD? 
      IF(.NOT.ISSPA(JFORM,163+MC,1)) GO TO 3282 
      WRITE(LU,2013) IYES 
3282  CALL BLAN(ICRBF,1,8)
      CALL MOVCA(JFORM,164+MC,ICRBF,1,3)
      CALL MOVCA(JFORM,167+MC,ICRBF,5,3)
      WRITE(LU,2062) (ICRBF(ICR),ICR=1,4) 
C 
C  IF BAR CODE READER ? 
C 
3285  IF(IGET2(JFORM,159+MC).EQ.2H  ) GO TO 329 
      WRITE(LU,2012) BCRED
C --- NEW CARD ?
      IF(.NOT.ISSPA(JFORM,158+MC,1)) GO TO 3286 
      ICRBF=2H
      CALL MOVCA(JFORM,158+MC,ICRBF,1,1)
      IF(.NOT.(ISSPA(JFORM,170+MC,1)))WRITE(LU,2067) ICRBF(1) 
      IF(ISSPA(JFORM,170+MC,1)) WRITE(LU,2066) ICRBF(1) 
3286  WRITE(LU,2014) JFORM(80+MW),JFORM(81+MW)
C 
C  IF USER WRITTEN DATA MODULE ?
C 
329   IF(IGET2(JFORM,154+MC).EQ.2H  ) GO TO 330 
      WRITE(LU,2012) IDSUB
      WRITE(LU,2063) (JFORM(ICR),ICR=77+MW,79+MW) 
      GO TO 330 
C 
C KEYBOARD INPUT
C 
325   WRITE(LU,2012) IKBD 
C 
C  LIGHT #
C 
330   J1=JFORM(2+MW)
      J2=2H 
      J3=2HNO 
      J4=2HNE 
      IF(J1.NE.2H00) WRITE(LU,2035) J1,J2 
      IF(J1.EQ.2H00) WRITE(LU,2035) J3,J4 
C 
C  PRINT ITEM TYPE
C 
      J=JFORM(50+MW)
      IF(J.EQ.0) CALL MOVEW(ISTRG,IBUF,4) 
      IF(J.EQ.1) CALL MOVEW(IINT,IBUF,4)
      IF(J.EQ.2) CALL MOVEW(IREAL,IBUF,4) 
      IF(J.EQ.3) CALL MOVEW(IFUN,IBUF,4)
      IF(J.EQ.0) WRITE(LU,2040) (IBUF(K),K=1,4),JFORM(25+MW)
      IF(J.NE.0) WRITE(LU,2039) (IBUF(K),K=1,4) 
C 
C  IMAGE ITEM NAME , FUNCTION 
C 
      IF(.NOT.ISSPA(JFORM,27+MC,6)) GO TO 332 
      CALL MOVCA(JFORM,27+MC,IBUF,1,6)
      L=JFORM(17+MW)
      WRITE(LU,2043) (IBUF(K),K=1,3),L
      CALL MOVCA(JFORM,147+MC,IBUF,1,6) 
      WRITE(LU,20371) (IBUF(K),K=1,3) 
C 
C  IMAGE EDITS
C 
332   L=IAND(IMAI(2*I-1,2),700B)/64 
      IF(L.EQ.0) GO TO 335
      DO 333 K=1,11 
333   IBUF(K)=2H
      IF(L.EQ.1) CALL MOVEW(JEX,IBUF,8) 
      IF(L.EQ.2) CALL MOVEW(JNX,IBUF,10)
      IF(L.EQ.3) CALL MOVEW(JCE,IBUF,11)
      IF(L.EQ.4) CALL MOVEW(JCN,IBUF,11)
      WRITE(LU,2047) (IBUF(K),K=1,11) 
C 
C   CRT USAGE ? 
C 
335   IF(IGET1(IFORM,1550).EQ.1H ) GO TO 379
      IF(IGET1(JFORM,6+MC).EQ.1HS) GO TO 377
      IF(IGET1(JFORM,7+MC).EQ.1HC) GO TO 3764 
      WRITE(LU,2064) ILARGE,ISCROL
      GO TO 379 
3764  WRITE(LU,2064) ILARGE,ICLEAR
      GO TO 379 
377   IF(IGET1(JFORM,7+MC).EQ.1HC) GO TO 3766 
      WRITE(LU,2064) ISMALL,ISCROL
      GO TO 379 
3766  WRITE(LU,2064) ISMALL,ICLEAR
C 
C PRINT ANSWER ?
C 
379   JJ=1
      JF=IGET2(JFORM,9+MC)
      CALL BLANC(IBUF,30) 
      IF(JF.EQ.2H  ) GO TO 378
         JJ=2 
         IBUF(2)=2H , 
         IF(JF.EQ.2HX )CALL MOVCA(IONL,1,IBUF,6,7)
         IF(JF.EQ.2H X)CALL MOVCA(IONL,10,IBUF,6,7) 
         IF(JF.EQ.2HXX)CALL MOVCA(IONL,1,IBUF,6,16) 
378   CONTINUE
      CALL MOVCA(JNY(1,JJ),1,IBUF,1,3)
      WRITE(LU,2061) (IBUF(K),K=1,12) 
C 
C  STANDARD EDITS 
C 
      IF(J.EQ.3) GO TO 350
C 
C STRINGS 
C 
      IF(J.NE.0) GO TO 340
      IBUF(1)=IAND(JFORM(26+MW),177400B)
      IBUF(1)=IOR(IBUF(1),40B)
      WRITE(LU,2019) IBUF(1)
      CALL MOVCA(JFORM,52+MC,IBUF,1,20) 
      IF(ISSPA(IBUF,1,20)) WRITE(LU,2020) (IBUF(K),K=1,10)
      GO TO 350 
C 
C  INTEGERS 
C 
340   IF(J.NE.1) GO TO 342
      IF(ISSPA(JFORM,49+MC,6)) WRITE(LU,2021) (JFORM(24+MW+K),K=1,3)
      IF(ISSPA(JFORM,55+MC,6)) WRITE(LU,2022) (JFORM(27+MW+K),K=1,3)
      GO TO 350 
C 
C  REALS
C 
342   IF(ISSPA(JFORM,49+MC,14)) WRITE(LU,2021) (JFORM(24+MW+K),K=1,7) 
      IF(ISSPA(JFORM,63+MC,14)) WRITE(LU,2022) (JFORM(31+MW+K),K=1,7) 
C 
C  FUNCTIONS ACCEPTED 
C 
350   DO 351 K=1,29 
351   IBUF(K)=2H
      CALL MOVEW(JFUN,IBUF(9),11) 
C 
C  ARITH OPERATORS
C 
      IF((J.NE.1).AND.(J.NE.2)) GO TO 360 
      K=JOFF(J+1,1) 
      IF(IGET1(JFORM,K+MC).NE.1HX) GO TO 360
      CALL MOVEW(JAR,IBUF(20),10) 
      WRITE(LU,2027) (IBUF(K),K=1,29) 
      DO 352 K=1,29 
352   IBUF(K)=2H
C 
C  NEXT ENTRY 
C 
360   CONTINUE
      K=JOFF(J+1,2) 
      IF(IGET1(JFORM,K+MC).NE.1HX) GO TO  365 
      CALL MOVEW(JNE,IBUF(20),5)
      WRITE(LU,2027) (IBUF(K),K=1,29) 
      DO 361 K=1,29 
361   IBUF(K)=2H
C 
C  CONTINUE 
C 
365   IF(J.NE.3) GO TO 370
      IF(IGET1(JFORM,49+MC).NE.1HX) GO TO 367 
      CALL MOVEW(JCO,IBUF(20),4)
      WRITE(LU,2027) (IBUF(K),K=1,29) 
      DO 366 K=1,29 
366   IBUF(K)=2H
C 
C  DELETE 
C 
367   IF(IGET1(JFORM,51+MC).NE.1HX) GO TO 370 
      CALL MOVEW(JDE,IBUF(20),3)
      WRITE(LU,2027) (IBUF(K),K=1,29) 
      DO 368 K=1,29 
368   IBUF(K)=2H
C 
C   USER EDIT MODULE
C 
370   IF(J.EQ.3) GO TO 385
      IBUF(3)=2H
      K=JOFF(J+1,3) 
      CALL MOVCA(JFORM,K+MC,IBUF,1,5) 
      IF(ISSPA(IBUF,1,5)) WRITE(LU,2044) (IBUF(K),K=1,3)
C 
C  DEFAULT VALUE
C 
      DO 371 K=1,29 
371   IBUF(K)=2H
      CALL MOVEW(JDV,IBUF(12),8)
      IF(IGET1(JFORM,103+MC).EQ.1HX) GO TO 375
      K=JOFF(J+1,4) 
      KCH=JNCH(J+1) 
      IF(ISSPA(JFORM,K+MC,KCH)) GO TO 372 
      IF(J.NE.0) IBUF(21)=2H0 
      GO TO 376 
372   CALL MOVCA(JFORM,K+MC,IBUF,39,KCH)
      GO TO 376 
375   CALL MOVEW(JDI,IBUF(20),8)
376   WRITE(LU,2027) (IBUF(K),K=1,29) 
C 
C 
C   DATA OFFSET IN OUTPUT BUFFER
C 
380   CONTINUE
      WRITE(LU,2045) IMAI(2*I-1,5)
C 
C  LENGTH OF STORAGE FOR A U OR M QUESTIONS SEQUENCE
C 
385   IF((I.NE.IUMAX).OR.(IUMAX.EQ.0)) GO TO 390
      J=2HU 
      WRITE(LU,2046) J,KFORM(8) 
      NLINE=1000
      GO TO 400 
390   IF((I.NE.IUMAX+IMMAX).OR.(IMMAX.EQ.0)) GO TO 400
      J=2HM 
      WRITE(LU,2046) J,KFORM(9) 
      NLINE=1000
C 
400   CONTINUE
C 
C************************************************************************ 
C 
C  DATA ADDED BY THE SYSTEM : 
C 
C************************************************************************ 
C 
C 
      IF(.NOT.ISSPA(MFORM,1,4)) GO TO 450 
      CALL PHEAD(LU,IPAGE,IDATE)
      WRITE(LU,2050)
      WRITE(LU,2051)
      DO 440 I=1,4
      IF(IGET1(MFORM,I).NE.1HX) GO TO 440 
      DO 405 K=1,13 
405   IBUF(K)=2H
      IF(I.EQ.1) CALL MOVEW(JID,IBUF,9) 
      IF(I.EQ.2) CALL MOVEW(JTE,IBUF,6) 
      IF(I.EQ.3) CALL MOVEW(JDA,IBUF,3) 
      IF(I.NE.4) GO TO 410
        CALL MOVEW(JTI,IBUF,7)
        IF(.NOT.ISBIT(ITT,10)) GO TO 410
          CALL MOVCA(JTI12,1,IBUF,15,12)
410   WRITE(LU,2052) (IBUF(K),K=1,13) 
      WRITE(LU,2045) IMAI(40+I,5) 
      IF(.NOT.ISSPA(MFORM,5+(I-1)*6,6)) GO TO 440 
      L=MFORM(16) 
      IF(I.LE.2) L=MFORM(15)
      IF((I.EQ.2).OR.(I.EQ.4)) L=IALF2(L) 
      WRITE(LU,20431) (MFORM(K),K=3+(I-1)*3,5+(I-1)*3), 
     *               (MFORM(N),N=17+(I-1)*3,19+(I-1)*3),L 
440   CONTINUE
C 
C********************************************************************** 
C 
C   DATA STORAGE DEFINITION 
C 
C*********************************************************************
C 
450   CONTINUE
      CALL PHEAD(LU,IPAGE,IDATE)
      IF(.NOT.ISSPA(LFORM,1,29))GO TO 465 
      WRITE(LU,2053)
      WRITE(LU,2054)
C 
C  FILE NAME # 1
C 
      IF(ISSPA(LFORM,1,6)) WRITE(LU,2055) (LFORM(K),K=1,3)
C 
C  FILE NAME # 2
C 
      IF(.NOT.ISSPA(LFORM,7,6)) GO TO 460 
      WRITE(LU,2055) (LFORM(K),K=4,6) 
      IF(ISSPA(LFORM,13,6)) WRITE(LU,2056) (LFORM(K),K=7,9) 
      IF(ISSPA(LFORM,19,6)) WRITE(LU,2057) (LFORM(K),K=10,12) 
      IF(ISSPA(LFORM,30,1)) WRITE(LU,2065)
C 
C  USER STORAGE MODULE
C 
460   IHOLD=LFORM(15) 
      LFORM(15)=IOR(IAND(LFORM(15),177400B),40B)
      IF(ISSPA(LFORM,25,5)) WRITE(LU,2058) (LFORM(K),K=13,15) 
      LFORM(15)=IHOLD 
C 
C  IF IMAGE OPERATIONS GO TO TGP11 TO PRINT THEM
C 
465   IF(IAND(IMFLG,100000B).EQ.0) GO TO 470
      INDIC=-2
      CALL EXEC(8,JNAM) 
C 
C   RETURN FROM TGP11 
C 
470   WRITE(LU,2059) KFORM(1) 
C 
C***********************************************************************
C 
C    IF LIST LU = TERMINAL LU ASK USER TO CONTINUE AND TERMINATE TGP
C 
C***********************************************************************
C 
C 
      IF(LU.NE.ILU .OR. IMODE.EQ.1) GO TO 480 
      CALL EXEC(2,ILU,IPRES,27) 
      CALL REIO(1,ILU,IANS,-1)
      GO TO 485 
480   CALL EXEC(3,1100B+LU,-1)
485   INDIC=99
      CALL EXEC(8,INAM) 
C 
C 
C 
C*********************************************************************
C 
C  FORMATS
C 
C*********************************************************************
C 
2008  FORMAT(4X,I2,2X,A2,"QUESTIONS :  ") 
2009  FORMAT(4X,17("*"))
2011  FORMAT(//,6X,"QUESTION LABEL :  ",6A2)
2012  FORMAT(30X,"INPUT : ",13A2) 
2013  FORMAT(27X,"NEW CARD : ",3A2) 
2014  FORMAT(22X,"DATA IN COLS. : ",A2," - ",A2)
2019  FORMAT(/,24X,"POSITIONING : ",A2) 
2020  FORMAT(31X,"MASK : ",10A2)
2021  FORMAT(/,24X,"UPPER LIMIT : ",7A2)
2022  FORMAT(24X,"LOWER LIMIT : ",7A2)
2033  FORMAT(6X,30"-")
2034  FORMAT(/,10X,"- DISPLAYED INFORMATION : ",8A2)
2035  FORMAT(/,28X,"LIGHT # : ",2A2)
2036  FORMAT(21X,"DISPLAY MODULE : ",3A2) 
2037  FORMAT(20X,"IMAGE ITEM NAME : ",3A2,3X,6A2) 
20371 FORMAT(20X,"       DATA SET : ",3A2)
2038  FORMAT(24X,"PRINT VALUE : ",24A2) 
2039  FORMAT(31X,"TYPE : ",4A2) 
2040  FORMAT(31X,"TYPE : ",4A2,"(LENGTH = ",I3,")") 
2041  FORMAT(/,10X,"- ANSWER DEFINITION : ",8A2)
2027  FORMAT(29A2)
2042  FORMAT(38X,"IMAGE DATA BASE : ",3A2,/)
2043  FORMAT(20X,"IMAGE ITEM NAME : ",3A2,2X,"(FUNCTION : ",A1,")") 
20431 FORMAT(20X,"IMAGE ITEM NAME : ",3A2," IN ",3A2,2X,
     *       "(FUNCTION : ",A1,")") 
2044  FORMAT(24X,"EDIT MODULE : ",3A2)
2045  FORMAT(/,14X,"DATA OFFSET IN BUFFER : ",I4) 
2046  FORMAT(/,6X,"* LENGTH OF STORAGE FOR ",A2,"QUESTIONS ", 
     C"SEQUENCE : ",I4,/) 
2047  FORMAT(15X,"IMAGE EDIT GENERATED : ",11A2)
2050  FORMAT(/,4X,"INFORMATION ADDED BY THE SYSTEM :")
2051  FORMAT(4X,33"*")
2052  FORMAT(/,10X,"- ",13A2) 
2053  FORMAT(/,4X,"DATA COLLECTED STORAGE :") 
2054  FORMAT(4X,24"*")
2055  FORMAT(/,10X,"FILE NAME : ",3A2)
2056  FORMAT(10X,"CR # : ",3A2) 
2057  FORMAT(10X,"SEC. CODE : ",3A2)
2058  FORMAT(/,10X,"STORAGE MODULE : ",3A2) 
2059  FORMAT(//,6X,"* TRANSACTION SPECIFICATION LENGTH : ",I4," WORDS") 
2061  FORMAT(23X,"PRINT ANSWER : ",24A2)
2062  FORMAT(22X,"DATA IN COLS. : ",2A2,"- ",2A2) 
2063  FORMAT(19X,"DATA MODULE NAME : ",3A2) 
2064  FORMAT(26X,"CRT USAGE : ",3A2,"CHARACTER SET",11A2) 
2065  FORMAT(10X,"SHARED READ ACCESS ALLOWED")
2066  FORMAT(27X,"NEW PASS : YES, TYPE ",1A2,", CHECK DIGIT ENABLED") 
2067  FORMAT(27X,"NEW PASS : YES, TYPE ",1A2,", NO CHECK DIGIT")
C 
C 
      CALL TGP
      END 
      END$
                                                                                                                                                                                                  