User Tools

Site Tools


Action unknown: copypageplugin__copy
cdc:nos2.source:opl.opl871:deck:panel

Deck PANEL

Library Member Format: MODIFY

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
00001  M00S00001.panel   +++|C-------------------------------------------------------------------
00002  M00S00002.panel   +++|C*      PANEL DESIGN UTILITY
Line S00001 Modification History
M01 (Added by) 281l803
Seq #  *Modification Id* Act 
----------------------------+
00003  M01S00001.281l803 +++|C
00004  M01S00002.281l803 +++|C         COPYRIGHT CONTROL DATA SYSTEMS INC.  1992.
00005  M00S00003.panel   +++|C
Line S00004 Modification History
M01 (Removed by) panel5
Seq #  *Modification Id* Act 
----------------------------+
00006  M01S00004.panel5  ---|        PROGRAM PANEL(PANEL=/266,OUTPUT=/266,COMPILE,TAPE1=PANEL,
00007  M01S00005.panel5  ---|     A                TAPE2=OUTPUT,TAPE3=COMPILE)
Line S00001 Modification History
M01 (Added by) panel5
M02 (Removed by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00008  M02S00001.243l647 ---|        PROGRAM PANEL(PANEL=/266,OUTPUT=/266,TAPE1=PANEL,TAPE2=OUTPUT)
Line S00001 Modification History
M01 (Added by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00009  M01S00001.243l647 +++|        PROGRAM PANEL(PANEL=/266,OUTPUT=/266,TAPE1=PANEL)
00010  M00S00006.panel   +++|*CALL   COMFPAN
00011  M00S00007.panel   +++|C
00012  M00S00008.panel   +++|C       SCAN PARAMETERS
00013  M00S00009.panel   +++|C
Line S00001 Modification History
M01 (Added by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00014  M01S00001.ns2150  +++|        CALL CSETA
00015  M01S00002.ns2150  +++|        CALL SPP
00016  M00S00010.panel   +++|        WRITE(2,'(A/)') '1 Panel Definition ' //
Line S00011 Modification History
M01 (Removed by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00017  M01S00011.ns2150  ---|     A                'Utility'
00018  M01S00012.ns2150  ---|        CALL CSETA
00019  M01S00013.ns2150  ---|        CALL SPP
Line S00003 Modification History
M01 (Added by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00020  M01S00003.ns2150  +++|     A                'Utility         File ' // PNAME
00021  M00S00014.panel   +++|C
00022  M00S00015.panel   +++|C       SCAN PANEL DEFINITIONS
00023  M00S00016.panel   +++|C
00024  M00S00017.panel   +++|        CALL READL1
00025  M00S00018.panel   +++|        IF (ISA(IMAG(1,1))) THEN
00026  M00S00019.panel   +++|          CALL SCANSYM
Line S00020 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00027  M01S00020.v23l617 ---|1         IF (IMAG(SJ,1).EQ.ZSP.AND.SJ.LT.133) THEN
Line S00001 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00028  M01S00001.v23l617 +++|1         IF (IMAG(SJ,1).EQ.ZSP.AND.SJ.LE.MCOL) THEN
00029  M00S00021.panel   +++|            SJ = SJ + 1
00030  M00S00022.panel   +++|            GOTO 1
00031  M00S00023.panel   +++|          ENDIF
Line S00024 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00032  M01S00024.v23l617 ---|          IF (SJ.GE.133) THEN
Line S00002 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00033  M01S00002.v23l617 +++|          IF (SJ.GT.MCOL) THEN
00034  M00S00025.panel   +++|            PNAME = STRGD(1:SL)
00035  M00S00026.panel   +++|            CALL READL1
00036  M00S00027.panel   +++|          ENDIF
00037  M00S00028.panel   +++|        ENDIF
Line S00029 Modification History
M01 (Removed by) ns2621
Seq #  *Modification Id* Act 
----------------------------+
00038  M01S00029.ns2621  ---|        IF (IMAG(1,1).EQ.ZLB) THEN
Line S00001 Modification History
M01 (Added by) ns2621
Seq #  *Modification Id* Act 
----------------------------+
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 (Removed by) ns2621
Seq #  *Modification Id* Act 
----------------------------+
00044  M01S00030.ns2621  ---|          INDEF = .TRUE.
00045  M01S00031.ns2621  ---|          SJ = 2
00046  M01S00032.ns2621  ---|          CALL SCANDEF
00047  M01S00033.ns2621  ---|          INDEF = .FALSE.
Line S00006 Modification History
M01 (Added by) ns2621
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00034.panel   +++|        ENDIF
Line S00013 Modification History
M01 (Added by) ns2621
Seq #  *Modification Id* Act 
----------------------------+
00056  M01S00013.ns2621  +++|        INDEF = .TRUE.
00057  M01S00014.ns2621  +++|        SJ = SJ + 1
00058  M01S00015.ns2621  +++|        CALL SCANDEF
00059  M01S00016.ns2621  +++|        INDEF = .FALSE.
00060  M00S00035.panel   +++|        IF (ABEND) CALL QUIT('DECLARATIONS')
00061  M00S00036.panel   +++|C
00062  M00S00037.panel   +++|C       SCAN PANEL IMAGE
00063  M00S00038.panel   +++|C
00064  M00S00039.panel   +++|        CALL RPI
00065  M00S00040.panel   +++|        CALL SCANIMG
00066  M00S00041.panel   +++|        IF (FATAL) CALL QUIT('SCREEN IMAGE')
00067  M00S00042.panel   +++|C
00068  M00S00043.panel   +++|C       WRITE PANEL DESCRIPTION
00069  M00S00044.panel   +++|C
00070  M00S00045.panel   +++|        IF (.NOT.FATAL) THEN
00071  M00S00046.panel   +++|          CALL GPR
00072  M00S00047.panel   +++|        ENDIF
00073  M00S00048.panel   +++|        REWIND 1
00074  M00S00049.panel   +++|        REWIND 2
00075  M00S00050.panel   +++|        REWIND 3
00076  M00S00051.panel   +++|C
00077  M00S00052.panel   +++|        END
00078  M00S00053.panel   +++|C-------------------------------------------------------------------
00079  M00S00054.panel   +++|C*      BLOCK DATA FOR PANEL
00080  M00S00055.panel   +++|C
00081  M00S00056.panel   +++|        BLOCK DATA
00082  M00S00057.panel   +++|*CALL   COMFPAN
00083  M00S00058.panel   +++|        DATA PNAME /'TEST   '/
00084  M00S00059.panel   +++|        DATA BLANK/' '/
Line S00060 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00085  M01S00060.v23l617 ---|        DATA IMAG  /3990*0/, NROW /0/, NCOL/79/
Line S00003 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00086  M01S00003.v23l617 +++|        DATA IMAG  /10304*0/, NROW /0/, NCOL/0/
Line S00061 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00087  M01S00061.v23l617 ---|        DATA VERS,MSGL,MSGX,MSGY/0,40,39,0/
Line S00004 Modification History
M01 (Added by) v23l617
M02 (Removed by) ns2612
M03 (Removed by) ns2621
Seq #  *Modification Id* Act 
----------------------------+
00088  M03S00004.ns2621  ---|        DATA VERS,MSGL,MSGX,MSGY/0,20,39,0/
Line S00017 Modification History
M01 (Added by) ns2621
Seq #  *Modification Id* Act 
----------------------------+
00089  M01S00017.ns2621  +++|        DATA VERS,MSGL,MSGX,MSGY,CLDC/0,20,39,0,0/
Line S00001 Modification History
M01 (Added by) ns2612
Seq #  *Modification Id* Act 
----------------------------+
00090  M01S00001.ns2612  +++|        DATA VERS,MSGL,MSGX,MSGY/1,20,39,0/
00091  M00S00062.panel   +++|        DATA BLKA,ERBW,ERAR,WRIB/0,1,0,0/
00092  M00S00063.panel   +++|        DATA FATAL /.FALSE./, INDEF /.FALSE./, ENDFILE /.FALSE./
00093  M00S00064.panel   +++|        DATA ABEND /.FALSE./
00094  M00S00065.panel   +++|C
Line S00066 Modification History
M01 (Removed by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00095  M01S00066.243l647 ---|        DATA ATRLP /'1','1','1',29*'0'/
00096  M01S00067.243l647 ---|        DATA ATIO /2,0,2,29*2/
00097  M01S00068.243l647 ---|        DATA NATR  /3/
00098  M01S00069.243l647 ---|        DATA ATTP  /4,0,1,29*0/
00099  M01S00070.243l647 ---|        DATA ATSC, ATBI, ATLW, ATFC, ATCS, ATCE /192*0/
Line S00002 Modification History
M01 (Added by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00071.panel   +++|        DATA SPCH  /128*0/
00123  M00S00072.panel   +++|C
00124  M00S00073.panel   +++|        DATA NBOX  /0/
00125  M00S00074.panel   +++|        DATA IBOX  /0/
00126  M00S00075.panel   +++|        DATA CORS  /0/
00127  M00S00076.panel   +++|C       CORNER TYPES
00128  M00S00077.panel   +++|C
00129  M00S00078.panel   +++|C       D U R L         TYPE    ORDINAL
00130  M00S00079.panel   +++|C       0 0 0 0         CROSS   10
00131  M00S00080.panel   +++|C       0 0 0 1         HL      0
00132  M00S00081.panel   +++|C       0 0 1 0         HL      0
00133  M00S00082.panel   +++|C       0 0 1 1         HL      0
00134  M00S00083.panel   +++|C       0 1 0 0         VL      1
00135  M00S00084.panel   +++|C       0 1 0 1         LU      5
00136  M00S00085.panel   +++|C       0 1 1 0         UR      4
00137  M00S00086.panel   +++|C       0 1 1 1         LUR     7
00138  M00S00087.panel   +++|C       1 0 0 0         VL      1
00139  M00S00088.panel   +++|C       1 0 0 1         LD      3
00140  M00S00089.panel   +++|C       1 0 1 0         RD      2
00141  M00S00090.panel   +++|C       1 0 1 1         LRD(T)  6
00142  M00S00091.panel   +++|C       1 1 0 0         VL      1
00143  M00S00092.panel   +++|C       1 1 0 1         LUD     9
00144  M00S00093.panel   +++|C       1 1 1 0         URD     8
00145  M00S00094.panel   +++|C       1 1 1 1         CROSS   10
00146  M00S00095.panel   +++|C
00147  M00S00096.panel   +++|        DATA CORO/10,0,0,0,1,5,4,7,1,3,2,6,1,9,8,10/
00148  M00S00097.panel   +++|C
00149  M00S00098.panel   +++|        DATA NCON  /0/
00150  M00S00099.panel   +++|C
00151  M00S00100.panel   +++|        DATA NFIE  /0/
00152  M00S00101.panel   +++|C
Line S00102 Modification History
M01 (Removed by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
00153  M01S00102.ns2700  ---|        DATA NFUN, FUNA, FUNG, FUNK  /0, 32*0, 32*0, 32*0/
Line S00001 Modification History
M01 (Added by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
00154  M01S00001.ns2700  +++|        DATA NFUN, FUNA, FUNG, FUNK  /0, MFUN*0, MFUN*0, MFUN*0/
00155  M00S00103.panel   +++|C
00156  M00S00104.panel   +++|        DATA SYMTP  /' '/
00157  M00S00105.panel   +++|        DATA STRGD  /' '/
00158  M00S00106.panel   +++|        DATA SI, SJ  /1,1/
Line S00107 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00159  M01S00107.v23l617 ---|        DATA SL, STRG, SINT, SIGN  /0, 132*0, 0, 0/
Line S00005 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00160  M01S00005.v23l617 +++|        DATA SL, STRG, SINT, SIGN  /0, MCOL*0, 0, 0/
00161  M00S00108.panel   +++|        DATA SREALV  /0.0/
00162  M00S00109.panel   +++|C
00163  M00S00110.panel   +++|        DATA TABNM  /8*'*'/
00164  M00S00111.panel   +++|        DATA NTAB   /0/
00165  M00S00112.panel   +++|C
00166  M00S00113.panel   +++|        DATA VARNM  /256*' '/
00167  M00S00114.panel   +++|        DATA TYPES  /'CHAR', 'INT', 'REAL'/
00168  M00S00115.panel   +++|        DATA NVAR  /0/
00169  M00S00116.panel   +++|        DATA NVAF  /0/
00170  M00S00117.panel   +++|        DATA VDCO  /0/
00171  M00S00118.panel   +++|        DATA NVAL  /0/
00172  M00S00119.panel   +++|      END
00173  M00S00120.panel   +++|C-------------------------------------------------------------------
00174  M00S00121.panel   +++|C*      BLOCK - GENERATE BLOCK COMMENTS
00175  M00S00122.panel   +++|C
00176  M00S00123.panel   +++|        SUBROUTINE BLOCK(S)
00177  M00S00124.panel   +++|        CHARACTER*(*) S
00178  M00S00125.panel   +++|        WRITE (3,100) S
00179  M00S00126.panel   +++|100     FORMAT('*'/'*', T10, A/'*')
00180  M00S00127.panel   +++|        END
00181  M00S00128.panel   +++|C-------------------------------------------------------------------
00182  M00S00129.panel   +++|C*      BSS - BSS 0
00183  M00S00130.panel   +++|C
00184  M00S00131.panel   +++|        SUBROUTINE BSS
00185  M00S00132.panel   +++|*CALL   COMFPAN
00186  M00S00133.panel   +++|        WRITE(3,100)
00187  M00S00134.panel   +++|100     FORMAT(T10,'BSS',T16,'0')
00188  M00S00135.panel   +++|        END
00189  M00S00136.panel   +++|C-------------------------------------------------------------------
00190  M00S00137.panel   +++|C*      CHEKATR - CHECK ATTRIBUTE
00191  M00S00138.panel   +++|C
Line S00139 Modification History
M01 (Removed by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00192  M01S00139.243l647 ---|C       EXIT    LP= 1=LOGICAL, 0=PHYSICAL
Line S00024 Modification History
M01 (Added by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00193  M01S00024.243l647 +++|C       EXIT    LP= 1=LOGICAL, 0=PHYSICAL, 3=ERROR
Line S00140 Modification History
M01 (Removed by) ns2315
Seq #  *Modification Id* Act 
----------------------------+
00194  M01S00140.ns2315  ---|C               I= 0=NOT AN ATTRIBUTE
00195  M01S00141.ns2315  ---|C                  1, 2, ... PARALLEL USE IN SETATR
Line S00001 Modification History
M01 (Added by) ns2315
Seq #  *Modification Id* Act 
----------------------------+
00196  M01S00001.ns2315  +++|C               I = 0,1,2,... PARALLEL USE IN SETATR
00197  M00S00142.panel   +++|C
00198  M00S00143.panel   +++|        SUBROUTINE CHEKATR(LP,I)
00199  M00S00144.panel   +++|*CALL   COMFPAN
Line S00145 Modification History
M01 (Removed by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00200  M01S00145.243l647 ---|        IF (UPSYMEQ('FOREGROUND').OR.UPSYMEQ('COLOR').OR.
00201  M01S00146.243l647 ---|     A      UPSYMEQ('FG')) THEN
00202  M01S00147.243l647 ---|          CALL SCANSYM
00203  M01S00148.243l647 ---|          IF (FATAL) RETURN
00204  M01S00149.243l647 ---|          IF (UPSYMEQ('COLOR')) THEN
00205  M01S00150.243l647 ---|            CALL SCANSYM
00206  M01S00151.243l647 ---|            IF (FATAL) RETURN
00207  M01S00152.243l647 ---|          ENDIF
00208  M01S00153.243l647 ---|        ENDIF
00209  M00S00154.panel   +++|        LP = 1
00210  M00S00155.panel   +++|        IF (UPSYMEQ('ITEXT').OR.UPSYMEQ('INPUT')) THEN
00211  M00S00156.panel   +++|          I = 0
00212  M00S00157.panel   +++|        ELSEIF (UPSYMEQ('TEXT')) THEN
00213  M00S00158.panel   +++|          I = 1
00214  M00S00159.panel   +++|        ELSEIF (UPSYMEQ('ITALIC')) THEN
00215  M00S00160.panel   +++|          I = 2
00216  M00S00161.panel   +++|        ELSEIF (UPSYMEQ('TITLE')) THEN
00217  M00S00162.panel   +++|          I = 3
00218  M00S00163.panel   +++|        ELSEIF (UPSYMEQ('MESSAGE')) THEN
00219  M00S00164.panel   +++|          I = 4
00220  M00S00165.panel   +++|        ELSEIF (UPSYMEQ('ERROR')) THEN
00221  M00S00166.panel   +++|          I = 5
Line S00025 Modification History
M01 (Added by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00167.panel   +++|        ELSE
00235  M00S00168.panel   +++|          LP = 0
00236  M00S00169.panel   +++|          IF (UPSYMEQ('BLINK')) THEN
00237  M00S00170.panel   +++|            I = 6
00238  M00S00171.panel   +++|          ELSEIF (UPSYMEQ('INVERSE').OR.UPSYMEQ('INV')) THEN
00239  M00S00172.panel   +++|            I = 7
00240  M00S00173.panel   +++|          ELSEIF (UPSYMEQ('UNDERLINE').OR.UPSYMEQ('UND')
00241  M00S00174.panel   +++|     A            .OR.UPSYMEQ('UNDERSCORE')) THEN
00242  M00S00175.panel   +++|            I = 8
00243  M00S00176.panel   +++|          ELSEIF (UPSYMEQ('ALTERNATE').OR.UPSYMEQ('ALT')) THEN
00244  M00S00177.panel   +++|            I = 9
Line S00178 Modification History
M01 (Removed by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00245  M01S00178.243l647 ---|          ELSEIF (UPSYMEQ('BLACK')) THEN
00246  M01S00179.243l647 ---|            I = 10
00247  M01S00180.243l647 ---|          ELSEIF (UPSYMEQ('BLUE')) THEN
00248  M01S00181.243l647 ---|            I = 11
00249  M01S00182.243l647 ---|          ELSEIF (UPSYMEQ('GREEN')) THEN
00250  M01S00183.243l647 ---|            I = 12
00251  M01S00184.243l647 ---|          ELSEIF (UPSYMEQ('YELLOW')) THEN
00252  M01S00185.243l647 ---|            I = 13
00253  M01S00186.243l647 ---|          ELSEIF (UPSYMEQ('RED')) THEN
00254  M01S00187.243l647 ---|            I = 14
00255  M01S00188.243l647 ---|          ELSEIF (UPSYMEQ('CYAN')) THEN
00256  M01S00189.243l647 ---|            I = 15
00257  M01S00190.243l647 ---|          ELSEIF (UPSYMEQ('MAGENTA')) THEN
00258  M01S00191.243l647 ---|            I = 16
00259  M01S00192.243l647 ---|          ELSEIF (UPSYMEQ('WHITE')) THEN
00260  M01S00193.243l647 ---|            I = 17
00261  M00S00194.panel   +++|          ELSE
00262  M00S00195.panel   +++|            LP = 3
00263  M00S00196.panel   +++|          ENDIF
00264  M00S00197.panel   +++|        ENDIF
00265  M00S00198.panel   +++|        END
00266  M00S00199.panel   +++|C-------------------------------------------------------------------
Line S00200 Modification History
M01 (Removed by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00267  M01S00200.243l647 ---|C*      CHEKHED - TEST WHETHER VAR, KEY, ATTR OR BRACKET
00268  M01S00201.243l647 ---|C               RETURN I =     1,   2,    3,         4, OR 0 IF NOT
Line S00037 Modification History
M01 (Added by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00202.panel   +++|C
00281  M00S00203.panel   +++|        SUBROUTINE CHEKHED(I)
00282  M00S00204.panel   +++|*CALL   COMFPAN
00283  M00S00205.panel   +++|        INTEGER I
00284  M00S00206.panel   +++|        I = 0
00285  M00S00207.panel   +++|1       IF (SYMEQ(';')) THEN
00286  M00S00208.panel   +++|          CALL SCANSYM
00287  M00S00209.panel   +++|          IF (FATAL) RETURN
00288  M00S00210.panel   +++|          GOTO 1
00289  M00S00211.panel   +++|        ENDIF
00290  M00S00212.panel   +++|        IF(UPSYMEQ('VAR')) THEN
00291  M00S00213.panel   +++|          I = 1
00292  M00S00214.panel   +++|        ELSE IF(UPSYMEQ('KEY')) THEN
00293  M00S00215.panel   +++|          I = 2
00294  M00S00216.panel   +++|        ELSE IF(UPSYMEQ('ATTR')) THEN
00295  M00S00217.panel   +++|          I = 3
Line S00218 Modification History
M01 (Removed by) ns2621
Seq #  *Modification Id* Act 
----------------------------+
00296  M01S00218.ns2621  ---|        ELSE IF(IMAG(SI,1).EQ.ZRB) THEN
Line S00018 Modification History
M01 (Added by) ns2621
Seq #  *Modification Id* Act 
----------------------------+
00297  M01S00018.ns2621  +++|        ELSE IF(IMAG(SI,1).EQ.CLDC) THEN
00298  M00S00219.panel   +++|          I = 4
00299  M00S00220.panel   +++|        ELSE IF(UPSYMEQ('BOX')) THEN
00300  M00S00221.panel   +++|          I = 5
00301  M00S00222.panel   +++|        ELSE IF(UPSYMEQ('TABLE')) THEN
00302  M00S00223.panel   +++|          I = 6
00303  M00S00224.panel   +++|        ELSE IF(UPSYMEQ('TABLEND')) THEN
00304  M00S00225.panel   +++|          I = 7
00305  M00S00226.panel   +++|        ELSE IF(UPSYMEQ('PANEL')) THEN
00306  M00S00227.panel   +++|          I = 8
Line S00048 Modification History
M01 (Added by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00307  M01S00048.243l647 +++|        ELSE IF(UPSYMEQ('SFATTR')) THEN
00308  M01S00049.243l647 +++|          I = 9
00309  M00S00228.panel   +++|        ENDIF
00310  M00S00229.panel   +++|        END
00311  M00S00230.panel   +++|C---------------------------------------------------------------------
00312  M00S00231.panel   +++|C*      CHEKKEY - CHECK KEY NAME
00313  M00S00232.panel   +++|C
00314  M00S00233.panel   +++|C       EXIT    G= 1=FUNCTION
00315  M00S00234.panel   +++|C                  2=GENERIC
00316  M00S00235.panel   +++|C               N=KEY NUMBER
00317  M00S00236.panel   +++|C
00318  M00S00237.panel   +++|        SUBROUTINE CHEKKEY(G,N)
00319  M00S00238.panel   +++|*CALL   COMFPAN
00320  M00S00239.panel   +++|        INTEGER G, N
00321  M00S00240.panel   +++|        LOGICAL SHIFT
00322  M00S00241.panel   +++|        SHIFT = .FALSE.
00323  M00S00242.panel   +++|        G = 1
00324  M00S00243.panel   +++|        IF (UPSYMEQ('S').OR.UPSYMEQ('SHIFT')) THEN
00325  M00S00244.panel   +++|          SHIFT = .TRUE.
00326  M00S00245.panel   +++|          CALL SCANSYM
00327  M00S00246.panel   +++|          IF (FATAL) RETURN
00328  M00S00247.panel   +++|        ENDIF
00329  M00S00248.panel   +++|        IF (UPSYMEQ('F1')) THEN
00330  M00S00249.panel   +++|          N = 1
00331  M00S00250.panel   +++|        ELSEIF (UPSYMEQ('F2')) THEN
00332  M00S00251.panel   +++|          N = 2
00333  M00S00252.panel   +++|        ELSEIF (UPSYMEQ('F3')) THEN
00334  M00S00253.panel   +++|          N = 3
00335  M00S00254.panel   +++|        ELSEIF (UPSYMEQ('F4')) THEN
00336  M00S00255.panel   +++|          N = 4
00337  M00S00256.panel   +++|        ELSEIF (UPSYMEQ('F5')) THEN
00338  M00S00257.panel   +++|          N = 5
00339  M00S00258.panel   +++|        ELSEIF (UPSYMEQ('F6')) THEN
00340  M00S00259.panel   +++|          N = 6
00341  M00S00260.panel   +++|        ELSEIF (UPSYMEQ('F7')) THEN
00342  M00S00261.panel   +++|          N = 7
00343  M00S00262.panel   +++|        ELSEIF (UPSYMEQ('F8')) THEN
00344  M00S00263.panel   +++|          N = 8
00345  M00S00264.panel   +++|        ELSEIF (UPSYMEQ('F9')) THEN
00346  M00S00265.panel   +++|          N = 9
00347  M00S00266.panel   +++|        ELSEIF (UPSYMEQ('F10')) THEN
00348  M00S00267.panel   +++|          N = 10
00349  M00S00268.panel   +++|        ELSEIF (UPSYMEQ('F11')) THEN
00350  M00S00269.panel   +++|          N = 11
00351  M00S00270.panel   +++|        ELSEIF (UPSYMEQ('F12')) THEN
00352  M00S00271.panel   +++|          N = 12
00353  M00S00272.panel   +++|        ELSEIF (UPSYMEQ('F13')) THEN
00354  M00S00273.panel   +++|          N = 13
00355  M00S00274.panel   +++|        ELSEIF (UPSYMEQ('F14')) THEN
00356  M00S00275.panel   +++|          N = 14
00357  M00S00276.panel   +++|        ELSEIF (UPSYMEQ('F15')) THEN
00358  M00S00277.panel   +++|          N = 15
00359  M00S00278.panel   +++|        ELSEIF (UPSYMEQ('F16')) THEN
00360  M00S00279.panel   +++|          N = 16
Line S00002 Modification History
M01 (Added by) ns2700
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00280.panel   +++|        ELSE
00378  M00S00281.panel   +++|          G = 2
00379  M00S00282.panel   +++|          IF (UPSYMEQ('NEXT')) THEN
00380  M00S00283.panel   +++|            N = 1
00381  M00S00284.panel   +++|          ELSEIF (UPSYMEQ('BACK')) THEN
00382  M00S00285.panel   +++|            N = 2
00383  M00S00286.panel   +++|          ELSEIF (UPSYMEQ('HELP')) THEN
00384  M00S00287.panel   +++|            N = 3
00385  M00S00288.panel   +++|          ELSEIF (UPSYMEQ('STOP')) THEN
00386  M00S00289.panel   +++|            N = 4
00387  M00S00290.panel   +++|          ELSEIF (UPSYMEQ('DOWN')) THEN
00388  M00S00291.panel   +++|            N = 5
00389  M00S00292.panel   +++|          ELSEIF (UPSYMEQ('UP')) THEN
00390  M00S00293.panel   +++|            N = 6
00391  M00S00294.panel   +++|          ELSEIF (UPSYMEQ('FWD')) THEN
00392  M00S00295.panel   +++|            N = 7
00393  M00S00296.panel   +++|          ELSEIF (UPSYMEQ('BKW')) THEN
00394  M00S00297.panel   +++|            N = 8
Line S00050 Modification History
M01 (Added by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00298.panel   +++|          ELSE
00400  M00S00299.panel   +++|            G = 0
00401  M00S00300.panel   +++|          ENDIF
00402  M00S00301.panel   +++|        ENDIF
00403  M00S00302.panel   +++|        IF (SHIFT) THEN
00404  M00S00303.panel   +++|          IF (G.EQ.0) THEN
00405  M00S00304.panel   +++|            CALL ERROR('SHIFT not allowed')
00406  M00S00305.panel   +++|            RETURN
00407  M00S00306.panel   +++|          ENDIF
00408  M00S00307.panel   +++|          N = -N
00409  M00S00308.panel   +++|        ENDIF
00410  M00S00309.panel   +++|        END
00411  M00S00310.panel   +++|C---------------------------------------------------------------------
Line S00311 Modification History
M01 (Removed by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00412  M01S00311.243l647 ---|C*        CHEKMUS - CHECK IF FILL, ENTER, OR KNOW
Line S00054 Modification History
M01 (Added by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00413  M01S00054.243l647 +++|C*        CHEKPIC - CHECK IF FILL, ENTER, OR KNOW
00414  M00S00312.panel   +++|C
Line S00313 Modification History
M01 (Removed by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00415  M01S00313.243l647 ---|C*        CHEKPIC - CHECK IF X, A, 9, N, E, OR $
00416  M01S00314.243l647 ---|C                 RETURN I=1, 2, 3, 4, 5,    6, OR 0 IF NOT
Line S00055 Modification History
M01 (Added by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00315.panel   +++|C
00420  M00S00316.panel   +++|        SUBROUTINE CHEKPIC(I)
00421  M00S00317.panel   +++|*CALL   COMFPAN
00422  M00S00318.panel   +++|        INTEGER I
00423  M00S00319.panel   +++|        IF (UPSYMEQ('X')) THEN
00424  M00S00320.panel   +++|          I = VPX
00425  M00S00321.panel   +++|        ELSE IF (UPSYMEQ('A')) THEN
00426  M00S00322.panel   +++|          I = VPA
00427  M00S00323.panel   +++|        ELSE IF (SYMEQ('9')) THEN
00428  M00S00324.panel   +++|          I = VP9
00429  M00S00325.panel   +++|        ELSE IF (UPSYMEQ('N')) THEN
00430  M00S00326.panel   +++|          I = VPN
00431  M00S00327.panel   +++|        ELSE IF (UPSYMEQ('E')) THEN
00432  M00S00328.panel   +++|          I = VPE
00433  M00S00329.panel   +++|        ELSE IF (SYMEQ('$')) THEN
00434  M00S00330.panel   +++|          I = VPC
Line S00331 Modification History
M01 (Removed by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00435  M01S00331.243l647 ---|        ELSE IF (UPSYMEQ('Y')) THEN
Line S00057 Modification History
M01 (Added by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00436  M01S00057.243l647 +++|        ELSE IF (UPSYMEQ('Y') .OR. UPSYMEQ('YMD')) THEN
00437  M00S00332.panel   +++|          I = VPY
Line S00333 Modification History
M01 (Removed by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00438  M01S00333.243l647 ---|        ELSE IF (UPSYMEQ('M')) THEN
Line S00058 Modification History
M01 (Added by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00439  M01S00058.243l647 +++|        ELSE IF (UPSYMEQ('M') .OR. UPSYMEQ('MDY')) THEN
00440  M00S00334.panel   +++|          I = VPM
Line S00335 Modification History
M01 (Removed by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00441  M01S00335.243l647 ---|        ELSE IF (UPSYMEQ('D')) THEN
Line S00059 Modification History
M01 (Added by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00442  M01S00059.243l647 +++|        ELSE IF (UPSYMEQ('D') .OR. UPSYMEQ('DMY')) THEN
00443  M00S00336.panel   +++|          I = VPD
00444  M00S00337.panel   +++|        ELSE
00445  M00S00338.panel   +++|          I = 0
00446  M00S00339.panel   +++|        ENDIF
00447  M00S00340.panel   +++|        END
00448  M00S00341.panel   +++|C-------------------------------------------------------------------
00449  M00S00342.panel   +++|C*      CLEN - RETURN LENGTH OF NAME
00450  M00S00343.panel   +++|C
00451  M00S00344.panel   +++|C       ENTRY   S=STRING
00452  M00S00345.panel   +++|C               7 CHARACTERS OR LESS
00453  M00S00346.panel   +++|C
00454  M00S00347.panel   +++|        INTEGER FUNCTION CLEN(S)
00455  M00S00348.panel   +++|        CHARACTER*(*) S
00456  M00S00349.panel   +++|        I = 7
00457  M00S00350.panel   +++|1       IF (S(I:I).EQ.' ') THEN
00458  M00S00351.panel   +++|          IF (I.GT.1) THEN
00459  M00S00352.panel   +++|            I = I - 1
00460  M00S00353.panel   +++|            GOTO 1
00461  M00S00354.panel   +++|          ENDIF
00462  M00S00355.panel   +++|        ENDIF
00463  M00S00356.panel   +++|        CLEN = I
00464  M00S00357.panel   +++|        END
00465  M00S00358.panel   +++|C-------------------------------------------------------------------
00466  M00S00359.panel   +++|C*      COMMENT - OUTPUT A COMMENT
00467  M00S00360.panel   +++|C
00468  M00S00361.panel   +++|        SUBROUTINE COMMENT(S)
00469  M00S00362.panel   +++|*CALL   COMFPAN
00470  M00S00363.panel   +++|        CHARACTER*(*) S
00471  M00S00364.panel   +++|        WRITE(3,100) S
00472  M00S00365.panel   +++|100     FORMAT('*',A)
00473  M00S00366.panel   +++|        END
00474  M00S00367.panel   +++|C-------------------------------------------------------------------
00475  M00S00368.panel   +++|C*      COPYSYM - COPY SYMBOL TO VALIDATION TABLE
00476  M00S00369.panel   +++|C
00477  M00S00370.panel   +++|        SUBROUTINE COPYSYM
00478  M00S00371.panel   +++|*CALL   COMFPAN
00479  M00S00372.panel   +++|        IF (SYMTP.EQ.'S') THEN
00480  M00S00373.panel   +++|          IF (NVAL+SL.GE.MVAL) THEN
00481  M00S00374.panel   +++|            CALL ERROR('VALIDATION TABLE OVERFLOW')
00482  M00S00375.panel   +++|            RETURN
00483  M00S00376.panel   +++|          ENDIF
00484  M00S00377.panel   +++|          NVAL = NVAL + 1
00485  M00S00378.panel   +++|          VVAL(NVAL) = SL
00486  M00S00379.panel   +++|          DO 100 I = 1, SL
00487  M00S00380.panel   +++|            NVAL = NVAL + 1
00488  M00S00381.panel   +++|            VVAL(NVAL) = STRG(I)
00489  M00S00382.panel   +++|100       CONTINUE
00490  M00S00383.panel   +++|        ELSE
00491  M00S00384.panel   +++|          IF (NVAL+SJ-SI.GE.MVAL) THEN
00492  M00S00385.panel   +++|            CALL ERROR('VALIDATION TABLE OVERFLOW')
00493  M00S00386.panel   +++|            RETURN
00494  M00S00387.panel   +++|          ENDIF
00495  M00S00388.panel   +++|          NVAL = NVAL + 1
00496  M00S00389.panel   +++|          VVAL(NVAL) = SJ - SI
00497  M00S00390.panel   +++|          DO 200 I = SI, SJ - 1
00498  M00S00391.panel   +++|            NVAL = NVAL + 1
00499  M00S00392.panel   +++|            VVAL(NVAL) = IMAG(I,1)
00500  M00S00393.panel   +++|200       CONTINUE
00501  M00S00394.panel   +++|        ENDIF
00502  M00S00395.panel   +++|        END
00503  M00S00396.panel   +++|C-------------------------------------------------------------------
00504  M00S00397.panel   +++|C*      COPYVAR - INITIALIZE VARIABLE TO SAME AS VARIABLE I
00505  M00S00398.panel   +++|C
00506  M00S00399.panel   +++|C       I - INDEX OF VARIABLE TO COPY
00507  M00S00400.panel   +++|C       J - ROW NUMBER
00508  M00S00401.panel   +++|C
00509  M00S00402.panel   +++|C
00510  M00S00403.panel   +++|        SUBROUTINE COPYVAR(I,J)
00511  M00S00404.panel   +++|*CALL   COMFPAN
00512  M00S00405.panel   +++|        INTEGER I, J
00513  M00S00406.panel   +++|        IF (NVAR.EQ.MVAR) THEN
00514  M00S00407.panel   +++|          CALL ERRORN(MVAR,'variables')
00515  M00S00408.panel   +++|          RETURN
00516  M00S00409.panel   +++|        ENDIF
00517  M00S00410.panel   +++|        NVAR = NVAR + 1
00518  M00S00411.panel   +++|        VTAB(NVAR) = VTAB(I)
00519  M00S00412.panel   +++|        VAIO(NVAR) = VAIO(I)
00520  M00S00413.panel   +++|        VARL(NVAR) = VARL(I)
00521  M00S00414.panel   +++|        VARV(NVAR) = VARV(I)
00522  M00S00415.panel   +++|        VART(NVAR) = VART(I)
00523  M00S00416.panel   +++|        VARM(NVAR) = VARM(I)
Line S00001 Modification History
M01 (Added by) ns2469
Seq #  *Modification Id* Act 
----------------------------+
00524  M01S00001.ns2469  +++|        VARC(NVAR) = VARC(I)
00525  M00S00417.panel   +++|        VARP(NVAR) = VARP(I)
00526  M00S00418.panel   +++|        VAVT(NVAR) = VAVT(I)
00527  M00S00419.panel   +++|        VARH(NVAR) = VARH(I)
00528  M00S00420.panel   +++|        VARD(NVAR) = VARD(I)
00529  M00S00421.panel   +++|        VARA(NVAR) = VARA(I)
00530  M00S00422.panel   +++|        VARF(NVAR) = VARF(I)
00531  M00S00423.panel   +++|        VARR(NVAR) = J
00532  M00S00424.panel   +++|        VARNM(NVAR) = VARNM(I)
00533  M00S00425.panel   +++|        END
00534  M00S00426.panel   +++|C-------------------------------------------------------------------
00535  M00S00427.panel   +++|C*      CORGEN - CORNER GENERATION
00536  M00S00428.panel   +++|C
00537  M00S00429.panel   +++|C       ENTRY
00538  M00S00430.panel   +++|C               I,J=POSITION OF CORNER
00539  M00S00431.panel   +++|C               T= TYPE OF CORNER
00540  M00S00432.panel   +++|C
00541  M00S00433.panel   +++|        SUBROUTINE CORGEN(I,J,T)
00542  M00S00434.panel   +++|*CALL   COMFPAN
00543  M00S00435.panel   +++|        INTEGER I,J,T
00544  M00S00436.panel   +++|        CALL NEWLC(I,J,1,T)
00545  M00S00437.panel   +++|        NCOL = MAX(NCOL,I)
00546  M00S00438.panel   +++|        END
00547  M00S00439.panel   +++|C-------------------------------------------------------------------
Line S00440 Modification History
M01 (Removed by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00548  M01S00440.ns2150  ---|C*      CORMOV - MOVE FROM CORNER TO FOLLOW A LINE
00549  M01S00441.ns2150  ---|C
00550  M01S00442.ns2150  ---|C       ENTRY
00551  M01S00443.ns2150  ---|C               I,J=POS OF CORNER
00552  M01S00444.ns2150  ---|C               II,JI=INCREMENT TO MOVE
00553  M01S00445.ns2150  ---|C
00554  M01S00446.ns2150  ---|        SUBROUTINE CORMOV(I,J,II,JI)
00555  M01S00447.ns2150  ---|*CALL   COMFPAN
00556  M01S00448.ns2150  ---|        INTEGER I,J,II,JI
00557  M01S00449.ns2150  ---|        INTEGER IS,JSS
00558  M01S00450.ns2150  ---|        IS = I
00559  M01S00451.ns2150  ---|        JS = J
00560  M01S00452.ns2150  ---|100     IS = IS + II
00561  M01S00453.ns2150  ---|        JS = JS + JI
00562  M01S00454.ns2150  ---|        IF (IS.GT.0.AND.IS.LE.132.AND.
00563  M01S00455.ns2150  ---|     A      JS.GT.0.AND.JS.LE.MROW) THEN
00564  M01S00456.ns2150  ---|          IF (ISLIN(IMAG(IS,JS))) GOTO 100
00565  M01S00457.ns2150  ---|          IF (ISCOR(IMAG(IS,JS))) CALL CORSTAK(IS,JS)
00566  M01S00458.ns2150  ---|        ENDIF
00567  M01S00459.ns2150  ---|        IF (IS.NE.I+II.OR.JS.NE.J+JI) THEN
00568  M01S00460.ns2150  ---|C         HAD SOME LINE
00569  M01S00461.ns2150  ---|          IF (II.NE.0) THEN
00570  M01S00462.ns2150  ---|C           HORIZONTAL LINE
00571  M01S00463.ns2150  ---|            CALL NEWHL(MIN(I+II,IS-II),J,IABS(IS-I)-1)
00572  M01S00464.ns2150  ---|          ELSE
00573  M01S00465.ns2150  ---|C           VERTICAL LINE
00574  M01S00466.ns2150  ---|            CALL NEWVL(I,MIN(J+JI,JS-JI),IABS(JS-J)-1)
00575  M01S00467.ns2150  ---|          ENDIF
00576  M01S00468.ns2150  ---|        ENDIF
00577  M01S00469.ns2150  ---|        END
00578  M01S00470.ns2150  ---|C-------------------------------------------------------------------
Line S00004 Modification History
M01 (Added by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
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 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00591  M02S00016.v23l617 ---|        IF (IS.GT.0.AND.IS.LE.132) THEN
Line S00006 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00592  M01S00006.v23l617 +++|        IF (IS.GT.0.AND.IS.LE.MCOL) THEN
Line S00017 Modification History
M01 (Added by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00471.panel   +++|C*      CORSTAK - CORNER STACK
00625  M00S00472.panel   +++|C
00626  M00S00473.panel   +++|C       ENTRY
00627  M00S00474.panel   +++|C               I,J=POS OF CORNER
00628  M00S00475.panel   +++|C
00629  M00S00476.panel   +++|        SUBROUTINE CORSTAK(I,J)
00630  M00S00477.panel   +++|*CALL   COMFPAN
00631  M00S00478.panel   +++|        INTEGER I,J
00632  M00S00479.panel   +++|        INTEGER CT
00633  M00S00480.panel   +++|C
00634  M00S00481.panel   +++|C       MAKE SURE NOT ALREADY STACKED
00635  M00S00482.panel   +++|C
00636  M00S00483.panel   +++|        IF (IMAG(I,J).EQ.128) RETURN
00637  M00S00484.panel   +++|        IMAG(I,J) = 128
00638  M00S00485.panel   +++|C
00639  M00S00486.panel   +++|C       MAKE SURE CAN STACK
00640  M00S00487.panel   +++|C
00641  M00S00488.panel   +++|        IF (CORS.EQ.MCOR) THEN
00642  M00S00489.panel   +++|          CALL ERROR('Box too big')
00643  M00S00490.panel   +++|          RETURN
00644  M00S00491.panel   +++|        ENDIF
00645  M00S00492.panel   +++|C
00646  M00S00493.panel   +++|C       FIGURE OUT WHAT KIND OF CORNER
00647  M00S00494.panel   +++|C
00648  M00S00495.panel   +++|        CT = 0
00649  M00S00496.panel   +++|C
00650  M00S00497.panel   +++|C       LEFT
00651  M00S00498.panel   +++|C
00652  M00S00499.panel   +++|        IF (I.GT.1) THEN
Line S00500 Modification History
M01 (Removed by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00653  M01S00500.ns2150  ---|          IF (ISLC(IMAG(I-1,J))) THEN
Line S00048 Modification History
M01 (Added by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00654  M01S00048.ns2150  +++|          IF (ISLCH(IMAG(I-1,J))) THEN
00655  M00S00501.panel   +++|            CT = 1
00656  M00S00502.panel   +++|          ENDIF
00657  M00S00503.panel   +++|        ENDIF
00658  M00S00504.panel   +++|C
00659  M00S00505.panel   +++|C       RIGHT
00660  M00S00506.panel   +++|C
Line S00507 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00661  M01S00507.v23l617 ---|        IF (I.LT.132) THEN
Line S00007 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00662  M01S00007.v23l617 +++|        IF (I.LT.MCOL) THEN
Line S00508 Modification History
M01 (Removed by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00663  M01S00508.ns2150  ---|          IF (ISLC(IMAG(I+1,J))) THEN
Line S00049 Modification History
M01 (Added by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00664  M01S00049.ns2150  +++|          IF (ISLCH(IMAG(I+1,J))) THEN
00665  M00S00509.panel   +++|            CT = CT + 2
00666  M00S00510.panel   +++|          ENDIF
00667  M00S00511.panel   +++|        ENDIF
00668  M00S00512.panel   +++|C
00669  M00S00513.panel   +++|C       UP
00670  M00S00514.panel   +++|C
00671  M00S00515.panel   +++|        IF (J.GT.1) THEN
Line S00516 Modification History
M01 (Removed by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00672  M01S00516.ns2150  ---|          IF (ISLC(IMAG(I,J-1))) THEN
Line S00050 Modification History
M01 (Added by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00673  M01S00050.ns2150  +++|          IF (ISLCV(IMAG(I,J-1))) THEN
00674  M00S00517.panel   +++|            CT = CT + 4
00675  M00S00518.panel   +++|          ENDIF
00676  M00S00519.panel   +++|        ENDIF
00677  M00S00520.panel   +++|C
00678  M00S00521.panel   +++|C       DOWN
00679  M00S00522.panel   +++|C
00680  M00S00523.panel   +++|        IF (J.LT.NROW) THEN
Line S00524 Modification History
M01 (Removed by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00681  M01S00524.ns2150  ---|          IF (ISLC(IMAG(I,J+1))) THEN
Line S00051 Modification History
M01 (Added by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00682  M01S00051.ns2150  +++|          IF (ISLCV(IMAG(I,J+1))) THEN
00683  M00S00525.panel   +++|            CT = CT + 8
00684  M00S00526.panel   +++|          ENDIF
00685  M00S00527.panel   +++|        ENDIF
00686  M00S00528.panel   +++|C
00687  M00S00529.panel   +++|C       NOW STACK IT
00688  M00S00530.panel   +++|C
00689  M00S00531.panel   +++|        CORS = CORS + 1
00690  M00S00532.panel   +++|        CORI(CORS) = I
00691  M00S00533.panel   +++|        CORJ(CORS) = J
00692  M00S00534.panel   +++|        CORT(CORS) = CORO(CT+1)
00693  M00S00535.panel   +++|        END
00694  M00S00536.panel   +++|C-------------------------------------------------------------------
00695  M00S00537.panel   +++|C*      DOBOX - SCAN BOX FROM IMAGE
00696  M00S00538.panel   +++|C
00697  M00S00539.panel   +++|C       ENTRY
00698  M00S00540.panel   +++|C               STARTI,J=POSITION OF BOX CORNER
00699  M00S00541.panel   +++|C               A=INDEX OF BOX
00700  M00S00542.panel   +++|C
00701  M00S00543.panel   +++|C       THE STRATEGY IS TO SCAN THE ENTIRE "BOX", INCLUDING ANY
00702  M00S00544.panel   +++|C       CONNECTED LINES, AND REPLACE IT WITH BLANKS.  NOTE THIS IS
00703  M00S00545.panel   +++|C       A LEGAL BOX (/ REPRESENTS VERTICAL BAR):
00704  M00S00546.panel   +++|C
00705  M00S00547.panel   +++|C                       +-----+       ++
00706  M00S00548.panel   +++|C                   /   /     +-+     //
00707  M00S00549.panel   +++|C                   +---+-----+ +--+--++
00708  M00S00550.panel   +++|C                       /     /    +---+--
00709  M00S00551.panel   +++|C                    ---+-++--+----+
00710  M00S00552.panel   +++|C                         ++  /
00711  M00S00553.panel   +++|C
00712  M00S00554.panel   +++|        SUBROUTINE DOBOX(STARTI,STARTJ,A)
00713  M00S00555.panel   +++|*CALL   COMFPAN
00714  M00S00556.panel   +++|        INTEGER STARTI, STARTJ, A
00715  M00S00557.panel   +++|        INTEGER I,J,T,IE,JE
00716  M00S00558.panel   +++|        INTEGER FIRSTI
00717  M00S00559.panel   +++|        FIRSTI = IBOX + 1
00718  M00S00560.panel   +++|C
00719  M00S00561.panel   +++|C       BOX ATTRIBUTE ORDINAL TO GLOBAL *NBOX*
00720  M00S00562.panel   +++|C
00721  M00S00563.panel   +++|        NBOX = BOXW(A)
00722  M00S00564.panel   +++|C
00723  M00S00565.panel   +++|C       STACK FIRST CORNER
00724  M00S00566.panel   +++|C
00725  M00S00567.panel   +++|        CORS = 0
00726  M00S00568.panel   +++|        I = STARTI
00727  M00S00569.panel   +++|        J = STARTJ
00728  M00S00570.panel   +++|        CALL CORSTAK(I,J)
00729  M00S00571.panel   +++|        IF (FATAL) RETURN
00730  M00S00572.panel   +++|C
00731  M00S00573.panel   +++|C       UNSTACK CORNER AND SCAN IT
00732  M00S00574.panel   +++|C
00733  M00S00575.panel   +++|100     CONTINUE
00734  M00S00576.panel   +++|        IF (CORS.EQ.0) THEN
00735  M00S00577.panel   +++|          CALL ERASBOX(FIRSTI)
00736  M00S00578.panel   +++|          RETURN
00737  M00S00579.panel   +++|        ENDIF
00738  M00S00580.panel   +++|        I = CORI(CORS)
00739  M00S00581.panel   +++|        J = CORJ(CORS)
00740  M00S00582.panel   +++|        T = CORT(CORS)
00741  M00S00583.panel   +++|        CORS = CORS - 1
00742  M00S00584.panel   +++|C
00743  M00S00585.panel   +++|C       GEN CORNER
00744  M00S00586.panel   +++|C
00745  M00S00587.panel   +++|        CALL CORGEN(I,J,T)
00746  M00S00588.panel   +++|C
00747  M00S00589.panel   +++|C       MOVE LEFT
00748  M00S00590.panel   +++|C
Line S00591 Modification History
M01 (Removed by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00749  M01S00591.ns2150  ---|        CALL CORMOV(I,J,-1,0)
Line S00052 Modification History
M01 (Added by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00750  M01S00052.ns2150  +++|        CALL CORMOVH(I,J,-1)
00751  M00S00592.panel   +++|C
00752  M00S00593.panel   +++|C       MOVE RIGHT
00753  M00S00594.panel   +++|C
Line S00595 Modification History
M01 (Removed by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00754  M01S00595.ns2150  ---|        CALL CORMOV(I,J,1,0)
Line S00053 Modification History
M01 (Added by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00755  M01S00053.ns2150  +++|        CALL CORMOVH(I,J,1)
00756  M00S00596.panel   +++|C
00757  M00S00597.panel   +++|C       MOVE UP
00758  M00S00598.panel   +++|C
Line S00599 Modification History
M01 (Removed by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00759  M01S00599.ns2150  ---|        CALL CORMOV(I,J,0,-1)
Line S00054 Modification History
M01 (Added by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00760  M01S00054.ns2150  +++|        CALL CORMOVV(I,J,-1)
00761  M00S00600.panel   +++|C
00762  M00S00601.panel   +++|C       MOVE DOWN
00763  M00S00602.panel   +++|C
Line S00603 Modification History
M01 (Removed by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00764  M01S00603.ns2150  ---|        CALL CORMOV(I,J,0,1)
Line S00055 Modification History
M01 (Added by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
00765  M01S00055.ns2150  +++|        CALL CORMOVV(I,J,1)
00766  M00S00604.panel   +++|        GOTO 100
00767  M00S00605.panel   +++|        END
00768  M00S00606.panel   +++|C-------------------------------------------------------------------
00769  M00S00607.panel   +++|C*      EOP - END OF PANEL
00770  M00S00608.panel   +++|C
00771  M00S00609.panel   +++|      SUBROUTINE EOP
00772  M00S00610.panel   +++|*CALL   COMFPAN
00773  M00S00611.panel   +++|      WRITE(3,100) PNAME
00774  M00S00612.panel   +++|100   FORMAT('.LAST    BSS   0'/
00775  M00S00613.panel   +++|     A       '         END   ',A)
00776  M00S00614.panel   +++|      END
00777  M00S00615.panel   +++|C-------------------------------------------------------------------
00778  M00S00616.panel   +++|C*      ERASBOX - ERASE BOX
00779  M00S00617.panel   +++|C
00780  M00S00618.panel   +++|C       FI - FIRST IBOX IN BOX
00781  M00S00619.panel   +++|C
00782  M00S00620.panel   +++|        SUBROUTINE ERASBOX(FI)
00783  M00S00621.panel   +++|*CALL   COMFPAN
00784  M00S00622.panel   +++|        INTEGER FI
00785  M00S00623.panel   +++|        DO 100 I = FI, IBOX
00786  M00S00624.panel   +++|          IMAG(BOXX(I)+1,BOXY(I)+1) = ZSP
00787  M00S00625.panel   +++|100     CONTINUE
00788  M00S00626.panel   +++|        END
00789  M00S00627.panel   +++|C-------------------------------------------------------------------
00790  M00S00628.panel   +++|C*      ERR - ERROR
00791  M00S00629.panel   +++|C
00792  M00S00630.panel   +++|      SUBROUTINE ERR(S)
00793  M00S00631.panel   +++|*CALL COMFPAN
00794  M00S00632.panel   +++|      CHARACTER*(*) S
00795  M00S00633.panel   +++|      WRITE(2,'(2A)') ' PANEL INTERNAL ERROR: ',S
00796  M00S00634.panel   +++|      END
00797  M00S00635.panel   +++|C-------------------------------------------------------------------
00798  M00S00636.panel   +++|C*      ERROR - SYNTAX ERROR MESSAGE
00799  M00S00637.panel   +++|C
00800  M00S00638.panel   +++|        SUBROUTINE ERROR(S)
00801  M00S00639.panel   +++|*CALL   COMFPAN
00802  M00S00640.panel   +++|        CHARACTER*(*) S
00803  M00S00641.panel   +++|        IF (INDEF) THEN
00804  M00S00642.panel   +++|          IF (SI.EQ.1) THEN
00805  M00S00643.panel   +++|            WRITE(2,'('' '',A)') '!'
00806  M00S00644.panel   +++|          ELSE
00807  M00S00645.panel   +++|            WRITE(2,'('' '', 2A)') BLANK(1:SI-1), '!'
00808  M00S00646.panel   +++|          ENDIF
00809  M00S00647.panel   +++|        ENDIF
00810  M00S00648.panel   +++|        WRITE(2,1) S
00811  M00S00649.panel   +++|1       FORMAT(' *ERROR*  ',A)
00812  M00S00650.panel   +++|        FATAL = .TRUE.
00813  M00S00651.panel   +++|        END
00814  M00S00652.panel   +++|C-------------------------------------------------------------------
00815  M00S00653.panel   +++|C*      ERRORN - MORE THAN N OF S
00816  M00S00654.panel   +++|C
00817  M00S00655.panel   +++|C       ENTRY   N=NUMBER
00818  M00S00656.panel   +++|C               S=STRING
00819  M00S00657.panel   +++|C
00820  M00S00658.panel   +++|        SUBROUTINE ERRORN(N,S)
00821  M00S00659.panel   +++|*CALL   COMFPAN
00822  M00S00660.panel   +++|        INTEGER N
00823  M00S00661.panel   +++|        CHARACTER*(*) S
00824  M00S00662.panel   +++|        CHARACTER*80 M
00825  M00S00663.panel   +++|        IF (N.LT.10) THEN
00826  M00S00664.panel   +++|          WRITE(M,'(A,I1,2A)') ' More than ', N, ' ', S
00827  M00S00665.panel   +++|        ELSE IF (N.LT.100) THEN
00828  M00S00666.panel   +++|          WRITE(M,'(A,I2,2A)') ' More than ', N, ' ', S
00829  M00S00667.panel   +++|        ELSE
00830  M00S00668.panel   +++|          WRITE(M,'(A,I3,2A)') ' More than ', N, ' ', S
00831  M00S00669.panel   +++|        ENDIF
00832  M00S00670.panel   +++|        CALL ERROR (M)
00833  M00S00671.panel   +++|        END
00834  M00S00672.panel   +++|C-------------------------------------------------------------------
00835  M00S00673.panel   +++|C*      EXPECT - EXPECT S1 AFTER S2 ERROR
00836  M00S00674.panel   +++|C
00837  M00S00675.panel   +++|      SUBROUTINE EXPECT(S1,S2)
00838  M00S00676.panel   +++|*CALL   COMFPAN
00839  M00S00677.panel   +++|      CHARACTER*(*) S1, S2
00840  M00S00678.panel   +++|      CHARACTER*80 S
00841  M00S00679.panel   +++|      S = ' '
00842  M00S00680.panel   +++|      IF (S2(1:1).EQ.' ') THEN
00843  M00S00681.panel   +++|        S = 'Expecting '//S1
00844  M00S00682.panel   +++|      ELSE
00845  M00S00683.panel   +++|        S = 'Expecting '//S1//' after '//S2
00846  M00S00684.panel   +++|      ENDIF
00847  M00S00685.panel   +++|      CALL ERROR(S)
00848  M00S00686.panel   +++|      END
00849  M00S00687.panel   +++|C-------------------------------------------------------------------
00850  M00S00688.panel   +++|C*      GAL - GENERATE ARRAY LIST
00851  M00S00689.panel   +++|C
00852  M00S00690.panel   +++|        SUBROUTINE GAL
00853  M00S00691.panel   +++|*CALL   COMFPAN
00854  M00S00692.panel   +++|        CALL BLOCK('TABLE LIST')
00855  M00S00693.panel   +++|        CALL LABEL('TABL')
00856  M00S00694.panel   +++|        DO 1000 I = 1,NTAB
00857  M00S00695.panel   +++|          CALL VFD('42/0H'//TABNM(I))
00858  M00S00696.panel   +++|          CALL VFD('18/0')
00859  M00S00697.panel   +++|          CALL VFD('36/0')
00860  M00S00698.panel   +++|          CALL VFDN('8/',TABD(I))
00861  M00S00699.panel   +++|          CALL VFDN('8/',TABR(I))
00862  M00S00700.panel   +++|          CALL VFDN('8/',TABF(I))
00863  M00S00701.panel   +++|1000    CONTINUE
00864  M00S00702.panel   +++|        IF (NTAB.GT.0) CALL VFD('60/0')
00865  M00S00703.panel   +++|        END
00866  M00S00704.panel   +++|C-------------------------------------------------------------------
00867  M00S00705.panel   +++|C*      GAT - GENERATE ATTRIBUTE TABLE
00868  M00S00706.panel   +++|C
00869  M00S00707.panel   +++|        SUBROUTINE GAT
00870  M00S00708.panel   +++|*CALL   COMFPAN
00871  M00S00709.panel   +++|        CALL BLOCK('ATTRIBUTE TABLE')
00872  M00S00710.panel   +++|        CALL LABEL('ATTR')
00873  M00S00711.panel   +++|C
00874  M00S00712.panel   +++|        DO 1000 I = 1,NATR
00875  M00S00713.panel   +++|          CALL LABELN('ATR',I-1)
00876  M00S00714.panel   +++|C                                               LOGICAL/PHYSICAL
00877  M00S00715.panel   +++|          CALL VFD('1/'//ATRLP(I))
00878  M00S00716.panel   +++|C                                               PROTECT, GUARD
00879  M00S00717.panel   +++|          CALL VFDN('2/',ATIO(I))
00880  M00S00718.panel   +++|C                                               PHYSICAL ATTRIBUTES
00881  M00S00719.panel   +++|          IF (ATRLP(I).EQ.'0') THEN
00882  M00S00720.panel   +++|C                                               RESERVED
00883  M00S00721.panel   +++|            CALL VFD('5/0')
00884  M00S00722.panel   +++|C                                                 UNDERLINE
00885  M00S00723.panel   +++|            CALL VFD('1/'//ATRUL(I))
00886  M00S00724.panel   +++|C                                                 ALT. INTENSITY
00887  M00S00725.panel   +++|            CALL VFD('1/'//ATRAI(I))
00888  M00S00726.panel   +++|C                                                 INVERSE VIDEO
00889  M00S00727.panel   +++|            CALL VFD('1/'//ATRIV(I))
00890  M00S00728.panel   +++|C                                                 BLINK
00891  M00S00729.panel   +++|            CALL VFD('1/'//ATRBL(I))
Line S00730 Modification History
M01 (Removed by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
00892  M01S00730.243l647 ---|C                                               LOGICAL ATTRIBUTE
00893  M01S00731.243l647 ---|          ELSE
00894  M01S00732.243l647 ---|            CALL VFD('6/0')
00895  M01S00733.243l647 ---|            CALL VFDN('3/',ATTP(I))
00896  M01S00734.243l647 ---|          ENDIF
00897  M01S00735.243l647 ---|C                                               FOREGROUND COLOR
00898  M01S00736.243l647 ---|          CALL VFDN('3/',ATFC(I))
00899  M01S00737.243l647 ---|C                                               BACKGROUND COLOR
00900  M01S00738.243l647 ---|          CALL VFD('3/0')
00901  M01S00739.243l647 ---|C                                               RESERVED
00902  M01S00740.243l647 ---|          CALL VFD('9/0')
Line S00060 Modification History
M01 (Added by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
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  M00S00741.panel   +++|C                                               ATTRIBUTE CHAR START
00914  M00S00742.panel   +++|          CALL VFDN('12/',ATCS(I))
00915  M00S00743.panel   +++|C                                               ATTRIBUTE CHAR END
00916  M00S00744.panel   +++|          CALL VFDN('12/',ATCE(I))
00917  M00S00745.panel   +++|C                                               SPECIAL CHARACTER
00918  M00S00746.panel   +++|          CALL VFDN('2/',ATSC(I))
00919  M00S00747.panel   +++|C                                               BRACKET ID
00920  M00S00748.panel   +++|          CALL VFDN('5/',ATBI(I))
00921  M00S00749.panel   +++|C                                               LINE WEIGHT
00922  M00S00750.panel   +++|          CALL VFDN('2/',ATLW(I))
00923  M00S00751.panel   +++|          CALL COMMENT('*')
00924  M00S00752.panel   +++|1000    CONTINUE
00925  M00S00753.panel   +++|        END
00926  M00S00754.panel   +++|C-------------------------------------------------------------------
00927  M00S00755.panel   +++|C*      GBL - GENERATE BOX LIST
00928  M00S00756.panel   +++|C
00929  M00S00757.panel   +++|        SUBROUTINE GBL
00930  M00S00758.panel   +++|*CALL   COMFPAN
00931  M00S00759.panel   +++|        INTEGER I
00932  M00S00760.panel   +++|        CALL BLOCK('BOX LIST')
00933  M00S00761.panel   +++|        CALL LABEL('BOXS')
00934  M00S00762.panel   +++|        DO 2000 I = 1, IBOX
Line S00763 Modification History
M01 (Removed by) panel1
Seq #  *Modification Id* Act 
----------------------------+
00935  M01S00763.panel1  ---|          CALL VFDN('12/',BOXA(I)-1))
Line S00001 Modification History
M01 (Added by) panel1
Seq #  *Modification Id* Act 
----------------------------+
00936  M01S00001.panel1  +++|          CALL VFDN('12/',BOXA(I)-1)
00937  M00S00764.panel   +++|          CALL VFDN('4/',BOXC(I))
00938  M00S00765.panel   +++|          CALL VFDN('6/',BOXY(I))
00939  M00S00766.panel   +++|          CALL VFDN('9/',BOXX(I))
00940  M00S00767.panel   +++|          CALL VFDN('9/',BOXN(I))
00941  M00S00768.panel   +++|          CALL VFD('20/0')
00942  M00S00769.panel   +++|          CALL COMMENT('*')
00943  M00S00770.panel   +++|2000    CONTINUE
Line S00771 Modification History
M01 (Removed by) panel4
Seq #  *Modification Id* Act 
----------------------------+
00944  M01S00771.panel4  ---|        IF (IBOX.GT.0) CALL VFD('60/0')
Line S00001 Modification History
M01 (Added by) panel4
Seq #  *Modification Id* Act 
----------------------------+
00945  M01S00001.panel4  +++|C                                               TERMINATE BOX LIST
00946  M01S00002.panel4  +++|        CALL VFD('60/0')
00947  M00S00772.panel   +++|        END
00948  M00S00773.panel   +++|C-------------------------------------------------------------------
00949  M00S00774.panel   +++|C*      GCD - GENERATE CONSTANT DATA
00950  M00S00775.panel   +++|C
00951  M00S00776.panel   +++|        SUBROUTINE GCD
00952  M00S00777.panel   +++|*CALL   COMFPAN
00953  M00S00778.panel   +++|        CALL BLOCK('CONSTANTS')
00954  M00S00779.panel   +++|        CALL LABEL('CONS')
00955  M00S00780.panel   +++|        DO 100 I = 1, NCON
00956  M00S00781.panel   +++|          CALL LABELN('CON',I)
00957  M00S00782.panel   +++|          CALL VFD('12/7')
Line S00783 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00958  M01S00783.v23l617 ---|          CALL GST(IMAG,CONI(I)+133*FIEY(CONF(I)),
Line S00008 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
00959  M01S00008.v23l617 +++|          CALL GST(IMAG,CONI(I)+(MCOL+1)*FIEY(CONF(I)),
00960  M00S00784.panel   +++|     A             FIEL(CONF(I)),(FIEL(CONF(I))+6)/5*5-1,
00961  M00S00785.panel   +++|     B             0,O"4000")
00962  M00S00786.panel   +++|100     CONTINUE
00963  M00S00787.panel   +++|        END
00964  M00S00788.panel   +++|C-------------------------------------------------------------------
00965  M00S00789.panel   +++|C*      GFL - GENERATE FIELD LIST
00966  M00S00790.panel   +++|C
00967  M00S00791.panel   +++|        SUBROUTINE GFL
00968  M00S00792.panel   +++|*CALL   COMFPAN
00969  M00S00793.panel   +++|        CALL BLOCK('FIELDS')
00970  M00S00794.panel   +++|        CALL LABEL('FIEL')
00971  M00S00795.panel   +++|        DO 100 I = 1, NFIE
00972  M00S00796.panel   +++|C                                       FIELD TYPE (1=VAR, 0=CONST)
00973  M00S00797.panel   +++|          CALL VFDN('1/',FIET(I))
00974  M00S00798.panel   +++|C                                       ATTRIBUTE ORDINAL
00975  M00S00799.panel   +++|          CALL VFDN('7/',FIEA(I))
00976  M00S00800.panel   +++|C                                       I/0 (0=NA, 1=OUT, 2=IN, 3=IN/OUT
00977  M00S00801.panel   +++|C                                         CONSTANT ALWAYS 1
00978  M00S00802.panel   +++|          IF (FIET(I).EQ.0) THEN
00979  M00S00803.panel   +++|            CALL VFD('2/1')
00980  M00S00804.panel   +++|          ELSE
00981  M00S00805.panel   +++|            CALL VFDN('2/',3-VAIO(FIEV(I)))
00982  M00S00806.panel   +++|          ENDIF
00983  M00S00807.panel   +++|C                                       VALUE ENTERED, VALID
00984  M00S00808.panel   +++|          CALL VFD('2/0')
00985  M00S00809.panel   +++|C                                       REWRITE
00986  M00S00810.panel   +++|          CALL VFD('1/1')
00987  M00S00811.panel   +++|C                                       ACTIVE
00988  M00S00812.panel   +++|          CALL VFD('1/1')
00989  M00S00813.panel   +++|C                                       RESERVED
00990  M00S00814.panel   +++|          CALL VFD('1/0')
00991  M00S00815.panel   +++|C                                       CONSTANT
00992  M00S00816.panel   +++|          IF (FIET(I).EQ.0) THEN
00993  M00S00817.panel   +++|C                                         RESERVED
00994  M00S00818.panel   +++|            CALL VFD('3/0')
00995  M00S00819.panel   +++|C                                         CONSTANT OFFSET
00996  M00S00820.panel   +++|            CALL VFDN('18/-START+CON',FIEV(I))
00997  M00S00821.panel   +++|C                                       VARIABLE
00998  M00S00822.panel   +++|          ELSE
00999  M00S00823.panel   +++|C                                         VARIABLE ORDINAL
01000  M00S00824.panel   +++|            CALL VFDN('8/',FIEV(I)-1)
01001  M00S00825.panel   +++|C                                         VAR DATA ORDINAL
01002  M00S00826.panel   +++|            CALL VFDN('13/',FIEO(I))
01003  M00S00827.panel   +++|          ENDIF
01004  M00S00828.panel   +++|C                                       LENGTH
01005  M00S00829.panel   +++|          CALL VFDN('9/',FIEL(I))
01006  M00S00830.panel   +++|C                                       LINE
01007  M00S00831.panel   +++|          CALL VFDN('6/',FIEY(I))
01008  M00S00832.panel   +++|C                                       COLUMN
01009  M00S00833.panel   +++|          CALL VFDN('9/',FIEX(I))
01010  M00S00834.panel   +++|          CALL COMMENT(' ')
01011  M00S00835.panel   +++|100     CONTINUE
01012  M00S00836.panel   +++|        IF (NFIE.GT.0) CALL VFD('60/0')
01013  M00S00837.panel   +++|        END
01014  M00S00838.panel   +++|C-------------------------------------------------------------------
01015  M00S00839.panel   +++|C*      GFT - GENERATE FUNCTION TABLE
01016  M00S00840.panel   +++|C
01017  M00S00841.panel   +++|        SUBROUTINE GFT
01018  M00S00842.panel   +++|*CALL   COMFPAN
01019  M00S00843.panel   +++|        CALL BLOCK('FUNCTIONS')
01020  M00S00844.panel   +++|        CALL LABEL('FUNC')
01021  M00S00845.panel   +++|        DO 1000 I = 1, NFUN
01022  M00S00846.panel   +++|          CALL VFD('44/0')
01023  M00S00847.panel   +++|          CALL VFDN('9/',FUNA(I))
01024  M00S00848.panel   +++|          CALL VFDN('1/',FUNG(I))
01025  M00S00849.panel   +++|          CALL VFDN('6/',FUNK(I))
01026  M00S00850.panel   +++|          CALL COMMENT('*')
01027  M00S00851.panel   +++|1000    CONTINUE
01028  M00S00852.panel   +++|        IF (NFUN.GT.0) CALL VFD('60/0')
01029  M00S00853.panel   +++|        END
01030  M00S00854.panel   +++|C-------------------------------------------------------------------
01031  M00S00855.panel   +++|C*      GPE - GENERATE PANEL END
01032  M00S00856.panel   +++|C
01033  M00S00857.panel   +++|        SUBROUTINE GPE
01034  M00S00858.panel   +++|*CALL   COMFPAN
01035  M00S00859.panel   +++|        CALL BLOCK('END OF PANEL')
01036  M00S00860.panel   +++|        CALL LABEL('LAST')
01037  M00S00861.panel   +++|        WRITE(3,100) PNAME
01038  M00S00862.panel   +++|100     FORMAT(T10,'END',T16,A)
01039  M00S00863.panel   +++|        END
01040  M00S00864.panel   +++|C-------------------------------------------------------------------
01041  M00S00865.panel   +++|C*      GPH - GENERATE PANEL HEADER
01042  M00S00866.panel   +++|C
01043  M00S00867.panel   +++|        SUBROUTINE GPH
01044  M00S00868.panel   +++|*CALL   COMFPAN
01045  M00S00869.panel   +++|C
01046  M00S00870.panel   +++|        WRITE(3,100) PNAME, PNAME(1:CLEN(PNAME)), PNAME, PNAME
01047  M00S00871.panel   +++|100     FORMAT(T10,'IDENT',T16,A/
01048  M00S00872.panel   +++|     A         T10,'LCC',T16,'GROUP(SFPANEL)'/
01049  M00S00873.panel   +++|     B         T10,'LCC',T16,'CAPSULE(',A,')'/
01050  M00S00874.panel   +++|     C         T10,'ENTRY',T16,A/
01051  M00S00875.panel   +++|     D         A,T10,'BSS',T16,'0')
01052  M00S00876.panel   +++|        CALL BLOCK('PANEL HEADER')
01053  M00S00877.panel   +++|        CALL LABEL('START')
01054  M00S00878.panel   +++|        CALL VFD('42/0L'//PNAME)
01055  M00S00879.panel   +++|        CALL VFD('14/0')
01056  M00S00880.panel   +++|        CALL VFDB(WRIB)
01057  M00S00881.panel   +++|        CALL VFDB(ERAR)
01058  M00S00882.panel   +++|        CALL VFDB(ERBW)
01059  M00S00883.panel   +++|        CALL VFDB(BLKA)
01060  M00S00884.panel   +++|C
01061  M00S00885.panel   +++|        CALL COMMENT(' ')
01062  M00S00886.panel   +++|        CALL VFDN('6/',NROW-1)
01063  M00S00887.panel   +++|        CALL VFD('18/LAST-START')
01064  M00S00888.panel   +++|        CALL VFDIF('18/',NFUN,'FUNC-START')
01065  M00S00889.panel   +++|        CALL VFDIF('18/',NVAR,'VARS-START')
01066  M00S00890.panel   +++|C
01067  M00S00891.panel   +++|        CALL COMMENT(' ')
01068  M00S00892.panel   +++|        CALL VFDN('6/',VERS)
01069  M00S00893.panel   +++|        CALL VFD('18/ATTR-START')
01070  M00S00894.panel   +++|        CALL VFDIF('18/',NTAB,'TABL-START')
01071  M00S00895.panel   +++|        CALL VFDIF('18/',NFIE,'FIEL-START')
01072  M00S00896.panel   +++|C
01073  M00S00897.panel   +++|        CALL COMMENT(' ')
01074  M00S00898.panel   +++|        CALL VFD('6/0')
01075  M00S00899.panel   +++|        CALL VFDIF('18/',NBOX,'BOXS-START')
01076  M00S00900.panel   +++|        CALL VFD('12/0')
01077  M00S00901.panel   +++|        CALL VFDN('9/',MSGL)
01078  M00S00902.panel   +++|        CALL VFDN('6/',MSGY)
01079  M00S00903.panel   +++|        CALL VFDN('9/',MSGX)
01080  M00S00904.panel   +++|C
01081  M00S00905.panel   +++|        CALL COMMENT(' ')
01082  M00S00906.panel   +++|        N = 0
01083  M00S00907.panel   +++|        DO 200 I = 1, NFIE
01084  M00S00908.panel   +++|          IF (FIET(I).EQ.1) THEN
01085  M00S00909.panel   +++|            N = N + FIEL(I)
01086  M00S00910.panel   +++|          ENDIF
01087  M00S00911.panel   +++|200     CONTINUE
01088  M00S00912.panel   +++|        CALL VFDN('13/',N)
Line S00009 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01089  M01S00009.v23l617 +++|        NCOL = MAX(NCOL,MSGL)
01090  M00S00913.panel   +++|        CALL VFDN('9/',NCOL)
01091  M00S00914.panel   +++|        CALL VFD('38/0')
01092  M00S00915.panel   +++|        END
01093  M00S00916.panel   +++|C-------------------------------------------------------------------
01094  M00S00917.panel   +++|C*      GPR - GENERATE PANEL RECORD
01095  M00S00918.panel   +++|C
01096  M00S00919.panel   +++|        SUBROUTINE GPR
01097  M00S00920.panel   +++|*CALL   COMFPAN
01098  M00S00921.panel   +++|C                               PANEL HEADER
01099  M00S00922.panel   +++|        CALL GPH
01100  M00S00923.panel   +++|C                               VAR DATA
01101  M00S00924.panel   +++|        CALL GVD
01102  M00S00925.panel   +++|C                               FIELD LIST
01103  M00S00926.panel   +++|        CALL GFL
01104  M00S00927.panel   +++|C                               CONSTANTS
01105  M00S00928.panel   +++|        CALL GCD
01106  M00S00929.panel   +++|C                               VARIABLES
01107  M00S00930.panel   +++|        CALL GVF
01108  M00S00931.panel   +++|C                                 HELP
01109  M00S00932.panel   +++|        CALL GVH
01110  M00S00933.panel   +++|C                                 VALIDATION
01111  M00S00934.panel   +++|        CALL GVV
01112  M00S00935.panel   +++|C                               FUNCTION KEYS
01113  M00S00936.panel   +++|        CALL GFT
01114  M00S00937.panel   +++|C                               ATTRIBUTES
01115  M00S00938.panel   +++|        CALL GAT
01116  M00S00939.panel   +++|C                               TABLES
01117  M00S00940.panel   +++|        CALL GAL
01118  M00S00941.panel   +++|C                               BOXES
01119  M00S00942.panel   +++|        CALL GBL
01120  M00S00943.panel   +++|C                               END
01121  M00S00944.panel   +++|        CALL GPE
01122  M00S00945.panel   +++|        END
01123  M00S00946.panel   +++|C-------------------------------------------------------------------
01124  M00S00947.panel   +++|C*      GST - GENERATE STRING FROM ARRAY
01125  M00S00948.panel   +++|C
01126  M00S00949.panel   +++|C       ENTRY   A = ARRAY
01127  M00S00950.panel   +++|C               J = START OF STRING
01128  M00S00951.panel   +++|C               L = ACTUAL LENGTH OF STRING
01129  M00S00952.panel   +++|C               ML= MIN AND MAX LENGTH OF STRING
01130  M00S00953.panel   +++|C               F = FILL CHAR
01131  M00S00954.panel   +++|C               IAF = CONSTANT TO ADD TO DATA (NOT FILL)
01132  M00S00955.panel   +++|C
01133  M00S00956.panel   +++|        SUBROUTINE GST(A,J,L,ML,F,IAF)
01134  M00S00957.panel   +++|*CALL   COMFPAN
01135  M00S00958.panel   +++|        INTEGER A(1), J, L, ML, F, IAF
01136  M00S00959.panel   +++|        LEN = MIN(L,ML)
01137  M00S00960.panel   +++|        DO 100 I = 0, LEN-1
01138  M00S00961.panel   +++|          CALL VFDN('12/',A(J+I)+IAF)
01139  M00S00962.panel   +++|100     CONTINUE
01140  M00S00963.panel   +++|        DO 200 I = LEN+1, ML
01141  M00S00964.panel   +++|          CALL VFDN('12/',F)
01142  M00S00965.panel   +++|200     CONTINUE
01143  M00S00966.panel   +++|        END
01144  M00S00967.panel   +++|C-------------------------------------------------------------------
01145  M00S00968.panel   +++|C*      GVD - GENERATE VAR DATA
01146  M00S00969.panel   +++|C
01147  M00S00970.panel   +++|        SUBROUTINE GVD
01148  M00S00971.panel   +++|*CALL   COMFPAN
01149  M00S00972.panel   +++|        INTEGER N
01150  M00S00973.panel   +++|        INTEGER NULL(1)
01151  M00S00974.panel   +++|        DATA NULL/Z"20"/
01152  M00S00975.panel   +++|        CALL BLOCK('VAR DATA')
01153  M00S00976.panel   +++|        CALL LABEL('DATA')
01154  M00S00977.panel   +++|        DO 100 I = 1, NFIE
01155  M00S00978.panel   +++|          IF (FIET(I).EQ.1) THEN
01156  M00S00979.panel   +++|C                                               INITIAL VALUE
01157  M00S00980.panel   +++|            IF (VARD(FIEV(I)).NE.0) THEN
01158  M00S00981.panel   +++|C                                                 CHAR LEFT JUSTIFIED
01159  M00S00982.panel   +++|              IF (VART(FIEV(I)).EQ.VTC) THEN
01160  M00S00983.panel   +++|                CALL GST(VVAL,VARD(FIEV(I))+1,
01161  M00S00984.panel   +++|     A                   VVAL(VARD(FIEV(I))),FIEL(I),ZSP,0)
01162  M00S00985.panel   +++|              ELSE
01163  M00S00986.panel   +++|C                                                 NUMBERS RIGHT JUSTIFIE
01164  M00S00987.panel   +++|                N = VVAL(VARD(FIEV(I))) - FIEL(I)
01165  M00S00988.panel   +++|                IF (N.GE.0) THEN
01166  M00S00989.panel   +++|                  CALL GST(VVAL,VARD(FIEV(I))+1+N,
01167  M00S00990.panel   +++|     A                     FIEL(I),FIEL(I),ZSP,0)
01168  M00S00991.panel   +++|                ELSE
01169  M00S00992.panel   +++|                  CALL GST(NULL,1,1,-N,ZSP,0)
01170  M00S00993.panel   +++|                  CALL GST(VVAL,VARD(FIEV(I))+1,
01171  M00S00994.panel   +++|     A                     VVAL(VARD(FIEV(I))),FIEL(I)+N,ZSP,0)
01172  M00S00995.panel   +++|                ENDIF
01173  M00S00996.panel   +++|              ENDIF
01174  M00S00997.panel   +++|            ELSE
01175  M00S00998.panel   +++|              CALL GST(NULL,1,1,FIEL(I),ZSP,0)
01176  M00S00999.panel   +++|            ENDIF
01177  M00S01000.panel   +++|          ENDIF
01178  M00S01001.panel   +++|100     CONTINUE
01179  M00S01002.panel   +++|        END
01180  M00S01003.panel   +++|C-------------------------------------------------------------------
01181  M00S01004.panel   +++|C*      GVF - GENERATE VARIABLE FIELDS
01182  M00S01005.panel   +++|C
01183  M00S01006.panel   +++|        SUBROUTINE GVF
01184  M00S01007.panel   +++|*CALL   COMFPAN
01185  M00S01008.panel   +++|        CALL BLOCK('VARIABLES')
01186  M00S01009.panel   +++|        CALL LABEL('VARS')
01187  M00S01010.panel   +++|        DO 100 I = 1, NVAR
Line S01011 Modification History
M01 (Removed by) ns2469
Seq #  *Modification Id* Act 
----------------------------+
01188  M01S01011.ns2469  ---|C                                       RESERVED
01189  M01S01012.ns2469  ---|          CALL VFD('2/0')
Line S00002 Modification History
M01 (Added by) ns2469
Seq #  *Modification Id* Act 
----------------------------+
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 (Removed by) ns2473
Seq #  *Modification Id* Act 
----------------------------+
01192  M02S00004.ns2473  ---|C                                       RESERVED
01193  M02S00005.ns2473  ---|          CALL VFD('1/0')
Line S01013 Modification History
M01 (Removed by) ns2473
Seq #  *Modification Id* Act 
----------------------------+
01194  M01S01013.ns2473  ---|C                                       FIELD OFFSET
01195  M01S01014.ns2473  ---|          CALL VFDN('8/',VARF(I))
Line S00001 Modification History
M01 (Added by) ns2473
Seq #  *Modification Id* Act 
----------------------------+
01196  M01S00001.ns2473  +++|C                                       FIELD OFFSET
01197  M01S00002.ns2473  +++|          CALL VFDN('9/',VARF(I))
01198  M00S01015.panel   +++|C                                       ROW NUMBER
01199  M00S01016.panel   +++|          CALL VFDN('8/',VARR(I))
01200  M00S01017.panel   +++|C                                       ARRAY ORDINAL
01201  M00S01018.panel   +++|          CALL VFDN('5/',VTAB(I))
01202  M00S01019.panel   +++|C                                       MUST ENTER, FILL, KNOW
01203  M00S01020.panel   +++|          CALL VFDN('3/',VARM(I))
01204  M00S01021.panel   +++|C                                       TYPE
01205  M00S01022.panel   +++|          CALL VFDN('2/',VART(I))
01206  M00S01023.panel   +++|C                                       PICTURE
01207  M00S01024.panel   +++|          CALL VFDN('8/',VARP(I))
01208  M00S01025.panel   +++|C                                       VALIDATION
01209  M00S01026.panel   +++|          CALL VFDN('6/',VAVT(I))
01210  M00S01027.panel   +++|C                                       VALIDATION OFFSET
01211  M00S01028.panel   +++|          IF (VARV(I).NE.0) THEN
01212  M00S01029.panel   +++|            CALL VFDN('18/-START+VAL',I)
01213  M00S01030.panel   +++|          ELSE
01214  M00S01031.panel   +++|            CALL VFD('18/0')
01215  M00S01032.panel   +++|          ENDIF
01216  M00S01033.panel   +++|        CALL COMMENT(' ')
01217  M00S01034.panel   +++|C                                       VAR NAME
01218  M00S01035.panel   +++|        CALL VFD('42/0H'//VARNM(I))
01219  M00S01036.panel   +++|C                                       HELP
01220  M00S01037.panel   +++|        IF (VARH(I).NE.0) THEN
01221  M00S01038.panel   +++|          CALL VFDN('18/-START+HLP',I)
01222  M00S01039.panel   +++|        ELSE
01223  M00S01040.panel   +++|          CALL VFD('18/0')
01224  M00S01041.panel   +++|        ENDIF
01225  M00S01042.panel   +++|        CALL COMMENT('*')
01226  M00S01043.panel   +++|C
01227  M00S01044.panel   +++|100     CONTINUE
01228  M00S01045.panel   +++|        IF (NVAR.GT.0) CALL VFD('60/0')
01229  M00S01046.panel   +++|        END
01230  M00S01047.panel   +++|C-------------------------------------------------------------------
01231  M00S01048.panel   +++|C*      GVH - GENERATE VARIABLE HELP
01232  M00S01049.panel   +++|C
01233  M00S01050.panel   +++|        SUBROUTINE GVH
01234  M00S01051.panel   +++|*CALL   COMFPAN
01235  M00S01052.panel   +++|        CALL BLOCK('HELP')
01236  M00S01053.panel   +++|        DO 300 I = 1, NVAR
01237  M00S01054.panel   +++|          IF (VARH(I).NE.0) THEN
01238  M00S01055.panel   +++|            L = VVAL(VARH(I))
01239  M00S01056.panel   +++|            IF (L.GT.0) THEN
01240  M00S01057.panel   +++|              CALL LABELN('HLP',I)
01241  M00S01058.panel   +++|              CALL VFD('12/7')
01242  M00S01059.panel   +++|              CALL GST(VVAL,VARH(I)+1,VVAL(VARH(I)),
01243  M00S01060.panel   +++|     A                 (L+6)/5*5-1,0,O"4000")
01244  M00S01061.panel   +++|            ENDIF
01245  M00S01062.panel   +++|          ENDIF
01246  M00S01063.panel   +++|300     CONTINUE
01247  M00S01064.panel   +++|        END
01248  M00S01065.panel   +++|C-------------------------------------------------------------------
01249  M00S01066.panel   +++|C*      GVV - GENERATE VARIABLE VALIDATION
01250  M00S01067.panel   +++|C
01251  M00S01068.panel   +++|        SUBROUTINE GVV
01252  M00S01069.panel   +++|*CALL   COMFPAN
Line S00002 Modification History
M01 (Added by) ns2612
Seq #  *Modification Id* Act 
----------------------------+
01253  M01S00002.ns2612  +++|        INTEGER L
01254  M00S01070.panel   +++|        CALL BLOCK('VALIDATION')
01255  M00S01071.panel   +++|        DO 300 I = 1, NVAR
01256  M00S01072.panel   +++|          GOTO (100,200), VAVT(I)
01257  M00S01073.panel   +++|          GOTO 300
01258  M00S01074.panel   +++|C
01259  M00S01075.panel   +++|C         MATCH
01260  M00S01076.panel   +++|C
01261  M00S01077.panel   +++|100       CONTINUE
01262  M00S01078.panel   +++|          CALL LABELN('VAL',I)
01263  M00S01079.panel   +++|          J = VARV(I)
01264  M00S01080.panel   +++|110       CONTINUE
01265  M00S01081.panel   +++|          IF (VVAL(J).LT.0) THEN
01266  M00S01082.panel   +++|            CALL VFD('60/0')
01267  M00S01083.panel   +++|            GOTO 300
01268  M00S01084.panel   +++|          ENDIF
Line S01085 Modification History
M01 (Removed by) ns2612
Seq #  *Modification Id* Act 
----------------------------+
01269  M01S01085.ns2612  ---|          CALL GST(VVAL,J+1,VVAL(J),10,Z"20",0)
Line S00003 Modification History
M01 (Added by) ns2612
Seq #  *Modification Id* Act 
----------------------------+
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  M00S01086.panel   +++|          J = J + 1 + VVAL(J)
01274  M00S01087.panel   +++|          CALL COMMENT('*')
01275  M00S01088.panel   +++|          GOTO 110
01276  M00S01089.panel   +++|C
01277  M00S01090.panel   +++|C         RANGE
01278  M00S01091.panel   +++|C
01279  M00S01092.panel   +++|200       CONTINUE
01280  M00S01093.panel   +++|          CALL LABELN('VAL',I)
01281  M00S01094.panel   +++|          CALL VFDO('60/',VVAL(VARV(I)))
01282  M00S01095.panel   +++|          CALL VFDO('60/',VVAL(VARV(I)+1))
01283  M00S01096.panel   +++|300     CONTINUE
01284  M00S01097.panel   +++|        END
01285  M00S01098.panel   +++|C-------------------------------------------------------------------
01286  M00S01099.panel   +++|C*      INCI - INCREMENT I POSITION (BUT NOT X)
01287  M00S01100.panel   +++|C
01288  M00S01101.panel   +++|        SUBROUTINE INCI
01289  M00S01102.panel   +++|        SI = SI + 1
01290  M00S01103.panel   +++|        END
01291  M00S01104.panel   +++|C-------------------------------------------------------------------
01292  M00S01105.panel   +++|C*      INCX - INCREMENT X POSITION
01293  M00S01106.panel   +++|C
01294  M00S01107.panel   +++|        SUBROUTINE INCX
01295  M00S01108.panel   +++|        SX = SX + 1
01296  M00S01109.panel   +++|        SI = SI + 1
01297  M00S01110.panel   +++|        END
01298  M00S01111.panel   +++|C-------------------------------------------------------------------
01299  M00S01112.panel   +++|C*      INCY - INCREMENT Y POSITION
01300  M00S01113.panel   +++|C
01301  M00S01114.panel   +++|        SUBROUTINE INCY
01302  M00S01115.panel   +++|        SJ = SJ + 1
01303  M00S01116.panel   +++|        END
01304  M00S01117.panel   +++|C-------------------------------------------------------------------
01305  M00S01118.panel   +++|C*      ISA - IS ALPHABETIC
01306  M00S01119.panel   +++|C
01307  M00S01120.panel   +++|C       ENTRY
01308  M00S01121.panel   +++|C               C = CHARACTER TO TEST
01309  M00S01122.panel   +++|C
01310  M00S01123.panel   +++|        LOGICAL FUNCTION ISA(C)
01311  M00S01124.panel   +++|*CALL   COMFPAN
01312  M00S01125.panel   +++|        INTEGER C
01313  M00S01126.panel   +++|        ISA = C.GE.ZAA.AND.C.LE.ZZZ.OR.
01314  M00S01127.panel   +++|     A        C.GE.ZA.AND.C.LE.ZZ
01315  M00S01128.panel   +++|        END
01316  M00S01129.panel   +++|C-------------------------------------------------------------------
01317  M00S01130.panel   +++|C*      ISAN - IS ALPHANUMERIC
01318  M00S01131.panel   +++|C
01319  M00S01132.panel   +++|C       ENTRY   C=CHARACTER TO TEST
01320  M00S01133.panel   +++|C
01321  M00S01134.panel   +++|        LOGICAL FUNCTION ISAN(C)
01322  M00S01135.panel   +++|*CALL   COMFPAN
01323  M00S01136.panel   +++|        INTEGER C
01324  M00S01137.panel   +++|        ISAN = ISA(C).OR.ISN(C)
01325  M00S01138.panel   +++|        END
01326  M00S01139.panel   +++|C-------------------------------------------------------------------
01327  M00S01140.panel   +++|C*      ISCOR - IS A CORNER
01328  M00S01141.panel   +++|C
01329  M00S01142.panel   +++|C       ENTRY   C = ASCII CHAR TO TEST
01330  M00S01143.panel   +++|C
01331  M00S01144.panel   +++|        LOGICAL FUNCTION ISCOR(C)
01332  M00S01145.panel   +++|*CALL   COMFPAN
01333  M00S01146.panel   +++|        INTEGER C
Line S01147 Modification History
M01 (Removed by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01334  M01S01147.ns2150  ---|        ISCOR = SPCH(C).LT.0
Line S00056 Modification History
M01 (Added by) ns2150
M02 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01335  M02S00056.v23l617 ---|        ISCOR = SPCH(C).LT.0.AND.SPCH(C).NE.-128
Line S00010 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01336  M01S00010.v23l617 +++|        ISCOR = (SPCH(C).LT.0.AND.SPCH(C).NE.-128).OR.C.EQ.128
01337  M00S01148.panel   +++|        END
01338  M00S01149.panel   +++|C-------------------------------------------------------------------
Line S01150 Modification History
M01 (Removed by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01339  M01S01150.ns2150  ---|C*      ISLC - IS A LINE OR A CORNER
01340  M01S01151.ns2150  ---|C
01341  M01S01152.ns2150  ---|C       ENTRY   C = ASCII CHAR TO TEST
01342  M01S01153.ns2150  ---|C
01343  M01S01154.ns2150  ---|        LOGICAL FUNCTION ISLC(C)
01344  M01S01155.ns2150  ---|*CALL   COMFPAN
01345  M01S01156.ns2150  ---|        INTEGER C
01346  M01S01157.ns2150  ---|        ISLC = ISCOR(C).OR.ISLIN(C)
01347  M01S01158.ns2150  ---|        END
01348  M01S01159.ns2150  ---|C-------------------------------------------------------------------
Line S00057 Modification History
M01 (Added by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
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 (Removed by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01367  M01S01160.ns2150  ---|C*      ISLIN - IS A LINE (OF A BOX)
01368  M01S01161.ns2150  ---|C
01369  M01S01162.ns2150  ---|C       ENTRY   C = ASCII CHAR TO TEST
01370  M01S01163.ns2150  ---|C
01371  M01S01164.ns2150  ---|        LOGICAL FUNCTION ISLIN(C)
01372  M01S01165.ns2150  ---|*CALL   COMFPAN
01373  M01S01166.ns2150  ---|        INTEGER C
01374  M01S01167.ns2150  ---|        ISLIN = C.EQ.ZVB.OR.C.EQ.ZMI
Line S00075 Modification History
M01 (Added by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
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  M00S01168.panel   +++|        END
01396  M00S01169.panel   +++|C-------------------------------------------------------------------
01397  M00S01170.panel   +++|C*      ISN - IS NUMERIC
01398  M00S01171.panel   +++|C
01399  M00S01172.panel   +++|C       ENTRY
01400  M00S01173.panel   +++|C               C = CHARACTER TO TEST
01401  M00S01174.panel   +++|C
01402  M00S01175.panel   +++|        LOGICAL FUNCTION ISN(C)
01403  M00S01176.panel   +++|*CALL   COMFPAN
01404  M00S01177.panel   +++|        INTEGER C
01405  M00S01178.panel   +++|        ISN = C.GE.Z0.AND.C.LE.Z9
01406  M00S01179.panel   +++|        END
01407  M00S01180.panel   +++|C-------------------------------------------------------------------
01408  M00S01181.panel   +++|C*      ITODC - INTEGER TO DISPLAY CODE FUNCTION
01409  M00S01182.panel   +++|C
01410  M00S01183.panel   +++|C       ENTRY
01411  M00S01184.panel   +++|C               INT = INTEGER TO CONVERT
01412  M00S01185.panel   +++|C               DC = CHARACTER*10 TO RECEIVE RESULT
01413  M00S01186.panel   +++|C       EXIT
01414  M00S01187.panel   +++|C               I =   INDEX TO START OF RESULT IN DC
01415  M00S01188.panel   +++|C               DC(I:) = RESULT
01416  M00S01189.panel   +++|C
01417  M00S01190.panel   +++|      SUBROUTINE ITODC(INT,DC,I)
01418  M00S01191.panel   +++|*CALL   COMFPAN
01419  M00S01192.panel   +++|      INTEGER INT, I
01420  M00S01193.panel   +++|      CHARACTER*10 DC
01421  M00S01194.panel   +++|      INTEGER N
01422  M00S01195.panel   +++|      N = IABS(INT)
01423  M00S01196.panel   +++|      I = 10
01424  M00S01197.panel   +++|1     DC(I:I) = CHAR(N - ((N/10)*10) + ICHAR('0'))
01425  M00S01198.panel   +++|      N = N/10
01426  M00S01199.panel   +++|      IF (N.EQ.0) THEN
01427  M00S01200.panel   +++|        IF (INT.LT.0.AND.I.GT.1) THEN
01428  M00S01201.panel   +++|          I = I - 1
01429  M00S01202.panel   +++|          DC(I:I) = '-'
01430  M00S01203.panel   +++|          RETURN
01431  M00S01204.panel   +++|        ELSEIF (INT.GE.0) THEN
01432  M00S01205.panel   +++|          RETURN
01433  M00S01206.panel   +++|        ENDIF
01434  M00S01207.panel   +++|      ENDIF
01435  M00S01208.panel   +++|      I = I - 1
01436  M00S01209.panel   +++|      IF (I.GT.0) GOTO 1
01437  M00S01210.panel   +++|      DC = '**********'
01438  M00S01211.panel   +++|      END
01439  M00S01212.panel   +++|C-------------------------------------------------------------------
01440  M00S01213.panel   +++|C       LABEL - GENERATE A LABEL
01441  M00S01214.panel   +++|C
01442  M00S01215.panel   +++|        SUBROUTINE LABEL(S)
01443  M00S01216.panel   +++|*CALL   COMFPAN
01444  M00S01217.panel   +++|        CHARACTER*(*) S
01445  M00S01218.panel   +++|        WRITE(3,100) S
01446  M00S01219.panel   +++|100     FORMAT(A, T10, 'BSS', T16, '0')
01447  M00S01220.panel   +++|        END
01448  M00S01221.panel   +++|C-------------------------------------------------------------------
01449  M00S01222.panel   +++|C*      LABELN - GENERATE A LABEL SUFFIXED BY INTEGER N
01450  M00S01223.panel   +++|C
01451  M00S01224.panel   +++|C       ENTRY   S=LABEL NAME
01452  M00S01225.panel   +++|C               N=LABEL INTEGER
01453  M00S01226.panel   +++|C
01454  M00S01227.panel   +++|        SUBROUTINE LABELN(S,N)
01455  M00S01228.panel   +++|*CALL   COMFPAN
01456  M00S01229.panel   +++|        CHARACTER*(*) S
01457  M00S01230.panel   +++|        INTEGER N
01458  M00S01231.panel   +++|        WRITE(3,100) S, N
01459  M00S01232.panel   +++|100     FORMAT(A, I4.4, T10, 'BSS', T16, '0')
01460  M00S01233.panel   +++|        END
01461  M00S01234.panel   +++|C-------------------------------------------------------------------
01462  M00S01235.panel   +++|C*      NEEDHED - ERROR IF NOT VAR, KEY, ATTR OR BRACKET
01463  M00S01236.panel   +++|C               SKIP FORWARD TO ONE
01464  M00S01237.panel   +++|C
01465  M00S01238.panel   +++|        SUBROUTINE NEEDHED(I)
01466  M00S01239.panel   +++|*CALL   COMFPAN
01467  M00S01240.panel   +++|        INTEGER I
01468  M00S01241.panel   +++|        IF (FATAL) CALL SKIPHED
01469  M00S01242.panel   +++|        CALL CHEKHED(I)
01470  M00S01243.panel   +++|        IF(I.EQ.0) THEN
01471  M00S01244.panel   +++|          CALL EXPECT('VAR, KEY, ATTR, BOX, TABLE or }',' ')
01472  M00S01245.panel   +++|          CALL SKIPHED
01473  M00S01246.panel   +++|        ENDIF
01474  M00S01247.panel   +++|        END
01475  M00S01248.panel   +++|C-------------------------------------------------------------------
01476  M00S01249.panel   +++|C*      NEWATR - NEW ATTRIBUTE
01477  M00S01250.panel   +++|C
01478  M00S01251.panel   +++|        SUBROUTINE NEWATR
01479  M00S01252.panel   +++|*CALL   COMFPAN
01480  M00S01253.panel   +++|        IF (NATR.GE.MATR) THEN
01481  M00S01254.panel   +++|          CALL ERRORN(MATR,'attributes')
01482  M00S01255.panel   +++|          RETURN
01483  M00S01256.panel   +++|        ENDIF
01484  M00S01257.panel   +++|        NATR = NATR + 1
01485  M00S01258.panel   +++|        ATCS(NATR) = 0
01486  M00S01259.panel   +++|        ATCE(NATR) = 0
01487  M00S01260.panel   +++|        ATSC(NATR) = 0
01488  M00S01261.panel   +++|        ATRLP(NATR) = '1'
01489  M00S01262.panel   +++|        ATRUL(NATR) = '0'
01490  M00S01263.panel   +++|        ATRAI(NATR) = '0'
01491  M00S01264.panel   +++|        ATRIV(NATR) = '0'
01492  M00S01265.panel   +++|        ATRBL(NATR) = '0'
Line S01266 Modification History
M01 (Removed by) ns2315
Seq #  *Modification Id* Act 
----------------------------+
01493  M01S01266.ns2315  ---|        ATTP(NATR) = 1
Line S00002 Modification History
M01 (Added by) ns2315
Seq #  *Modification Id* Act 
----------------------------+
01494  M01S00002.ns2315  +++|        ATTP(NATR) = 0
01495  M00S01267.panel   +++|        ATBI(NATR) = 0
01496  M00S01268.panel   +++|        ATLW(NATR) = 0
Line S01269 Modification History
M01 (Removed by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
01497  M01S01269.243l647 ---|        ATFC(NATR) = 7
01498  M00S01270.panel   +++|        ATIO(NATR) = 2
01499  M00S01271.panel   +++|        END
01500  M00S01272.panel   +++|C-------------------------------------------------------------------
01501  M00S01273.panel   +++|C*      NEWCON - NEW CONSTANT
01502  M00S01274.panel   +++|C
01503  M00S01275.panel   +++|C       ENTRY
01504  M00S01276.panel   +++|C               X = X POSITION ON SCREEN
01505  M00S01277.panel   +++|C               Y = Y POSITION ON SCREEN
01506  M00S01278.panel   +++|C               I = COLUMN IN IMAG ARRAY
01507  M00S01279.panel   +++|C               L = NUMBER OF CHARACTERS
01508  M00S01280.panel   +++|C               A = ATTRIBUTE ORDINAL
01509  M00S01281.panel   +++|C
01510  M00S01282.panel   +++|        SUBROUTINE NEWCON(X,Y,I,L,A)
01511  M00S01283.panel   +++|*CALL   COMFPAN
01512  M00S01284.panel   +++|        INTEGER X,Y,I,L,A
Line S01285 Modification History
M01 (Removed by) ns2230
Seq #  *Modification Id* Act 
----------------------------+
01513  M01S01285.ns2230  ---|        IF (NFIE.GE.MFIE) THEN
Line S00001 Modification History
M01 (Added by) ns2230
M02 (Removed by) ns2473
Seq #  *Modification Id* Act 
----------------------------+
01514  M02S00001.ns2473  ---|        IF (NFIE.GT.(MFIE+1)) THEN
Line S01286 Modification History
M01 (Removed by) ns2473
Seq #  *Modification Id* Act 
----------------------------+
01515  M01S01286.ns2473  ---|          CALL ERRORN(MFIE,'fields')
01516  M01S01287.ns2473  ---|          RETURN
01517  M01S01288.ns2473  ---|        ENDIF
Line S00003 Modification History
M01 (Added by) ns2473
Seq #  *Modification Id* Act 
----------------------------+
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  M00S01289.panel   +++|        NCON = NCON + 1
01528  M00S01290.panel   +++|        NFIE = NFIE + 1
01529  M00S01291.panel   +++|        FIEX(NFIE) = X
01530  M00S01292.panel   +++|        FIEY(NFIE) = Y
01531  M00S01293.panel   +++|        FIEL(NFIE) = L
01532  M00S01294.panel   +++|        FIET(NFIE) = 0
01533  M00S01295.panel   +++|        FIEV(NFIE) = NCON
01534  M00S01296.panel   +++|        FIEO(NFIE) = 0
01535  M00S01297.panel   +++|        FIEA(NFIE) = A
01536  M00S01298.panel   +++|        CONI(NCON) = I
01537  M00S01299.panel   +++|        CONF(NCON) = NFIE
01538  M00S01300.panel   +++|        END
01539  M00S01301.panel   +++|C-------------------------------------------------------------------
01540  M00S01302.panel   +++|C*      NEWHL - NEW HORIZONTAL LINE
01541  M00S01303.panel   +++|C
01542  M00S01304.panel   +++|C       ENTRY
01543  M00S01305.panel   +++|C               I,J=START OF LINE
01544  M00S01306.panel   +++|C               L = LENGTH
01545  M00S01307.panel   +++|C
01546  M00S01308.panel   +++|        SUBROUTINE NEWHL(I,J,L)
01547  M00S01309.panel   +++|*CALL   COMFPAN
01548  M00S01310.panel   +++|        INTEGER I,J,L
01549  M00S01311.panel   +++|        CALL NEWLC(I,J,L,0)
01550  M00S01312.panel   +++|        DO 100 K = 1, L
01551  M00S01313.panel   +++|          IMAG(I+K-1,J) = ZSP
01552  M00S01314.panel   +++|100     CONTINUE
01553  M00S01315.panel   +++|        NCOL = MAX(NCOL,I+L-1)
01554  M00S01316.panel   +++|        END
01555  M00S01317.panel   +++|C-------------------------------------------------------------------
01556  M00S01318.panel   +++|C*      NEWLC - NEW LINE OR CORNER
01557  M00S01319.panel   +++|C
01558  M00S01320.panel   +++|C       ENTRY
01559  M00S01321.panel   +++|C               I,J= POS ON SCREEN
01560  M00S01322.panel   +++|C               L = LEN FOR LINE
01561  M00S01323.panel   +++|C               T = TYPE (BOXHL, BOXVL, OR CORNER TYPE)
01562  M00S01324.panel   +++|C
01563  M00S01325.panel   +++|        SUBROUTINE NEWLC(I,J,L,T)
01564  M00S01326.panel   +++|*CALL   COMFPAN
01565  M00S01327.panel   +++|        INTEGER I,J,L,T
01566  M00S01328.panel   +++|        IF (IBOX.GT.255) THEN
01567  M00S01329.panel   +++|          CALL ERRORN(256,'box;elements')
01568  M00S01330.panel   +++|          RETURN
01569  M00S01331.panel   +++|        ENDIF
01570  M00S01332.panel   +++|        IBOX = IBOX + 1
01571  M00S01333.panel   +++|        BOXN(IBOX) = L
01572  M00S01334.panel   +++|        BOXX(IBOX) = I - 1
01573  M00S01335.panel   +++|        BOXY(IBOX) = J - 1
01574  M00S01336.panel   +++|        BOXC(IBOX) = T
01575  M00S01337.panel   +++|        BOXA(IBOX) = NBOX
01576  M00S01338.panel   +++|        END
01577  M00S01339.panel   +++|C-------------------------------------------------------------------
01578  M00S01340.panel   +++|C*      NEWVAR - INITIALIZE VARIABLE
01579  M00S01341.panel   +++|C
01580  M00S01342.panel   +++|        SUBROUTINE NEWVAR
01581  M00S01343.panel   +++|*CALL   COMFPAN
01582  M00S01344.panel   +++|        IF (NVAR.EQ.MVAR) THEN
01583  M00S01345.panel   +++|          CALL ERRORN(MVAR,'variables')
01584  M00S01346.panel   +++|          RETURN
01585  M00S01347.panel   +++|        ENDIF
01586  M00S01348.panel   +++|        NVAR = NVAR + 1
01587  M00S01349.panel   +++|        VTAB(NVAR) = 0
01588  M00S01350.panel   +++|        VAIO(NVAR) = 0
01589  M00S01351.panel   +++|        VARL(NVAR) = 0
01590  M00S01352.panel   +++|        VARV(NVAR) = 0
01591  M00S01353.panel   +++|        VART(NVAR) = VTC
01592  M00S01354.panel   +++|        VARM(NVAR) = VMK
Line S00006 Modification History
M01 (Added by) ns2469
Seq #  *Modification Id* Act 
----------------------------+
01593  M01S00006.ns2469  +++|        VARC(NVAR) = 0
01594  M00S01355.panel   +++|        VARP(NVAR) = 0
01595  M00S01356.panel   +++|        VAVT(NVAR) = 0
01596  M00S01357.panel   +++|        VARH(NVAR) = 0
01597  M00S01358.panel   +++|        VARD(NVAR) = 0
01598  M00S01359.panel   +++|        VARA(NVAR) = 1
01599  M00S01360.panel   +++|        VARF(NVAR) = 0
01600  M00S01361.panel   +++|        VARR(NVAR) = 0
01601  M00S01362.panel   +++|        VARNM(NVAR) = '*'
01602  M00S01363.panel   +++|        END
01603  M00S01364.panel   +++|C-------------------------------------------------------------------
01604  M00S01365.panel   +++|C*      NEWVAT - NEW VARIABLE ATTRIBUTE
01605  M00S01366.panel   +++|C
01606  M00S01367.panel   +++|        SUBROUTINE NEWVAT
01607  M00S01368.panel   +++|*CALL   COMFPAN
01608  M00S01369.panel   +++|        IF (VARA(NVAR).EQ.1) THEN
01609  M00S01370.panel   +++|          CALL NEWATR
01610  M00S01371.panel   +++|          IF (FATAL) RETURN
01611  M00S01372.panel   +++|          ATIO(NATR) = 0
01612  M00S01373.panel   +++|          VARA(NVAR) = NATR - 1
01613  M00S01374.panel   +++|        ENDIF
01614  M00S01375.panel   +++|        END
01615  M00S01376.panel   +++|C-------------------------------------------------------------------
01616  M00S01377.panel   +++|C*      NEWVL - NEW VERTICAL LINE
01617  M00S01378.panel   +++|C
01618  M00S01379.panel   +++|C       ENTRY
01619  M00S01380.panel   +++|C               I,J= POS OF START OF LINE
01620  M00S01381.panel   +++|C               L=LENGTH
01621  M00S01382.panel   +++|C
01622  M00S01383.panel   +++|        SUBROUTINE NEWVL(I,J,L)
01623  M00S01384.panel   +++|*CALL   COMFPAN
01624  M00S01385.panel   +++|        INTEGER I,J,L
01625  M00S01386.panel   +++|        CALL NEWLC(I,J,L,1)
01626  M00S01387.panel   +++|        DO 100 K = 1, L
01627  M00S01388.panel   +++|          IMAG(I,J+K-1) = ZSP
01628  M00S01389.panel   +++|100     CONTINUE
01629  M00S01390.panel   +++|        END
01630  M00S01391.panel   +++|C-------------------------------------------------------------------
Line S00095 Modification History
M01 (Added by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01631  M01S00095.ns2150  +++|C*      PACKATR - PACK ATTRIBUTES DOWN
01632  M01S00096.ns2150  +++|C
01633  M01S00097.ns2150  +++|C       CHECK THE ATTRIBUTE LIST TO SEE IF NATR IS UNIQUE.
01634  M01S00098.ns2150  +++|C       IF NOT, POP NATR AND RETURN THE ORDINAL OF THE
01635  M01S00099.ns2150  +++|C       IDENTICAL ATTRIBUTE.  IF SO, RETURN NATR.
01636  M01S00100.ns2150  +++|C
01637  M01S00101.ns2150  +++|        INTEGER FUNCTION PACKATR()
01638  M01S00102.ns2150  +++|*CALL   COMFPAN
01639  M01S00103.ns2150  +++|        INTEGER I
01640  M01S00104.ns2150  +++|        DO 100 I = 1, NATR-1
01641  M01S00105.ns2150  +++|          IF (ATRLP(NATR).EQ.ATRLP(I).AND.
01642  M01S00106.ns2150  +++|     A        ATRUL(NATR).EQ.ATRUL(I).AND.
01643  M01S00107.ns2150  +++|     B        ATRAI(NATR).EQ.ATRAI(I).AND.
01644  M01S00108.ns2150  +++|     C        ATRIV(NATR).EQ.ATRIV(I).AND.
01645  M01S00109.ns2150  +++|     D        ATRBL(NATR).EQ.ATRBL(I).AND.
01646  M01S00110.ns2150  +++|     E        ATIO(NATR).EQ.ATIO(I).AND.
01647  M01S00111.ns2150  +++|     F        ATTP(NATR).EQ.ATTP(I).AND.
Line S00112 Modification History
M01 (Added by) ns2150
M02 (Removed by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
01648  M02S00112.243l647 ---|     G        ATFC(NATR).EQ.ATFC(I).AND.
Line S00113 Modification History
M01 (Added by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01649  M01S00113.ns2150  +++|     H        ATCS(NATR).EQ.ATCS(I).AND.
01650  M01S00114.ns2150  +++|     I        ATCE(NATR).EQ.ATCE(I).AND.
01651  M01S00115.ns2150  +++|     J        ATSC(NATR).EQ.ATSC(I).AND.
01652  M01S00116.ns2150  +++|     K        ATBI(NATR).EQ.ATBI(I).AND.
01653  M01S00117.ns2150  +++|     L        ATLW(NATR).EQ.ATLW(I)) GOTO 200
01654  M01S00118.ns2150  +++|100     CONTINUE
01655  M01S00119.ns2150  +++|        PACKATR = NATR
01656  M01S00120.ns2150  +++|        RETURN
01657  M01S00121.ns2150  +++|200     PACKATR = I
01658  M01S00122.ns2150  +++|        NATR = NATR - 1
01659  M01S00123.ns2150  +++|        END
01660  M01S00124.ns2150  +++|C-------------------------------------------------------------------
01661  M00S01392.panel   +++|C*      QUIT - ABNORMALLY TERMINATE THE JOB
01662  M00S01393.panel   +++|C
01663  M00S01394.panel   +++|C       ENTRY   M=MESSAGE TO DISPLAY
01664  M00S01395.panel   +++|C
01665  M00S01396.panel   +++|        SUBROUTINE QUIT(M)
01666  M00S01397.panel   +++|*CALL   COMFPAN
01667  M00S01398.panel   +++|        CHARACTER*(*) M
01668  M00S01399.panel   +++|        CHARACTER*80 MESSAGE
01669  M00S01400.panel   +++|        MESSAGE = ' ERROR IN ' // PNAME(1:CLEN(PNAME)) //
01670  M00S01401.panel   +++|     A            ' ' // M // ':::'
01671  M00S01402.panel   +++|        CALL QUITS(MESSAGE)
Line S01403 Modification History
M01 (Removed by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01672  M01S01403.ns2150  ---|        END
01673  M01S01404.ns2150  ---|C-------------------------------------------------------------------
Line S00125 Modification History
M01 (Added by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01674  M01S00125.ns2150  +++|        END
01675  M01S00126.ns2150  +++|C-------------------------------------------------------------------
01676  M00S01405.panel   +++|C*      QUITS - ABNORMALLY TERMINATE THE JOB FOR SYSTEM REASONS
01677  M00S01406.panel   +++|C
01678  M00S01407.panel   +++|C       ENTRY   M=MESSAGE TO DISPLAY
01679  M00S01408.panel   +++|C
01680  M00S01409.panel   +++|        SUBROUTINE QUITS(M)
01681  M00S01410.panel   +++|*CALL   COMFPAN
01682  M00S01411.panel   +++|        CHARACTER*(*) M
01683  M00S01412.panel   +++|        CHARACTER*80 MESSAGE
01684  M00S01413.panel   +++|        MESSAGE = ' PANEL - ' // M //    ':::'
01685  M00S01414.panel   +++|        REWIND 1
01686  M00S01415.panel   +++|        REWIND 2
01687  M00S01416.panel   +++|        REWIND 3
01688  M00S01417.panel   +++|        CALL MSG(MESSAGE)
01689  M00S01418.panel   +++|        CALL ABT
01690  M00S01419.panel   +++|        END
01691  M00S01420.panel   +++|C-------------------------------------------------------------------
01692  M00S01421.panel   +++|C*      READL1 - READ A LINE INTO LINE
01693  M00S01422.panel   +++|C
01694  M00S01423.panel   +++|        SUBROUTINE READL1
01695  M00S01424.panel   +++|*CALL   COMFPAN
01696  M00S01425.panel   +++|        READ(1,100,END=999) LINE
01697  M00S01426.panel   +++|100     FORMAT(A)
01698  M00S01427.panel   +++|        WRITE(2,150) LINE
01699  M00S01428.panel   +++|150     FORMAT(' ',A)
01700  M00S01429.panel   +++|        CALL XLINE(1)
01701  M00S01430.panel   +++|        SJ = 1
01702  M00S01431.panel   +++|        RETURN
01703  M00S01432.panel   +++|999     CONTINUE
01704  M00S01433.panel   +++|        IF (INDEF) THEN
01705  M00S01434.panel   +++|          CALL ERROR('Unexpected end of file')
01706  M00S01435.panel   +++|          CALL QUIT ('END OF FILE DURING DEFINITIONS')
01707  M00S01436.panel   +++|        ELSE
01708  M00S01437.panel   +++|          CALL QUIT ('NO DEFINITION OR IMAGE')
01709  M00S01438.panel   +++|        ENDIF
01710  M00S01439.panel   +++|        ENDFILE = .TRUE.
01711  M00S01440.panel   +++|        END
01712  M00S01441.panel   +++|C-------------------------------------------------------------------
01713  M00S01442.panel   +++|C*      RPI - READ PANEL IMAGE
01714  M00S01443.panel   +++|C
01715  M00S01444.panel   +++|        SUBROUTINE RPI
01716  M00S01445.panel   +++|*CALL   COMFPAN
Line S01446 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01717  M01S01446.v23l617 ---|        DO 200 I = 2,31
Line S00011 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01718  M01S00011.v23l617 +++|        DO 200 I = 2,MROW+1
01719  M00S01447.panel   +++|          READ(1,100,END=300) LINE
01720  M00S01448.panel   +++|100       FORMAT(A)
01721  M00S01449.panel   +++|          WRITE(2,150) LINE
01722  M00S01450.panel   +++|150       FORMAT(' ',A)
Line S01451 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01723  M01S01451.v23l617 ---|          IF (I.LT.31) THEN
Line S00012 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01724  M01S00012.v23l617 +++|          IF (I.LE.MROW) THEN
01725  M00S01452.panel   +++|            CALL XLINE(I)
01726  M00S01453.panel   +++|          ENDIF
01727  M00S01454.panel   +++|200     CONTINUE
Line S01455 Modification History
M01 (Removed by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01728  M01S01455.v23l617 ---|        CALL ERROR('PANEL IMAGE EXCEEDS 30 LINES')
01729  M01S01456.v23l617 ---|        NROW = 30
Line S00013 Modification History
M01 (Added by) v23l617
Seq #  *Modification Id* Act 
----------------------------+
01730  M01S00013.v23l617 +++|        CALL ERROR('PANEL IMAGE EXCEEDS 64 LINES')
01731  M01S00014.v23l617 +++|        NROW = MROW
01732  M00S01457.panel   +++|        RETURN
01733  M00S01458.panel   +++|300     CONTINUE
01734  M00S01459.panel   +++|        NROW = I - 1
01735  M00S01460.panel   +++|        END
01736  M00S01461.panel   +++|C-------------------------------------------------------------------
01737  M00S01462.panel   +++|C*      SCANATR - SCAN ATTRIBUTE
01738  M00S01463.panel   +++|C
01739  M00S01464.panel   +++|        SUBROUTINE SCANATR
01740  M00S01465.panel   +++|*CALL   COMFPAN
01741  M00S01466.panel   +++|        LOGICAL HAVDEL
01742  M00S01467.panel   +++|        HAVDEL = .FALSE.
01743  M00S01468.panel   +++|        N = 0
01744  M00S01469.panel   +++|1       CONTINUE
01745  M00S01470.panel   +++|        CALL SCANSYM
01746  M00S01471.panel   +++|        IF (FATAL) RETURN
01747  M00S01472.panel   +++|2       CONTINUE
01748  M00S01473.panel   +++|        IF (ZEQNEXT()) THEN
01749  M00S01474.panel   +++|          IF (UPSYMEQ('DELIMITERS').OR.UPSYMEQ('D')) THEN
01750  M00S01475.panel   +++|            I = 1
01751  M00S01476.panel   +++|          ELSEIF (UPSYMEQ('PHYSICAL').OR.UPSYMEQ('P')) THEN
01752  M00S01477.panel   +++|            I = 2
01753  M00S01478.panel   +++|          ELSEIF (UPSYMEQ('LOGICAL').OR.UPSYMEQ('L')) THEN
01754  M00S01479.panel   +++|            I = 3
01755  M00S01480.panel   +++|          ELSE
01756  M00S01481.panel   +++|            CALL EXPECT('DELIMITERS, LOGICAL, or PHYSICAL',
01757  M00S01482.panel   +++|     A                  'ATTR')
01758  M00S01483.panel   +++|            RETURN
01759  M00S01484.panel   +++|          ENDIF
01760  M00S01485.panel   +++|          CALL SKIPTWO
01761  M00S01486.panel   +++|          IF (FATAL) RETURN
01762  M00S01487.panel   +++|          GOTO (100,200,300), I
01763  M00S01488.panel   +++|        ELSE
01764  M00S01489.panel   +++|          CALL CHEKHED(J)
01765  M00S01490.panel   +++|          IF (J.NE.0) THEN
01766  M00S01491.panel   +++|            IF (.NOT.HAVDEL) THEN
01767  M00S01492.panel   +++|              CALL EXPECT('DELIMITERS','ATTR')
Line S00127 Modification History
M01 (Added by) ns2150
Seq #  *Modification Id* Act 
----------------------------+
01768  M01S00127.ns2150  +++|              RETURN
01769  M00S01493.panel   +++|            ENDIF
01770  M00S01494.panel   +++|            RETURN
01771  M00S01495.panel   +++|          ENDIF
01772  M00S01496.panel   +++|          N = N + 1
01773  M00S01497.panel   +++|          GOTO (100,200,300), N
01774  M00S01498.panel   +++|          CALL ERROR('Too many ATTR parameters')
01775  M00S01499.panel   +++|          RETURN
01776  M00S01500.panel   +++|        ENDIF
01777  M00S01501.panel   +++|C
01778  M00S01502.panel   +++|C       DELIMITERS
01779  M00S01503.panel   +++|C
01780  M00S01504.panel   +++|100     CONTINUE
01781  M00S01505.panel   +++|        HAVDEL = .TRUE.
01782  M00S01506.panel   +++|        CALL NEWATR
01783  M00S01507.panel   +++|        IF (FATAL) RETURN
01784  M00S01508.panel   +++|        IF (SYMTP.EQ.'S') THEN
01785  M00S01509.panel   +++|          IF (SL.EQ.1) THEN
01786  M00S01510.panel   +++|            ATCS(NATR) = STRG(1)
01787  M00S01511.panel   +++|            ATCE(NATR) = STRG(1)
01788  M00S01512.panel   +++|          ELSEIF (SL.EQ.2) THEN
01789  M00S01513.panel   +++|            ATCS(NATR) = STRG(1)
01790  M00S01514.panel   +++|            ATCE(NATR) = STRG(2)
01791  M00S01515.panel   +++|          ELSE
01792  M00S01516.panel   +++|            CALL ERROR('String length')
01793  M00S01517.panel   +++|            RETURN
01794  M00S01518.panel   +++|          ENDIF
01795  M00S01519.panel   +++|          SPCH(ATCS(NATR)) = NATR
01796  M00S01520.panel   +++|        ELSE
01797  M00S01521.panel   +++|          CALL EXPECT('Quoted delimiters',' ')
01798  M00S01522.panel   +++|          RETURN
01799  M00S01523.panel   +++|        ENDIF
01800  M00S01524.panel   +++|        SPCH(ATCS(NATR)) = NATR
01801  M00S01525.panel   +++|        GOTO 1
01802  M00S01526.panel   +++|C
01803  M00S01527.panel   +++|C       PHYSICAL
01804  M00S01528.panel   +++|C
01805  M00S01529.panel   +++|200     CONTINUE
01806  M00S01530.panel   +++|        CALL SCANLPA(0)
01807  M00S01531.panel   +++|        IF (FATAL) RETURN
01808  M00S01532.panel   +++|        GOTO 1
01809  M00S01533.panel   +++|C
01810  M00S01534.panel   +++|C       LOGICAL
01811  M00S01535.panel   +++|C
01812  M00S01536.panel   +++|300     CONTINUE
01813  M00S01537.panel   +++|        CALL SCANLPA(1)
01814  M00S01538.panel   +++|        IF (FATAL) RETURN
01815  M00S01539.panel   +++|        GOTO 1
01816  M00S01540.panel   +++|        END
01817  M00S01541.panel   +++|C-------------------------------------------------------------------
01818  M00S01542.panel   +++|C*      SCANBOX - SCAN BOX
01819  M00S01543.panel   +++|C
01820  M00S01544.panel   +++|        SUBROUTINE SCANBOX
01821  M00S01545.panel   +++|*CALL   COMFPAN
01822  M00S01546.panel   +++|        INTEGER I, N
01823  M00S01547.panel   +++|        LOGICAL HAVCH
01824  M00S01548.panel   +++|        HAVCH = .FALSE.
01825  M00S01549.panel   +++|        IF (NBOX.GE.MBOX) THEN
01826  M00S01550.panel   +++|          CALL ERRORN(MBOX,'boxes')
01827  M00S01551.panel   +++|          RETURN
01828  M00S01552.panel   +++|        ENDIF
01829  M00S01553.panel   +++|        CALL NEWATR
01830  M00S01554.panel   +++|        IF (FATAL) RETURN
01831  M00S01555.panel   +++|        NBOX = NBOX + 1
01832  M00S01556.panel   +++|        BOXW(NBOX) = NATR
01833  M00S01557.panel   +++|        ATLW(NATR) = 1
Line S00003 Modification History
M01 (Added by) ns2315
Seq #  *Modification Id* Act 
----------------------------+
01834  M01S00003.ns2315  +++|        ATTP(NATR) = 1
Proceed to Part 1
cdc/nos2.source/opl.opl871/deck/panel.txt ยท Last modified: (external edit)