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$