FTN4
      PROGRAM TGP(3), 92903-16350 REV.1913  790209 0945 
C 
C     SOURCE 92903-18350
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*         THIS IS THE MAIN MODULE OF THE TGP PROGRAM .              *
C* TGP IS USED TO BUILD A TRANSACTION SPECIFICATION THRU AN INTER-   *
C* ACTIVE  DIALOG WITH THE USER .                                    *
C*        THIS DIALOG APPEARS AS A SUCCESSION OF SCREEN MASKS        *
C* DISPLAYED ON THE TERMINAL ON WHICH THE USER MUST FILL IN THE      *
C* ANSWERS TO THE QUESTIONS.                                         *
C*         THE TRANSACTION SPECIFICATION CREATED OR MODIFIED WILL    *
C* BE USED BY THE TMP PROGRAM TO DRIVE THE TRANSACTION ON THE 3070   *
C* TERMINALS .                                                       *
C*           TGP CONSISTS OF ONE SHORT MAIN AND 14 SEGMENTS  TGP0    *
C* TO TGP13 . A COMMON ZONE IS USED TO PASS THE INFORMATION BETWEEN  *
C* SEGMENTS .                                                        *
C*         FOLLOWING IS THE MEANING OF THE COMMON VARIABLES :        *
C*                                                                   *
C*        ILU : TERMINAL INTERACTIVE LU.                             *
C*      ISCRN : ACTUAL SCREEN #.                                     *
C*       IQST : ACTUAL QUESTION # .                                  *
C*      ISKIP : GENERAL PURPOSE VARIABLE .                           *
C*      INDIC : GENERAL PURPOSE VARIABLE USED TO TELL A SEGMENT      *
C*              WHEN SCHEDULED WHAT TASK IT MUST PERFORM  .          *
C*      IFORM : BUFFER TO STORE IN ASCII FORMAT THE ANSWERS TO       *
C*              SCREENS 3,4,6,7,8 AND 9 .                            *
C*      JFORM : BUFFER TO STORE IN ASCII FORMAT THE ANSWERS TO       *
C*              SCREENS 10,11,12,13,14,15 .                          *
C*      MFORM : BUFFER TO STORE IN ASCII FORMAT THE ANSWERS TO       *
C*              SCREEN 16 .                                          *
C*      LFORM : BUFFER TO STORE IN ASCII FORMAT THE ANSWERS TO       *
C*              SCREENS 17 AND 18 .                                  *
C*        ITT : TRANSACTION TYPE, IF BIT SET, MEANS THE FOLLOWING -- *
C*              BIT# 0  USER PROCESSING                              *
C*                   1  DATA BASE                                    *
C*                   2  LOGGING                                      *
C*                   3  PRINTER                                      *
C*                   4  CARD READER/BADGE 3                          *
C*                   5  BADGE 5                                      *
C*                   6  ALPHA KEYBOARD                               *
C*                   7  ALPHA DISPLAY                                *
C*       IKEY : BUFFER TO STORE IN BINARY THE MEANING OF THE SFK'S   *
C*              FOR MORE DETAILS SEE TGP2 .                          *
C*      IUMAX : # OF U QUESTIONS IN THIS TRANSACTION                 *
C*      IMMAX : # OF M QUESTIONS IN THIS TRANSACTION                 *
C*      IMODB : = 0 MEANS 3070A VERSION OF TGP .                     *
C*              = 1 MEANS 3070B VERSION OF TGP .                     *
C*      ILITE : BUFFER TO ALLOCATE THE PROMPTING LIGHTS # . FOR MORE *
C*              DETAILS SEE LIGHT SUBROUTINE .                       *
C*       IMAI : BUFFER TO STORE THE IMAGE INFORMATION . FOR MORE     *
C*              DETAILS SEE TGP12 .                                  *
C*      IMFLG : IMAGE FLAG SEE TGP12                                 *
C*       IMAS : MASTER DATA SET # ON WHICH A FIND HAS BEEN REQUESTED *
C*       IMDT : DETAIL DATA SET # ON WHICH A FIND HAS BEEN REQUESTED *
C*       IMKY : MASTER KEY ITEM # FOR A FIND .                       *
C*      KFORM : BUFFER TO STORE THE TRANSACTION SPECIFICATION IN     *
C*              BINARY . (USED BY TMP)                               *
C*      ILIBR : BUFFER TO STORE IN ASCII FORMAT THE ANSWERS TO       *
C*              SCREENS 19 AND 20 .                                  *
C*      NIMAG : = 0 IMAGE VERSION OF TGP                             *
C*              = 1 NON IMAGE VERSION OF TGP                         *
C*                                                                   *
C*  SCREENS 0,1,2 AND 5 ARE EXPLANATION SCREENS .                    *
C*                                                                   *
C*  WARNING !! :  THE ORIGINAL SCREEN # 8 DO NOT EXIST ANY MORE SO   *
C*                IN THE CODE WE ALWAYS SKIP FROM SCREEN 7 TO 9 BUT  *
C*                ON THE SCREENS PRINTED FOR THE USER SCREEN # 8     *
C*                EXIST . SO PRINTED SCREEN # 8 IS IN REALITY SCREEN *
C*                # 9 IN THE CODE , SCREEN # 9 IS IN THE CODE SCREEN *
C*                # 10 AND SO ON .                                   *
C*                                                                   *
C*                                                                   *
C*           THE ONLY TASK PERFORMED BY THE MAIN IS TO GET THE       *
C* TERMINAL INTERACTIVE LU , INITIALISE SOME VARIABLES AND CALL      *
C* SEGMENT TGP0 TO PRINT SCREEN # 0 .                                *
C*                                                                   *
C*           TO SCHEDULE THE 3070A VERSION OF TGP  EXECUTE :         *
C*                                                                   *
C*                 * ON,TGP                                          *
C*                                                                   *
C*           FOR THE 3070B VERSION  : *ON,TGP,,1                     *
C*                                                                   *
C*********************************************************************
C 
C 
C **** DECLARATIONS COMMON VARIABLES ******** 
C 
      COMMON ILU,ISCRN,IQST,ISKIP,INDIC 
      COMMON IFORM(766) 
      COMMON JFORM(1400)
      COMMON MFORM(16)
      COMMON LFORM(39)
      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(2704)
      COMMON ILIBR(61)
      COMMON NIMAG
C 
C   LOCAL VRIABLES ********** 
C 
      DIMENSION INAME(3)
C 
      DATA INAME/2HTG,2HP0,2H  /
C 
C  GET INTERACTIVE LU 
C 
      CALL RMPAR(ILITE) 
      ILU=ILITE(1)
      IF(ILU.EQ.0) ILU=1
C 
C-----LOCK ILU WITH WAIT. 
C 
      CALL LURQ(1,ILU,1)
C 
C  INITIALISE IFORM TO BLANK
C 
C  WARNING *****  IMAGE VERSION OF TGP *********
C 
C     IMODB=ILITE(2)
C 
C-----ALWAYS MAKE IMODB=1 TO FORCE THE 3070B VERSION OF 'TGP' 
C 
      IMODB=1 
      NIMAG=0 
      ISKIP=2H
      DO 10 I=1,22
10    IFORM(I)=2H 
C 
C CALL SCREEN # 0 
C 
      ISCRN=0 
      IQST=1
      INDIC=0 
      CALL EXEC(8,INAME)
C 
C  FOR IMAGE VERSION OF TGP LOAD RUN TABLE .
C 
      CALL AIRUN
C 
      END 
      END$
                                                                              