User Tools

Site Tools


cdc:nos2.source:opl.opl871:deck:panel

Deck PANEL

20 Modifications

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M01S00001.panel   +++|C-------------------------------------------------------------------
00002  M01S00002.panel   +++|C*      PANEL DESIGN UTILITY
00003  M01S00001.281l803 +++|C
00004  M01S00002.281l803 +++|C         COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00005  M01S00003.panel   +++|C
Line S00004 Modification History
M01 (Added by) panel
M02 (Updated by) panel5
Seq #  *Modification Id* Act 
----------------------------+
00006  M02S00004.panel5  ---|        PROGRAM PANEL(PANEL=/266,OUTPUT=/266,COMPILE,TAPE1=PANEL,
Line S00005 Modification History
M01 (Added by) panel
M02 (Updated by) panel5
Seq #  *Modification Id* Act 
----------------------------+
00007  M02S00005.panel5  ---|     A                TAPE2=OUTPUT,TAPE3=COMPILE)
Line S00001 Modification History
M01 (Added by) panel5
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00008  M02S00001.243l647 ---|        PROGRAM PANEL(PANEL=/266,OUTPUT=/266,TAPE1=PANEL,TAPE2=OUTPUT)
00009  M01S00001.243l647 +++|        PROGRAM PANEL(PANEL=/266,OUTPUT=/266,TAPE1=PANEL)
00010  M01S00006.panel   +++|*CALL   COMFPAN
00011  M01S00007.panel   +++|C
00012  M01S00008.panel   +++|C       SCAN PARAMETERS
00013  M01S00009.panel   +++|C
00014  M01S00001.ns2150  +++|        CALL CSETA
00015  M01S00002.ns2150  +++|        CALL SPP
00016  M01S00010.panel   +++|        WRITE(2,'(A/)') '1 Panel Definition ' //
Line S00011 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00017  M02S00011.ns2150  ---|     A                'Utility'
Line S00012 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00018  M02S00012.ns2150  ---|        CALL CSETA
Line S00013 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00019  M02S00013.ns2150  ---|        CALL SPP
00020  M01S00003.ns2150  +++|     A                'Utility         File ' // PNAME
00021  M01S00014.panel   +++|C
00022  M01S00015.panel   +++|C       SCAN PANEL DEFINITIONS
00023  M01S00016.panel   +++|C
00024  M01S00017.panel   +++|        CALL READL1
00025  M01S00018.panel   +++|        IF (ISA(IMAG(1,1))) THEN
00026  M01S00019.panel   +++|          CALL SCANSYM
Line S00020 Modification History
M01 (Added by) panel
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00027  M02S00020.v23l617 ---|1         IF (IMAG(SJ,1).EQ.ZSP.AND.SJ.LT.133) THEN
00028  M01S00001.v23l617 +++|1         IF (IMAG(SJ,1).EQ.ZSP.AND.SJ.LE.MCOL) THEN
00029  M01S00021.panel   +++|            SJ = SJ + 1
00030  M01S00022.panel   +++|            GOTO 1
00031  M01S00023.panel   +++|          ENDIF
Line S00024 Modification History
M01 (Added by) panel
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00032  M02S00024.v23l617 ---|          IF (SJ.GE.133) THEN
00033  M01S00002.v23l617 +++|          IF (SJ.GT.MCOL) THEN
00034  M01S00025.panel   +++|            PNAME = STRGD(1:SL)
00035  M01S00026.panel   +++|            CALL READL1
00036  M01S00027.panel   +++|          ENDIF
00037  M01S00028.panel   +++|        ENDIF
Line S00029 Modification History
M01 (Added by) panel
M02 (Updated by) ns2621
Seq #  *Modification Id* Act 
----------------------------+
00038  M02S00029.ns2621  ---|        IF (IMAG(1,1).EQ.ZLB) THEN
00039  M01S00001.ns2621  +++|2       IF (IMAG(SJ,1).EQ.ZSP.AND.SJ.LE.MCOL) THEN
00040  M01S00002.ns2621  +++|          SJ = SJ + 1
00041  M01S00003.ns2621  +++|          GOTO 2
00042  M01S00004.ns2621  +++|        ENDIF
00043  M01S00005.ns2621  +++|        IF (IMAG(SJ,1).EQ.ZLB) THEN
Line S00030 Modification History
M01 (Added by) panel
M02 (Updated by) ns2621
Seq #  *Modification Id* Act 
----------------------------+
00044  M02S00030.ns2621  ---|          INDEF = .TRUE.
Line S00031 Modification History
M01 (Added by) panel
M02 (Updated by) ns2621
Seq #  *Modification Id* Act 
----------------------------+
00045  M02S00031.ns2621  ---|          SJ = 2
Line S00032 Modification History
M01 (Added by) panel
M02 (Updated by) ns2621
Seq #  *Modification Id* Act 
----------------------------+
00046  M02S00032.ns2621  ---|          CALL SCANDEF
Line S00033 Modification History
M01 (Added by) panel
M02 (Updated by) ns2621
Seq #  *Modification Id* Act 
----------------------------+
00047  M02S00033.ns2621  ---|          INDEF = .FALSE.
00048  M01S00006.ns2621  +++|          CLDC = ZRB
00049  M01S00007.ns2621  +++|        ELSE IF (IMAG(SJ,1).EQ.ZOB) THEN
00050  M01S00008.ns2621  +++|          CLDC = ZCB
00051  M01S00009.ns2621  +++|        ELSE IF (IMAG(SJ,1).EQ.ZLT) THEN
00052  M01S00010.ns2621  +++|          CLDC = ZGT
00053  M01S00011.ns2621  +++|        ELSE
00054  M01S00012.ns2621  +++|          CALL QUIT('OPENING DELIMITER.')
00055  M01S00034.panel   +++|        ENDIF
00056  M01S00013.ns2621  +++|        INDEF = .TRUE.
00057  M01S00014.ns2621  +++|        SJ = SJ + 1
00058  M01S00015.ns2621  +++|        CALL SCANDEF
00059  M01S00016.ns2621  +++|        INDEF = .FALSE.
00060  M01S00035.panel   +++|        IF (ABEND) CALL QUIT('DECLARATIONS')
00061  M01S00036.panel   +++|C
00062  M01S00037.panel   +++|C       SCAN PANEL IMAGE
00063  M01S00038.panel   +++|C
00064  M01S00039.panel   +++|        CALL RPI
00065  M01S00040.panel   +++|        CALL SCANIMG
00066  M01S00041.panel   +++|        IF (FATAL) CALL QUIT('SCREEN IMAGE')
00067  M01S00042.panel   +++|C
00068  M01S00043.panel   +++|C       WRITE PANEL DESCRIPTION
00069  M01S00044.panel   +++|C
00070  M01S00045.panel   +++|        IF (.NOT.FATAL) THEN
00071  M01S00046.panel   +++|          CALL GPR
00072  M01S00047.panel   +++|        ENDIF
00073  M01S00048.panel   +++|        REWIND 1
00074  M01S00049.panel   +++|        REWIND 2
00075  M01S00050.panel   +++|        REWIND 3
00076  M01S00051.panel   +++|C
00077  M01S00052.panel   +++|        END
00078  M01S00053.panel   +++|C-------------------------------------------------------------------
00079  M01S00054.panel   +++|C*      BLOCK DATA FOR PANEL
00080  M01S00055.panel   +++|C
00081  M01S00056.panel   +++|        BLOCK DATA
00082  M01S00057.panel   +++|*CALL   COMFPAN
00083  M01S00058.panel   +++|        DATA PNAME /'TEST   '/
00084  M01S00059.panel   +++|        DATA BLANK/' '/
Line S00060 Modification History
M01 (Added by) panel
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00085  M02S00060.v23l617 ---|        DATA IMAG  /3990*0/, NROW /0/, NCOL/79/
00086  M01S00003.v23l617 +++|        DATA IMAG  /10304*0/, NROW /0/, NCOL/0/
Line S00061 Modification History
M01 (Added by) panel
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00087  M02S00061.v23l617 ---|        DATA VERS,MSGL,MSGX,MSGY/0,40,39,0/
Line S00004 Modification History
M01 (Added by) v23l617
M02 (Updated by) ns2612
M03 (Updated by) ns2621
Seq #  *Modification Id* Act 
----------------------------+
00088  M03S00004.ns2621  ---|        DATA VERS,MSGL,MSGX,MSGY/0,20,39,0/
00089  M01S00017.ns2621  +++|        DATA VERS,MSGL,MSGX,MSGY,CLDC/0,20,39,0,0/
00090  M01S00001.ns2612  +++|        DATA VERS,MSGL,MSGX,MSGY/1,20,39,0/
00091  M01S00062.panel   +++|        DATA BLKA,ERBW,ERAR,WRIB/0,1,0,0/
00092  M01S00063.panel   +++|        DATA FATAL /.FALSE./, INDEF /.FALSE./, ENDFILE /.FALSE./
00093  M01S00064.panel   +++|        DATA ABEND /.FALSE./
00094  M01S00065.panel   +++|C
Line S00066 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00095  M02S00066.243l647 ---|        DATA ATRLP /'1','1','1',29*'0'/
Line S00067 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00096  M02S00067.243l647 ---|        DATA ATIO /2,0,2,29*2/
Line S00068 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00097  M02S00068.243l647 ---|        DATA NATR  /3/
Line S00069 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00098  M02S00069.243l647 ---|        DATA ATTP  /4,0,1,29*0/
Line S00070 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00099  M02S00070.243l647 ---|        DATA ATSC, ATBI, ATLW, ATFC, ATCS, ATCE /192*0/
00100  M01S00002.243l647 +++|C       ATTRIBUTE DATA, LOGICAL FLAG, INPUT/OUTPUT, ORDINAL, NUMBER
00101  M01S00003.243l647 +++|C
00102  M01S00004.243l647 +++|        DATA ATRLP /'1','1','1',61*'0'/
00103  M01S00005.243l647 +++|        DATA ATIO  /2,0,2,61*2/
00104  M01S00006.243l647 +++|        DATA ATTP  /4,0,1,61*0/
00105  M01S00007.243l647 +++|        DATA NATR  /3/
00106  M01S00008.243l647 +++|C
00107  M01S00009.243l647 +++|C       ATTRIBUTE DATA, ALTERNATE, BLINK, INVERSE AND UNDERLINE
00108  M01S00010.243l647 +++|C
00109  M01S00011.243l647 +++|        DATA ATRAI /MATR*'0'/
00110  M01S00012.243l647 +++|        DATA ATRBL /MATR*'0'/
00111  M01S00013.243l647 +++|        DATA ATRIV /MATR*'0'/
00112  M01S00014.243l647 +++|        DATA ATRUL /MATR*'0'/
00113  M01S00015.243l647 +++|C
00114  M01S00016.243l647 +++|C       ATTRIBUTE DATA, BRACKET ID, CHAR. END, CHAR. START, LINE
00115  M01S00017.243l647 +++|C                       WEIGHT AND SPECIAL CHARACTER
00116  M01S00018.243l647 +++|C
00117  M01S00019.243l647 +++|        DATA ATBI  /MATR*0/
00118  M01S00020.243l647 +++|        DATA ATCE  /MATR*0/
00119  M01S00021.243l647 +++|        DATA ATCS  /MATR*0/
00120  M01S00022.243l647 +++|        DATA ATLW  /MATR*0/
00121  M01S00023.243l647 +++|        DATA ATSC  /MATR*0/
00122  M01S00071.panel   +++|        DATA SPCH  /128*0/
00123  M01S00072.panel   +++|C
00124  M01S00073.panel   +++|        DATA NBOX  /0/
00125  M01S00074.panel   +++|        DATA IBOX  /0/
00126  M01S00075.panel   +++|        DATA CORS  /0/
00127  M01S00076.panel   +++|C       CORNER TYPES
00128  M01S00077.panel   +++|C
00129  M01S00078.panel   +++|C       D U R L         TYPE    ORDINAL
00130  M01S00079.panel   +++|C       0 0 0 0         CROSS   10
00131  M01S00080.panel   +++|C       0 0 0 1         HL      0
00132  M01S00081.panel   +++|C       0 0 1 0         HL      0
00133  M01S00082.panel   +++|C       0 0 1 1         HL      0
00134  M01S00083.panel   +++|C       0 1 0 0         VL      1
00135  M01S00084.panel   +++|C       0 1 0 1         LU      5
00136  M01S00085.panel   +++|C       0 1 1 0         UR      4
00137  M01S00086.panel   +++|C       0 1 1 1         LUR     7
00138  M01S00087.panel   +++|C       1 0 0 0         VL      1
00139  M01S00088.panel   +++|C       1 0 0 1         LD      3
00140  M01S00089.panel   +++|C       1 0 1 0         RD      2
00141  M01S00090.panel   +++|C       1 0 1 1         LRD(T)  6
00142  M01S00091.panel   +++|C       1 1 0 0         VL      1
00143  M01S00092.panel   +++|C       1 1 0 1         LUD     9
00144  M01S00093.panel   +++|C       1 1 1 0         URD     8
00145  M01S00094.panel   +++|C       1 1 1 1         CROSS   10
00146  M01S00095.panel   +++|C
00147  M01S00096.panel   +++|        DATA CORO/10,0,0,0,1,5,4,7,1,3,2,6,1,9,8,10/
00148  M01S00097.panel   +++|C
00149  M01S00098.panel   +++|        DATA NCON  /0/
00150  M01S00099.panel   +++|C
00151  M01S00100.panel   +++|        DATA NFIE  /0/
00152  M01S00101.panel   +++|C
Line S00102 Modification History
M01 (Added by) panel
M02 (Updated by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
00153  M02S00102.ns2700  ---|        DATA NFUN, FUNA, FUNG, FUNK  /0, 32*0, 32*0, 32*0/
00154  M01S00001.ns2700  +++|        DATA NFUN, FUNA, FUNG, FUNK  /0, MFUN*0, MFUN*0, MFUN*0/
00155  M01S00103.panel   +++|C
00156  M01S00104.panel   +++|        DATA SYMTP  /' '/
00157  M01S00105.panel   +++|        DATA STRGD  /' '/
00158  M01S00106.panel   +++|        DATA SI, SJ  /1,1/
Line S00107 Modification History
M01 (Added by) panel
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00159  M02S00107.v23l617 ---|        DATA SL, STRG, SINT, SIGN  /0, 132*0, 0, 0/
00160  M01S00005.v23l617 +++|        DATA SL, STRG, SINT, SIGN  /0, MCOL*0, 0, 0/
00161  M01S00108.panel   +++|        DATA SREALV  /0.0/
00162  M01S00109.panel   +++|C
00163  M01S00110.panel   +++|        DATA TABNM  /8*'*'/
00164  M01S00111.panel   +++|        DATA NTAB   /0/
00165  M01S00112.panel   +++|C
00166  M01S00113.panel   +++|        DATA VARNM  /256*' '/
00167  M01S00114.panel   +++|        DATA TYPES  /'CHAR', 'INT', 'REAL'/
00168  M01S00115.panel   +++|        DATA NVAR  /0/
00169  M01S00116.panel   +++|        DATA NVAF  /0/
00170  M01S00117.panel   +++|        DATA VDCO  /0/
00171  M01S00118.panel   +++|        DATA NVAL  /0/
00172  M01S00119.panel   +++|      END
00173  M01S00120.panel   +++|C-------------------------------------------------------------------
00174  M01S00121.panel   +++|C*      BLOCK - GENERATE BLOCK COMMENTS
00175  M01S00122.panel   +++|C
00176  M01S00123.panel   +++|        SUBROUTINE BLOCK(S)
00177  M01S00124.panel   +++|        CHARACTER*(*) S
00178  M01S00125.panel   +++|        WRITE (3,100) S
00179  M01S00126.panel   +++|100     FORMAT('*'/'*', T10, A/'*')
00180  M01S00127.panel   +++|        END
00181  M01S00128.panel   +++|C-------------------------------------------------------------------
00182  M01S00129.panel   +++|C*      BSS - BSS 0
00183  M01S00130.panel   +++|C
00184  M01S00131.panel   +++|        SUBROUTINE BSS
00185  M01S00132.panel   +++|*CALL   COMFPAN
00186  M01S00133.panel   +++|        WRITE(3,100)
00187  M01S00134.panel   +++|100     FORMAT(T10,'BSS',T16,'0')
00188  M01S00135.panel   +++|        END
00189  M01S00136.panel   +++|C-------------------------------------------------------------------
00190  M01S00137.panel   +++|C*      CHEKATR - CHECK ATTRIBUTE
00191  M01S00138.panel   +++|C
Line S00139 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00192  M02S00139.243l647 ---|C       EXIT    LP= 1=LOGICAL, 0=PHYSICAL
00193  M01S00024.243l647 +++|C       EXIT    LP= 1=LOGICAL, 0=PHYSICAL, 3=ERROR
Line S00140 Modification History
M01 (Added by) panel
M02 (Updated by) ns2315
Seq #  *Modification Id* Act 
----------------------------+
00194  M02S00140.ns2315  ---|C               I= 0=NOT AN ATTRIBUTE
Line S00141 Modification History
M01 (Added by) panel
M02 (Updated by) ns2315
Seq #  *Modification Id* Act 
----------------------------+
00195  M02S00141.ns2315  ---|C                  1, 2, ... PARALLEL USE IN SETATR
00196  M01S00001.ns2315  +++|C               I = 0,1,2,... PARALLEL USE IN SETATR
00197  M01S00142.panel   +++|C
00198  M01S00143.panel   +++|        SUBROUTINE CHEKATR(LP,I)
00199  M01S00144.panel   +++|*CALL   COMFPAN
Line S00145 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00200  M02S00145.243l647 ---|        IF (UPSYMEQ('FOREGROUND').OR.UPSYMEQ('COLOR').OR.
Line S00146 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00201  M02S00146.243l647 ---|     A      UPSYMEQ('FG')) THEN
Line S00147 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00202  M02S00147.243l647 ---|          CALL SCANSYM
Line S00148 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00203  M02S00148.243l647 ---|          IF (FATAL) RETURN
Line S00149 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00204  M02S00149.243l647 ---|          IF (UPSYMEQ('COLOR')) THEN
Line S00150 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00205  M02S00150.243l647 ---|            CALL SCANSYM
Line S00151 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00206  M02S00151.243l647 ---|            IF (FATAL) RETURN
Line S00152 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00207  M02S00152.243l647 ---|          ENDIF
Line S00153 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00208  M02S00153.243l647 ---|        ENDIF
00209  M01S00154.panel   +++|        LP = 1
00210  M01S00155.panel   +++|        IF (UPSYMEQ('ITEXT').OR.UPSYMEQ('INPUT')) THEN
00211  M01S00156.panel   +++|          I = 0
00212  M01S00157.panel   +++|        ELSEIF (UPSYMEQ('TEXT')) THEN
00213  M01S00158.panel   +++|          I = 1
00214  M01S00159.panel   +++|        ELSEIF (UPSYMEQ('ITALIC')) THEN
00215  M01S00160.panel   +++|          I = 2
00216  M01S00161.panel   +++|        ELSEIF (UPSYMEQ('TITLE')) THEN
00217  M01S00162.panel   +++|          I = 3
00218  M01S00163.panel   +++|        ELSEIF (UPSYMEQ('MESSAGE')) THEN
00219  M01S00164.panel   +++|          I = 4
00220  M01S00165.panel   +++|        ELSEIF (UPSYMEQ('ERROR')) THEN
00221  M01S00166.panel   +++|          I = 5
00222  M01S00025.243l647 +++|        ELSEIF (UPSYMEQ('ITEXT2').OR.UPSYMEQ('INPUT2')) THEN
00223  M01S00026.243l647 +++|          I = 6
00224  M01S00027.243l647 +++|        ELSEIF (UPSYMEQ('TEXT2')) THEN
00225  M01S00028.243l647 +++|          I = 7
00226  M01S00029.243l647 +++|        ELSEIF (UPSYMEQ('ITALIC2')) THEN
00227  M01S00030.243l647 +++|          I = 8
00228  M01S00031.243l647 +++|        ELSEIF (UPSYMEQ('TITLE2')) THEN
00229  M01S00032.243l647 +++|          I = 9
00230  M01S00033.243l647 +++|        ELSEIF (UPSYMEQ('MESSAGE2')) THEN
00231  M01S00034.243l647 +++|          I = 10
00232  M01S00035.243l647 +++|        ELSEIF (UPSYMEQ('ERROR2')) THEN
00233  M01S00036.243l647 +++|          I = 11
00234  M01S00167.panel   +++|        ELSE
00235  M01S00168.panel   +++|          LP = 0
00236  M01S00169.panel   +++|          IF (UPSYMEQ('BLINK')) THEN
00237  M01S00170.panel   +++|            I = 6
00238  M01S00171.panel   +++|          ELSEIF (UPSYMEQ('INVERSE').OR.UPSYMEQ('INV')) THEN
00239  M01S00172.panel   +++|            I = 7
00240  M01S00173.panel   +++|          ELSEIF (UPSYMEQ('UNDERLINE').OR.UPSYMEQ('UND')
00241  M01S00174.panel   +++|     A            .OR.UPSYMEQ('UNDERSCORE')) THEN
00242  M01S00175.panel   +++|            I = 8
00243  M01S00176.panel   +++|          ELSEIF (UPSYMEQ('ALTERNATE').OR.UPSYMEQ('ALT')) THEN
00244  M01S00177.panel   +++|            I = 9
Line S00178 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00245  M02S00178.243l647 ---|          ELSEIF (UPSYMEQ('BLACK')) THEN
Line S00179 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00246  M02S00179.243l647 ---|            I = 10
Line S00180 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00247  M02S00180.243l647 ---|          ELSEIF (UPSYMEQ('BLUE')) THEN
Line S00181 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00248  M02S00181.243l647 ---|            I = 11
Line S00182 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00249  M02S00182.243l647 ---|          ELSEIF (UPSYMEQ('GREEN')) THEN
Line S00183 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00250  M02S00183.243l647 ---|            I = 12
Line S00184 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00251  M02S00184.243l647 ---|          ELSEIF (UPSYMEQ('YELLOW')) THEN
Line S00185 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00252  M02S00185.243l647 ---|            I = 13
Line S00186 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00253  M02S00186.243l647 ---|          ELSEIF (UPSYMEQ('RED')) THEN
Line S00187 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00254  M02S00187.243l647 ---|            I = 14
Line S00188 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00255  M02S00188.243l647 ---|          ELSEIF (UPSYMEQ('CYAN')) THEN
Line S00189 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00256  M02S00189.243l647 ---|            I = 15
Line S00190 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00257  M02S00190.243l647 ---|          ELSEIF (UPSYMEQ('MAGENTA')) THEN
Line S00191 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00258  M02S00191.243l647 ---|            I = 16
Line S00192 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00259  M02S00192.243l647 ---|          ELSEIF (UPSYMEQ('WHITE')) THEN
Line S00193 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00260  M02S00193.243l647 ---|            I = 17
00261  M01S00194.panel   +++|          ELSE
00262  M01S00195.panel   +++|            LP = 3
00263  M01S00196.panel   +++|          ENDIF
00264  M01S00197.panel   +++|        ENDIF
00265  M01S00198.panel   +++|        END
00266  M01S00199.panel   +++|C-------------------------------------------------------------------
Line S00200 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00267  M02S00200.243l647 ---|C*      CHEKHED - TEST WHETHER VAR, KEY, ATTR OR BRACKET
Line S00201 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00268  M02S00201.243l647 ---|C               RETURN I =     1,   2,    3,         4, OR 0 IF NOT
00269  M01S00037.243l647 +++|C*      CHEKHED -  CHECK FOR SYNTAX ELEMENT
00270  M01S00038.243l647 +++|C         EXIT  -  VAR         I = 1
00271  M01S00039.243l647 +++|C                  KEY         I = 2
00272  M01S00040.243l647 +++|C                  ATTR        I = 3
00273  M01S00041.243l647 +++|C                  BRACKET     I = 4
00274  M01S00042.243l647 +++|C                  BOX         I = 5
00275  M01S00043.243l647 +++|C                  TABLE       I = 6
00276  M01S00044.243l647 +++|C                  TABLE END   I = 7
00277  M01S00045.243l647 +++|C                  PANEL       I = 8
00278  M01S00046.243l647 +++|C                  SFATTR      I = 9
00279  M01S00047.243l647 +++|C                              I = 0 IF NONE
00280  M01S00202.panel   +++|C
00281  M01S00203.panel   +++|        SUBROUTINE CHEKHED(I)
00282  M01S00204.panel   +++|*CALL   COMFPAN
00283  M01S00205.panel   +++|        INTEGER I
00284  M01S00206.panel   +++|        I = 0
00285  M01S00207.panel   +++|1       IF (SYMEQ(';')) THEN
00286  M01S00208.panel   +++|          CALL SCANSYM
00287  M01S00209.panel   +++|          IF (FATAL) RETURN
00288  M01S00210.panel   +++|          GOTO 1
00289  M01S00211.panel   +++|        ENDIF
00290  M01S00212.panel   +++|        IF(UPSYMEQ('VAR')) THEN
00291  M01S00213.panel   +++|          I = 1
00292  M01S00214.panel   +++|        ELSE IF(UPSYMEQ('KEY')) THEN
00293  M01S00215.panel   +++|          I = 2
00294  M01S00216.panel   +++|        ELSE IF(UPSYMEQ('ATTR')) THEN
00295  M01S00217.panel   +++|          I = 3
Line S00218 Modification History
M01 (Added by) panel
M02 (Updated by) ns2621
Seq #  *Modification Id* Act 
----------------------------+
00296  M02S00218.ns2621  ---|        ELSE IF(IMAG(SI,1).EQ.ZRB) THEN
00297  M01S00018.ns2621  +++|        ELSE IF(IMAG(SI,1).EQ.CLDC) THEN
00298  M01S00219.panel   +++|          I = 4
00299  M01S00220.panel   +++|        ELSE IF(UPSYMEQ('BOX')) THEN
00300  M01S00221.panel   +++|          I = 5
00301  M01S00222.panel   +++|        ELSE IF(UPSYMEQ('TABLE')) THEN
00302  M01S00223.panel   +++|          I = 6
00303  M01S00224.panel   +++|        ELSE IF(UPSYMEQ('TABLEND')) THEN
00304  M01S00225.panel   +++|          I = 7
00305  M01S00226.panel   +++|        ELSE IF(UPSYMEQ('PANEL')) THEN
00306  M01S00227.panel   +++|          I = 8
00307  M01S00048.243l647 +++|        ELSE IF(UPSYMEQ('SFATTR')) THEN
00308  M01S00049.243l647 +++|          I = 9
00309  M01S00228.panel   +++|        ENDIF
00310  M01S00229.panel   +++|        END
00311  M01S00230.panel   +++|C---------------------------------------------------------------------
00312  M01S00231.panel   +++|C*      CHEKKEY - CHECK KEY NAME
00313  M01S00232.panel   +++|C
00314  M01S00233.panel   +++|C       EXIT    G= 1=FUNCTION
00315  M01S00234.panel   +++|C                  2=GENERIC
00316  M01S00235.panel   +++|C               N=KEY NUMBER
00317  M01S00236.panel   +++|C
00318  M01S00237.panel   +++|        SUBROUTINE CHEKKEY(G,N)
00319  M01S00238.panel   +++|*CALL   COMFPAN
00320  M01S00239.panel   +++|        INTEGER G, N
00321  M01S00240.panel   +++|        LOGICAL SHIFT
00322  M01S00241.panel   +++|        SHIFT = .FALSE.
00323  M01S00242.panel   +++|        G = 1
00324  M01S00243.panel   +++|        IF (UPSYMEQ('S').OR.UPSYMEQ('SHIFT')) THEN
00325  M01S00244.panel   +++|          SHIFT = .TRUE.
00326  M01S00245.panel   +++|          CALL SCANSYM
00327  M01S00246.panel   +++|          IF (FATAL) RETURN
00328  M01S00247.panel   +++|        ENDIF
00329  M01S00248.panel   +++|        IF (UPSYMEQ('F1')) THEN
00330  M01S00249.panel   +++|          N = 1
00331  M01S00250.panel   +++|        ELSEIF (UPSYMEQ('F2')) THEN
00332  M01S00251.panel   +++|          N = 2
00333  M01S00252.panel   +++|        ELSEIF (UPSYMEQ('F3')) THEN
00334  M01S00253.panel   +++|          N = 3
00335  M01S00254.panel   +++|        ELSEIF (UPSYMEQ('F4')) THEN
00336  M01S00255.panel   +++|          N = 4
00337  M01S00256.panel   +++|        ELSEIF (UPSYMEQ('F5')) THEN
00338  M01S00257.panel   +++|          N = 5
00339  M01S00258.panel   +++|        ELSEIF (UPSYMEQ('F6')) THEN
00340  M01S00259.panel   +++|          N = 6
00341  M01S00260.panel   +++|        ELSEIF (UPSYMEQ('F7')) THEN
00342  M01S00261.panel   +++|          N = 7
00343  M01S00262.panel   +++|        ELSEIF (UPSYMEQ('F8')) THEN
00344  M01S00263.panel   +++|          N = 8
00345  M01S00264.panel   +++|        ELSEIF (UPSYMEQ('F9')) THEN
00346  M01S00265.panel   +++|          N = 9
00347  M01S00266.panel   +++|        ELSEIF (UPSYMEQ('F10')) THEN
00348  M01S00267.panel   +++|          N = 10
00349  M01S00268.panel   +++|        ELSEIF (UPSYMEQ('F11')) THEN
00350  M01S00269.panel   +++|          N = 11
00351  M01S00270.panel   +++|        ELSEIF (UPSYMEQ('F12')) THEN
00352  M01S00271.panel   +++|          N = 12
00353  M01S00272.panel   +++|        ELSEIF (UPSYMEQ('F13')) THEN
00354  M01S00273.panel   +++|          N = 13
00355  M01S00274.panel   +++|        ELSEIF (UPSYMEQ('F14')) THEN
00356  M01S00275.panel   +++|          N = 14
00357  M01S00276.panel   +++|        ELSEIF (UPSYMEQ('F15')) THEN
00358  M01S00277.panel   +++|          N = 15
00359  M01S00278.panel   +++|        ELSEIF (UPSYMEQ('F16')) THEN
00360  M01S00279.panel   +++|          N = 16
00361  M01S00002.ns2700  +++|        ELSEIF (UPSYMEQ('F17')) THEN
00362  M01S00003.ns2700  +++|          N = 17
00363  M01S00004.ns2700  +++|        ELSEIF (UPSYMEQ('F18')) THEN
00364  M01S00005.ns2700  +++|          N = 18
00365  M01S00006.ns2700  +++|        ELSEIF (UPSYMEQ('F19')) THEN
00366  M01S00007.ns2700  +++|          N = 19
00367  M01S00008.ns2700  +++|        ELSEIF (UPSYMEQ('F20')) THEN
00368  M01S00009.ns2700  +++|          N = 20
00369  M01S00010.ns2700  +++|        ELSEIF (UPSYMEQ('F21')) THEN
00370  M01S00011.ns2700  +++|          N = 21
00371  M01S00012.ns2700  +++|        ELSEIF (UPSYMEQ('F22')) THEN
00372  M01S00013.ns2700  +++|          N = 22
00373  M01S00014.ns2700  +++|        ELSEIF (UPSYMEQ('F23')) THEN
00374  M01S00015.ns2700  +++|          N = 23
00375  M01S00016.ns2700  +++|        ELSEIF (UPSYMEQ('F24')) THEN
00376  M01S00017.ns2700  +++|          N = 24
00377  M01S00280.panel   +++|        ELSE
00378  M01S00281.panel   +++|          G = 2
00379  M01S00282.panel   +++|          IF (UPSYMEQ('NEXT')) THEN
00380  M01S00283.panel   +++|            N = 1
00381  M01S00284.panel   +++|          ELSEIF (UPSYMEQ('BACK')) THEN
00382  M01S00285.panel   +++|            N = 2
00383  M01S00286.panel   +++|          ELSEIF (UPSYMEQ('HELP')) THEN
00384  M01S00287.panel   +++|            N = 3
00385  M01S00288.panel   +++|          ELSEIF (UPSYMEQ('STOP')) THEN
00386  M01S00289.panel   +++|            N = 4
00387  M01S00290.panel   +++|          ELSEIF (UPSYMEQ('DOWN')) THEN
00388  M01S00291.panel   +++|            N = 5
00389  M01S00292.panel   +++|          ELSEIF (UPSYMEQ('UP')) THEN
00390  M01S00293.panel   +++|            N = 6
00391  M01S00294.panel   +++|          ELSEIF (UPSYMEQ('FWD')) THEN
00392  M01S00295.panel   +++|            N = 7
00393  M01S00296.panel   +++|          ELSEIF (UPSYMEQ('BKW')) THEN
00394  M01S00297.panel   +++|            N = 8
00395  M01S00050.243l647 +++|          ELSEIF (UPSYMEQ('EDIT')) THEN
00396  M01S00051.243l647 +++|            N = 9
00397  M01S00052.243l647 +++|          ELSEIF (UPSYMEQ('DATA')) THEN
00398  M01S00053.243l647 +++|            N = 10
00399  M01S00298.panel   +++|          ELSE
00400  M01S00299.panel   +++|            G = 0
00401  M01S00300.panel   +++|          ENDIF
00402  M01S00301.panel   +++|        ENDIF
00403  M01S00302.panel   +++|        IF (SHIFT) THEN
00404  M01S00303.panel   +++|          IF (G.EQ.0) THEN
00405  M01S00304.panel   +++|            CALL ERROR('SHIFT not allowed')
00406  M01S00305.panel   +++|            RETURN
00407  M01S00306.panel   +++|          ENDIF
00408  M01S00307.panel   +++|          N = -N
00409  M01S00308.panel   +++|        ENDIF
00410  M01S00309.panel   +++|        END
00411  M01S00310.panel   +++|C---------------------------------------------------------------------
Line S00311 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00412  M02S00311.243l647 ---|C*        CHEKMUS - CHECK IF FILL, ENTER, OR KNOW
00413  M01S00054.243l647 +++|C*        CHEKPIC - CHECK IF FILL, ENTER, OR KNOW
00414  M01S00312.panel   +++|C
Line S00313 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00415  M02S00313.243l647 ---|C*        CHEKPIC - CHECK IF X, A, 9, N, E, OR $
Line S00314 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00416  M02S00314.243l647 ---|C                 RETURN I=1, 2, 3, 4, 5,    6, OR 0 IF NOT
00417  M01S00055.243l647 +++|C*        CHEKPIC - CHECK IF X, A, 9, N, E, $, Y , M OR D.
00418  M01S00056.243l647 +++|C                   RETURN  FORMAT ORDINAL OR 0 IF NONE.
00419  M01S00315.panel   +++|C
00420  M01S00316.panel   +++|        SUBROUTINE CHEKPIC(I)
00421  M01S00317.panel   +++|*CALL   COMFPAN
00422  M01S00318.panel   +++|        INTEGER I
00423  M01S00319.panel   +++|        IF (UPSYMEQ('X')) THEN
00424  M01S00320.panel   +++|          I = VPX
00425  M01S00321.panel   +++|        ELSE IF (UPSYMEQ('A')) THEN
00426  M01S00322.panel   +++|          I = VPA
00427  M01S00323.panel   +++|        ELSE IF (SYMEQ('9')) THEN
00428  M01S00324.panel   +++|          I = VP9
00429  M01S00325.panel   +++|        ELSE IF (UPSYMEQ('N')) THEN
00430  M01S00326.panel   +++|          I = VPN
00431  M01S00327.panel   +++|        ELSE IF (UPSYMEQ('E')) THEN
00432  M01S00328.panel   +++|          I = VPE
00433  M01S00329.panel   +++|        ELSE IF (SYMEQ('$')) THEN
00434  M01S00330.panel   +++|          I = VPC
Line S00331 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00435  M02S00331.243l647 ---|        ELSE IF (UPSYMEQ('Y')) THEN
00436  M01S00057.243l647 +++|        ELSE IF (UPSYMEQ('Y') .OR. UPSYMEQ('YMD')) THEN
00437  M01S00332.panel   +++|          I = VPY
Line S00333 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00438  M02S00333.243l647 ---|        ELSE IF (UPSYMEQ('M')) THEN
00439  M01S00058.243l647 +++|        ELSE IF (UPSYMEQ('M') .OR. UPSYMEQ('MDY')) THEN
00440  M01S00334.panel   +++|          I = VPM
Line S00335 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00441  M02S00335.243l647 ---|        ELSE IF (UPSYMEQ('D')) THEN
00442  M01S00059.243l647 +++|        ELSE IF (UPSYMEQ('D') .OR. UPSYMEQ('DMY')) THEN
00443  M01S00336.panel   +++|          I = VPD
00444  M01S00337.panel   +++|        ELSE
00445  M01S00338.panel   +++|          I = 0
00446  M01S00339.panel   +++|        ENDIF
00447  M01S00340.panel   +++|        END
00448  M01S00341.panel   +++|C-------------------------------------------------------------------
00449  M01S00342.panel   +++|C*      CLEN - RETURN LENGTH OF NAME
00450  M01S00343.panel   +++|C
00451  M01S00344.panel   +++|C       ENTRY   S=STRING
00452  M01S00345.panel   +++|C               7 CHARACTERS OR LESS
00453  M01S00346.panel   +++|C
00454  M01S00347.panel   +++|        INTEGER FUNCTION CLEN(S)
00455  M01S00348.panel   +++|        CHARACTER*(*) S
00456  M01S00349.panel   +++|        I = 7
00457  M01S00350.panel   +++|1       IF (S(I:I).EQ.' ') THEN
00458  M01S00351.panel   +++|          IF (I.GT.1) THEN
00459  M01S00352.panel   +++|            I = I - 1
00460  M01S00353.panel   +++|            GOTO 1
00461  M01S00354.panel   +++|          ENDIF
00462  M01S00355.panel   +++|        ENDIF
00463  M01S00356.panel   +++|        CLEN = I
00464  M01S00357.panel   +++|        END
00465  M01S00358.panel   +++|C-------------------------------------------------------------------
00466  M01S00359.panel   +++|C*      COMMENT - OUTPUT A COMMENT
00467  M01S00360.panel   +++|C
00468  M01S00361.panel   +++|        SUBROUTINE COMMENT(S)
00469  M01S00362.panel   +++|*CALL   COMFPAN
00470  M01S00363.panel   +++|        CHARACTER*(*) S
00471  M01S00364.panel   +++|        WRITE(3,100) S
00472  M01S00365.panel   +++|100     FORMAT('*',A)
00473  M01S00366.panel   +++|        END
00474  M01S00367.panel   +++|C-------------------------------------------------------------------
00475  M01S00368.panel   +++|C*      COPYSYM - COPY SYMBOL TO VALIDATION TABLE
00476  M01S00369.panel   +++|C
00477  M01S00370.panel   +++|        SUBROUTINE COPYSYM
00478  M01S00371.panel   +++|*CALL   COMFPAN
00479  M01S00372.panel   +++|        IF (SYMTP.EQ.'S') THEN
00480  M01S00373.panel   +++|          IF (NVAL+SL.GE.MVAL) THEN
00481  M01S00374.panel   +++|            CALL ERROR('VALIDATION TABLE OVERFLOW')
00482  M01S00375.panel   +++|            RETURN
00483  M01S00376.panel   +++|          ENDIF
00484  M01S00377.panel   +++|          NVAL = NVAL + 1
00485  M01S00378.panel   +++|          VVAL(NVAL) = SL
00486  M01S00379.panel   +++|          DO 100 I = 1, SL
00487  M01S00380.panel   +++|            NVAL = NVAL + 1
00488  M01S00381.panel   +++|            VVAL(NVAL) = STRG(I)
00489  M01S00382.panel   +++|100       CONTINUE
00490  M01S00383.panel   +++|        ELSE
00491  M01S00384.panel   +++|          IF (NVAL+SJ-SI.GE.MVAL) THEN
00492  M01S00385.panel   +++|            CALL ERROR('VALIDATION TABLE OVERFLOW')
00493  M01S00386.panel   +++|            RETURN
00494  M01S00387.panel   +++|          ENDIF
00495  M01S00388.panel   +++|          NVAL = NVAL + 1
00496  M01S00389.panel   +++|          VVAL(NVAL) = SJ - SI
00497  M01S00390.panel   +++|          DO 200 I = SI, SJ - 1
00498  M01S00391.panel   +++|            NVAL = NVAL + 1
00499  M01S00392.panel   +++|            VVAL(NVAL) = IMAG(I,1)
00500  M01S00393.panel   +++|200       CONTINUE
00501  M01S00394.panel   +++|        ENDIF
00502  M01S00395.panel   +++|        END
00503  M01S00396.panel   +++|C-------------------------------------------------------------------
00504  M01S00397.panel   +++|C*      COPYVAR - INITIALIZE VARIABLE TO SAME AS VARIABLE I
00505  M01S00398.panel   +++|C
00506  M01S00399.panel   +++|C       I - INDEX OF VARIABLE TO COPY
00507  M01S00400.panel   +++|C       J - ROW NUMBER
00508  M01S00401.panel   +++|C
00509  M01S00402.panel   +++|C
00510  M01S00403.panel   +++|        SUBROUTINE COPYVAR(I,J)
00511  M01S00404.panel   +++|*CALL   COMFPAN
00512  M01S00405.panel   +++|        INTEGER I, J
00513  M01S00406.panel   +++|        IF (NVAR.EQ.MVAR) THEN
00514  M01S00407.panel   +++|          CALL ERRORN(MVAR,'variables')
00515  M01S00408.panel   +++|          RETURN
00516  M01S00409.panel   +++|        ENDIF
00517  M01S00410.panel   +++|        NVAR = NVAR + 1
00518  M01S00411.panel   +++|        VTAB(NVAR) = VTAB(I)
00519  M01S00412.panel   +++|        VAIO(NVAR) = VAIO(I)
00520  M01S00413.panel   +++|        VARL(NVAR) = VARL(I)
00521  M01S00414.panel   +++|        VARV(NVAR) = VARV(I)
00522  M01S00415.panel   +++|        VART(NVAR) = VART(I)
00523  M01S00416.panel   +++|        VARM(NVAR) = VARM(I)
00524  M01S00001.ns2469  +++|        VARC(NVAR) = VARC(I)
00525  M01S00417.panel   +++|        VARP(NVAR) = VARP(I)
00526  M01S00418.panel   +++|        VAVT(NVAR) = VAVT(I)
00527  M01S00419.panel   +++|        VARH(NVAR) = VARH(I)
00528  M01S00420.panel   +++|        VARD(NVAR) = VARD(I)
00529  M01S00421.panel   +++|        VARA(NVAR) = VARA(I)
00530  M01S00422.panel   +++|        VARF(NVAR) = VARF(I)
00531  M01S00423.panel   +++|        VARR(NVAR) = J
00532  M01S00424.panel   +++|        VARNM(NVAR) = VARNM(I)
00533  M01S00425.panel   +++|        END
00534  M01S00426.panel   +++|C-------------------------------------------------------------------
00535  M01S00427.panel   +++|C*      CORGEN - CORNER GENERATION
00536  M01S00428.panel   +++|C
00537  M01S00429.panel   +++|C       ENTRY
00538  M01S00430.panel   +++|C               I,J=POSITION OF CORNER
00539  M01S00431.panel   +++|C               T= TYPE OF CORNER
00540  M01S00432.panel   +++|C
00541  M01S00433.panel   +++|        SUBROUTINE CORGEN(I,J,T)
00542  M01S00434.panel   +++|*CALL   COMFPAN
00543  M01S00435.panel   +++|        INTEGER I,J,T
00544  M01S00436.panel   +++|        CALL NEWLC(I,J,1,T)
00545  M01S00437.panel   +++|        NCOL = MAX(NCOL,I)
00546  M01S00438.panel   +++|        END
00547  M01S00439.panel   +++|C-------------------------------------------------------------------
Line S00440 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00548  M02S00440.ns2150  ---|C*      CORMOV - MOVE FROM CORNER TO FOLLOW A LINE
Line S00441 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00549  M02S00441.ns2150  ---|C
Line S00442 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00550  M02S00442.ns2150  ---|C       ENTRY
Line S00443 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00551  M02S00443.ns2150  ---|C               I,J=POS OF CORNER
Line S00444 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00552  M02S00444.ns2150  ---|C               II,JI=INCREMENT TO MOVE
Line S00445 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00553  M02S00445.ns2150  ---|C
Line S00446 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00554  M02S00446.ns2150  ---|        SUBROUTINE CORMOV(I,J,II,JI)
Line S00447 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00555  M02S00447.ns2150  ---|*CALL   COMFPAN
Line S00448 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00556  M02S00448.ns2150  ---|        INTEGER I,J,II,JI
Line S00449 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00557  M02S00449.ns2150  ---|        INTEGER IS,JSS
Line S00450 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00558  M02S00450.ns2150  ---|        IS = I
Line S00451 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00559  M02S00451.ns2150  ---|        JS = J
Line S00452 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00560  M02S00452.ns2150  ---|100     IS = IS + II
Line S00453 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00561  M02S00453.ns2150  ---|        JS = JS + JI
Line S00454 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00562  M02S00454.ns2150  ---|        IF (IS.GT.0.AND.IS.LE.132.AND.
Line S00455 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00563  M02S00455.ns2150  ---|     A      JS.GT.0.AND.JS.LE.MROW) THEN
Line S00456 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00564  M02S00456.ns2150  ---|          IF (ISLIN(IMAG(IS,JS))) GOTO 100
Line S00457 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00565  M02S00457.ns2150  ---|          IF (ISCOR(IMAG(IS,JS))) CALL CORSTAK(IS,JS)
Line S00458 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00566  M02S00458.ns2150  ---|        ENDIF
Line S00459 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00567  M02S00459.ns2150  ---|        IF (IS.NE.I+II.OR.JS.NE.J+JI) THEN
Line S00460 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00568  M02S00460.ns2150  ---|C         HAD SOME LINE
Line S00461 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00569  M02S00461.ns2150  ---|          IF (II.NE.0) THEN
Line S00462 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00570  M02S00462.ns2150  ---|C           HORIZONTAL LINE
Line S00463 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00571  M02S00463.ns2150  ---|            CALL NEWHL(MIN(I+II,IS-II),J,IABS(IS-I)-1)
Line S00464 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00572  M02S00464.ns2150  ---|          ELSE
Line S00465 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00573  M02S00465.ns2150  ---|C           VERTICAL LINE
Line S00466 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00574  M02S00466.ns2150  ---|            CALL NEWVL(I,MIN(J+JI,JS-JI),IABS(JS-J)-1)
Line S00467 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00575  M02S00467.ns2150  ---|          ENDIF
Line S00468 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00576  M02S00468.ns2150  ---|        ENDIF
Line S00469 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00577  M02S00469.ns2150  ---|        END
Line S00470 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00578  M02S00470.ns2150  ---|C-------------------------------------------------------------------
00579  M01S00004.ns2150  +++|C*      CORMOVH - MOVE FROM CORNER TO FOLLOW A HORIZONTAL LINE
00580  M01S00005.ns2150  +++|C
00581  M01S00006.ns2150  +++|C       ENTRY
00582  M01S00007.ns2150  +++|C               I,J=POS OF CORNER
00583  M01S00008.ns2150  +++|C               II=INCREMENT TO MOVE
00584  M01S00009.ns2150  +++|C
00585  M01S00010.ns2150  +++|        SUBROUTINE CORMOVH(I,J,II)
00586  M01S00011.ns2150  +++|*CALL   COMFPAN
00587  M01S00012.ns2150  +++|        INTEGER I,J,II
00588  M01S00013.ns2150  +++|        INTEGER IS
00589  M01S00014.ns2150  +++|        IS = I
00590  M01S00015.ns2150  +++|100     IS = IS + II
Line S00016 Modification History
M01 (Added by) ns2150
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00591  M02S00016.v23l617 ---|        IF (IS.GT.0.AND.IS.LE.132) THEN
00592  M01S00006.v23l617 +++|        IF (IS.GT.0.AND.IS.LE.MCOL) THEN
00593  M01S00017.ns2150  +++|          IF (ISLINH(IMAG(IS,J))) GOTO 100
00594  M01S00018.ns2150  +++|          IF (ISCOR(IMAG(IS,J))) CALL CORSTAK(IS,J)
00595  M01S00019.ns2150  +++|        ENDIF
00596  M01S00020.ns2150  +++|        IF (IS.NE.I+II) THEN
00597  M01S00021.ns2150  +++|C         HAD SOME LINE
00598  M01S00022.ns2150  +++|            CALL NEWHL(MIN(I+II,IS-II),J,IABS(IS-I)-1)
00599  M01S00023.ns2150  +++|        ENDIF
00600  M01S00024.ns2150  +++|        END
00601  M01S00025.ns2150  +++|C-------------------------------------------------------------------
00602  M01S00026.ns2150  +++|C*      CORMOVV - MOVE FROM CORNER TO FOLLOW A VERTICAL LINE
00603  M01S00027.ns2150  +++|C
00604  M01S00028.ns2150  +++|C       ENTRY
00605  M01S00029.ns2150  +++|C               I,J=POS OF CORNER
00606  M01S00030.ns2150  +++|C               JI=INCREMENT TO MOVE
00607  M01S00031.ns2150  +++|C
00608  M01S00032.ns2150  +++|        SUBROUTINE CORMOVV(I,J,JI)
00609  M01S00033.ns2150  +++|*CALL   COMFPAN
00610  M01S00034.ns2150  +++|        INTEGER I,J,JI
00611  M01S00035.ns2150  +++|        INTEGER JS
00612  M01S00036.ns2150  +++|        JS = J
00613  M01S00037.ns2150  +++|100     JS = JS + JI
00614  M01S00038.ns2150  +++|        IF (JS.GT.0.AND.JS.LE.MROW) THEN
00615  M01S00039.ns2150  +++|          IF (ISLINV(IMAG(I,JS))) GOTO 100
00616  M01S00040.ns2150  +++|          IF (ISCOR(IMAG(I,JS))) CALL CORSTAK(I,JS)
00617  M01S00041.ns2150  +++|        ENDIF
00618  M01S00042.ns2150  +++|        IF (JS.NE.J+JI) THEN
00619  M01S00043.ns2150  +++|C         HAD SOME LINE
00620  M01S00044.ns2150  +++|            CALL NEWVL(I,MIN(J+JI,JS-JI),IABS(JS-J)-1)
00621  M01S00045.ns2150  +++|        ENDIF
00622  M01S00046.ns2150  +++|        END
00623  M01S00047.ns2150  +++|C-------------------------------------------------------------------
00624  M01S00471.panel   +++|C*      CORSTAK - CORNER STACK
00625  M01S00472.panel   +++|C
00626  M01S00473.panel   +++|C       ENTRY
00627  M01S00474.panel   +++|C               I,J=POS OF CORNER
00628  M01S00475.panel   +++|C
00629  M01S00476.panel   +++|        SUBROUTINE CORSTAK(I,J)
00630  M01S00477.panel   +++|*CALL   COMFPAN
00631  M01S00478.panel   +++|        INTEGER I,J
00632  M01S00479.panel   +++|        INTEGER CT
00633  M01S00480.panel   +++|C
00634  M01S00481.panel   +++|C       MAKE SURE NOT ALREADY STACKED
00635  M01S00482.panel   +++|C
00636  M01S00483.panel   +++|        IF (IMAG(I,J).EQ.128) RETURN
00637  M01S00484.panel   +++|        IMAG(I,J) = 128
00638  M01S00485.panel   +++|C
00639  M01S00486.panel   +++|C       MAKE SURE CAN STACK
00640  M01S00487.panel   +++|C
00641  M01S00488.panel   +++|        IF (CORS.EQ.MCOR) THEN
00642  M01S00489.panel   +++|          CALL ERROR('Box too big')
00643  M01S00490.panel   +++|          RETURN
00644  M01S00491.panel   +++|        ENDIF
00645  M01S00492.panel   +++|C
00646  M01S00493.panel   +++|C       FIGURE OUT WHAT KIND OF CORNER
00647  M01S00494.panel   +++|C
00648  M01S00495.panel   +++|        CT = 0
00649  M01S00496.panel   +++|C
00650  M01S00497.panel   +++|C       LEFT
00651  M01S00498.panel   +++|C
00652  M01S00499.panel   +++|        IF (I.GT.1) THEN
Line S00500 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00653  M02S00500.ns2150  ---|          IF (ISLC(IMAG(I-1,J))) THEN
00654  M01S00048.ns2150  +++|          IF (ISLCH(IMAG(I-1,J))) THEN
00655  M01S00501.panel   +++|            CT = 1
00656  M01S00502.panel   +++|          ENDIF
00657  M01S00503.panel   +++|        ENDIF
00658  M01S00504.panel   +++|C
00659  M01S00505.panel   +++|C       RIGHT
00660  M01S00506.panel   +++|C
Line S00507 Modification History
M01 (Added by) panel
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00661  M02S00507.v23l617 ---|        IF (I.LT.132) THEN
00662  M01S00007.v23l617 +++|        IF (I.LT.MCOL) THEN
Line S00508 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00663  M02S00508.ns2150  ---|          IF (ISLC(IMAG(I+1,J))) THEN
00664  M01S00049.ns2150  +++|          IF (ISLCH(IMAG(I+1,J))) THEN
00665  M01S00509.panel   +++|            CT = CT + 2
00666  M01S00510.panel   +++|          ENDIF
00667  M01S00511.panel   +++|        ENDIF
00668  M01S00512.panel   +++|C
00669  M01S00513.panel   +++|C       UP
00670  M01S00514.panel   +++|C
00671  M01S00515.panel   +++|        IF (J.GT.1) THEN
Line S00516 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00672  M02S00516.ns2150  ---|          IF (ISLC(IMAG(I,J-1))) THEN
00673  M01S00050.ns2150  +++|          IF (ISLCV(IMAG(I,J-1))) THEN
00674  M01S00517.panel   +++|            CT = CT + 4
00675  M01S00518.panel   +++|          ENDIF
00676  M01S00519.panel   +++|        ENDIF
00677  M01S00520.panel   +++|C
00678  M01S00521.panel   +++|C       DOWN
00679  M01S00522.panel   +++|C
00680  M01S00523.panel   +++|        IF (J.LT.NROW) THEN
Line S00524 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00681  M02S00524.ns2150  ---|          IF (ISLC(IMAG(I,J+1))) THEN
00682  M01S00051.ns2150  +++|          IF (ISLCV(IMAG(I,J+1))) THEN
00683  M01S00525.panel   +++|            CT = CT + 8
00684  M01S00526.panel   +++|          ENDIF
00685  M01S00527.panel   +++|        ENDIF
00686  M01S00528.panel   +++|C
00687  M01S00529.panel   +++|C       NOW STACK IT
00688  M01S00530.panel   +++|C
00689  M01S00531.panel   +++|        CORS = CORS + 1
00690  M01S00532.panel   +++|        CORI(CORS) = I
00691  M01S00533.panel   +++|        CORJ(CORS) = J
00692  M01S00534.panel   +++|        CORT(CORS) = CORO(CT+1)
00693  M01S00535.panel   +++|        END
00694  M01S00536.panel   +++|C-------------------------------------------------------------------
00695  M01S00537.panel   +++|C*      DOBOX - SCAN BOX FROM IMAGE
00696  M01S00538.panel   +++|C
00697  M01S00539.panel   +++|C       ENTRY
00698  M01S00540.panel   +++|C               STARTI,J=POSITION OF BOX CORNER
00699  M01S00541.panel   +++|C               A=INDEX OF BOX
00700  M01S00542.panel   +++|C
00701  M01S00543.panel   +++|C       THE STRATEGY IS TO SCAN THE ENTIRE "BOX", INCLUDING ANY
00702  M01S00544.panel   +++|C       CONNECTED LINES, AND REPLACE IT WITH BLANKS.  NOTE THIS IS
00703  M01S00545.panel   +++|C       A LEGAL BOX (/ REPRESENTS VERTICAL BAR):
00704  M01S00546.panel   +++|C
00705  M01S00547.panel   +++|C                       +-----+       ++
00706  M01S00548.panel   +++|C                   /   /     +-+     //
00707  M01S00549.panel   +++|C                   +---+-----+ +--+--++
00708  M01S00550.panel   +++|C                       /     /    +---+--
00709  M01S00551.panel   +++|C                    ---+-++--+----+
00710  M01S00552.panel   +++|C                         ++  /
00711  M01S00553.panel   +++|C
00712  M01S00554.panel   +++|        SUBROUTINE DOBOX(STARTI,STARTJ,A)
00713  M01S00555.panel   +++|*CALL   COMFPAN
00714  M01S00556.panel   +++|        INTEGER STARTI, STARTJ, A
00715  M01S00557.panel   +++|        INTEGER I,J,T,IE,JE
00716  M01S00558.panel   +++|        INTEGER FIRSTI
00717  M01S00559.panel   +++|        FIRSTI = IBOX + 1
00718  M01S00560.panel   +++|C
00719  M01S00561.panel   +++|C       BOX ATTRIBUTE ORDINAL TO GLOBAL *NBOX*
00720  M01S00562.panel   +++|C
00721  M01S00563.panel   +++|        NBOX = BOXW(A)
00722  M01S00564.panel   +++|C
00723  M01S00565.panel   +++|C       STACK FIRST CORNER
00724  M01S00566.panel   +++|C
00725  M01S00567.panel   +++|        CORS = 0
00726  M01S00568.panel   +++|        I = STARTI
00727  M01S00569.panel   +++|        J = STARTJ
00728  M01S00570.panel   +++|        CALL CORSTAK(I,J)
00729  M01S00571.panel   +++|        IF (FATAL) RETURN
00730  M01S00572.panel   +++|C
00731  M01S00573.panel   +++|C       UNSTACK CORNER AND SCAN IT
00732  M01S00574.panel   +++|C
00733  M01S00575.panel   +++|100     CONTINUE
00734  M01S00576.panel   +++|        IF (CORS.EQ.0) THEN
00735  M01S00577.panel   +++|          CALL ERASBOX(FIRSTI)
00736  M01S00578.panel   +++|          RETURN
00737  M01S00579.panel   +++|        ENDIF
00738  M01S00580.panel   +++|        I = CORI(CORS)
00739  M01S00581.panel   +++|        J = CORJ(CORS)
00740  M01S00582.panel   +++|        T = CORT(CORS)
00741  M01S00583.panel   +++|        CORS = CORS - 1
00742  M01S00584.panel   +++|C
00743  M01S00585.panel   +++|C       GEN CORNER
00744  M01S00586.panel   +++|C
00745  M01S00587.panel   +++|        CALL CORGEN(I,J,T)
00746  M01S00588.panel   +++|C
00747  M01S00589.panel   +++|C       MOVE LEFT
00748  M01S00590.panel   +++|C
Line S00591 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00749  M02S00591.ns2150  ---|        CALL CORMOV(I,J,-1,0)
00750  M01S00052.ns2150  +++|        CALL CORMOVH(I,J,-1)
00751  M01S00592.panel   +++|C
00752  M01S00593.panel   +++|C       MOVE RIGHT
00753  M01S00594.panel   +++|C
Line S00595 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00754  M02S00595.ns2150  ---|        CALL CORMOV(I,J,1,0)
00755  M01S00053.ns2150  +++|        CALL CORMOVH(I,J,1)
00756  M01S00596.panel   +++|C
00757  M01S00597.panel   +++|C       MOVE UP
00758  M01S00598.panel   +++|C
Line S00599 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00759  M02S00599.ns2150  ---|        CALL CORMOV(I,J,0,-1)
00760  M01S00054.ns2150  +++|        CALL CORMOVV(I,J,-1)
00761  M01S00600.panel   +++|C
00762  M01S00601.panel   +++|C       MOVE DOWN
00763  M01S00602.panel   +++|C
Line S00603 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00764  M02S00603.ns2150  ---|        CALL CORMOV(I,J,0,1)
00765  M01S00055.ns2150  +++|        CALL CORMOVV(I,J,1)
00766  M01S00604.panel   +++|        GOTO 100
00767  M01S00605.panel   +++|        END
00768  M01S00606.panel   +++|C-------------------------------------------------------------------
00769  M01S00607.panel   +++|C*      EOP - END OF PANEL
00770  M01S00608.panel   +++|C
00771  M01S00609.panel   +++|      SUBROUTINE EOP
00772  M01S00610.panel   +++|*CALL   COMFPAN
00773  M01S00611.panel   +++|      WRITE(3,100) PNAME
00774  M01S00612.panel   +++|100   FORMAT('.LAST    BSS   0'/
00775  M01S00613.panel   +++|     A       '         END   ',A)
00776  M01S00614.panel   +++|      END
00777  M01S00615.panel   +++|C-------------------------------------------------------------------
00778  M01S00616.panel   +++|C*      ERASBOX - ERASE BOX
00779  M01S00617.panel   +++|C
00780  M01S00618.panel   +++|C       FI - FIRST IBOX IN BOX
00781  M01S00619.panel   +++|C
00782  M01S00620.panel   +++|        SUBROUTINE ERASBOX(FI)
00783  M01S00621.panel   +++|*CALL   COMFPAN
00784  M01S00622.panel   +++|        INTEGER FI
00785  M01S00623.panel   +++|        DO 100 I = FI, IBOX
00786  M01S00624.panel   +++|          IMAG(BOXX(I)+1,BOXY(I)+1) = ZSP
00787  M01S00625.panel   +++|100     CONTINUE
00788  M01S00626.panel   +++|        END
00789  M01S00627.panel   +++|C-------------------------------------------------------------------
00790  M01S00628.panel   +++|C*      ERR - ERROR
00791  M01S00629.panel   +++|C
00792  M01S00630.panel   +++|      SUBROUTINE ERR(S)
00793  M01S00631.panel   +++|*CALL COMFPAN
00794  M01S00632.panel   +++|      CHARACTER*(*) S
00795  M01S00633.panel   +++|      WRITE(2,'(2A)') ' PANEL INTERNAL ERROR: ',S
00796  M01S00634.panel   +++|      END
00797  M01S00635.panel   +++|C-------------------------------------------------------------------
00798  M01S00636.panel   +++|C*      ERROR - SYNTAX ERROR MESSAGE
00799  M01S00637.panel   +++|C
00800  M01S00638.panel   +++|        SUBROUTINE ERROR(S)
00801  M01S00639.panel   +++|*CALL   COMFPAN
00802  M01S00640.panel   +++|        CHARACTER*(*) S
00803  M01S00641.panel   +++|        IF (INDEF) THEN
00804  M01S00642.panel   +++|          IF (SI.EQ.1) THEN
00805  M01S00643.panel   +++|            WRITE(2,'('' '',A)') '!'
00806  M01S00644.panel   +++|          ELSE
00807  M01S00645.panel   +++|            WRITE(2,'('' '', 2A)') BLANK(1:SI-1), '!'
00808  M01S00646.panel   +++|          ENDIF
00809  M01S00647.panel   +++|        ENDIF
00810  M01S00648.panel   +++|        WRITE(2,1) S
00811  M01S00649.panel   +++|1       FORMAT(' *ERROR*  ',A)
00812  M01S00650.panel   +++|        FATAL = .TRUE.
00813  M01S00651.panel   +++|        END
00814  M01S00652.panel   +++|C-------------------------------------------------------------------
00815  M01S00653.panel   +++|C*      ERRORN - MORE THAN N OF S
00816  M01S00654.panel   +++|C
00817  M01S00655.panel   +++|C       ENTRY   N=NUMBER
00818  M01S00656.panel   +++|C               S=STRING
00819  M01S00657.panel   +++|C
00820  M01S00658.panel   +++|        SUBROUTINE ERRORN(N,S)
00821  M01S00659.panel   +++|*CALL   COMFPAN
00822  M01S00660.panel   +++|        INTEGER N
00823  M01S00661.panel   +++|        CHARACTER*(*) S
00824  M01S00662.panel   +++|        CHARACTER*80 M
00825  M01S00663.panel   +++|        IF (N.LT.10) THEN
00826  M01S00664.panel   +++|          WRITE(M,'(A,I1,2A)') ' More than ', N, ' ', S
00827  M01S00665.panel   +++|        ELSE IF (N.LT.100) THEN
00828  M01S00666.panel   +++|          WRITE(M,'(A,I2,2A)') ' More than ', N, ' ', S
00829  M01S00667.panel   +++|        ELSE
00830  M01S00668.panel   +++|          WRITE(M,'(A,I3,2A)') ' More than ', N, ' ', S
00831  M01S00669.panel   +++|        ENDIF
00832  M01S00670.panel   +++|        CALL ERROR (M)
00833  M01S00671.panel   +++|        END
00834  M01S00672.panel   +++|C-------------------------------------------------------------------
00835  M01S00673.panel   +++|C*      EXPECT - EXPECT S1 AFTER S2 ERROR
00836  M01S00674.panel   +++|C
00837  M01S00675.panel   +++|      SUBROUTINE EXPECT(S1,S2)
00838  M01S00676.panel   +++|*CALL   COMFPAN
00839  M01S00677.panel   +++|      CHARACTER*(*) S1, S2
00840  M01S00678.panel   +++|      CHARACTER*80 S
00841  M01S00679.panel   +++|      S = ' '
00842  M01S00680.panel   +++|      IF (S2(1:1).EQ.' ') THEN
00843  M01S00681.panel   +++|        S = 'Expecting '//S1
00844  M01S00682.panel   +++|      ELSE
00845  M01S00683.panel   +++|        S = 'Expecting '//S1//' after '//S2
00846  M01S00684.panel   +++|      ENDIF
00847  M01S00685.panel   +++|      CALL ERROR(S)
00848  M01S00686.panel   +++|      END
00849  M01S00687.panel   +++|C-------------------------------------------------------------------
00850  M01S00688.panel   +++|C*      GAL - GENERATE ARRAY LIST
00851  M01S00689.panel   +++|C
00852  M01S00690.panel   +++|        SUBROUTINE GAL
00853  M01S00691.panel   +++|*CALL   COMFPAN
00854  M01S00692.panel   +++|        CALL BLOCK('TABLE LIST')
00855  M01S00693.panel   +++|        CALL LABEL('TABL')
00856  M01S00694.panel   +++|        DO 1000 I = 1,NTAB
00857  M01S00695.panel   +++|          CALL VFD('42/0H'//TABNM(I))
00858  M01S00696.panel   +++|          CALL VFD('18/0')
00859  M01S00697.panel   +++|          CALL VFD('36/0')
00860  M01S00698.panel   +++|          CALL VFDN('8/',TABD(I))
00861  M01S00699.panel   +++|          CALL VFDN('8/',TABR(I))
00862  M01S00700.panel   +++|          CALL VFDN('8/',TABF(I))
00863  M01S00701.panel   +++|1000    CONTINUE
00864  M01S00702.panel   +++|        IF (NTAB.GT.0) CALL VFD('60/0')
00865  M01S00703.panel   +++|        END
00866  M01S00704.panel   +++|C-------------------------------------------------------------------
00867  M01S00705.panel   +++|C*      GAT - GENERATE ATTRIBUTE TABLE
00868  M01S00706.panel   +++|C
00869  M01S00707.panel   +++|        SUBROUTINE GAT
00870  M01S00708.panel   +++|*CALL   COMFPAN
00871  M01S00709.panel   +++|        CALL BLOCK('ATTRIBUTE TABLE')
00872  M01S00710.panel   +++|        CALL LABEL('ATTR')
00873  M01S00711.panel   +++|C
00874  M01S00712.panel   +++|        DO 1000 I = 1,NATR
00875  M01S00713.panel   +++|          CALL LABELN('ATR',I-1)
00876  M01S00714.panel   +++|C                                               LOGICAL/PHYSICAL
00877  M01S00715.panel   +++|          CALL VFD('1/'//ATRLP(I))
00878  M01S00716.panel   +++|C                                               PROTECT, GUARD
00879  M01S00717.panel   +++|          CALL VFDN('2/',ATIO(I))
00880  M01S00718.panel   +++|C                                               PHYSICAL ATTRIBUTES
00881  M01S00719.panel   +++|          IF (ATRLP(I).EQ.'0') THEN
00882  M01S00720.panel   +++|C                                               RESERVED
00883  M01S00721.panel   +++|            CALL VFD('5/0')
00884  M01S00722.panel   +++|C                                                 UNDERLINE
00885  M01S00723.panel   +++|            CALL VFD('1/'//ATRUL(I))
00886  M01S00724.panel   +++|C                                                 ALT. INTENSITY
00887  M01S00725.panel   +++|            CALL VFD('1/'//ATRAI(I))
00888  M01S00726.panel   +++|C                                                 INVERSE VIDEO
00889  M01S00727.panel   +++|            CALL VFD('1/'//ATRIV(I))
00890  M01S00728.panel   +++|C                                                 BLINK
00891  M01S00729.panel   +++|            CALL VFD('1/'//ATRBL(I))
Line S00730 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00892  M02S00730.243l647 ---|C                                               LOGICAL ATTRIBUTE
Line S00731 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00893  M02S00731.243l647 ---|          ELSE
Line S00732 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00894  M02S00732.243l647 ---|            CALL VFD('6/0')
Line S00733 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00895  M02S00733.243l647 ---|            CALL VFDN('3/',ATTP(I))
Line S00734 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00896  M02S00734.243l647 ---|          ENDIF
Line S00735 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00897  M02S00735.243l647 ---|C                                               FOREGROUND COLOR
Line S00736 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00898  M02S00736.243l647 ---|          CALL VFDN('3/',ATFC(I))
Line S00737 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00899  M02S00737.243l647 ---|C                                               BACKGROUND COLOR
Line S00738 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00900  M02S00738.243l647 ---|          CALL VFD('3/0')
Line S00739 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00901  M02S00739.243l647 ---|C                                               RESERVED
Line S00740 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00902  M02S00740.243l647 ---|          CALL VFD('9/0')
00903  M01S00060.243l647 +++|C                                               LOGICAL ATTRIBUTE
00904  M01S00061.243l647 +++|          ELSE
00905  M01S00062.243l647 +++|C                                               RESERVED
00906  M01S00063.243l647 +++|            CALL VFD('3/0')
00907  M01S00064.243l647 +++|C                                                 LOGICAL ORDINAL
00908  M01S00065.243l647 +++|            CALL VFDN('6/',ATTP(I))
00909  M01S00066.243l647 +++|C                                               END OF ATTRIBUTES
00910  M01S00067.243l647 +++|          ENDIF
00911  M01S00068.243l647 +++|C                                               RESERVED
00912  M01S00069.243l647 +++|          CALL VFD('15/0')
00913  M01S00741.panel   +++|C                                               ATTRIBUTE CHAR START
00914  M01S00742.panel   +++|          CALL VFDN('12/',ATCS(I))
00915  M01S00743.panel   +++|C                                               ATTRIBUTE CHAR END
00916  M01S00744.panel   +++|          CALL VFDN('12/',ATCE(I))
00917  M01S00745.panel   +++|C                                               SPECIAL CHARACTER
00918  M01S00746.panel   +++|          CALL VFDN('2/',ATSC(I))
00919  M01S00747.panel   +++|C                                               BRACKET ID
00920  M01S00748.panel   +++|          CALL VFDN('5/',ATBI(I))
00921  M01S00749.panel   +++|C                                               LINE WEIGHT
00922  M01S00750.panel   +++|          CALL VFDN('2/',ATLW(I))
00923  M01S00751.panel   +++|          CALL COMMENT('*')
00924  M01S00752.panel   +++|1000    CONTINUE
00925  M01S00753.panel   +++|        END
00926  M01S00754.panel   +++|C-------------------------------------------------------------------
00927  M01S00755.panel   +++|C*      GBL - GENERATE BOX LIST
00928  M01S00756.panel   +++|C
00929  M01S00757.panel   +++|        SUBROUTINE GBL
00930  M01S00758.panel   +++|*CALL   COMFPAN
00931  M01S00759.panel   +++|        INTEGER I
00932  M01S00760.panel   +++|        CALL BLOCK('BOX LIST')
00933  M01S00761.panel   +++|        CALL LABEL('BOXS')
00934  M01S00762.panel   +++|        DO 2000 I = 1, IBOX
Line S00763 Modification History
M01 (Added by) panel
M02 (Updated by) panel1
Seq #  *Modification Id* Act 
----------------------------+
00935  M02S00763.panel1  ---|          CALL VFDN('12/',BOXA(I)-1))
00936  M01S00001.panel1  +++|          CALL VFDN('12/',BOXA(I)-1)
00937  M01S00764.panel   +++|          CALL VFDN('4/',BOXC(I))
00938  M01S00765.panel   +++|          CALL VFDN('6/',BOXY(I))
00939  M01S00766.panel   +++|          CALL VFDN('9/',BOXX(I))
00940  M01S00767.panel   +++|          CALL VFDN('9/',BOXN(I))
00941  M01S00768.panel   +++|          CALL VFD('20/0')
00942  M01S00769.panel   +++|          CALL COMMENT('*')
00943  M01S00770.panel   +++|2000    CONTINUE
Line S00771 Modification History
M01 (Added by) panel
M02 (Updated by) panel4
Seq #  *Modification Id* Act 
----------------------------+
00944  M02S00771.panel4  ---|        IF (IBOX.GT.0) CALL VFD('60/0')
00945  M01S00001.panel4  +++|C                                               TERMINATE BOX LIST
00946  M01S00002.panel4  +++|        CALL VFD('60/0')
00947  M01S00772.panel   +++|        END
00948  M01S00773.panel   +++|C-------------------------------------------------------------------
00949  M01S00774.panel   +++|C*      GCD - GENERATE CONSTANT DATA
00950  M01S00775.panel   +++|C
00951  M01S00776.panel   +++|        SUBROUTINE GCD
00952  M01S00777.panel   +++|*CALL   COMFPAN
00953  M01S00778.panel   +++|        CALL BLOCK('CONSTANTS')
00954  M01S00779.panel   +++|        CALL LABEL('CONS')
00955  M01S00780.panel   +++|        DO 100 I = 1, NCON
00956  M01S00781.panel   +++|          CALL LABELN('CON',I)
00957  M01S00782.panel   +++|          CALL VFD('12/7')
Line S00783 Modification History
M01 (Added by) panel
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00958  M02S00783.v23l617 ---|          CALL GST(IMAG,CONI(I)+133*FIEY(CONF(I)),
00959  M01S00008.v23l617 +++|          CALL GST(IMAG,CONI(I)+(MCOL+1)*FIEY(CONF(I)),
00960  M01S00784.panel   +++|     A             FIEL(CONF(I)),(FIEL(CONF(I))+6)/5*5-1,
00961  M01S00785.panel   +++|     B             0,O"4000")
00962  M01S00786.panel   +++|100     CONTINUE
00963  M01S00787.panel   +++|        END
00964  M01S00788.panel   +++|C-------------------------------------------------------------------
00965  M01S00789.panel   +++|C*      GFL - GENERATE FIELD LIST
00966  M01S00790.panel   +++|C
00967  M01S00791.panel   +++|        SUBROUTINE GFL
00968  M01S00792.panel   +++|*CALL   COMFPAN
00969  M01S00793.panel   +++|        CALL BLOCK('FIELDS')
00970  M01S00794.panel   +++|        CALL LABEL('FIEL')
00971  M01S00795.panel   +++|        DO 100 I = 1, NFIE
00972  M01S00796.panel   +++|C                                       FIELD TYPE (1=VAR, 0=CONST)
00973  M01S00797.panel   +++|          CALL VFDN('1/',FIET(I))
00974  M01S00798.panel   +++|C                                       ATTRIBUTE ORDINAL
00975  M01S00799.panel   +++|          CALL VFDN('7/',FIEA(I))
00976  M01S00800.panel   +++|C                                       I/0 (0=NA, 1=OUT, 2=IN, 3=IN/OUT
00977  M01S00801.panel   +++|C                                         CONSTANT ALWAYS 1
00978  M01S00802.panel   +++|          IF (FIET(I).EQ.0) THEN
00979  M01S00803.panel   +++|            CALL VFD('2/1')
00980  M01S00804.panel   +++|          ELSE
00981  M01S00805.panel   +++|            CALL VFDN('2/',3-VAIO(FIEV(I)))
00982  M01S00806.panel   +++|          ENDIF
00983  M01S00807.panel   +++|C                                       VALUE ENTERED, VALID
00984  M01S00808.panel   +++|          CALL VFD('2/0')
00985  M01S00809.panel   +++|C                                       REWRITE
00986  M01S00810.panel   +++|          CALL VFD('1/1')
00987  M01S00811.panel   +++|C                                       ACTIVE
00988  M01S00812.panel   +++|          CALL VFD('1/1')
00989  M01S00813.panel   +++|C                                       RESERVED
00990  M01S00814.panel   +++|          CALL VFD('1/0')
00991  M01S00815.panel   +++|C                                       CONSTANT
00992  M01S00816.panel   +++|          IF (FIET(I).EQ.0) THEN
00993  M01S00817.panel   +++|C                                         RESERVED
00994  M01S00818.panel   +++|            CALL VFD('3/0')
00995  M01S00819.panel   +++|C                                         CONSTANT OFFSET
00996  M01S00820.panel   +++|            CALL VFDN('18/-START+CON',FIEV(I))
00997  M01S00821.panel   +++|C                                       VARIABLE
00998  M01S00822.panel   +++|          ELSE
00999  M01S00823.panel   +++|C                                         VARIABLE ORDINAL
01000  M01S00824.panel   +++|            CALL VFDN('8/',FIEV(I)-1)
01001  M01S00825.panel   +++|C                                         VAR DATA ORDINAL
01002  M01S00826.panel   +++|            CALL VFDN('13/',FIEO(I))
01003  M01S00827.panel   +++|          ENDIF
01004  M01S00828.panel   +++|C                                       LENGTH
01005  M01S00829.panel   +++|          CALL VFDN('9/',FIEL(I))
01006  M01S00830.panel   +++|C                                       LINE
01007  M01S00831.panel   +++|          CALL VFDN('6/',FIEY(I))
01008  M01S00832.panel   +++|C                                       COLUMN
01009  M01S00833.panel   +++|          CALL VFDN('9/',FIEX(I))
01010  M01S00834.panel   +++|          CALL COMMENT(' ')
01011  M01S00835.panel   +++|100     CONTINUE
01012  M01S00836.panel   +++|        IF (NFIE.GT.0) CALL VFD('60/0')
01013  M01S00837.panel   +++|        END
01014  M01S00838.panel   +++|C-------------------------------------------------------------------
01015  M01S00839.panel   +++|C*      GFT - GENERATE FUNCTION TABLE
01016  M01S00840.panel   +++|C
01017  M01S00841.panel   +++|        SUBROUTINE GFT
01018  M01S00842.panel   +++|*CALL   COMFPAN
01019  M01S00843.panel   +++|        CALL BLOCK('FUNCTIONS')
01020  M01S00844.panel   +++|        CALL LABEL('FUNC')
01021  M01S00845.panel   +++|        DO 1000 I = 1, NFUN
01022  M01S00846.panel   +++|          CALL VFD('44/0')
01023  M01S00847.panel   +++|          CALL VFDN('9/',FUNA(I))
01024  M01S00848.panel   +++|          CALL VFDN('1/',FUNG(I))
01025  M01S00849.panel   +++|          CALL VFDN('6/',FUNK(I))
01026  M01S00850.panel   +++|          CALL COMMENT('*')
01027  M01S00851.panel   +++|1000    CONTINUE
01028  M01S00852.panel   +++|        IF (NFUN.GT.0) CALL VFD('60/0')
01029  M01S00853.panel   +++|        END
01030  M01S00854.panel   +++|C-------------------------------------------------------------------
01031  M01S00855.panel   +++|C*      GPE - GENERATE PANEL END
01032  M01S00856.panel   +++|C
01033  M01S00857.panel   +++|        SUBROUTINE GPE
01034  M01S00858.panel   +++|*CALL   COMFPAN
01035  M01S00859.panel   +++|        CALL BLOCK('END OF PANEL')
01036  M01S00860.panel   +++|        CALL LABEL('LAST')
01037  M01S00861.panel   +++|        WRITE(3,100) PNAME
01038  M01S00862.panel   +++|100     FORMAT(T10,'END',T16,A)
01039  M01S00863.panel   +++|        END
01040  M01S00864.panel   +++|C-------------------------------------------------------------------
01041  M01S00865.panel   +++|C*      GPH - GENERATE PANEL HEADER
01042  M01S00866.panel   +++|C
01043  M01S00867.panel   +++|        SUBROUTINE GPH
01044  M01S00868.panel   +++|*CALL   COMFPAN
01045  M01S00869.panel   +++|C
01046  M01S00870.panel   +++|        WRITE(3,100) PNAME, PNAME(1:CLEN(PNAME)), PNAME, PNAME
01047  M01S00871.panel   +++|100     FORMAT(T10,'IDENT',T16,A/
01048  M01S00872.panel   +++|     A         T10,'LCC',T16,'GROUP(SFPANEL)'/
01049  M01S00873.panel   +++|     B         T10,'LCC',T16,'CAPSULE(',A,')'/
01050  M01S00874.panel   +++|     C         T10,'ENTRY',T16,A/
01051  M01S00875.panel   +++|     D         A,T10,'BSS',T16,'0')
01052  M01S00876.panel   +++|        CALL BLOCK('PANEL HEADER')
01053  M01S00877.panel   +++|        CALL LABEL('START')
01054  M01S00878.panel   +++|        CALL VFD('42/0L'//PNAME)
01055  M01S00879.panel   +++|        CALL VFD('14/0')
01056  M01S00880.panel   +++|        CALL VFDB(WRIB)
01057  M01S00881.panel   +++|        CALL VFDB(ERAR)
01058  M01S00882.panel   +++|        CALL VFDB(ERBW)
01059  M01S00883.panel   +++|        CALL VFDB(BLKA)
01060  M01S00884.panel   +++|C
01061  M01S00885.panel   +++|        CALL COMMENT(' ')
01062  M01S00886.panel   +++|        CALL VFDN('6/',NROW-1)
01063  M01S00887.panel   +++|        CALL VFD('18/LAST-START')
01064  M01S00888.panel   +++|        CALL VFDIF('18/',NFUN,'FUNC-START')
01065  M01S00889.panel   +++|        CALL VFDIF('18/',NVAR,'VARS-START')
01066  M01S00890.panel   +++|C
01067  M01S00891.panel   +++|        CALL COMMENT(' ')
01068  M01S00892.panel   +++|        CALL VFDN('6/',VERS)
01069  M01S00893.panel   +++|        CALL VFD('18/ATTR-START')
01070  M01S00894.panel   +++|        CALL VFDIF('18/',NTAB,'TABL-START')
01071  M01S00895.panel   +++|        CALL VFDIF('18/',NFIE,'FIEL-START')
01072  M01S00896.panel   +++|C
01073  M01S00897.panel   +++|        CALL COMMENT(' ')
01074  M01S00898.panel   +++|        CALL VFD('6/0')
01075  M01S00899.panel   +++|        CALL VFDIF('18/',NBOX,'BOXS-START')
01076  M01S00900.panel   +++|        CALL VFD('12/0')
01077  M01S00901.panel   +++|        CALL VFDN('9/',MSGL)
01078  M01S00902.panel   +++|        CALL VFDN('6/',MSGY)
01079  M01S00903.panel   +++|        CALL VFDN('9/',MSGX)
01080  M01S00904.panel   +++|C
01081  M01S00905.panel   +++|        CALL COMMENT(' ')
01082  M01S00906.panel   +++|        N = 0
01083  M01S00907.panel   +++|        DO 200 I = 1, NFIE
01084  M01S00908.panel   +++|          IF (FIET(I).EQ.1) THEN
01085  M01S00909.panel   +++|            N = N + FIEL(I)
01086  M01S00910.panel   +++|          ENDIF
01087  M01S00911.panel   +++|200     CONTINUE
01088  M01S00912.panel   +++|        CALL VFDN('13/',N)
01089  M01S00009.v23l617 +++|        NCOL = MAX(NCOL,MSGL)
01090  M01S00913.panel   +++|        CALL VFDN('9/',NCOL)
01091  M01S00914.panel   +++|        CALL VFD('38/0')
01092  M01S00915.panel   +++|        END
01093  M01S00916.panel   +++|C-------------------------------------------------------------------
01094  M01S00917.panel   +++|C*      GPR - GENERATE PANEL RECORD
01095  M01S00918.panel   +++|C
01096  M01S00919.panel   +++|        SUBROUTINE GPR
01097  M01S00920.panel   +++|*CALL   COMFPAN
01098  M01S00921.panel   +++|C                               PANEL HEADER
01099  M01S00922.panel   +++|        CALL GPH
01100  M01S00923.panel   +++|C                               VAR DATA
01101  M01S00924.panel   +++|        CALL GVD
01102  M01S00925.panel   +++|C                               FIELD LIST
01103  M01S00926.panel   +++|        CALL GFL
01104  M01S00927.panel   +++|C                               CONSTANTS
01105  M01S00928.panel   +++|        CALL GCD
01106  M01S00929.panel   +++|C                               VARIABLES
01107  M01S00930.panel   +++|        CALL GVF
01108  M01S00931.panel   +++|C                                 HELP
01109  M01S00932.panel   +++|        CALL GVH
01110  M01S00933.panel   +++|C                                 VALIDATION
01111  M01S00934.panel   +++|        CALL GVV
01112  M01S00935.panel   +++|C                               FUNCTION KEYS
01113  M01S00936.panel   +++|        CALL GFT
01114  M01S00937.panel   +++|C                               ATTRIBUTES
01115  M01S00938.panel   +++|        CALL GAT
01116  M01S00939.panel   +++|C                               TABLES
01117  M01S00940.panel   +++|        CALL GAL
01118  M01S00941.panel   +++|C                               BOXES
01119  M01S00942.panel   +++|        CALL GBL
01120  M01S00943.panel   +++|C                               END
01121  M01S00944.panel   +++|        CALL GPE
01122  M01S00945.panel   +++|        END
01123  M01S00946.panel   +++|C-------------------------------------------------------------------
01124  M01S00947.panel   +++|C*      GST - GENERATE STRING FROM ARRAY
01125  M01S00948.panel   +++|C
01126  M01S00949.panel   +++|C       ENTRY   A = ARRAY
01127  M01S00950.panel   +++|C               J = START OF STRING
01128  M01S00951.panel   +++|C               L = ACTUAL LENGTH OF STRING
01129  M01S00952.panel   +++|C               ML= MIN AND MAX LENGTH OF STRING
01130  M01S00953.panel   +++|C               F = FILL CHAR
01131  M01S00954.panel   +++|C               IAF = CONSTANT TO ADD TO DATA (NOT FILL)
01132  M01S00955.panel   +++|C
01133  M01S00956.panel   +++|        SUBROUTINE GST(A,J,L,ML,F,IAF)
01134  M01S00957.panel   +++|*CALL   COMFPAN
01135  M01S00958.panel   +++|        INTEGER A(1), J, L, ML, F, IAF
01136  M01S00959.panel   +++|        LEN = MIN(L,ML)
01137  M01S00960.panel   +++|        DO 100 I = 0, LEN-1
01138  M01S00961.panel   +++|          CALL VFDN('12/',A(J+I)+IAF)
01139  M01S00962.panel   +++|100     CONTINUE
01140  M01S00963.panel   +++|        DO 200 I = LEN+1, ML
01141  M01S00964.panel   +++|          CALL VFDN('12/',F)
01142  M01S00965.panel   +++|200     CONTINUE
01143  M01S00966.panel   +++|        END
01144  M01S00967.panel   +++|C-------------------------------------------------------------------
01145  M01S00968.panel   +++|C*      GVD - GENERATE VAR DATA
01146  M01S00969.panel   +++|C
01147  M01S00970.panel   +++|        SUBROUTINE GVD
01148  M01S00971.panel   +++|*CALL   COMFPAN
01149  M01S00972.panel   +++|        INTEGER N
01150  M01S00973.panel   +++|        INTEGER NULL(1)
01151  M01S00974.panel   +++|        DATA NULL/Z"20"/
01152  M01S00975.panel   +++|        CALL BLOCK('VAR DATA')
01153  M01S00976.panel   +++|        CALL LABEL('DATA')
01154  M01S00977.panel   +++|        DO 100 I = 1, NFIE
01155  M01S00978.panel   +++|          IF (FIET(I).EQ.1) THEN
01156  M01S00979.panel   +++|C                                               INITIAL VALUE
01157  M01S00980.panel   +++|            IF (VARD(FIEV(I)).NE.0) THEN
01158  M01S00981.panel   +++|C                                                 CHAR LEFT JUSTIFIED
01159  M01S00982.panel   +++|              IF (VART(FIEV(I)).EQ.VTC) THEN
01160  M01S00983.panel   +++|                CALL GST(VVAL,VARD(FIEV(I))+1,
01161  M01S00984.panel   +++|     A                   VVAL(VARD(FIEV(I))),FIEL(I),ZSP,0)
01162  M01S00985.panel   +++|              ELSE
01163  M01S00986.panel   +++|C                                                 NUMBERS RIGHT JUSTIFIE
01164  M01S00987.panel   +++|                N = VVAL(VARD(FIEV(I))) - FIEL(I)
01165  M01S00988.panel   +++|                IF (N.GE.0) THEN
01166  M01S00989.panel   +++|                  CALL GST(VVAL,VARD(FIEV(I))+1+N,
01167  M01S00990.panel   +++|     A                     FIEL(I),FIEL(I),ZSP,0)
01168  M01S00991.panel   +++|                ELSE
01169  M01S00992.panel   +++|                  CALL GST(NULL,1,1,-N,ZSP,0)
01170  M01S00993.panel   +++|                  CALL GST(VVAL,VARD(FIEV(I))+1,
01171  M01S00994.panel   +++|     A                     VVAL(VARD(FIEV(I))),FIEL(I)+N,ZSP,0)
01172  M01S00995.panel   +++|                ENDIF
01173  M01S00996.panel   +++|              ENDIF
01174  M01S00997.panel   +++|            ELSE
01175  M01S00998.panel   +++|              CALL GST(NULL,1,1,FIEL(I),ZSP,0)
01176  M01S00999.panel   +++|            ENDIF
01177  M01S01000.panel   +++|          ENDIF
01178  M01S01001.panel   +++|100     CONTINUE
01179  M01S01002.panel   +++|        END
01180  M01S01003.panel   +++|C-------------------------------------------------------------------
01181  M01S01004.panel   +++|C*      GVF - GENERATE VARIABLE FIELDS
01182  M01S01005.panel   +++|C
01183  M01S01006.panel   +++|        SUBROUTINE GVF
01184  M01S01007.panel   +++|*CALL   COMFPAN
01185  M01S01008.panel   +++|        CALL BLOCK('VARIABLES')
01186  M01S01009.panel   +++|        CALL LABEL('VARS')
01187  M01S01010.panel   +++|        DO 100 I = 1, NVAR
Line S01011 Modification History
M01 (Added by) panel
M02 (Updated by) ns2469
Seq #  *Modification Id* Act 
----------------------------+
01188  M02S01011.ns2469  ---|C                                       RESERVED
Line S01012 Modification History
M01 (Added by) panel
M02 (Updated by) ns2469
Seq #  *Modification Id* Act 
----------------------------+
01189  M02S01012.ns2469  ---|          CALL VFD('2/0')
01190  M01S00002.ns2469  +++|C                                       MUST CONTAIN (A VALUE)
01191  M01S00003.ns2469  +++|          CALL VFDN('1/',VARC(I))
Line S00004 Modification History
M01 (Added by) ns2469
M02 (Updated by) ns2473
Seq #  *Modification Id* Act 
----------------------------+
01192  M02S00004.ns2473  ---|C                                       RESERVED
Line S00005 Modification History
M01 (Added by) ns2469
M02 (Updated by) ns2473
Seq #  *Modification Id* Act 
----------------------------+
01193  M02S00005.ns2473  ---|          CALL VFD('1/0')
Line S01013 Modification History
M01 (Added by) panel
M02 (Updated by) ns2473
Seq #  *Modification Id* Act 
----------------------------+
01194  M02S01013.ns2473  ---|C                                       FIELD OFFSET
Line S01014 Modification History
M01 (Added by) panel
M02 (Updated by) ns2473
Seq #  *Modification Id* Act 
----------------------------+
01195  M02S01014.ns2473  ---|          CALL VFDN('8/',VARF(I))
01196  M01S00001.ns2473  +++|C                                       FIELD OFFSET
01197  M01S00002.ns2473  +++|          CALL VFDN('9/',VARF(I))
01198  M01S01015.panel   +++|C                                       ROW NUMBER
01199  M01S01016.panel   +++|          CALL VFDN('8/',VARR(I))
01200  M01S01017.panel   +++|C                                       ARRAY ORDINAL
01201  M01S01018.panel   +++|          CALL VFDN('5/',VTAB(I))
01202  M01S01019.panel   +++|C                                       MUST ENTER, FILL, KNOW
01203  M01S01020.panel   +++|          CALL VFDN('3/',VARM(I))
01204  M01S01021.panel   +++|C                                       TYPE
01205  M01S01022.panel   +++|          CALL VFDN('2/',VART(I))
01206  M01S01023.panel   +++|C                                       PICTURE
01207  M01S01024.panel   +++|          CALL VFDN('8/',VARP(I))
01208  M01S01025.panel   +++|C                                       VALIDATION
01209  M01S01026.panel   +++|          CALL VFDN('6/',VAVT(I))
01210  M01S01027.panel   +++|C                                       VALIDATION OFFSET
01211  M01S01028.panel   +++|          IF (VARV(I).NE.0) THEN
01212  M01S01029.panel   +++|            CALL VFDN('18/-START+VAL',I)
01213  M01S01030.panel   +++|          ELSE
01214  M01S01031.panel   +++|            CALL VFD('18/0')
01215  M01S01032.panel   +++|          ENDIF
01216  M01S01033.panel   +++|        CALL COMMENT(' ')
01217  M01S01034.panel   +++|C                                       VAR NAME
01218  M01S01035.panel   +++|        CALL VFD('42/0H'//VARNM(I))
01219  M01S01036.panel   +++|C                                       HELP
01220  M01S01037.panel   +++|        IF (VARH(I).NE.0) THEN
01221  M01S01038.panel   +++|          CALL VFDN('18/-START+HLP',I)
01222  M01S01039.panel   +++|        ELSE
01223  M01S01040.panel   +++|          CALL VFD('18/0')
01224  M01S01041.panel   +++|        ENDIF
01225  M01S01042.panel   +++|        CALL COMMENT('*')
01226  M01S01043.panel   +++|C
01227  M01S01044.panel   +++|100     CONTINUE
01228  M01S01045.panel   +++|        IF (NVAR.GT.0) CALL VFD('60/0')
01229  M01S01046.panel   +++|        END
01230  M01S01047.panel   +++|C-------------------------------------------------------------------
01231  M01S01048.panel   +++|C*      GVH - GENERATE VARIABLE HELP
01232  M01S01049.panel   +++|C
01233  M01S01050.panel   +++|        SUBROUTINE GVH
01234  M01S01051.panel   +++|*CALL   COMFPAN
01235  M01S01052.panel   +++|        CALL BLOCK('HELP')
01236  M01S01053.panel   +++|        DO 300 I = 1, NVAR
01237  M01S01054.panel   +++|          IF (VARH(I).NE.0) THEN
01238  M01S01055.panel   +++|            L = VVAL(VARH(I))
01239  M01S01056.panel   +++|            IF (L.GT.0) THEN
01240  M01S01057.panel   +++|              CALL LABELN('HLP',I)
01241  M01S01058.panel   +++|              CALL VFD('12/7')
01242  M01S01059.panel   +++|              CALL GST(VVAL,VARH(I)+1,VVAL(VARH(I)),
01243  M01S01060.panel   +++|     A                 (L+6)/5*5-1,0,O"4000")
01244  M01S01061.panel   +++|            ENDIF
01245  M01S01062.panel   +++|          ENDIF
01246  M01S01063.panel   +++|300     CONTINUE
01247  M01S01064.panel   +++|        END
01248  M01S01065.panel   +++|C-------------------------------------------------------------------
01249  M01S01066.panel   +++|C*      GVV - GENERATE VARIABLE VALIDATION
01250  M01S01067.panel   +++|C
01251  M01S01068.panel   +++|        SUBROUTINE GVV
01252  M01S01069.panel   +++|*CALL   COMFPAN
01253  M01S00002.ns2612  +++|        INTEGER L
01254  M01S01070.panel   +++|        CALL BLOCK('VALIDATION')
01255  M01S01071.panel   +++|        DO 300 I = 1, NVAR
01256  M01S01072.panel   +++|          GOTO (100,200), VAVT(I)
01257  M01S01073.panel   +++|          GOTO 300
01258  M01S01074.panel   +++|C
01259  M01S01075.panel   +++|C         MATCH
01260  M01S01076.panel   +++|C
01261  M01S01077.panel   +++|100       CONTINUE
01262  M01S01078.panel   +++|          CALL LABELN('VAL',I)
01263  M01S01079.panel   +++|          J = VARV(I)
01264  M01S01080.panel   +++|110       CONTINUE
01265  M01S01081.panel   +++|          IF (VVAL(J).LT.0) THEN
01266  M01S01082.panel   +++|            CALL VFD('60/0')
01267  M01S01083.panel   +++|            GOTO 300
01268  M01S01084.panel   +++|          ENDIF
Line S01085 Modification History
M01 (Added by) panel
M02 (Updated by) ns2612
Seq #  *Modification Id* Act 
----------------------------+
01269  M02S01085.ns2612  ---|          CALL GST(VVAL,J+1,VVAL(J),10,Z"20",0)
01270  M01S00003.ns2612  +++|          L = 10
01271  M01S00004.ns2612  +++|          IF (VERS.GT.0) L = ((FIEL(VARF(I))+9)/10)*10
01272  M01S00005.ns2612  +++|          CALL GST(VVAL,J+1,VVAL(J),L,Z"20",0)
01273  M01S01086.panel   +++|          J = J + 1 + VVAL(J)
01274  M01S01087.panel   +++|          CALL COMMENT('*')
01275  M01S01088.panel   +++|          GOTO 110
01276  M01S01089.panel   +++|C
01277  M01S01090.panel   +++|C         RANGE
01278  M01S01091.panel   +++|C
01279  M01S01092.panel   +++|200       CONTINUE
01280  M01S01093.panel   +++|          CALL LABELN('VAL',I)
01281  M01S01094.panel   +++|          CALL VFDO('60/',VVAL(VARV(I)))
01282  M01S01095.panel   +++|          CALL VFDO('60/',VVAL(VARV(I)+1))
01283  M01S01096.panel   +++|300     CONTINUE
01284  M01S01097.panel   +++|        END
01285  M01S01098.panel   +++|C-------------------------------------------------------------------
01286  M01S01099.panel   +++|C*      INCI - INCREMENT I POSITION (BUT NOT X)
01287  M01S01100.panel   +++|C
01288  M01S01101.panel   +++|        SUBROUTINE INCI
01289  M01S01102.panel   +++|        SI = SI + 1
01290  M01S01103.panel   +++|        END
01291  M01S01104.panel   +++|C-------------------------------------------------------------------
01292  M01S01105.panel   +++|C*      INCX - INCREMENT X POSITION
01293  M01S01106.panel   +++|C
01294  M01S01107.panel   +++|        SUBROUTINE INCX
01295  M01S01108.panel   +++|        SX = SX + 1
01296  M01S01109.panel   +++|        SI = SI + 1
01297  M01S01110.panel   +++|        END
01298  M01S01111.panel   +++|C-------------------------------------------------------------------
01299  M01S01112.panel   +++|C*      INCY - INCREMENT Y POSITION
01300  M01S01113.panel   +++|C
01301  M01S01114.panel   +++|        SUBROUTINE INCY
01302  M01S01115.panel   +++|        SJ = SJ + 1
01303  M01S01116.panel   +++|        END
01304  M01S01117.panel   +++|C-------------------------------------------------------------------
01305  M01S01118.panel   +++|C*      ISA - IS ALPHABETIC
01306  M01S01119.panel   +++|C
01307  M01S01120.panel   +++|C       ENTRY
01308  M01S01121.panel   +++|C               C = CHARACTER TO TEST
01309  M01S01122.panel   +++|C
01310  M01S01123.panel   +++|        LOGICAL FUNCTION ISA(C)
01311  M01S01124.panel   +++|*CALL   COMFPAN
01312  M01S01125.panel   +++|        INTEGER C
01313  M01S01126.panel   +++|        ISA = C.GE.ZAA.AND.C.LE.ZZZ.OR.
01314  M01S01127.panel   +++|     A        C.GE.ZA.AND.C.LE.ZZ
01315  M01S01128.panel   +++|        END
01316  M01S01129.panel   +++|C-------------------------------------------------------------------
01317  M01S01130.panel   +++|C*      ISAN - IS ALPHANUMERIC
01318  M01S01131.panel   +++|C
01319  M01S01132.panel   +++|C       ENTRY   C=CHARACTER TO TEST
01320  M01S01133.panel   +++|C
01321  M01S01134.panel   +++|        LOGICAL FUNCTION ISAN(C)
01322  M01S01135.panel   +++|*CALL   COMFPAN
01323  M01S01136.panel   +++|        INTEGER C
01324  M01S01137.panel   +++|        ISAN = ISA(C).OR.ISN(C)
01325  M01S01138.panel   +++|        END
01326  M01S01139.panel   +++|C-------------------------------------------------------------------
01327  M01S01140.panel   +++|C*      ISCOR - IS A CORNER
01328  M01S01141.panel   +++|C
01329  M01S01142.panel   +++|C       ENTRY   C = ASCII CHAR TO TEST
01330  M01S01143.panel   +++|C
01331  M01S01144.panel   +++|        LOGICAL FUNCTION ISCOR(C)
01332  M01S01145.panel   +++|*CALL   COMFPAN
01333  M01S01146.panel   +++|        INTEGER C
Line S01147 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01334  M02S01147.ns2150  ---|        ISCOR = SPCH(C).LT.0
Line S00056 Modification History
M01 (Added by) ns2150
M02 (Updated by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01335  M02S00056.v23l617 ---|        ISCOR = SPCH(C).LT.0.AND.SPCH(C).NE.-128
01336  M01S00010.v23l617 +++|        ISCOR = (SPCH(C).LT.0.AND.SPCH(C).NE.-128).OR.C.EQ.128
01337  M01S01148.panel   +++|        END
01338  M01S01149.panel   +++|C-------------------------------------------------------------------
Line S01150 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01339  M02S01150.ns2150  ---|C*      ISLC - IS A LINE OR A CORNER
Line S01151 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01340  M02S01151.ns2150  ---|C
Line S01152 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01341  M02S01152.ns2150  ---|C       ENTRY   C = ASCII CHAR TO TEST
Line S01153 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01342  M02S01153.ns2150  ---|C
Line S01154 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01343  M02S01154.ns2150  ---|        LOGICAL FUNCTION ISLC(C)
Line S01155 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01344  M02S01155.ns2150  ---|*CALL   COMFPAN
Line S01156 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01345  M02S01156.ns2150  ---|        INTEGER C
Line S01157 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01346  M02S01157.ns2150  ---|        ISLC = ISCOR(C).OR.ISLIN(C)
Line S01158 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01347  M02S01158.ns2150  ---|        END
Line S01159 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01348  M02S01159.ns2150  ---|C-------------------------------------------------------------------
01349  M01S00057.ns2150  +++|C*      ISLCH - IS A HORIZONTAL LINE OR A CORNER
01350  M01S00058.ns2150  +++|C
01351  M01S00059.ns2150  +++|C       ENTRY   C = ASCII CHAR TO TEST
01352  M01S00060.ns2150  +++|C
01353  M01S00061.ns2150  +++|        LOGICAL FUNCTION ISLCH(C)
01354  M01S00062.ns2150  +++|*CALL   COMFPAN
01355  M01S00063.ns2150  +++|        INTEGER C
01356  M01S00064.ns2150  +++|        ISLCH = ISCOR(C).OR.ISLINH(C)
01357  M01S00065.ns2150  +++|        END
01358  M01S00066.ns2150  +++|C-------------------------------------------------------------------
01359  M01S00067.ns2150  +++|C*      ISLCV - IS A VERTICAL LINE OR A CORNER
01360  M01S00068.ns2150  +++|C
01361  M01S00069.ns2150  +++|C       ENTRY   C = ASCII CHAR TO TEST
01362  M01S00070.ns2150  +++|C
01363  M01S00071.ns2150  +++|        LOGICAL FUNCTION ISLCV(C)
01364  M01S00072.ns2150  +++|*CALL   COMFPAN
01365  M01S00073.ns2150  +++|        INTEGER C
01366  M01S00074.ns2150  +++|        ISLCV = ISCOR(C).OR.ISLINV(C)
Line S01160 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01367  M02S01160.ns2150  ---|C*      ISLIN - IS A LINE (OF A BOX)
Line S01161 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01368  M02S01161.ns2150  ---|C
Line S01162 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01369  M02S01162.ns2150  ---|C       ENTRY   C = ASCII CHAR TO TEST
Line S01163 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01370  M02S01163.ns2150  ---|C
Line S01164 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01371  M02S01164.ns2150  ---|        LOGICAL FUNCTION ISLIN(C)
Line S01165 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01372  M02S01165.ns2150  ---|*CALL   COMFPAN
Line S01166 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01373  M02S01166.ns2150  ---|        INTEGER C
Line S01167 Modification History
M01 (Added by) panel
M02 (Updated by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01374  M02S01167.ns2150  ---|        ISLIN = C.EQ.ZVB.OR.C.EQ.ZMI
01375  M01S00075.ns2150  +++|        END
01376  M01S00076.ns2150  +++|C-------------------------------------------------------------------
01377  M01S00077.ns2150  +++|C*      ISLINH - IS A HORIZONTAL LINE (OF A BOX)
01378  M01S00078.ns2150  +++|C
01379  M01S00079.ns2150  +++|C       ENTRY   C = ASCII CHAR TO TEST
01380  M01S00080.ns2150  +++|C
01381  M01S00081.ns2150  +++|        LOGICAL FUNCTION ISLINH(C)
01382  M01S00082.ns2150  +++|*CALL   COMFPAN
01383  M01S00083.ns2150  +++|        INTEGER C
01384  M01S00084.ns2150  +++|        ISLINH = C.EQ.ZMI
01385  M01S00085.ns2150  +++|        END
01386  M01S00086.ns2150  +++|C-------------------------------------------------------------------
01387  M01S00087.ns2150  +++|C*      ISLINV - IS A VERTICAL LINE (OF A BOX)
01388  M01S00088.ns2150  +++|C
01389  M01S00089.ns2150  +++|C       ENTRY   C = ASCII CHAR TO TEST
01390  M01S00090.ns2150  +++|C
01391  M01S00091.ns2150  +++|        LOGICAL FUNCTION ISLINV(C)
01392  M01S00092.ns2150  +++|*CALL   COMFPAN
01393  M01S00093.ns2150  +++|        INTEGER C
01394  M01S00094.ns2150  +++|        ISLINV = C.EQ.ZVB
01395  M01S01168.panel   +++|        END
01396  M01S01169.panel   +++|C-------------------------------------------------------------------
01397  M01S01170.panel   +++|C*      ISN - IS NUMERIC
01398  M01S01171.panel   +++|C
01399  M01S01172.panel   +++|C       ENTRY
01400  M01S01173.panel   +++|C               C = CHARACTER TO TEST
01401  M01S01174.panel   +++|C
01402  M01S01175.panel   +++|        LOGICAL FUNCTION ISN(C)
01403  M01S01176.panel   +++|*CALL   COMFPAN
01404  M01S01177.panel   +++|        INTEGER C
01405  M01S01178.panel   +++|        ISN = C.GE.Z0.AND.C.LE.Z9
01406  M01S01179.panel   +++|        END
01407  M01S01180.panel   +++|C-------------------------------------------------------------------
01408  M01S01181.panel   +++|C*      ITODC - INTEGER TO DISPLAY CODE FUNCTION
01409  M01S01182.panel   +++|C
01410  M01S01183.panel   +++|C       ENTRY
01411  M01S01184.panel   +++|C               INT = INTEGER TO CONVERT
01412  M01S01185.panel   +++|C               DC = CHARACTER*10 TO RECEIVE RESULT
01413  M01S01186.panel   +++|C       EXIT
01414  M01S01187.panel   +++|C               I =   INDEX TO START OF RESULT IN DC
01415  M01S01188.panel   +++|C               DC(I:) = RESULT
01416  M01S01189.panel   +++|C
01417  M01S01190.panel   +++|      SUBROUTINE ITODC(INT,DC,I)
01418  M01S01191.panel   +++|*CALL   COMFPAN
01419  M01S01192.panel   +++|      INTEGER INT, I
01420  M01S01193.panel   +++|      CHARACTER*10 DC
01421  M01S01194.panel   +++|      INTEGER N
01422  M01S01195.panel   +++|      N = IABS(INT)
01423  M01S01196.panel   +++|      I = 10
01424  M01S01197.panel   +++|1     DC(I:I) = CHAR(N - ((N/10)*10) + ICHAR('0'))
01425  M01S01198.panel   +++|      N = N/10
01426  M01S01199.panel   +++|      IF (N.EQ.0) THEN
01427  M01S01200.panel   +++|        IF (INT.LT.0.AND.I.GT.1) THEN
01428  M01S01201.panel   +++|          I = I - 1
01429  M01S01202.panel   +++|          DC(I:I) = '-'
01430  M01S01203.panel   +++|          RETURN
01431  M01S01204.panel   +++|        ELSEIF (INT.GE.0) THEN
01432  M01S01205.panel   +++|          RETURN
01433  M01S01206.panel   +++|        ENDIF
01434  M01S01207.panel   +++|      ENDIF
01435  M01S01208.panel   +++|      I = I - 1
01436  M01S01209.panel   +++|      IF (I.GT.0) GOTO 1
01437  M01S01210.panel   +++|      DC = '**********'
01438  M01S01211.panel   +++|      END
01439  M01S01212.panel   +++|C-------------------------------------------------------------------
01440  M01S01213.panel   +++|C       LABEL - GENERATE A LABEL
01441  M01S01214.panel   +++|C
01442  M01S01215.panel   +++|        SUBROUTINE LABEL(S)
01443  M01S01216.panel   +++|*CALL   COMFPAN
01444  M01S01217.panel   +++|        CHARACTER*(*) S
01445  M01S01218.panel   +++|        WRITE(3,100) S
01446  M01S01219.panel   +++|100     FORMAT(A, T10, 'BSS', T16, '0')
01447  M01S01220.panel   +++|        END
01448  M01S01221.panel   +++|C-------------------------------------------------------------------
01449  M01S01222.panel   +++|C*      LABELN - GENERATE A LABEL SUFFIXED BY INTEGER N
01450  M01S01223.panel   +++|C
01451  M01S01224.panel   +++|C       ENTRY   S=LABEL NAME
01452  M01S01225.panel   +++|C               N=LABEL INTEGER
01453  M01S01226.panel   +++|C
01454  M01S01227.panel   +++|        SUBROUTINE LABELN(S,N)
01455  M01S01228.panel   +++|*CALL   COMFPAN
01456  M01S01229.panel   +++|        CHARACTER*(*) S
01457  M01S01230.panel   +++|        INTEGER N
01458  M01S01231.panel   +++|        WRITE(3,100) S, N
01459  M01S01232.panel   +++|100     FORMAT(A, I4.4, T10, 'BSS', T16, '0')
01460  M01S01233.panel   +++|        END
01461  M01S01234.panel   +++|C-------------------------------------------------------------------
01462  M01S01235.panel   +++|C*      NEEDHED - ERROR IF NOT VAR, KEY, ATTR OR BRACKET
01463  M01S01236.panel   +++|C               SKIP FORWARD TO ONE
01464  M01S01237.panel   +++|C
01465  M01S01238.panel   +++|        SUBROUTINE NEEDHED(I)
01466  M01S01239.panel   +++|*CALL   COMFPAN
01467  M01S01240.panel   +++|        INTEGER I
01468  M01S01241.panel   +++|        IF (FATAL) CALL SKIPHED
01469  M01S01242.panel   +++|        CALL CHEKHED(I)
01470  M01S01243.panel   +++|        IF(I.EQ.0) THEN
01471  M01S01244.panel   +++|          CALL EXPECT('VAR, KEY, ATTR, BOX, TABLE or }',' ')
01472  M01S01245.panel   +++|          CALL SKIPHED
01473  M01S01246.panel   +++|        ENDIF
01474  M01S01247.panel   +++|        END
01475  M01S01248.panel   +++|C-------------------------------------------------------------------
01476  M01S01249.panel   +++|C*      NEWATR - NEW ATTRIBUTE
01477  M01S01250.panel   +++|C
01478  M01S01251.panel   +++|        SUBROUTINE NEWATR
01479  M01S01252.panel   +++|*CALL   COMFPAN
01480  M01S01253.panel   +++|        IF (NATR.GE.MATR) THEN
01481  M01S01254.panel   +++|          CALL ERRORN(MATR,'attributes')
01482  M01S01255.panel   +++|          RETURN
01483  M01S01256.panel   +++|        ENDIF
01484  M01S01257.panel   +++|        NATR = NATR + 1
01485  M01S01258.panel   +++|        ATCS(NATR) = 0
01486  M01S01259.panel   +++|        ATCE(NATR) = 0
01487  M01S01260.panel   +++|        ATSC(NATR) = 0
01488  M01S01261.panel   +++|        ATRLP(NATR) = '1'
01489  M01S01262.panel   +++|        ATRUL(NATR) = '0'
01490  M01S01263.panel   +++|        ATRAI(NATR) = '0'
01491  M01S01264.panel   +++|        ATRIV(NATR) = '0'
01492  M01S01265.panel   +++|        ATRBL(NATR) = '0'
Line S01266 Modification History
M01 (Added by) panel
M02 (Updated by) ns2315
Seq #  *Modification Id* Act 
----------------------------+
01493  M02S01266.ns2315  ---|        ATTP(NATR) = 1
01494  M01S00002.ns2315  +++|        ATTP(NATR) = 0
01495  M01S01267.panel   +++|        ATBI(NATR) = 0
01496  M01S01268.panel   +++|        ATLW(NATR) = 0
Line S01269 Modification History
M01 (Added by) panel
M02 (Updated by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
01497  M02S01269.243l647 ---|        ATFC(NATR) = 7
01498  M01S01270.panel   +++|        ATIO(NATR) = 2
01499  M01S01271.panel   +++|        END
01500  M01S01272.panel   +++|C-------------------------------------------------------------------
01501  M01S01273.panel   +++|C*      NEWCON - NEW CONSTANT
01502  M01S01274.panel   +++|C
01503  M01S01275.panel   +++|C       ENTRY
01504  M01S01276.panel   +++|C               X = X POSITION ON SCREEN
01505  M01S01277.panel   +++|C               Y = Y POSITION ON SCREEN
01506  M01S01278.panel   +++|C               I = COLUMN IN IMAG ARRAY
01507  M01S01279.panel   +++|C               L = NUMBER OF CHARACTERS
01508  M01S01280.panel   +++|C               A = ATTRIBUTE ORDINAL
01509  M01S01281.panel   +++|C
01510  M01S01282.panel   +++|        SUBROUTINE NEWCON(X,Y,I,L,A)
01511  M01S01283.panel   +++|*CALL   COMFPAN
01512  M01S01284.panel   +++|        INTEGER X,Y,I,L,A
Line S01285 Modification History
M01 (Added by) panel
M02 (Updated by) ns2230
Seq #  *Modification Id* Act 
----------------------------+
01513  M02S01285.ns2230  ---|        IF (NFIE.GE.MFIE) THEN
Line S00001 Modification History
M01 (Added by) ns2230
M02 (Updated by) ns2473
Seq #  *Modification Id* Act 
----------------------------+
01514  M02S00001.ns2473  ---|        IF (NFIE.GT.(MFIE+1)) THEN
Line S01286 Modification History
M01 (Added by) panel
M02 (Updated by) ns2473
Seq #  *Modification Id* Act 
----------------------------+
01515  M02S01286.ns2473  ---|          CALL ERRORN(MFIE,'fields')
Line S01287 Modification History
M01 (Added by) panel
M02 (Updated by) ns2473
Seq #  *Modification Id* Act 
----------------------------+
01516  M02S01287.ns2473  ---|          RETURN
Line S01288 Modification History
M01 (Added by) panel
M02 (Updated by) ns2473
Seq #  *Modification Id* Act 
----------------------------+
01517  M02S01288.ns2473  ---|        ENDIF
01518  M01S00003.ns2473  +++|        IF (NFIE.GE.(MFIE)) THEN
01519  M01S00004.ns2473  +++|          CALL ERRORN(MFIE,'TOTAL Constant and Variable
01520  M01S00005.ns2473  +++|     + fields')
01521  M01S00006.ns2473  +++|          RETURN
01522  M01S00007.ns2473  +++|        ENDIF
01523  M01S00008.ns2473  +++|        IF (NCON.GT.MCON) THEN
01524  M01S00009.ns2473  +++|          CALL ERRORN(NCON,'Constant fields')
01525  M01S00010.ns2473  +++|          RETURN
01526  M01S00011.ns2473  +++|        ENDIF
01527  M01S01289.panel   +++|        NCON = NCON + 1
01528  M01S01290.panel   +++|        NFIE = NFIE + 1
01529  M01S01291.panel   +++|        FIEX(NFIE) = X
01530  M01S01292.panel   +++|        FIEY(NFIE) = Y
01531  M01S01293.panel   +++|        FIEL(NFIE) = L
01532  M01S01294.panel   +++|        FIET(NFIE) = 0
01533  M01S01295.panel   +++|        FIEV(NFIE) = NCON
01534  M01S01296.panel   +++|        FIEO(NFIE) = 0
01535  M01S01297.panel   +++|        FIEA(NFIE) = A
01536  M01S01298.panel   +++|        CONI(NCON) = I
01537  M01S01299.panel   +++|        CONF(NCON) = NFIE
01538  M01S01300.panel   +++|        END
01539  M01S01301.panel   +++|C-------------------------------------------------------------------
01540  M01S01302.panel   +++|C*      NEWHL - NEW HORIZONTAL LINE
01541  M01S01303.panel   +++|C
01542  M01S01304.panel   +++|C       ENTRY
01543  M01S01305.panel   +++|C               I,J=START OF LINE
01544  M01S01306.panel   +++|C               L = LENGTH
01545  M01S01307.panel   +++|C
01546  M01S01308.panel   +++|        SUBROUTINE NEWHL(I,J,L)
01547  M01S01309.panel   +++|*CALL   COMFPAN
01548  M01S01310.panel   +++|        INTEGER I,J,L
01549  M01S01311.panel   +++|        CALL NEWLC(I,J,L,0)
01550  M01S01312.panel   +++|        DO 100 K = 1, L
01551  M01S01313.panel   +++|          IMAG(I+K-1,J) = ZSP
01552  M01S01314.panel   +++|100     CONTINUE
01553  M01S01315.panel   +++|        NCOL = MAX(NCOL,I+L-1)
01554  M01S01316.panel   +++|        END
01555  M01S01317.panel   +++|C-------------------------------------------------------------------
01556  M01S01318.panel   +++|C*      NEWLC - NEW LINE OR CORNER
01557  M01S01319.panel   +++|C
01558  M01S01320.panel   +++|C       ENTRY
01559  M01S01321.panel   +++|C               I,J= POS ON SCREEN
01560  M01S01322.panel   +++|C               L = LEN FOR LINE
01561  M01S01323.panel   +++|C               T = TYPE (BOXHL, BOXVL, OR CORNER TYPE)
01562  M01S01324.panel   +++|C
01563  M01S01325.panel   +++|        SUBROUTINE NEWLC(I,J,L,T)
01564  M01S01326.panel   +++|*CALL   COMFPAN
01565  M01S01327.panel   +++|        INTEGER I,J,L,T
01566  M01S01328.panel   +++|        IF (IBOX.GT.255) THEN
Proceed to Part 1
cdc/nos2.source/opl.opl871/deck/panel.txt ยท Last modified: by 127.0.0.1