FTN4 PROGRAM TGP5(5), 92080-1X360 REV.2026 800408 C C SOURCE 92080-18360 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 C C PRGMR : JEAN CHARLES MIARD (HPG) C C C********************************************************************* C* * C* THIS IS A SEGMENT OF THE TGP PROGRAM USED TO * C* ANALYZE THE ANSWERS THE USER HAS GIVEN IN THE SCREENS 11,12 * C* AND 13 . C* THE ANSWERS AFTER A CHECK ARE STORED IN JFORM. * C* * C* THIS SEGMENT IS LOADED ONLY TO ANALYSE SCREEN ANSWERS * C* INDIC IS NOT USED . * C* * C* IF INDIC=-77 A HELP MESSAGE IS TO BE PRINTED * C* * C* * C* WARNING !! : CARE MUST BE TAKEN * : * C* * C* PRINTED SCREEN # 11 CORRESPONDS IN THE CODE TO ISCRN=12 * C* ............... 12 ................................ 13 * C* ............... 13 ................................ 14 * 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 JNAM(3),ILNGT(4,3) DIMENSION JOUT(10),KNAM(3),LNAM(3) DIMENSION IHP30(5),IHP31(5),IHP32(6) DIMENSION IHP40(5),IHP41(5),IHP42(6) C EQUIVALENCE (NOF,KFORM(1900)) C LOGICAL JPAR,RNUM,GETBK,OKABT,ISBIT,NAMCK,INUM C C DATA VALUES : C DATA JNAM/2HTG,2HP3,2H / DATA KNAM/2HTG,2HP4,2H / DATA LNAM/2HTG,2HP1,2H / DATA IHP30/0,0,10,2,4/ DATA IHP31/0,0,10,2,3/ DATA IHP32/0,0,10,2,3,4/ DATA IHP40/5,6,7,10,4/ DATA IHP41/5,6,7,10,3/ DATA IHP42/5,6,7,10,3,4/ DATA ILNGT/22,28,24,30,46,52,48,54,47,53,49,55/ DATA JBYTES/170/ DATA JWORDS/85/ C C C********************************************************************* C C GET USER'S ANSWERS IN THE SCREEN C C********************************************************************* C IF(INDIC.EQ.-77) GO TO 3011 C C C ISTAT1=0 ISTAT2=0 ISTAT3=0 ISTAT4=0 ISTAT5=0 15 I=IAND(ITT,3B)+1 J=ISCRN-11 ITLOG=ILNGT(I,J) IF(GETBK(ILU,KFORM,ITLOG,IMODE)) GO TO 17 C-----SET ICARD=1, IF INPUT FROM CARD READER, C-----FURTHERMORE, SET IMCRD=1, IF INPUT FROM IMAGE CARD. ICARD=0 IMCRD=0 C-----INPUT FROM CARD? IF(IGET1(JFORM,5+(IQST-1)*JBYTES).EQ.1H )GO TO 18 C-----YES, CARD INPUT. ICARD=1 C-----IMAGE CARD INPUT? IF(IGET1(JFORM,43+(IQST-1)*JBYTES).EQ.1HI) IMCRD=1 GO TO 18 C C ERROR IN GETTING ANSWERS REPRINT SCREEN C 17 IF(ISCRN.NE.14) CALL EXEC(8,JNAM) CALL EXEC(8,KNAM) C C********************************************************************* C C GO TO ANALYSE USER ANSWERS TO SCREEN # ISCRN C C********************************************************************* C 18 I=ISCRN-11 GO TO(1200,1300,1400) I C C********************************************************************* C C SCREEN # 11 (INTEGER EDITS) C C********************************************************************* C C C MAXIMUM VALUE * CHECK INTEGER OR BLANK C 1200 NOF=1 IF(JPAR(KFORM,ITLOG,NOF,JOUT,6,IFLG,JVAL)) GO TO 3000 IFLG1=IFLG IF(IFLG.EQ.0) GO TO 1201 IF(IFLG.NE.1) GO TO 1281 C -CK FOR ONLY "-" IN INPUT FIELD. IFLGE=0 DO 12000 I=1,6 IBYTE=IGET1(JOUT,I) IF(IBYTE.NE.1H- .AND. IBYTE.NE.1H ) GO TO 12001 IF(IBYTE.EQ.1H-) IFLGE=1 12000 CONTINUE C -WAS THERE ONLY AN "-"? IF(IFLGE.EQ.1) GO TO 1281 12001 XMAX=JVAL 1201 CALL MOVCA(JOUT,1,JFORM,(49+(IQST-1)*JBYTES),6) C C MINIMUM VALUE * CHECK INTEGER OR BLANK * MAX > MIN * C NOF=NOF+1 IF(JPAR(KFORM,ITLOG,NOF,JOUT,6,IFLG,JVAL)) GO TO 3000 IFLG2=IFLG IF(IFLG.EQ.0) GO TO 1202 IF(IFLG.NE.1) GO TO 1282 C -CK FOR ONLY "-" IN INPUT FIELD. IFLGE=0 DO 12020 I=1,6 IBYTE=IGET1(JOUT,I) IF(IBYTE.NE.1H- .AND. IBYTE.NE.1H ) GO TO 12021 IF(IBYTE.EQ.1H-) IFLGE=1 12020 CONTINUE C -WAS THERE ONLY AN "-"? IF(IFLGE.EQ.1) GO TO 1282 12021 XMIN=JVAL IF(IFLG1.EQ.0) GO TO 1202 IF(XMIN.GE.XMAX) GO TO 1283 1202 CALL MOVCA(JOUT,1,JFORM,(55+(IQST-1)*JBYTES),6) C C-----GET DEFAULT ANSWER C NOF=NOF+1 IF(JPAR(KFORM,ITLOG,NOF,JOUT,6,IFLG,JVAL)) GO TO 3000 XDEFLT=0 IF(IFLG.EQ.0) GO TO 1205 IF(IFLG.NE.1) GO TO 1284 C -CK FOR ONLY "-" IN INPUT FIELD. IFLGE=0 DO 12050 I=1,6 IBYTE=IGET1(JOUT,I) IF(IBYTE.NE.1H- .AND. IBYTE.NE.1H ) GO TO 12051 IF(IBYTE.EQ.1H-) IFLGE=1 12050 CONTINUE C -WAS THERE ONLY AN "-"? IF(IFLGE.EQ.1) GO TO 1284 12051 XDEFLT=JVAL 1205 IF(IFLG1.EQ.0) GO TO 1207 IF(XDEFLT.LE.XMAX) GO TO 1207 IF(ISTAT1.EQ.1) GO TO 1207 ISTAT1=1 GO TO 1285 1207 IF(IFLG2.EQ.0) GO TO 1210 IF(XDEFLT.GE.XMIN) GO TO 1210 IF(ISTAT2.EQ.1) GO TO 1210 ISTAT2=1 GO TO 1285 1210 CALL MOVCA(JOUT,1,JFORM,(61+(IQST-1)*JBYTES),6) GO TO 1430 C C ERROR PROCESSING SCREEN 12 C 1184 CALL MES05(1,NOF) GO TO 15 1280 CALL MES05(2,NOF) GO TO 15 1281 CALL MES05(8,NOF) GO TO 15 1282 CALL MES05(9,NOF) GO TO 15 1283 NOF=NOF-1 CALL MES05(10,NOF) GO TO 15 C "ILLEGAL CHARACTER INPUT" 1284 CALL MES05(7,NOF) GO TO 15 C "WARNING : DEFAULT VALUE OUTSIDE OF LIMITS" 1285 NOF=3 CALL HLP05(8,NOF) GO TO 15 C C********************************************************************* C C SCREEN 12 ( REAL EDITS ) C C********************************************************************* C C C MAXIMUM VALUE * MUST BE REAL * C 1300 NOF=1 XMAX=0 XMIN=0 XDEFLT=0 IF(JPAR(KFORM,ITLOG,NOF,JOUT,14,IFLG,JVAL)) GO TO 3000 IFLG3=IFLG IF(IFLG.EQ.0) GO TO 1302 IF(RNUM(JOUT,1,14,XMAX)) GO TO 1281 C -CK FOR ONLY "E" OR "-E" IN INPUT FIELD. IFLGE=0 DO 1301 I=1,14 IBYTE=IGET1(JOUT,I) IF(IBYTE.NE.1H-.AND.IBYTE.NE.1HE.AND.IBYTE.NE.1H ) GO TO 1302 IF(IBYTE.EQ.1H- .OR. IBYTE.EQ.1HE) IFLGE=1 1301 CONTINUE C -WAS THERE AN "E" OR "-E"? IF(IFLGE.EQ.1) GO TO 1281 CALL CODE READ(JOUT,*) XMAX 1302 CALL MOVCA(JOUT,1,JFORM,(49+(IQST-1)*JBYTES),14) C C MINIMUM VALUE * MUST BE REAL . MAX > MIN * C NOF=NOF+1 IF(JPAR(KFORM,ITLOG,NOF,JOUT,14,IFLG,JVAL)) GO TO 3000 IFLG4=IFLG IF(IFLG.EQ.0) GO TO 1304 1303 IF(RNUM(JOUT,1,14,XMIN)) GO TO 1282 CALL CODE READ(JOUT,*) XMIN IF(IFLG3.EQ.0) GO TO 1304 IF(XMIN.GE.XMAX) GO TO 1283 C -CK FOR ONLY "E" OR "-E" IN INPUT FIELD. IFLGE=0 DO 13039 I=1,14 IBYTE=IGET1(JOUT,I) IF(IBYTE.NE.1H-.AND.IBYTE.NE.1HE.AND.IBYTE.NE.1H ) GO TO 1304 IF(IBYTE.EQ.1H-.OR.IBYTE.EQ.1HE) IFLGE=1 13039 CONTINUE C -WAS THERE AN "E" OR "-E"? IF(IFLGE.EQ.1) GO TO 1282 1304 CALL MOVCA(JOUT,1,JFORM,(63+(IQST-1)*JBYTES),14) C C--GET DEFAULT ANSWER C NOF=NOF+1 IF(JPAR(KFORM,ITLOG,NOF,JOUT,14,IFLG,JVAL)) GO TO 3000 XDEFLT=0 IF(IFLG.EQ.0) GO TO 1305 IF(RNUM(JOUT,1,14,XDEFLT)) GO TO 1284 C -CK FOR ONLY "E" OR "-E" IN THE INPUT FIELD. IFLGE=0 DO 13041 I=1,14 IBYTE=IGET1(JOUT,I) IF(IBYTE.NE.1H-.AND.IBYTE.NE.1HE.AND.IBYTE.NE.1H ) GO TO 13048 IF(IBYTE.EQ.1H- .OR. IBYTE.EQ.1HE) IFLGE=1 13041 CONTINUE C -WAS THERE AN "E" OR "-E"? IF(IFLGE.EQ.1) GO TO 1284 13048 CALL CODE READ(JOUT,*) XDEFLT 1305 IF(IFLG3.EQ.0) GO TO 1306 IF(XDEFLT.LE.XMAX) GO TO 1306 IF(ISTAT3.EQ.1) GO TO 1306 ISTAT3=1 GO TO 1285 1306 IF(IFLG4.EQ.0) GO TO 1310 IF(XDEFLT.GE.XMIN) GO TO 1310 IF(ISTAT4.EQ.1) GO TO 1310 ISTAT4=1 GO TO 1285 1310 CALL MOVCA(JOUT,1,JFORM,(77+(IQST-1)*JBYTES),14) GO TO 1430 C C********************************************************************* C C SCREEN 13 (STRING EDITS) C C********************************************************************* C C C MAXIMUM STRING LENGTH * INTEGER 1<= LENGTH <=126 * C STRING LENGTH FOR DATA BASE ITEM CANNOT BE MODIFIED C 1400 NOF=1 IF(JPAR(KFORM,ITLOG,NOF,JOUT,3,IFLG,JVAL)) GO TO 3000 JVAL1=JVAL IF(IFLG.NE.1) GO TO 1480 IF((JVAL.LT.1).OR.(JVAL.GT.126)) GO TO 1480 C -NON-KEYBOARD INPUT? IF(IGET1(JFORM,5+(IQST-1)*JBYTES).NE.1HX) GO TO 1402 C -YES. GENERATE ERROR MSG IF STRING LENGTH SPECIFIED HERE DOES NOT C -MATCH THE STRING LENGTH FROM THE CARD SPECS ON THE PREVIOUS SCR. C -IT3OR5 =1, TYPE III OR V WAS USED, ELSE MAGSTRIPE, BAR CODE OR C USER DATA MODULE WAS USED. IT3OR5=1 C -SET OFFSETS TO TYPE III. ISTART=39 IEND=41 C IF TYPE III OFFSETS ARE CORRECT IF(IGET2(JFORM,39+(IQST-1)*JBYTES).NE.2H ) GO TO 14005 ISTART=44 IEND=46 C -IF TYPE V, OFFSETS ARE CORRECT IF(IGET2(JFORM,44+(IQST-1)*JBYTES).NE.2H ) GO TO 14005 ISTART=164 IEND=167 IT3OR5=0 C -IF MAGSTRIPE, OFFSETS ARE CORRECT. IT3OR5 NOW SHOWS LACK OF TYP 3,5 IF(IGET2(JFORM,164+(IQST-1)*JBYTES).EQ.2H .AND. . IGET1(JFORM,166+(IQST-1)*JBYTES).EQ.1H ) GO TO 14004 C -STARTING COL. IF(INUM(JFORM,ISTART+(IQST-1)*JBYTES,3,IS)) PAUSE 5136 C -ENDING COL. IF(INUM(JFORM,IEND+(IQST-1)*JBYTES,3,IE)) PAUSE 5137 GO TO 14006 14004 ISTART=159 IEND=161 C -IF BAR CODE READER, OFFSETS ARE CORRECT IF(IGET2(JFORM,159+(IQST-1)*JBYTES).EQ.2H ) GO TO 1402 C -STARTING COL. 14005 IF(INUM(JFORM,ISTART+(IQST-1)*JBYTES,2,IS)) PAUSE 5140 C -ENDING COL. IF(INUM(JFORM,IEND+(IQST-1)*JBYTES,2,IE)) PAUSE 5141 C -IF IT3OR5 .NE. 1 NO NEED TO CHECK FOR IMAGE TYPE INPUT 14006 IF(IT3OR5.NE.1) GO TO 1401 C -IMAGE CARD INPUT? D WRITE(6,1234) ISTART,IEND,IS,IE D1234 FORMAT(" ",4I6) IF(ISBIT(JFORM(24+(IQST-1)*JWORDS),0)) GO TO 1401 C -YES. IMAGE CARD INPUT : TRANSLATE CARD COLUMNS TO BYTES. IS=IS+IS-1 IE=IE+IE 1401 ILENTH=IE-IS+1 D WRITE(6,1234) ILENTH,IEND,IS,IE C -DOES STRING LENGTH MATCH CARD COL. SPECS? IF(JVAL.EQ.ILENTH) GO TO 1402 C-----STRING LENGTHS DO NOT MATCH. IF "CARD SPEC" IS LOWER OF C THE TWO ISSUE A WARNING. IF "CARD SPEC" IS GREATER OF THE C TWO ISSUE AN ERROR MESSAGE. C IF(JVAL.GT.ILENTH) GO TO 14015 NOF=1 CALL MES05(31,NOF) GO TO 15 C -NO. HAS WARNING ALREADY BEEN ISSUED? 14015 IF(ISTAT5.EQ.1) GO TO 1402 C -NO. ISSUE WARNING MESSAGE NOW. ISTAT5=1 NOF=1 CALL HLP05(9,NOF) GO TO 15 C -YES. 1402 IF(IGET1(JFORM,1+(IQST-1)*JBYTES).NE.2HD ) GO TO 1403 IF(JFORM(25+(IQST-1)*JWORDS).NE.JVAL) GO TO 1488 1403 JFORM(25+(IQST-1)*JWORDS)=JVAL C C STRING POSITIONING * R OR L DEFAULT IS L * C 1404 NOF=NOF+1 IF(JPAR(KFORM,ITLOG,NOF,JOUT,1,IFLG,JVAL)) GO TO 3000 IF(IFLG.EQ.0) JOUT(1)=2HL IF((JOUT(1).NE.2HR ).AND.(JOUT(1).NE.2HL )) GO TO 1481 ILR=JOUT CALL MOVCA(JOUT,1,JFORM,(51+(IQST-1)*JBYTES),1) C C STRING MASK C NOF=NOF+1 IF(JPAR(KFORM,ITLOG,NOF,JOUT,20,IFLG,JVAL)) GO TO 3000 IF(IFLG.EQ.0) GO TO 1408 IL=LNCAR(JOUT,1,20) C -LEFT OR RIGHT JUSTIFIED? IF(ILR.EQ.2HR ) GO TO 1406 C -LEFT JUSTIFIED, THEREFORE, ERR IF LEADING BLANKS. IF(IGET1(JOUT,1).EQ.1H ) GO TO 1478 IF(IL.GT.JVAL1) GO TO 1485 GO TO 1408 C -RIGHT JUSTIFIED, MASK MUST BE RIGHT JUSTIFIED. 1406 IF(IL.GT.JVAL1) GO TO 1485 IF(IL.NE.JVAL1) GO TO 1479 1408 CALL MOVCA(JOUT,1,JFORM,(52+(IQST-1)*JBYTES),20) C C-----GET DEFAULT ANSWER: C 1. CHECK DEFAULT ANS NOT LONGER THAN MAX STRING LENGTH C 2. CHECK THAT MASK ISN'T LONGER THAN DEFAULT ANS. C NOF=NOF+1 IF (JPAR(KFORM,ITLOG,NOF,JOUT,20,IFLG,JVAL)) GO TO 3000 IF(IFLG.EQ.0) GO TO 1410 IL=LNCAR(JOUT,1,20) IF(IL.GT.JVAL1) GO TO 1486 1410 CALL MOVCA(JOUT,1,JFORM,(72+(IQST-1)*JBYTES),20) GO TO 1435 C C********************************************************************** C C ARITHMETIC OPERATORS (SCREENS 11/12) C C********************************************************************** C C CHECK ANSWER IS BLANK OR X . IF X CHECK ARITH OPERATORS HAVE BEEN C DEFINED AS SFK'S C 1430 NOF=NOF+1 IF(JPAR(KFORM,ITLOG,NOF,JOUT,1,IFLG,JVAL)) GO TO 3000 C-----IF CARD INPUT OR TM, ARITHMETIC OPERATIONS NOT ALLOWED. IF(ICARD.EQ.0) GO TO 1431 IF(IFLG.NE.0) GO TO 1498 1431 IF((IFLG.NE.0).AND.(JOUT(1).NE.2HX )) GO TO 1184 IF(IFLG.EQ.0) GO TO 1434 C -ILLEGAL FOR TM IF(ISBIT(ITT,10)) GO TO 1499 DO 1432 I=1,11 DO 1432 J=1,3,2 IF(IKEY(I,J).EQ.9) GO TO 1434 1432 CONTINUE GO TO 1482 1434 IF(ISCRN.EQ.12) N=67 IF(ISCRN.EQ.13) N=91 CALL MOVCA(JOUT,1,JFORM,(N+(IQST-1)*JBYTES),1) C C********************************************************************* C C NEXT ENTRY IN AN IMAGE CHAIN ? (TR. TYPE > 1) C C********************************************************************* C C CHECK ANSWER IS BLANK OR X . IF X CHECK NEXT ENTRY HAS BEEN DEFINED C AND CHECK FIND IN DETAIL DATA SET DEFINED TOO . C 1435 IF(.NOT.ISBIT(ITT,1)) GO TO 1438 NOF=NOF+1 IF(JPAR(KFORM,ITLOG,NOF,JOUT,1,IFLG,JVAL)) GO TO 3000 C-----IF CARD INPUT, NEXT ENTRY IN AN IMAGE CHAIN IS NOT ALLOWED. IF(ICARD.EQ.0) GO TO 14351 IF(IFLG.NE.0) GO TO 1498 14351 IF((IFLG.NE.0).AND.(JOUT(1).NE.2HX )) GO TO 1184 IF(IFLG.EQ.0) GO TO 1438 C -ILLEGAL FOR TM IF(ISBIT(ITT,10)) GO TO 1499 C-----'NEXT ENTRY' FOR ITEM TYPE S,I,R NOT ALLOWED. IARG=IGET1(JFORM,1+(IQST-1)*JBYTES) IF((IARG.EQ.2HS ).OR.(IARG.EQ.2HI ).OR.(IARG.EQ.2HR )) GO TO 1497 DO 1436 I=1,11 DO 1436 J=1,3,2 IF(IKEY(I,J).EQ.12) GO TO 1437 1436 CONTINUE GO TO 1483 1437 IF(IMDT.EQ.0) GO TO 1487 IF(IQST.LE.IUMAX) GO TO 1489 1438 IF(ISCRN.EQ.12) N=68 IF(ISCRN.EQ.13) N=92 IF(ISCRN.EQ.14) N=92 CALL MOVCA(JOUT,1,JFORM,(N+(IQST-1)*JBYTES),1) IF(.NOT.ISBIT(ITT,1)) CALL BLAN(JFORM,N+(IQST-1)*JBYTES,1) C C********************************************************************* C C USER EDIT SUBROUTINE (TR. TYPE 1/3 ONLY) C C********************************************************************* C 1440 IF(.NOT.ISBIT(ITT,0)) GO TO 1444 NOF=NOF+1 IF(JPAR(KFORM,ITLOG,NOF,JOUT,5,IFLG,JVAL)) GO TO 3000 IF(IFLG.EQ.0) GO TO 1444 IF(NAMCK(JOUT)) GO TO 1476 1444 IF(ISCRN.EQ.12) N=69 IF(ISCRN.EQ.13) N=93 IF(ISCRN.EQ.14) N=93 CALL MOVCA(JOUT,1,JFORM,(N+(IQST-1)*JBYTES),5) IF(.NOT.ISBIT(ITT,0)) CALL BLAN(JFORM,N+(IQST-1)*JBYTES,5) GO TO 1630 C C ERROR PROCESSING SCREENS(12/13/14) C C -"STRING LENGTH DOES NOT MATCH CARD SPECS" 1475 CALL MES05(30,NOF) GO TO 15 C -"ILLEGAL FILE NAME" 1476 CALL MES05(28,NOF) GO TO 15 C -"MASK MUST BE LEFT JUSTIFIED" 1478 CALL MES05(26,NOF) GO TO 15 C -"MASK MUST BE RIGHT JUSTIFIED" 1479 CALL MES05(27,NOF) GO TO 15 1480 CALL MES05(3,NOF) GO TO 15 1481 CALL MES05(4,NOF) GO TO 15 1482 CALL MES05(5,NOF) GO TO 15 1483 CALL MES05(6,NOF) GO TO 15 1485 CALL MES05(12,NOF) GO TO 15 1486 CALL MES05(13,NOF) GO TO 15 1487 CALL MES05(14,NOF) GO TO 15 1488 CALL MES05(11,NOF) GO TO 15 1489 CALL MES05(15,NOF) GO TO 15 C-----"TOO MANY CHARACTERS HAVE BEEN SPECIFIED FOR THIS CARD" 1490 CALL MES05(16,1) GO TO 15 C-----"IMAGE CARD INPUT--USER WRITTEN MODULE REQUIRED" 1491 CALL MES05(17,NOF) GO TO 15 C-----"IMAGE CARD INPUT--STRING LENGTH MUST BE EVEN" 1492 CALL MES05(18,NOF) GO TO 15 C-----"IMAGE CARD INPUT--'R' IS ILLEGAL" 1493 CALL MES05(19,NOF) GO TO 15 C-----"IMAGE CARD INPUT--MASK NOT ALLOWED" 1494 CALL MES05(20,NOF) GO TO 15 C-----"IMAGE CARD INPUT--LIMIT CHECK NOT ALLOWED" 1495 CALL MES05(21,NOF) GO TO 15 C-----"IMAGE CARD INPUT--NOT ALLOWED" 1496 CALL MES05(22,NOF) GO TO 15 C-----"NOT ALLOWED" 1497 CALL MES05(23,NOF) GO TO 15 C-----"NOT ALLOWED WITH CARD READER INPUT" 1498 CALL MES05(24,NOF) GO TO 15 C -"ILLEGAL FOR TIME REPORTING TERMINAL" 1499 CALL MES05(29,NOF) GO TO 15 C C-----BEFORE CALLING NEXT SCREEN, VERIFY THAT IF INPUT IS FROM CARD, C THE MAX LENGTH OF THE CARD HAS NOT BEEN EXCEEDED. C 1630 INDEX=0 IBYTES=0 C C********************************************************************* C C CALL DISPLAY INFORMATION SCREEN OR PASS TO THE NEXT QUESTION ? C C********************************************************************* C C DISPLAY SCREEN * C 1515 I=IGET1(JFORM,(2+(IQST-1)*JBYTES)) C -DISPLAY? IF(I.NE.2HX ) GO TO 1516 C -YES. GO TO SCR# 15. ISCRN=16 GO TO 1002 C C -BLANK OUT SCR# 15 FIELDS IN JFORM. 1516 CALL BLAN(JFORM,101+(IQST-1)*JBYTES,46) JFORM(66+(IQST-1)*JWORDS)=0 C C NEXT QUESTION C 1099 IQST=IQST+1 IF(IQST.GT.(IUMAX+IMMAX)) GO TO 1632 ISCRN=11 GO TO 1000 1632 ISCRN=17 GO TO 1002 C C C********************************************************************* C C 2645 SOFT KEYS PROCESSING C C********************************************************************* C C IFLG=5 MEANS NON PRINTABLE ASCII C 3000 IF(IFLG.EQ.4) IFLG=5 IF(IFLG.NE.5) GO TO 3005 CALL MES05(7,NOF) GO TO 15 C C IFLG=6 MEANS ILLEGAL PARSE C 3005 IF(IFLG.NE.6) GO TO 3007 STOP 500 C C IFLG=7 MEANS HELP C 3007 IF(IFLG.NE.7) GO TO 3010 INDIC=-77 GO TO 17 3011 INDIC=0 ILST=0 IX=IAND(ITT,3) IF(ISCRN.EQ.14) GO TO 3009 IF(IX.NE.0) GO TO 30081 IMES=IHP30(NOF) IF(NOF.EQ.4) IMES=2 IF(NOF.EQ.4) ILST=1 GO TO 3060 30081 IF(IX.NE.1) GO TO 30082 IMES=IHP30(NOF) IF(NOF.EQ.5) ILST=1 GO TO 3060 30082 IF(IX.NE.2) GO TO 30083 IMES=IHP31(NOF) IF(NOF.EQ.5) ILST=1 GO TO 3060 30083 IMES=IHP32(NOF) IF(NOF.EQ.6) ILST=1 GO TO 3060 3009 IF(IX.NE.0) GO TO 30091 IMES=IHP40(NOF) IF(NOF.EQ.4) ILST=1 GO TO 3060 30091 IF(IX.NE.1) GO TO 30092 IMES=IHP40(NOF) IF(NOF.EQ.5) ILST=1 GO TO 3060 30092 IF(IX.NE.2) GO TO 30093 IMES=IHP41(NOF) IF(NOF.EQ.5) ILST=1 GO TO 3060 30093 IMES=IHP42(NOF) IF(NOF.EQ.6) ILST=1 3060 CALL HLP05(IMES,NOF,ILST) GO TO 15 C C IFLG=8 MEANS LAST SCREEN C 3010 IF(IFLG.NE.8) GO TO 3040 IF(IGET1(JFORM,(5+(IQST-1)*JBYTES)).EQ.1HX) GO TO 3013 ISCRN=11 CALL EXEC(8,JNAM) 3013 ISCRN=91 CALL EXEC(8,KNAM) C C CALL NEXT SCREEN C 1000 CALL EXEC(8,JNAM) 1002 CALL EXEC(8,KNAM) C C ABORT PROGRAM C 3040 IF(.NOT.(OKABT(ILU))) GO TO 17 INDIC=99 CALL EXEC(8,LNAM) C C END OF SEGMENT C CALL TGP C C END END$