Deck SFORM Part 004

49 Modifications

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
06074  M01S03922.sform9  ---|        VDTOUT(BLANK);
06075  M01S03923.sform9  ---|        TERMISSINP[0] = TRUE;        # ERROR CONDITION #
06076  M01S03924.sform9  ---|        END
Line S00023 Modification History
M01 (Added by) sform9
M02 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06077  M02S00023.242l642 ---|      IF TERTABAUTO[0] AND TERINPVARS[0] THEN
Line S00946 Modification History
M01 (Added by) 242l642
M02 (Removed by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06078  M02S00946.sform24 ---|      IF TERTABAUTO[0] AND NOT TERNOINVRS[0] THEN
Line S00024 Modification History
M01 (Added by) sform9
M02 (Removed by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06079  M02S00024.sform24 ---|        BEGIN                        # IF AUTOMATIC TABBING #
06080  M02S00025.sform24 ---|        TABKEY(SCREENST"FTAB",INPOS,FIELD,INPOS);
06081  M02S00026.sform24 ---|        IF INPOS EQ 0 AND NOT TERTABHOME[0] THEN
06082  M02S00027.sform24 ---|          BEGIN                      # IF TAB DOES NOT STOP AT HOME #
06083  M02S00028.sform24 ---|          TABKEY(SCREENST"FTAB",INPOS,FIELD,INPOS);
06084  M02S00029.sform24 ---|          END
06085  M02S00030.sform24 ---|        OFFSET = 0;                  # CLEAR FIELD OFFSET #
06086  M02S00031.sform24 ---|        LASTFIELD = FIELD;           # UPDATE LAST VALID FIELD #
06087  M02S00032.sform24 ---|        XPOS = XMASKOF INPOS;        # RESET INTERNAL POSITION #
06088  M02S00033.sform24 ---|        YPOS = YMASKOF INPOS;
06089  M02S00034.sform24 ---|        VDTCOR(YPOS,XPOS);
06090  M02S00035.sform24 ---|        WRIVCH(FIELD,OFFSET,CHAR);
06091  M02S00036.sform24 ---|        FLDENTERED[FIELD] = TRUE;
06092  M02S00037.sform24 ---|        FLDVALID[FIELD] = FALSE;     # INVALID UNTIL PROVEN VALID #
06093  M02S00038.sform24 ---|        IF NOT FLDOUTPUTV[FIELD] THEN
06094  M02S00039.sform24 ---|          BEGIN                      # IF INPUT ONLY FIELD #
06095  M02S00040.sform24 ---|          IF NOT TERGUARDMD[0] THEN
06096  M02S00041.sform24 ---|            BEGIN                    # IF NO GUARD MODE AVAILABLE #
06097  M02S00042.sform24 ---|            FLDREWRITE[FIELD] = TRUE;
06098  M02S00043.sform24 ---|            TERREWFLDS[0] = TRUE;
06099  M02S00044.sform24 ---|            END
06100  M02S00045.sform24 ---|          END
06101  M02S00046.sform24 ---|        END
06102  M02S00047.sform24 ---|      ELSE
06103  M02S00048.sform24 ---|        BEGIN                        # NO AUTO TABBING #
Line S00049 Modification History
M01 (Added by) sform9
M02 (Removed by) ns2346
M03 (Removed by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06104  M03S00049.sform24 ---|        IF CHAR NQ BLANK AND NOT TERPROTECT[0] THEN
Line S00013 Modification History
M01 (Added by) ns2346
M02 (Removed by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06105  M02S00013.sform24 ---|        IF CHAR NQ BLANK AND NOT TERTABPROT[0] THEN
Line S00050 Modification History
M01 (Added by) sform9
M02 (Removed by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06106  M02S00050.sform24 ---|          BEGIN                      # IF NEED TO CLEAR ON SCREEN #
06107  M02S00051.sform24 ---|          VDTPOS(XPOS,YPOS);         # ERASE CHARACTER #
06108  M02S00052.sform24 ---|          VDTOUT(BLANK);
06109  M02S00053.sform24 ---|          TERMISSINP[0] = TRUE;      # ERROR CONDITION #
06110  M02S00054.sform24 ---|          END
06111  M02S00055.sform24 ---|        END
Line S00022 Modification History
M01 (Added by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06112  M01S00022.sform24 +++|      IF NOT TERTABAUTO[0] THEN
06113  M01S00023.sform24 +++|        BEGIN                        # IF NEED TO REFRESH SCREEN #
06114  M01S00024.sform24 +++|        RESTFLD (INPOS);
06115  M01S00025.sform24 +++|        TERMISSINP[0] = TRUE;        # ERROR CONDITION #
06116  M01S00026.sform24 +++|        END
06117  M01S00027.sform24 +++|
06118  M01S00028.sform24 +++|      RESTFLD (INPOS);
06119  M00S03925.sform   +++|      END
06120  M00S03926.sform   +++|    END
06121  M00S03927.sform   +++|  ELSE
06122  M00S03928.sform   +++|    BEGIN                            # IGNORE CHARACTER #
Line S03929 Modification History
M01 (Removed by) sform9
Seq #  *Modification Id* Act 
----------------------------+
06123  M01S03929.sform9  ---|    IF VALIDFIELD THEN
06124  M01S03930.sform9  ---|      BEGIN                          # BAD CHARACTER IS IN FIELD #
Line S00056 Modification History
M01 (Added by) sform9
Seq #  *Modification Id* Act 
----------------------------+
06125  M01S00056.sform9  +++|    IF VALIDFIELD AND NOT TERREWSCRN[0] THEN
06126  M01S00057.sform9  +++|      BEGIN                          # IF NEED TO SET REWRITE BIT #
06127  M00S03931.sform   +++|      FLDREWRITE[FIELD] = TRUE;
06128  M00S03932.sform   +++|      TERREWFLDS[0] = TRUE;
06129  M00S03933.sform   +++|      END
06130  M00S03934.sform   +++|    ELSE
06131  M00S03935.sform   +++|      BEGIN                          # BAD CHARACTER IS NOT IN FIELD #
Line S03936 Modification History
M01 (Removed by) sform9
Seq #  *Modification Id* Act 
----------------------------+
06132  M01S03936.sform9  ---|      IF CHAR NQ BLANK THEN
06133  M01S03937.sform9  ---|        BEGIN                        # IF CHARACTER IS NOT A BLANK #
Line S00058 Modification History
M01 (Added by) sform9
Seq #  *Modification Id* Act 
----------------------------+
06134  M01S00058.sform9  +++|      IF CHAR NQ BLANK AND NOT TERREWSCRN[0] THEN
06135  M01S00059.sform9  +++|        BEGIN                        # IF NEED TO CLEAR ON SCREEN #
06136  M00S03938.sform   +++|        VDTPOS(XPOS,YPOS);           # ERASE CHARACTER #
06137  M00S03939.sform   +++|        VDTOUT(BLANK);
06138  M00S03940.sform   +++|        END
06139  M00S03941.sform   +++|      END
06140  M00S03942.sform   +++|    END
06141  M00S03943.sform   +++|  GOTO GETINP;                       # CONTINUE LOOKING AT INPUT #
06142  M01S00060.sform9  +++|
06143  M01S00061.sform9  +++|HOMEKEY:                             # HOME KEY WAS PRESSED #
06144  M01S00062.sform9  +++|
06145  M01S00063.sform9  +++|  IF TERTABAUTO[0] THEN
06146  M01S00064.sform9  +++|    BEGIN                            # IF AUTOMATIC TABBING #
Line S00065 Modification History
M01 (Added by) sform9
M02 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06147  M02S00065.242l642 ---|    IF TERINPVARS[0] THEN
Line S00947 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06148  M01S00947.242l642 +++|    IF NOT TERNOINVRS[0] THEN
Line S00066 Modification History
M01 (Added by) sform9
Seq #  *Modification Id* Act 
----------------------------+
06149  M01S00066.sform9  +++|      BEGIN                          # IF INPUT VARIABLES EXIST #
Line S00067 Modification History
M01 (Added by) sform9
M02 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06150  M02S00067.242l642 ---|      TABKEY(SCREENST"FTAB",INPOS,FIELD,INPOS);
06151  M02S00068.242l642 ---|      OFFSET = 0;                    # CLEAR FIELD OFFSET #
06152  M02S00069.242l642 ---|      LASTFIELD = FIELD;             # UPDATE LAST VALID FIELD #
06153  M02S00070.242l642 ---|      YPOS = YMASKOF INPOS;          # RESET INTERNAL POSITION #
06154  M02S00071.242l642 ---|      XPOS = XMASKOF INPOS;
06155  M02S00072.242l642 ---|      VDTCOR(YPOS,XPOS);
Line S00948 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06156  M01S00948.242l642 +++|      IF NOT TERTABHOME[0] THEN
06157  M01S00949.242l642 +++|        BEGIN                        # CURSOR HAS MOVED TO FIELD #
06158  M01S00950.242l642 +++|        TABKEY(SCREENST"FTAB",INPOS,FIELD,INPOS);
06159  M01S00951.242l642 +++|        OFFSET = 0;                  # CLEAR FIELD OFFSET #
06160  M01S00952.242l642 +++|        LASTFIELD = FIELD;           # UPDATE LAST VALID FIELD #
06161  M01S00953.242l642 +++|        YPOS = YMASKOF INPOS;        # RESET INTERNAL POSITION #
06162  M01S00954.242l642 +++|        XPOS = XMASKOF INPOS;
06163  M01S00955.242l642 +++|        VDTCOR(YPOS,XPOS);
06164  M01S00956.242l642 +++|        END
Line S00073 Modification History
M01 (Added by) sform9
Seq #  *Modification Id* Act 
----------------------------+
06165  M01S00073.sform9  +++|      END
06166  M01S00074.sform9  +++|    END
06167  M01S00075.sform9  +++|  GOTO GETINP;                       # CONTINUE LOOKING AT INPUT #
06168  M01S00076.sform9  +++|
06169  M01S00077.sform9  +++|LEFTKEY:                             # CURSOR LEFT #
06170  M01S00078.sform9  +++|
Line S00079 Modification History
M01 (Added by) sform9
M02 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06171  M02S00079.242l642 ---|  IF TERTABAUTO[0] THEN
Line S00957 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06172  M01S00957.242l642 +++|  IF TERTABAUTO[0] AND NOT TERTABHOME[0] THEN
Line S00080 Modification History
M01 (Added by) sform9
Seq #  *Modification Id* Act 
----------------------------+
06173  M01S00080.sform9  +++|    BEGIN                            # IF AUTOMATIC TABBING #
Line S00081 Modification History
M01 (Added by) sform9
M02 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06174  M02S00081.242l642 ---|    IF TERINPVARS[0] AND NOT VALIDFIELD THEN
Line S00958 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06175  M01S00958.242l642 +++|    IF NOT TERNOINVRS[0] AND NOT VALIDFIELD THEN
Line S00082 Modification History
M01 (Added by) sform9
Seq #  *Modification Id* Act 
----------------------------+
06176  M01S00082.sform9  +++|      BEGIN                          # IF AUTO-TAB TO PREVIOUS FIELD #
Line S00001 Modification History
M01 (Added by) ns2549
Seq #  *Modification Id* Act 
----------------------------+
06177  M01S00001.ns2549  +++|      LASTPOS = INPOS;               # SAVE CURRENT POSITION #
Line S00083 Modification History
M01 (Added by) sform9
Seq #  *Modification Id* Act 
----------------------------+
06178  M01S00083.sform9  +++|      TABKEY(SCREENST"BTAB",INPOS,FIELD,INPOS);
Line S00002 Modification History
M01 (Added by) ns2549
Seq #  *Modification Id* Act 
----------------------------+
06179  M01S00002.ns2549  +++|      IF INPOS EQ 0 AND TERPTDWBPG[0] THEN
06180  M01S00003.ns2549  +++|        BEGIN                        # IF NO BACKWARD WRAP FROM HOME #
06181  M01S00004.ns2549  +++|        INPOS = LASTPOS;             # RESTORE PREVIOUS POSITION #
06182  M01S00005.ns2549  +++|        GOTO GETINP;                 # CONTINUE LOOKING AT INPUT #
06183  M01S00006.ns2549  +++|        END
Line S00084 Modification History
M01 (Added by) sform9
Seq #  *Modification Id* Act 
----------------------------+
06184  M01S00084.sform9  +++|      IF INPOS EQ 0 AND NOT TERTABHOME[0] THEN
06185  M01S00085.sform9  +++|        BEGIN                        # IF TAB DOES NOT STOP AT HOME #
06186  M01S00086.sform9  +++|        TABKEY(SCREENST"BTAB",INPOS,FIELD,INPOS);
06187  M01S00087.sform9  +++|        END
06188  M01S00088.sform9  +++|      OFFSET = FLDLENGTH[FIELD] - 1; # SET OFFSET TO END OF FIELD #
06189  M01S00089.sform9  +++|      LASTFIELD = FIELD;             # UPDATE LAST VALID FIELD #
06190  M01S00090.sform9  +++|      INPOS = INPOS + OFFSET;        # RESET INTERNAL POSITION #
06191  M01S00091.sform9  +++|      YPOS = YMASKOF INPOS;
06192  M01S00092.sform9  +++|      XPOS = XMASKOF INPOS;
06193  M01S00093.sform9  +++|      VDTCOR(YPOS,XPOS);
06194  M01S00094.sform9  +++|      END
06195  M01S00095.sform9  +++|    END
06196  M01S00096.sform9  +++|  GOTO GETINP;                       # CONTINUE LOOKING AT INPUT #
06197  M01S00097.sform9  +++|
06198  M01S00098.sform9  +++|RIGHTKEY:                            # CURSOR RIGHT #
06199  M01S00099.sform9  +++|
Line S00100 Modification History
M01 (Added by) sform9
M02 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06200  M02S00100.242l642 ---|  IF TERTABAUTO[0] THEN
Line S00959 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06201  M01S00959.242l642 +++|  IF TERTABAUTO[0] AND NOT TERTABHOME[0] THEN
Line S00101 Modification History
M01 (Added by) sform9
Seq #  *Modification Id* Act 
----------------------------+
06202  M01S00101.sform9  +++|    BEGIN                            # IF AUTOMATIC TABBING #
Line S00102 Modification History
M01 (Added by) sform9
M02 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06203  M02S00102.242l642 ---|    IF TERINPVARS[0] AND NOT VALIDFIELD THEN
Line S00960 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06204  M01S00960.242l642 +++|    IF NOT TERNOINVRS[0] AND NOT VALIDFIELD THEN
Line S00103 Modification History
M01 (Added by) sform9
Seq #  *Modification Id* Act 
----------------------------+
06205  M01S00103.sform9  +++|      BEGIN                          # IF AUTO-TAB TO NEXT FIELD #
06206  M01S00104.sform9  +++|      TABKEY(SCREENST"FTAB",INPOS,FIELD,INPOS);
06207  M01S00105.sform9  +++|      IF INPOS EQ 0 AND NOT TERTABHOME[0] THEN
06208  M01S00106.sform9  +++|        BEGIN                        # IF TAB DOES NOT STOP AT HOME #
06209  M01S00107.sform9  +++|        TABKEY(SCREENST"FTAB",INPOS,FIELD,INPOS);
06210  M01S00108.sform9  +++|        END
06211  M01S00109.sform9  +++|      OFFSET = 0;                    # CLEAR FIELD OFFSET #
06212  M01S00110.sform9  +++|      LASTFIELD = FIELD;             # UPDATE LAST VALID FIELD #
06213  M01S00111.sform9  +++|      YPOS = YMASKOF INPOS;          # RESET INTERNAL POSITION #
06214  M01S00112.sform9  +++|      XPOS = XMASKOF INPOS;
06215  M01S00113.sform9  +++|      VDTCOR(YPOS,XPOS);
06216  M01S00114.sform9  +++|      END
06217  M01S00115.sform9  +++|    END
06218  M01S00116.sform9  +++|  GOTO GETINP;                       # CONTINUE LOOKING AT INPUT #
06219  M01S00117.sform9  +++|
Line S03944 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06220  M01S03944.242l642 ---|
Line S03945 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06221  M01S03945.252l678 ---|FORWARDTAB:
06222  M01S03946.252l678 ---|BACKWRDTAB:                          # TAB KEY PRESSED #
06223  M01S03947.252l678 ---|
06224  M01S03948.252l678 ---|  IF TERTABPROT[0] THEN
06225  M01S03949.252l678 ---|    BEGIN                            # CAN TAB TO UNPROTECTED FIELD #
Line S00961 Modification History
M01 (Added by) 242l642
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06226  M02S00961.252l678 ---|    LASTPOS = INPOS;                 # SAVE POSITION #
Line S00007 Modification History
M01 (Added by) sform5
M02 (Removed by) sform9
M03 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06227  M03S00007.252l678 ---|    IF NOT VALIDFIELD AND TERTABAUTO[0] AND LASTORD EQ SCREENST"CHAR"
06228  M03S00008.252l678 ---|      AND ORD EQ SCREENST"FTAB" THEN
06229  M03S00009.252l678 ---|      BEGIN                          # IF AUTO TAB THEN HARD TAB #
06230  M03S00010.252l678 ---|      TABKEY(ORD,INPOS,FIELD,INPOS);
06231  M03S00011.252l678 ---|      IF INPOS EQ 0 AND NOT TERTABHOME[0] THEN
06232  M03S00012.252l678 ---|        BEGIN                        # IF TAB DOES NOT STOP AT HOME #
06233  M03S00013.252l678 ---|        TABKEY(ORD,INPOS,FIELD,INPOS);
06234  M03S00014.252l678 ---|        END
06235  M03S00015.252l678 ---|      END
Line S03950 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06236  M01S03950.252l678 ---|    TABKEY(ORD,INPOS,FIELD,INPOS);
Line S03951 Modification History
M01 (Removed by) 242l642
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06237  M02S03951.252l678 ---|    IF INPOS EQ 0 AND NOT TERTABHOME[0] THEN
06238  M02S03952.252l678 ---|      BEGIN                          # IF TAB DOES NOT STOP AT HOME #
06239  M02S03953.252l678 ---|      TABKEY(ORD,INPOS,FIELD,INPOS);
06240  M02S03954.252l678 ---|      END
Line S00962 Modification History
M01 (Added by) 242l642
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06241  M02S00962.252l678 ---|    IF INPOS EQ 0 THEN
06242  M02S00963.252l678 ---|      BEGIN                          # IF LOGICALLY AT HOME #
06243  M02S00964.252l678 ---|      IF NOT TERPTDWFPG THEN
06244  M02S00965.252l678 ---|        BEGIN                        # IF TAB CAN REALLY WRAP #
06245  M02S00966.252l678 ---|        IF NOT TERTABHOME[0] THEN
06246  M02S00967.252l678 ---|          BEGIN                      # IF TAB DOES NOT STOP AT HOME #
06247  M02S00968.252l678 ---|          TABKEY(ORD,INPOS,FIELD,INPOS);
06248  M02S00969.252l678 ---|          END
06249  M02S00970.252l678 ---|        OFFSET = 0;                  # CLEAR FIELD OFFSET #
06250  M02S00971.252l678 ---|        LASTFIELD = FIELD;           # UPDATE LAST VALID FIELD #
06251  M02S00972.252l678 ---|        END
06252  M02S00973.252l678 ---|      ELSE
06253  M02S00974.252l678 ---|        BEGIN                        # TAB DID NOT OCCUR ON SCREEN #
06254  M02S00975.252l678 ---|        INPOS = LASTPOS;
06255  M02S00976.252l678 ---|        END
06256  M02S00977.252l678 ---|      END
06257  M02S00978.252l678 ---|    YPOS = YMASKOF INPOS;            # RESET INTERNAL POSITION #
06258  M02S00979.252l678 ---|    XPOS = XMASKOF INPOS;
06259  M02S00980.252l678 ---|    VDTCOR(YPOS,XPOS);
Line S00118 Modification History
M01 (Added by) sform9
M02 (Removed by) 242l642
M03 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06260  M03S00118.252l678 ---|    OFFSET = 0;                      # CLEAR FIELD OFFSET #
06261  M03S00119.252l678 ---|    LASTFIELD = FIELD;               # UPDATE LAST VALID FIELD #
Line S03955 Modification History
M01 (Removed by) 242l642
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06262  M02S03955.252l678 ---|    YPOS = YMASKOF INPOS;            # RESET INTERNAL POSITION #
06263  M02S03956.252l678 ---|    XPOS = XMASKOF INPOS;
06264  M02S03957.252l678 ---|    VDTCOR(YPOS,XPOS);
Line S03958 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06265  M01S03958.252l678 ---|    END
06266  M01S03959.252l678 ---|  ELSE
06267  M01S03960.252l678 ---|    BEGIN                            # SIMULATE WITH SOFT TAB #
Line S03961 Modification History
M01 (Removed by) 242l642
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06268  M02S03961.252l678 ---|    IF SOFTTAB EQ 0 THEN SOFTPOS = INPOS;
06269  M02S03962.252l678 ---|    SOFTTAB = SOFTTAB + 1;
Line S00981 Modification History
M01 (Added by) 242l642
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06270  M02S00981.252l678 ---|    IF TERSOFTTAB[0] EQ 0 THEN TERSOFTPOS[0] = INPOS;
06271  M02S00982.252l678 ---|    TERSOFTTAB[0] = TERSOFTTAB[0] + 1;
Line S03963 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06272  M01S03963.252l678 ---|    END
06273  M01S03964.252l678 ---|  GOTO GETINP;                       # CONTINUE LOOKING AT INPUT #
Line S00142 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06274  M01S00142.252l678 +++|FORWARDTAB:                          # FORWARD TAB KEY PRESSED #
06275  M01S00143.252l678 +++|
06276  M01S00144.252l678 +++|  IF TERTABPROT[0] THEN
06277  M01S00145.252l678 +++|    BEGIN                            # CAN TAB TO UNPROTECTED FIELD #
06278  M01S00146.252l678 +++|    LASTPOS = INPOS;                 # SAVE POSITION #
06279  M01S00147.252l678 +++|    TABKEY(ORD,INPOS,FIELD,INPOS);
06280  M01S00148.252l678 +++|    IF INPOS EQ 0 THEN
06281  M01S00149.252l678 +++|      BEGIN                          # IF LOGICALLY AT HOME #
06282  M01S00150.252l678 +++|      IF NOT TERPTDWFPG[0] THEN
06283  M01S00151.252l678 +++|        BEGIN                        # IF TAB CAN REALLY WRAP #
06284  M01S00152.252l678 +++|        IF NOT TERTABHOME[0] THEN
06285  M01S00153.252l678 +++|          BEGIN                      # IF TAB DOES NOT STOP AT HOME #
06286  M01S00154.252l678 +++|          TABKEY(ORD,INPOS,FIELD,INPOS);
06287  M01S00155.252l678 +++|          END
06288  M01S00156.252l678 +++|        OFFSET = 0;                  # CLEAR FIELD OFFSET #
06289  M01S00157.252l678 +++|        LASTFIELD = FIELD;           # UPDATE LAST VALID FIELD #
06290  M01S00158.252l678 +++|        END
06291  M01S00159.252l678 +++|      ELSE
06292  M01S00160.252l678 +++|        BEGIN                        # TAB DID NOT OCCUR ON SCREEN #
06293  M01S00161.252l678 +++|        INPOS = LASTPOS;
06294  M01S00162.252l678 +++|        END
06295  M01S00163.252l678 +++|      END
06296  M01S00164.252l678 +++|    YPOS = YMASKOF INPOS;            # RESET INTERNAL POSITION #
06297  M01S00165.252l678 +++|    XPOS = XMASKOF INPOS;
06298  M01S00166.252l678 +++|    VDTCOR(YPOS,XPOS);
06299  M01S00167.252l678 +++|    END
06300  M01S00168.252l678 +++|  ELSE
06301  M01S00169.252l678 +++|    BEGIN                            # SIMULATE WITH SOFT TAB #
06302  M01S00170.252l678 +++|    IF TERSOFTTAB[0] EQ 0 THEN TERSOFTPOS[0] = INPOS;
06303  M01S00171.252l678 +++|    TERSOFTTAB[0] = TERSOFTTAB[0] + 1;
06304  M01S00172.252l678 +++|    END
06305  M01S00173.252l678 +++|  GOTO GETINP;                       # CONTINUE LOOKING AT INPUT #
06306  M01S00174.252l678 +++|
06307  M01S00175.252l678 +++|BACKWRDTAB:                          # BACK TAB KEY PRESSED #
06308  M01S00176.252l678 +++|
06309  M01S00177.252l678 +++|  IF TERTABPROT[0] THEN
06310  M01S00178.252l678 +++|    BEGIN                            # CAN TAB TO UNPROTECTED FIELD #
06311  M01S00179.252l678 +++|    LASTPOS = INPOS;                 # SAVE POSITION #
06312  M01S00180.252l678 +++|    TABKEY(ORD,INPOS,FIELD,INPOS);
06313  M01S00181.252l678 +++|    IF INPOS EQ 0 THEN
06314  M01S00182.252l678 +++|      BEGIN                          # IF LOGICALLY AT HOME #
06315  M01S00183.252l678 +++|      IF NOT TERPTDWBPG[0] THEN
06316  M01S00184.252l678 +++|        BEGIN                        # IF TAB CAN REALLY WRAP #
06317  M01S00185.252l678 +++|        IF NOT TERTABHOME[0] THEN
06318  M01S00186.252l678 +++|          BEGIN                      # IF TAB DOES NOT STOP AT HOME #
06319  M01S00187.252l678 +++|          TABKEY(ORD,INPOS,FIELD,INPOS);
06320  M01S00188.252l678 +++|          END
06321  M01S00189.252l678 +++|        OFFSET = 0;                  # CLEAR FIELD OFFSET #
06322  M01S00190.252l678 +++|        LASTFIELD = FIELD;           # UPDATE LAST VALID FIELD #
06323  M01S00191.252l678 +++|        END
06324  M01S00192.252l678 +++|      ELSE
06325  M01S00193.252l678 +++|        BEGIN                        # TAB DID NOT OCCUR ON SCREEN #
06326  M01S00194.252l678 +++|        INPOS = LASTPOS;
06327  M01S00195.252l678 +++|        END
06328  M01S00196.252l678 +++|      END
06329  M01S00197.252l678 +++|    YPOS = YMASKOF INPOS;            # RESET INTERNAL POSITION #
06330  M01S00198.252l678 +++|    XPOS = XMASKOF INPOS;
06331  M01S00199.252l678 +++|    VDTCOR(YPOS,XPOS);
06332  M01S00200.252l678 +++|    END
06333  M01S00201.252l678 +++|  ELSE
06334  M01S00202.252l678 +++|    BEGIN                            # SIMULATE WITH SOFT TAB #
06335  M01S00203.252l678 +++|    IF TERSOFTTAB[0] EQ 0 THEN TERSOFTPOS[0] = INPOS;
06336  M01S00204.252l678 +++|    TERSOFTTAB[0] = TERSOFTTAB[0] - 1;
06337  M01S00205.252l678 +++|    END
06338  M01S00206.252l678 +++|  GOTO GETINP;                       # CONTINUE LOOKING AT INPUT #
06339  M00S03965.sform   +++|
06340  M00S03966.sform   +++|CLEARPAGE:                           # CLEAR PAGE PRESSED #
06341  M00S03967.sform   +++|
06342  M00S03968.sform   +++|  TERREWSCRN[0] = TRUE;              # COMPLETE REWRITE OF SCREEN #
06343  M00S03969.sform   +++|  TERREWFLDS[0] = TRUE;
06344  M00S03970.sform   +++|  SKIPINP = TRUE;                    # SKIP TO NEXT INPUT #
06345  M00S03971.sform   +++|  GOTO GETINP;                       # GET INPUT AGAIN #
06346  M00S03972.sform   +++|
06347  M00S03973.sform   +++|CLEAREOL:                            # CLEAR TO END OF LINE PRESSED #
06348  M00S03974.sform   +++|
Line S03975 Modification History
M01 (Removed by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06349  M01S03975.sform24 ---|  IF FIELD GQ 0 THEN
06350  M01S03976.sform24 ---|    BEGIN                            # CLEAR OUT FIELD FROM OFFSET #
Line S00029 Modification History
M01 (Added by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06351  M01S00029.sform24 +++|  IF VALIDFIELD THEN
06352  M01S00030.sform24 +++|    BEGIN                            # IF IN ACTIVE INPUT FIELD #
06353  M00S03977.sform   +++|    BFIELD(FIELD,OFFSET,DUMMY);      # BLANK FIELD IN VARDATA #
06354  M00S03978.sform   +++|    FLDVALID[FIELD] = FALSE;
06355  M00S03979.sform   +++|    FLDENTERED[FIELD] = TRUE;
Line S03980 Modification History
M01 (Removed by) ns2346
Seq #  *Modification Id* Act 
----------------------------+
06356  M01S03980.ns2346  ---|    FLDREWRITE[FIELD] = TRUE;
06357  M01S03981.ns2346  ---|    TERREWFLDS[0] = TRUE;
Line S00014 Modification History
M01 (Added by) ns2346
M02 (Removed by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06358  M02S00014.sform24 ---|    IF TERATTRSET[0] THEN
06359  M02S00015.sform24 ---|      BEGIN                          # IF RESET IS NEEDED #
06360  M02S00016.sform24 ---|      FLDREWRITE[FIELD] = TRUE;
06361  M02S00017.sform24 ---|      TERREWFLDS[0] = TRUE;
06362  M02S00018.sform24 ---|      END
Line S03982 Modification History
M01 (Removed by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06363  M01S03982.sform24 ---|    STARTFIELD = FIELD + 1;
06364  M01S03983.sform24 ---|    END
06365  M01S03984.sform24 ---|  ELSE
06366  M01S03985.sform24 ---|    BEGIN                            # TAB TO NEXT INPUT FIELD #
06367  M01S03986.sform24 ---|    TABKEY(SCREENST"FTAB",INPOS,STARTFIELD,STARTPOS);
Line S03987 Modification History
M01 (Removed by) ns2231
M02 (Removed by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06368  M02S03987.sform24 ---|    IF STARTFIELD EQ -1 THEN GOTO GETINP;  # XYZ TOM? #
Line S00005 Modification History
M01 (Added by) ns2231
M02 (Removed by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06369  M02S00005.sform24 ---|    IF STARTFIELD EQ -1 THEN GOTO GETINP;  # IF NO INPUT FIELDS #
Line S00031 Modification History
M01 (Added by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06370  M01S00031.sform24 +++|    FLDREWRITE[FIELD] = TRUE;
06371  M01S00032.sform24 +++|    TERREWFLDS[0] = TRUE;
06372  M00S03988.sform   +++|    END
06373  M00S03989.sform   +++|
06374  M01S00033.sform24 +++|REWRTLINE:                           # REWRITE REST OF FIELDS ON LINE #
06375  M01S00034.sform24 +++|
06376  M01S00035.sform24 +++|  STARTFIELD = FIELD + 1;
Line S03990 Modification History
M01 (Removed by) ns2231
Seq #  *Modification Id* Act 
----------------------------+
06377  M01S03990.ns2231  ---|  IF TERTABHOME[0] THEN
Line S00006 Modification History
M01 (Added by) ns2231
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06378  M02S00006.252l678 ---|  IF NOT TERPROTECT[0] OR TERTABHOME[0] THEN
Line S03991 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06379  M01S03991.252l678 ---|    BEGIN                            # IF CLEAR ON SCREEN #
Line S00207 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06380  M01S00207.252l678 +++|  IF NOT TERTABPROT[0] OR TERCLEARSM[0] THEN
06381  M01S00208.252l678 +++|    BEGIN                            # IF MORE THAN ONE CLEARED #
Line S03992 Modification History
M01 (Removed by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06382  M01S03992.sform24 ---|    FOR I = STARTFIELD STEP 1 WHILE FLDENTRY[I] NQ 0 DO
06383  M01S03993.sform24 ---|      BEGIN                          # BLANK FILL VAR DATA #
06384  M01S03994.sform24 ---|      IF FLDINPUTV[I] AND FLDACTIVE[I] AND FLDYCORD[I] EQ YPOS THEN
06385  M01S03995.sform24 ---|        BEGIN                        # ACTIVE IN-FIELD ON SAME LINE #
06386  M01S03996.sform24 ---|        BFIELD(I,0,DUMMY);           # BLANK FIELD IN VARDATA #
06387  M01S03997.sform24 ---|        FLDVALID[I] = FALSE;
06388  M01S03998.sform24 ---|        FLDENTERED[I] = TRUE;
Line S03999 Modification History
M01 (Removed by) ns2346
M02 (Removed by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06389  M02S03999.sform24 ---|        FLDREWRITE[I] = TRUE;
06390  M02S04000.sform24 ---|        TERREWFLDS[0] = TRUE;
Line S00019 Modification History
M01 (Added by) ns2346
M02 (Removed by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06391  M02S00019.sform24 ---|        IF TERATTRSET[0] THEN
06392  M02S00020.sform24 ---|          BEGIN                      # IF RESET IS NEEDED #
Line S00036 Modification History
M01 (Added by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06393  M01S00036.sform24 +++|    FOR I = STARTFIELD STEP 1 WHILE FLDENTRY[I] NQ 0
06394  M01S00037.sform24 +++|      AND FLDYCORD[I] LQ YPOS DO
06395  M01S00038.sform24 +++|      BEGIN                          # IF NOT PAST AFFECTED LINE #
06396  M01S00039.sform24 +++|      IF FLDYCORD[I] EQ YPOS AND FLDACTIVE[I]
06397  M01S00040.sform24 +++|        AND FLDXCORD[I]+FLDLENGTH[I] GQ XPOS THEN
06398  M01S00041.sform24 +++|        BEGIN                        # IF ACTIVE FIELD ON SAME LINE #
06399  M01S00042.sform24 +++|        IF FLDINPUTV[I] THEN
06400  M01S00043.sform24 +++|          BEGIN                      # IF ACTIVE INPUT FIELD #
06401  M01S00044.sform24 +++|          BFIELD(I,0,DUMMY);         # BLANK FIELD IN VARDATA #
06402  M01S00045.sform24 +++|          FLDVALID[I] = FALSE;
06403  M01S00046.sform24 +++|          FLDENTERED[I] = TRUE;
06404  M01S00047.sform24 +++|          END
Line S00021 Modification History
M01 (Added by) ns2346
M02 (Removed by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06405  M02S00021.sform24 ---|          FLDREWRITE[I] = TRUE;
06406  M02S00022.sform24 ---|          TERREWFLDS[0] = TRUE;
06407  M02S00023.sform24 ---|          END
Line S00048 Modification History
M01 (Added by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06408  M01S00048.sform24 +++|        FLDREWRITE[I] = TRUE;
06409  M01S00049.sform24 +++|        TERREWFLDS[0] = TRUE;
06410  M00S04001.sform   +++|        END
06411  M00S04002.sform   +++|      END
06412  M00S04003.sform   +++|    END
06413  M00S04004.sform   +++|  GOTO GETINP;                       # CONTINUE LOOKING AT INPUT #
06414  M00S04005.sform   +++|
06415  M00S04006.sform   +++|
06416  M00S04007.sform   +++|ERASELINE:                           # SHIFT ERASE PRESSED #
06417  M00S04008.sform   +++|
06418  M01S00050.sform24 +++|  IF NOT TERTABPROT[0] THEN
06419  M01S00051.sform24 +++|    BEGIN                            # IF NO PROTECT #
06420  M01S00052.sform24 +++|    XPOS = 0;
06421  M01S00053.sform24 +++|    XMASKOF INPOS = XPOS;
06422  M01S00054.sform24 +++|    VDTCOR(YPOS,XPOS);               # REPOSITION TO START OF LINE #
06423  M01S00055.sform24 +++|    STARTFIELD = -1;
06424  M01S00056.sform24 +++|    GOTO REWRTLINE;                  # REWRITE ALL FIELDS ON LINE #
06425  M01S00057.sform24 +++|    END
Line S04009 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06426  M01S04009.252l678 ---|  FFIELD(LASTPOS,FIELD,OFFSET,INSEARCH);  # FIND INPUT FIELD #
Line S00209 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06427  M01S00209.252l678 +++|  FFIELD(TERPREVPOS,FIELD,OFFSET,INSEARCH);
06428  M00S04010.sform   +++|  IF FIELD GQ 0 THEN
06429  M00S04011.sform   +++|    BEGIN                            # FOUND FIELD #
06430  M00S04012.sform   +++|    BFIELD(FIELD,0,DUMMY);           # BLANK FIELD IN VARDATA #
06431  M00S04013.sform   +++|    TERREWFLDS[0] = TRUE;
06432  M00S04014.sform   +++|    FLDREWRITE[FIELD] = TRUE;
06433  M00S04015.sform   +++|    FLDENTERED[FIELD] = TRUE;
06434  M00S04016.sform   +++|    FLDVALID[FIELD] = FALSE;
06435  M00S04017.sform   +++|    VDTCOR(FLDYCORD[FIELD],FLDXCORD[FIELD]);  # RESET INTERNAL POS #
06436  M00S04018.sform   +++|    END
06437  M00S04019.sform   +++|  GOTO GETINP;                       # CONTINUE LOOKING AT INPUT #
06438  M00S04020.sform   +++|
06439  M00S04021.sform   +++|ERASECHAR:                           # ERASE KEY PRESSED #
06440  M00S04022.sform   +++|
Line S04023 Modification History
M01 (Removed by) sform9
Seq #  *Modification Id* Act 
----------------------------+
06441  M01S04023.sform9  ---|  IF VALIDFIELD THEN
06442  M01S04024.sform9  ---|    BEGIN                            # IF VALID FIELD #
06443  M01S04025.sform9  ---|    WRIVCH(FIELD,OFFSET,BLANK);      # WRITE BLANK INTO VARDATA #
06444  M01S04026.sform9  ---|    FLDVALID[FIELD] = FALSE;
06445  M01S04027.sform9  ---|    FLDENTERED[FIELD] = TRUE;
06446  M01S04028.sform9  ---|    END
Line S00120 Modification History
M01 (Added by) sform9
Seq #  *Modification Id* Act 
----------------------------+
06447  M01S00120.sform9  +++|  IF TERTABAUTO[0] THEN
06448  M01S00121.sform9  +++|    BEGIN                            # IF AUTOMATIC TABBING #
Line S00122 Modification History
M01 (Added by) sform9
M02 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06449  M02S00122.242l642 ---|    IF TERINPVARS[0] AND NOT VALIDFIELD THEN
Line S00983 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06450  M01S00983.242l642 +++|    IF NOT TERNOINVRS[0] AND NOT VALIDFIELD THEN
Line S00123 Modification History
M01 (Added by) sform9
Seq #  *Modification Id* Act 
----------------------------+
06451  M01S00123.sform9  +++|      BEGIN                          # IF AUTO-TAB TO PREVIOUS FIELD #
06452  M01S00124.sform9  +++|      TABKEY(SCREENST"BTAB",INPOS,FIELD,INPOS);
06453  M01S00125.sform9  +++|      IF INPOS EQ 0 AND NOT TERTABHOME[0] THEN
06454  M01S00126.sform9  +++|        BEGIN                        # IF TAB DOES NOT STOP AT HOME #
06455  M01S00127.sform9  +++|        TABKEY(SCREENST"BTAB",INPOS,FIELD,INPOS);
06456  M01S00128.sform9  +++|        END
06457  M01S00129.sform9  +++|      OFFSET = FLDLENGTH[FIELD] - 1; # SET OFFSET TO END OF FIELD #
06458  M01S00130.sform9  +++|      LASTFIELD = FIELD;             # UPDATE LAST VALID FIELD #
06459  M01S00131.sform9  +++|      INPOS = INPOS + OFFSET;        # RESET INTERNAL POSITION #
06460  M01S00132.sform9  +++|      YPOS = YMASKOF INPOS;
06461  M01S00133.sform9  +++|      XPOS = XMASKOF INPOS;
06462  M01S00134.sform9  +++|      VDTCOR(YPOS,XPOS);
06463  M01S00135.sform9  +++|      END
06464  M01S00136.sform9  +++|    END
06465  M01S00137.sform9  +++|  IF VALIDFIELD THEN
06466  M01S00138.sform9  +++|    BEGIN                            # IF VALID FIELD #
06467  M01S00139.sform9  +++|    WRIVCH(FIELD,OFFSET,BLANK);      # WRITE BLANK INTO VARDATA #
06468  M01S00140.sform9  +++|    FLDENTERED[FIELD] = TRUE;
06469  M01S00141.sform9  +++|    FLDVALID[FIELD] = FALSE;         # INVALID UNTIL PROVEN VALID #
Line S00058 Modification History
M01 (Added by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06470  M01S00058.sform24 +++|    END
06471  M01S00059.sform24 +++|  ELSE IF NOT TERTABAUTO[0] THEN
06472  M01S00060.sform24 +++|    BEGIN
06473  M01S00061.sform24 +++|    RESTFLD (INPOS);
Line S00142 Modification History
M01 (Added by) sform9
Seq #  *Modification Id* Act 
----------------------------+
06474  M01S00142.sform9  +++|    END
06475  M00S04029.sform   +++|  GOTO GETINP;                       # CONTINUE LOOKING AT INPUT #
06476  M00S04030.sform   +++|
06477  M00S04031.sform   +++|APPLICFUN:
06478  M00S04032.sform   +++|GENERICFUN:                          # FUNCTION KEY PRESSED #
06479  M00S04033.sform   +++|
06480  M00S04034.sform   +++|  IF TERLEAVESM[0] NQ 0 THEN
06481  M00S04035.sform   +++|    BEGIN                            # IF FUNCTION KEY LEFT MARK #
06482  M00S04036.sform   +++|    IF VALIDFIELD THEN
06483  M00S04037.sform   +++|      BEGIN                          # IF IN INPUT FIELD #
06484  M00S04038.sform   +++|      FLDREWRITE[FIELD] = TRUE;      # SET REWRITE BIT FOR FIELD #
06485  M00S04039.sform   +++|      TERREWFLDS[0] = TRUE;
06486  M00S04040.sform   +++|      END
06487  M00S04041.sform   +++|    ELSE
06488  M00S04042.sform   +++|      BEGIN                          # IF NOT IN INPUT FIELD #
Line S04043 Modification History
M01 (Removed by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06489  M01S04043.sform24 ---|      VDTPOS(XPOS,YPOS);             # ERASE CHARACTER #
06490  M01S04044.sform24 ---|      VDTOUT(BLANK);
Line S00062 Modification History
M01 (Added by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06491  M01S00062.sform24 +++|      RESTFLD (INPOS);
06492  M00S04045.sform   +++|      END
06493  M00S04046.sform   +++|    END
06494  M00S04047.sform   +++|  IF NOT SKIPINP THEN
06495  M00S04048.sform   +++|    BEGIN                            # PROCESS FUNCTION KEY #
06496  M00S04049.sform   +++|    FUNKEY(INPOS,OFFSET,ORD,CHAR,FIELD);
Line S04050 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06497  M01S04050.242l642 ---|    IF SOFTTAB EQ 0 THEN
Line S00984 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06498  M01S00984.242l642 +++|    IF TERSOFTTAB[0] EQ 0 THEN
06499  M00S04051.sform   +++|      BEGIN                          # IF FUNCTION KEY NOT SOFT TAB #
06500  M00S04052.sform   +++|      SKIPINP = TRUE;                # SKIP INPUT #
06501  M00S04053.sform   +++|      END
06502  M00S04054.sform   +++|    END
06503  M00S04055.sform   +++|  GOTO GETINP;                       # CONTINUE LOOKING AT INPUT #
06504  M00S04056.sform   +++|
06505  M00S04057.sform   +++|INSERTLINE:                          # INSERT LINE PRESSED #
06506  M00S04058.sform   +++|DELETELINE:                          # DELETE LINE PRESSED #
Line S00063 Modification History
M01 (Added by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06507  M01S00063.sform24 +++|  TERREWSCRN[0] = TRUE;              # FORCE SCREEN REWRITE #
06508  M01S00064.sform24 +++|  TERREWFLDS[0] = TRUE;
06509  M00S04059.sform   +++|BADINPUT:                            # BAD INPUT RETURNED #
06510  M00S04060.sform   +++|
06511  M00S04061.sform   +++|  INPUTERROR = TRUE;                 # UNSUPPORTED KEY ENTERED #
06512  M00S04062.sform   +++|  GOTO GETINP;                       # CONTINUE LOOKING AT INPUT #
06513  M00S04063.sform   +++|
06514  M00S04064.sform   +++|INSERTCHAR:                          # INSERT CHARACTER PRESSED #
06515  M00S04065.sform   +++|
06516  M00S04066.sform   +++|  IF VALIDFIELD THEN
06517  M00S04067.sform   +++|    BEGIN                            # SHIFT CHARACTERS IN VARDATA #
06518  M00S04068.sform   +++|    FOR I = FLDLENGTH[FIELD] - 1 STEP - 1 UNTIL OFFSET + 1 DO
06519  M00S04069.sform   +++|      BEGIN
Line S04070 Modification History
M01 (Removed by) sform12
Seq #  *Modification Id* Act 
----------------------------+
06520  M01S04070.sform12 ---|      CHAR = NEXTCHAR(FIELD,I-1);
06521  M01S04071.sform12 ---|      WRIVCH(FIELD,I,CHAR);          # WRITE CHARACTER INTO VARDATA #
06522  M01S04072.sform12 ---|      END
06523  M01S04073.sform12 ---|    WRIVCH(FIELD,OFFSET,BLANK);      # WRITE CHARACTER INTO VARDATA #
Line S00001 Modification History
M01 (Added by) sform12
Seq #  *Modification Id* Act 
----------------------------+
06524  M01S00001.sform12 +++|      DUMMY = NEXTCHAR(FIELD,I-1);
06525  M01S00002.sform12 +++|      WRIVCH(FIELD,I,DUMMY);         # WRITE CHARACTER INTO VARDATA #
06526  M01S00003.sform12 +++|      END
06527  M01S00004.sform12 +++|    WRIVCH(FIELD,OFFSET,CHAR);       # WRITE CHARACTER INTO VARDATA #
06528  M00S04074.sform   +++|    FLDENTERED[FIELD] = TRUE;
06529  M00S04075.sform   +++|    FLDVALID[FIELD] = FALSE;
Line S04076 Modification History
M01 (Removed by) ns2346
Seq #  *Modification Id* Act 
----------------------------+
06530  M01S04076.ns2346  ---|    FLDREWRITE[FIELD] = TRUE;
06531  M01S04077.ns2346  ---|    TERREWFLDS[0] = TRUE;
Line S00024 Modification History
M01 (Added by) ns2346
M02 (Removed by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06532  M02S00024.sform24 ---|    IF TERATTRSET[0] THEN
06533  M02S00025.sform24 ---|      BEGIN                          # IF RESET IS NEEDED #
06534  M02S00026.sform24 ---|      FLDREWRITE[FIELD] = TRUE;
06535  M02S00027.sform24 ---|      TERREWFLDS[0] = TRUE;
06536  M02S00028.sform24 ---|      END
Line S00065 Modification History
M01 (Added by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06537  M01S00065.sform24 +++|    FLDREWRITE[FIELD] = TRUE;
06538  M01S00066.sform24 +++|    TERREWFLDS[0] = TRUE;
06539  M00S04078.sform   +++|    END
06540  M01S00067.sform24 +++|  IF NOT TERTABPROT[0] THEN
06541  M01S00068.sform24 +++|    BEGIN
06542  M01S00069.sform24 +++|    VDTCLL(XPOS,YPOS);               # CLEAR THE REST OF THE LINE #
06543  M01S00070.sform24 +++|    VDTPOS(XPOS,YPOS);
06544  M01S00071.sform24 +++|    GOTO REWRTLINE;                  # REWRITE THE REST OF THE LINE #
06545  M01S00072.sform24 +++|    END
06546  M00S04079.sform   +++|  GOTO GETINP;                       # CONTINUE LOOKING AT INPUT #
06547  M00S04080.sform   +++|
06548  M00S04081.sform   +++|DELETECHAR:                          # DELETE CHARACTER PRESSED #
06549  M00S04082.sform   +++|
06550  M00S04083.sform   +++|  IF VALIDFIELD THEN
06551  M00S04084.sform   +++|    BEGIN                            # IF VALID FIELD #
06552  M00S04085.sform   +++|    FOR I = OFFSET  STEP 1 UNTIL FLDLENGTH[FIELD] - 2 DO
06553  M00S04086.sform   +++|      BEGIN                          # SHIFT CHARACTERS IN VARDATA #
06554  M00S04087.sform   +++|      CHAR = NEXTCHAR(FIELD,I+1);
06555  M00S04088.sform   +++|      WRIVCH(FIELD,I,CHAR);          # WRITE CHARACTER INTO VARDATA #
06556  M00S04089.sform   +++|      END
06557  M00S04090.sform   +++|    WRIVCH(FIELD,FLDLENGTH[FIELD]-1,BLANK);  # BLANK LAST CHARACTER #
Line S04091 Modification History
M01 (Removed by) ns2346
Seq #  *Modification Id* Act 
----------------------------+
06558  M01S04091.ns2346  ---|    FLDREWRITE[FIELD] = TRUE;
06559  M00S04092.sform   ---|    FLDENTERED[FIELD] = TRUE;
06560  M00S04093.sform   ---|    FLDVALID[FIELD] = FALSE;
06561  M01S04094.ns2346  ---|    TERREWFLDS[0] = TRUE;
Line S00029 Modification History
M01 (Added by) ns2346
M02 (Removed by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06562  M02S00029.sform24 ---|    IF TERATTRSET[0] THEN
06563  M02S00030.sform24 ---|      BEGIN                          # IF RESET IS NEEDED #
06564  M02S00031.sform24 ---|      FLDREWRITE[FIELD] = TRUE;
06565  M02S00032.sform24 ---|      TERREWFLDS[0] = TRUE;
06566  M02S00033.sform24 ---|      END
Line S00073 Modification History
M01 (Added by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06567  M01S00073.sform24 +++|    FLDREWRITE[FIELD] = TRUE;
06568  M01S00074.sform24 +++|    TERREWFLDS[0] = TRUE;
06569  M00S04095.sform   +++|    END
06570  M01S00075.sform24 +++|  IF NOT TERTABPROT[0] THEN
06571  M01S00076.sform24 +++|    BEGIN
06572  M01S00077.sform24 +++|    VDTCLL(XPOS,YPOS);               # CLEAR THE REST OF THE LINE #
06573  M01S00078.sform24 +++|    VDTPOS(XPOS,YPOS);
06574  M01S00079.sform24 +++|    GOTO REWRTLINE;                  # REWRITE THE REST OF THE LINE #
06575  M01S00080.sform24 +++|    END
06576  M00S04096.sform   +++|  GOTO GETINP;                       # CONTINUE LOOKING AT INPUT #
06577  M00S04097.sform   +++|
Line S00985 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06578  M01S00985.242l642 +++|NEWFIELD:                            # START OF NEW FIELD #
06579  M01S00986.242l642 +++|
06580  M01S00987.242l642 +++|  IF VALIDFIELD THEN
06581  M01S00988.242l642 +++|    BEGIN                            # IF VALID INPUT FIELD #
06582  M01S00989.242l642 +++|    VDTINP(ORD,XPOS,YPOS,CHAR,DUMMY);
06583  M01S00990.242l642 +++|    FOR OFFSET = 0 STEP 1 WHILE ORD EQ SCREENST"CHAR" DO
06584  M01S00991.242l642 +++|      BEGIN                          # WHILE INPUT IS CHARACTERS #
06585  M01S00992.242l642 +++|      WRIVCH(FIELD,OFFSET,CHAR);     # WRITE CHARACTER INTO VARDATA #
06586  M01S00993.242l642 +++|      VDTINP(ORD,XPOS,YPOS,CHAR,DUMMY);
06587  M01S00994.242l642 +++|      END
06588  M01S00995.242l642 +++|    BFIELD(FIELD,OFFSET,DUMMY);      # BLANK FILL FIELD #
06589  M01S00996.242l642 +++|    FLDENTERED[FIELD] = TRUE;        # FIELD ENTERED #
06590  M01S00997.242l642 +++|    FLDVALID[FIELD] = FALSE;         # INVALID UNTIL PROVEN VALID #
06591  M01S00998.242l642 +++|    GOTO SKIPREAD;                   # CONTINUE #
06592  M01S00999.242l642 +++|    END
06593  M01S01000.242l642 +++|  ELSE
06594  M01S01001.242l642 +++|    BEGIN                            # INVALID FIELD #
06595  M01S01002.242l642 +++|    GOTO GETINP;                     # CONTINUE WITH INPUT #
06596  M01S01003.242l642 +++|    END
06597  M01S01004.242l642 +++|
06598  M00S04098.sform   +++|CONTINUE:                            # IGNORABLE INPUT ENTERED #
06599  M00S04099.sform   +++|
06600  M00S04100.sform   +++|  GOTO GETINP;                       # CONTINUE LOOKING AT INPUT #
06601  M00S04101.sform   +++|
06602  M00S04102.sform   +++|ENDOFINPUT:                          # END OF INPUT BUFFER #
06603  M00S04103.sform   +++|
06604  M00S04104.sform   +++|  IF NOT (SKIPINP OR INPUTERROR OR TERHELPREQ[0]) THEN
06605  M00S04105.sform   +++|    BEGIN                            # NEXT KEY WAS PRESSED #
Line S04106 Modification History
M01 (Removed by) ns2231
Seq #  *Modification Id* Act 
----------------------------+
06606  M01S04106.ns2231  ---|    ZZZGKEY = 24;                    # ZZZ #
06607  M01S04107.ns2231  ---|    ZZZNEXT = 1;                     # ZZZ #
06608  M01S04108.ns2231  ---|    FUNKEY(INPOS,OFFSET,ZZZGKEY,ZZZNEXT,FIELD);  # ZZZ #
Line S00007 Modification History
M01 (Added by) ns2231
Seq #  *Modification Id* Act 
----------------------------+
06609  M01S00007.ns2231  +++|    FUNKEY(INPOS,OFFSET,SCREENST"GKEY",GENERICST"GNEXT",FIELD);
06610  M00S04109.sform   +++|    END
Line S04110 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06611  M01S04110.242l642 ---|  IF SOFTTAB NQ 0 THEN
Line S01005 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06612  M01S01005.242l642 +++|  IF TERSOFTTAB[0] NQ 0 THEN
06613  M00S04111.sform   +++|    BEGIN                            # PERFORM SOFT TABS #
Line S04112 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06614  M01S04112.242l642 ---|    WHYLE SOFTTAB NQ 0 DO
06615  M01S04113.242l642 ---|      BEGIN                          # TAB #
06616  M01S04114.242l642 ---|      TABKEY(SCREENST"FTAB",SOFTPOS,FIELD,SOFTPOS);  # TAB TO FIELD #
06617  M01S04115.242l642 ---|      SOFTTAB = SOFTTAB - 1;         # DECREMENT TAB COUNT #
06618  M01S04116.242l642 ---|      IF FIELD EQ -1 THEN TABKEY(SCREENST"FTAB",SOFTPOS,FIELD,SOFTPOS);
Line S01006 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06619  M01S01006.242l642 +++|    STARTPOS = TERSOFTPOS[0];
06620  M01S01007.242l642 +++|    WHYLE TERSOFTTAB[0] NQ 0 DO
06621  M01S01008.242l642 +++|      BEGIN                          # UNTIL DONE WITH SOFT TABS #
06622  M01S01009.242l642 +++|      TABKEY(SCREENST"FTAB",STARTPOS,FIELD,STARTPOS);
06623  M01S01010.242l642 +++|      TERSOFTTAB[0] = TERSOFTTAB[0] - 1;
06624  M01S01011.242l642 +++|      IF FIELD EQ -1 THEN
06625  M01S01012.242l642 +++|        BEGIN
06626  M01S01013.242l642 +++|        TABKEY(SCREENST"FTAB",STARTPOS,FIELD,STARTPOS);
06627  M01S01014.242l642 +++|        END
06628  M00S04117.sform   +++|      END
Line S00143 Modification History
M01 (Added by) sform9
Seq #  *Modification Id* Act 
----------------------------+
06629  M01S00143.sform9  +++|    OFFSET = 0;                      # CLEAR FIELD OFFSET #
06630  M01S00144.sform9  +++|    LASTFIELD = FIELD;               # UPDATE LAST VALID FIELD #
Line S04118 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06631  M01S04118.242l642 ---|    YPOS = YMASKOF SOFTPOS;
06632  M01S04119.242l642 ---|    XPOS = XMASKOF SOFTPOS;
Line S01015 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06633  M01S01015.242l642 +++|    YPOS = YMASKOF STARTPOS;
06634  M01S01016.242l642 +++|    XPOS = XMASKOF STARTPOS;
06635  M00S04120.sform   +++|    VDTCOR(YPOS,XPOS);
06636  M00S04121.sform   +++|    IF TERPENDHLP[0] THEN
06637  M00S04122.sform   +++|      BEGIN                          # IF HELP PENDING #
06638  M00S04123.sform   +++|      TERPENDHLP[0] = FALSE;         # CLEAR HELP PENDING #
06639  M00S04124.sform   +++|      TERHELPFLD[0] = FIELD;         # SET FIELD REQUESTING HELP #
06640  M00S04125.sform   +++|      TERHELPREQ[0] = TRUE;          # SET HELP REQUESTED FLAG#
06641  M00S04126.sform   +++|      END
06642  M00S04127.sform   +++|    END
06643  M00S04128.sform   +++|  IF TERABNTERM[0] OR TERNRMTERM[0] THEN
06644  M00S04129.sform   +++|    BEGIN                            # TERMINATION REQUESTED #
Line S04130 Modification History
M01 (Removed by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06645  M01S04130.sform24 ---|    FLDIND = LASTFIELD;              # RETURN LAST FIELD ENTERED #
06646  M01S04131.sform24 ---|    RETURN;
Line S00081 Modification History
M01 (Added by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06647  M01S00081.sform24 +++|    IF (TERNRMTERM[0] AND NOT (INPUTERROR OR TERHELPREQ[0])) OR
06648  M01S00082.sform24 +++|       (TERABNTERM[0]) THEN
06649  M01S00083.sform24 +++|      BEGIN
06650  M01S00084.sform24 +++|      FLDIND = LASTFIELD;
06651  M01S00085.sform24 +++|      CPANEL;
06652  M01S00086.sform24 +++|      RETURN;
06653  M01S00087.sform24 +++|      END
06654  M00S04132.sform   +++|    END
06655  M00S04133.sform   +++|  IF NOT VALIDFIELD THEN FIELD = LASTFIELD;
06656  M00S04134.sform   +++|  GOTO DOREAD;                       # READ INPUT AGAIN #
06657  M00S04135.sform   +++|
06658  M00S04136.sform   +++|END  # READIN #
06659  M00S04137.sform   +++|CONTROL EJECT;
06660  M00S04138.sform   +++|
06661  M00S04139.sform   +++|PROC READSF(PANEL);
06662  M00S04140.sform   +++|
06663  M00S04141.sform   +++|# TITLE READSF - READ SCREEN FORMATTED PANEL. #
06664  M00S04142.sform   +++|
06665  M00S04143.sform   +++|BEGIN  # READSF #
06666  M00S04144.sform   +++|
06667  M00S04145.sform   +++|#
06668  M00S04146.sform   +++|**    READSF - READ SCREEN FORMATTED PANEL.
06669  M00S04147.sform   +++|*
06670  M00S04148.sform   +++|*     READSF CHECKS THAT ALL INPUT TO THE PANEL IS VALID.
06671  M00S04149.sform   +++|*
06672  M00S04150.sform   +++|*     PROC READSF(PANEL)
06673  M00S04151.sform   +++|*
06674  M00S04152.sform   +++|*     ENTRY   PANEL      = NAME OF PANEL TO READ.
06675  M00S04153.sform   +++|*
06676  M00S04154.sform   +++|*     EXIT    VARDATA CONTAINS INPUT DATA.
06677  M00S04155.sform   +++|*
06678  M00S04156.sform   +++|*     CALLS   CPANEL, FFIRST, GFIELD, PSTRNG, READIN, SFSWRI$, VALIDF.
06679  M00S04157.sform   +++|*
Line S04158 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06680  M01S04158.242l642 ---|*     USES    TERABNTERM, TERCURSROW, TERCURSSET, TERINPVARS,
Line S01017 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06681  M01S01017.242l642 +++|*     USES    TERABNTERM, TERCURSROW, TERCURSSET, TERCURSVAR,
Line S04159 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06682  M01S04159.252l678 ---|*             TERNRMTERM, TERREADFLG, TERRETRNOS, TERREWFLDS,
Line S00210 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06683  M01S00210.252l678 +++|*             TERNRMTERM, TERREADFLG, TERREWFLDS,
Line S04160 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06684  M01S04160.242l642 ---|*             TERREWSCRN, TERVARCURS.
Line S01018 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06685  M01S01018.242l642 +++|*IF UNDEF,QTRM
06686  M01S01019.242l642 +++|*             TERNOINVRS, TERREWSCRN.
06687  M01S01020.242l642 +++|*ELSE
06688  M01S01021.242l642 +++|*             TERNOINVRS, TERREWSCRN, TERWAITINP.
06689  M01S01022.242l642 +++|*ENDIF
06690  M00S04161.sform   +++|*
06691  M00S04162.sform   +++|*     NOTES   IF PANEL IS NOT THE ACTIVE PANEL THEN SFSWRI$
06692  M00S04163.sform   +++|*             IS CALLED TO WRITE THE PANEL TO THE SCREEN.
06693  M00S04164.sform   +++|#
06694  M00S04165.sform   +++|ITEM PANEL      C(7);              # INPUT PANEL NAME #
06695  M00S04166.sform   +++|
Line S00001 Modification History
M01 (Added by) sform18
Seq #  *Modification Id* Act 
----------------------------+
06696  M01S00001.sform18 +++|ITEM CHARIND    I;                 # CHARACTER OFFSET WITHIN FIELD #
06697  M00S04167.sform   +++|ITEM CUROFF     I;                 # INITIAL CURSOR OFFSET #
Line S01023 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06698  M01S01023.242l642 +++|*IF DEF,QTRM
06699  M01S01024.242l642 +++|ITEM FATAL      B = TRUE;          # FATAL ERROR #
06700  M01S01025.242l642 +++|*ENDIF
06701  M00S04168.sform   +++|ITEM FLDIND     I;                 # POINTER INTO FIELD LIST #
06702  M00S04169.sform   +++|ITEM INSP       C(10);             # DUMMY PARAMETER FOR SFSWRI$ #
06703  M00S04170.sform   +++|ITEM LASTFIELD  I;                 # LAST FIELD ENTERED #
06704  M00S04171.sform   +++|ITEM LEN        I = 7;             # FIXED PANEL NAME LENGTH #
06705  M01S01026.242l642 +++|*IF DEF,QTRM
06706  M01S01027.242l642 +++|ITEM MSG        C(43) = " PANEL MUST BE WRITTEN BEFORE READ IN QTRM.";
06707  M01S01028.242l642 +++|*ENDIF
06708  M00S04172.sform   +++|ITEM OFF        I = 0;             # FIXED PANEL NAME OFFSET #
Line S04173 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06709  M01S04173.242l642 ---|ITEM USEROW     B = TRUE;          # USE CURSORROW #
Line S01029 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06710  M01S01029.242l642 +++|*IF DEF,QTRM
06711  M01S01030.242l642 +++|ITEM PNAME      C(7) = "SFSREA ";  # CALLING PROCEDURE #
06712  M01S01031.242l642 +++|*ENDIF
06713  M01S01032.242l642 +++|ITEM USEROW     B = TRUE;          # USE TERCURSROW #
06714  M00S04174.sform   +++|ITEM VARIND     I;                 # INDEX INTO VARLIST #
06715  M01S01033.242l642 +++|*IF,DEF,QTRM
06716  M01S01034.242l642 +++|
06717  M01S01035.242l642 +++|IF TERWAITINP[0] THEN GOTO READFIELDS;  # RESUME AFTER QTRM I/O #
06718  M01S01036.242l642 +++|
06719  M01S01037.242l642 +++|*ENDIF
06720  M00S04175.sform   +++|
06721  M00S04176.sform   +++|# INITIALIZE TERMINATION, REWRITE AND VARIABLE FLAGS #
06722  M00S04177.sform   +++|
06723  M00S04178.sform   +++|TERABNTERM[0] = FALSE;
06724  M00S04179.sform   +++|TERHELPREQ[0] = FALSE;
Line S04180 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06725  M01S04180.242l642 ---|TERINPVARS[0] = TRUE;
Line S01038 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06726  M01S01038.242l642 +++|TERNOINVRS[0] = FALSE;
06727  M00S04181.sform   +++|TERNRMTERM[0] = FALSE;
Line S04182 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06728  M01S04182.252l678 ---|TERRETRNOS[0] = FALSE;
Line S04183 Modification History
M01 (Removed by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
06729  M01S04183.243l647 ---|TERREWFLDS[0] = FALSE;
06730  M00S04184.sform   ---|TERREWSCRN[0] = FALSE;
06731  M00S04185.sform   ---|
Line S04186 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06732  M01S04186.242l642 ---|IF PANEL NQ ACTIVEPAN THEN
Line S01039 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06733  M01S01039.242l642 +++|IF PANEL NQ TERACTPANL[0] THEN
06734  M00S04187.sform   +++|  BEGIN                              # IF NEW ACTIVE PANEL #
06735  M01S01040.242l642 +++|*IF UNDEF,QTRM
06736  M00S04188.sform   +++|  TERREADFLG[0] = TRUE;              # WRITE PANEL BEFORE READ #
06737  M00S04189.sform   +++|  SFSWRI$(PANEL,LEN,OFF,INSP,LEN,OFF);
06738  M00S04190.sform   +++|  TERREADFLG[0] = FALSE;
06739  M01S01041.242l642 +++|*ELSE
06740  M01S01042.242l642 +++|  ERRMSG(PANEL,PNAME,MSG,FATAL);     # NO READ BEFORE WRITE IN QTRM #
06741  M01S01043.242l642 +++|*ENDIF
06742  M00S04191.sform   +++|  END
06743  M00S04192.sform   +++|
06744  M00S04193.sform   +++|FLDIND = -1;
06745  M00S04194.sform   +++|
06746  M00S04195.sform   +++|IF TERCURSSET[0] THEN
06747  M00S04196.sform   +++|  BEGIN                              # IF SFSETP$ HAS BEEN CALLED #
Line S04197 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06748  M01S04197.242l642 ---|  GFIELD(CURSORVAR,USEROW,FLDIND);
Line S01044 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06749  M01S01044.242l642 +++|  GFIELD(TERCURSVAR[0],USEROW,FLDIND);
06750  M00S04198.sform   +++|  END
06751  M00S04199.sform   +++|
Line S04200 Modification History
M01 (Removed by) sform7
Seq #  *Modification Id* Act 
----------------------------+
06752  M01S04200.sform7  ---|IF FLDIND NQ -1 AND FLDINPUTV[FLDIND] THEN
Line S00001 Modification History
M01 (Added by) sform7
Seq #  *Modification Id* Act 
----------------------------+
06753  M01S00001.sform7  +++|IF (FLDIND NQ -1 AND FLDINPUTV[FLDIND]) AND FLDACTIVE[FLDIND] THEN
06754  M00S04201.sform   +++|  BEGIN                              # IF VALID FIELD #
Line S04202 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06755  M01S04202.242l642 ---|  IF TERCURSSET[0] AND CURSOROFF LQ FLDLENGTH[FLDIND] - 1 THEN
Line S01045 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06756  M01S01045.242l642 +++|  IF TERCURSSET[0] AND TERCURSOFF[0] LQ FLDLENGTH[FLDIND] - 1 THEN
06757  M00S04203.sform   +++|    BEGIN                            # SFSETP$ SPECIFIED POSITION #
Line S04204 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06758  M01S04204.242l642 ---|    CUROFF = CURSOROFF;
Line S01046 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06759  M01S01046.242l642 +++|    CUROFF = TERCURSOFF[0];
06760  M00S04205.sform   +++|    END
Line S00002 Modification History
M01 (Added by) sform7
Seq #  *Modification Id* Act 
----------------------------+
06761  M01S00002.sform7  +++|  ELSE
06762  M01S00003.sform7  +++|    BEGIN
06763  M01S00004.sform7  +++|    CUROFF = 0;                      # CLEAR OFFSET #
06764  M01S00005.sform7  +++|    END
06765  M00S04206.sform   +++|  END
06766  M00S04207.sform   +++|ELSE
06767  M00S04208.sform   +++|  BEGIN                              # FIELD NOT FOUND #
06768  M00S04209.sform   +++|  FFIRST(FLDIND);                    # FIND FIRST INPUT FIELD #
06769  M00S04210.sform   +++|  IF FLDIND EQ -1 THEN
06770  M00S04211.sform   +++|    BEGIN                            # IF NO ACTIVE INPUT FIELDS #
Line S04212 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06771  M01S04212.242l642 ---|    TERINPVARS[0] = FALSE;           # NO INPUT VARIABLES #
Line S01047 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06772  M01S01047.242l642 +++|    TERNOINVRS[0] = TRUE;            # NO INPUT VARIABLES #
06773  M00S04213.sform   +++|    END
06774  M00S04214.sform   +++|  CUROFF = 0;
06775  M00S04215.sform   +++|  END
06776  M00S04216.sform   +++|
06777  M00S04217.sform   +++|  TERCURSSET[0] = FALSE;             # CLEAR SFSETP$ VARIABLES #
Line S04218 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06778  M01S04218.242l642 ---|  CURSORVAR = "       ";
06779  M01S04219.242l642 ---|  CURSORROW = 0;
Line S01048 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06780  M01S01048.242l642 +++|  TERCURSVAR[0] = "       ";
06781  M01S01049.242l642 +++|  TERCURSROW[0] = 0;
06782  M00S04220.sform   +++|
06783  M00S04221.sform   +++|READFIELDS:                          # READ INPUT FIELDS #
06784  M00S04222.sform   +++|
06785  M00S04223.sform   +++|  READIN(FLDIND,CUROFF);             # READ INPUT FROM TERMINAL #
06786  M01S01050.242l642 +++|*IF DEF,QTRM
06787  M01S01051.242l642 +++|
06788  M01S01052.242l642 +++|  IF TERWAITINP[0] THEN RETURN;      # IF WAITING FOR INPUT, RETURN #
06789  M01S01053.242l642 +++|
06790  M01S01054.242l642 +++|*ENDIF
06791  M00S04224.sform   +++|  LASTFIELD = FLDIND;
Line S04225 Modification History
M01 (Removed by) ns2231
Seq #  *Modification Id* Act 
----------------------------+
06792  M01S04225.ns2231  ---|  CUROFF = 0;                        # XYZ #
Line S00008 Modification History
M01 (Added by) ns2231
Seq #  *Modification Id* Act 
----------------------------+
06793  M01S00008.ns2231  +++|  CUROFF = 0;
06794  M00S04226.sform   +++|  FLDIND = 0;                        # CHECK ALL FIELDS #
06795  M00S04227.sform   +++|
06796  M00S04228.sform   +++|  IF TERABNTERM[0] THEN RETURN;      # ABNORMAL TERMINATION #
06797  M00S04229.sform   +++|
Line S04230 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06798  M01S04230.242l642 ---|  IF NOT TERINPVARS[0] THEN GOTO CHEKMISSED;  # NO FIELDS TO CHECK #
Line S01055 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06799  M01S01055.242l642 +++|  IF TERNOINVRS[0] THEN GOTO CHEKMISSED;  # NO FIELDS TO CHECK #
06800  M00S04231.sform   +++|
Line S04232 Modification History
M01 (Removed by) ns2469
Seq #  *Modification Id* Act 
----------------------------+
06801  M01S04232.ns2469  ---|CHEKFIELDS:                          # CHECK FIELD VALIDATION #
06802  M01S04233.ns2469  ---|
06803  M01S04234.ns2469  ---|  VARIND = FLDVARORD[FLDIND];
06804  M01S04235.ns2469  ---|  IF NOT FLDINPUTV[FLDIND] OR NOT FLDACTIVE[FLDIND] THEN
06805  M01S04236.ns2469  ---|    BEGIN                            # NOT AN ACTIVE INPUT FIELD #
06806  M01S04237.ns2469  ---|    GOTO IGNOREFLD;
06807  M01S04238.ns2469  ---|    END
06808  M01S04239.ns2469  ---|
06809  M01S04240.ns2469  ---|  IF VARMUSENTR[VARIND] THEN
06810  M01S04241.ns2469  ---|    BEGIN                            # MUST ENTER FIELD #
06811  M01S04242.ns2469  ---|    IF NOT FLDENTERED[FLDIND] THEN
06812  M01S04243.ns2469  ---|      BEGIN                          # FIELD NOT ENTERED #
06813  M01S04244.ns2469  ---|      PSTRNG(FLDIND,MESSSTAT"HELP");  # ISSUE HELP STRING #
06814  M01S04245.ns2469  ---|      GOTO READFIELDS;
06815  M01S04246.ns2469  ---|      END
06816  M01S04247.ns2469  ---|
06817  M01S04248.ns2469  ---|    IF NOT FLDVALID[FLDIND] THEN
06818  M01S04249.ns2469  ---|      BEGIN                          # NOT VALIDATED #
06819  M01S04250.ns2469  ---|      VALIDF(FLDIND);
06820  M01S04251.ns2469  ---|      END
06821  M01S04252.ns2469  ---|
06822  M01S04253.ns2469  ---|    IF NOT FLDVALID[FLDIND] THEN
06823  M01S04254.ns2469  ---|      BEGIN                          # INVALID FIELD #
06824  M01S04255.ns2469  ---|      PSTRNG(FLDIND,MESSSTAT"HELP");  # ISSUE HELP STRING #
06825  M01S04256.ns2469  ---|      GOTO READFIELDS;
06826  M01S04257.ns2469  ---|      END
06827  M01S04258.ns2469  ---|    ELSE
06828  M01S04259.ns2469  ---|      BEGIN                          # VALID FIELD #
06829  M01S04260.ns2469  ---|      FLDIND = FLDIND + 1;
06830  M01S04261.ns2469  ---|      IF FLDENTRY[FLDIND] NQ 0 THEN
06831  M01S04262.ns2469  ---|        BEGIN                        # NOT END OF LIST #
06832  M01S04263.ns2469  ---|        GOTO CHEKFIELDS;             # CONTINUE CHECKING FIELDS #
06833  M01S04264.ns2469  ---|        END
06834  M01S04265.ns2469  ---|      ELSE
06835  M01S04266.ns2469  ---|        BEGIN                        # END OF LIST #
06836  M01S04267.ns2469  ---|        GOTO CHEKMISSED;
06837  M01S04268.ns2469  ---|        END
06838  M01S04269.ns2469  ---|      END
06839  M01S04270.ns2469  ---|    END
06840  M01S04271.ns2469  ---|
06841  M01S04272.ns2469  ---|  IF FLDENTERED[FLDIND] THEN
06842  M01S04273.ns2469  ---|    BEGIN                            # NOT MUST ENTER FIELD ENTERED #
06843  M01S04274.ns2469  ---|
06844  M01S04275.ns2469  ---|    IF NOT FLDVALID[FLDIND] THEN
06845  M01S04276.ns2469  ---|      BEGIN                          # NOT VALIDATED YET #
06846  M01S04277.ns2469  ---|      VALIDF(FLDIND);
06847  M01S04278.ns2469  ---|      END
06848  M01S04279.ns2469  ---|
06849  M01S04280.ns2469  ---|    IF NOT FLDVALID[FLDIND] THEN
06850  M01S04281.ns2469  ---|      BEGIN                          # INVALID FIELD #
06851  M01S04282.ns2469  ---|      PSTRNG(FLDIND,MESSSTAT"HELP");  # ISSUE HELP STRING #
06852  M01S04283.ns2469  ---|      GOTO READFIELDS;
06853  M01S04284.ns2469  ---|      END
06854  M01S04285.ns2469  ---|    ELSE
06855  M01S04286.ns2469  ---|      BEGIN                          # VALID FIELD #
06856  M01S04287.ns2469  ---|      FLDIND = FLDIND + 1;
06857  M01S04288.ns2469  ---|      IF FLDENTRY[FLDIND] NQ 0 THEN
06858  M01S04289.ns2469  ---|        BEGIN                        # NOT END OF LIST #
06859  M01S04290.ns2469  ---|        GOTO CHEKFIELDS;
06860  M01S04291.ns2469  ---|        END
06861  M01S04292.ns2469  ---|      ELSE
06862  M01S04293.ns2469  ---|        BEGIN                        # END OF LIST #
06863  M01S04294.ns2469  ---|        GOTO CHEKMISSED;
06864  M01S04295.ns2469  ---|        END
06865  M01S04296.ns2469  ---|      END
06866  M01S04297.ns2469  ---|    END
06867  M01S04298.ns2469  ---|
06868  M01S04299.ns2469  ---|IGNOREFLD:                           # NOT ENTERED AND NOT MUST #
06869  M01S04300.ns2469  ---|                                     # OR NOT AN INPUT FIELD #
06870  M01S04301.ns2469  ---|  FLDIND = FLDIND + 1;               # IGNORE FIELD AND GO TO NEXT #
06871  M01S04302.ns2469  ---|  IF FLDENTRY[FLDIND] NQ 0 THEN
06872  M01S04303.ns2469  ---|    BEGIN                            # MORE FIELDS IN LIST #
06873  M01S04304.ns2469  ---|    GOTO CHEKFIELDS;
06874  M01S04305.ns2469  ---|    END
Line S00003 Modification History
M01 (Added by) ns2469
Seq #  *Modification Id* Act 
----------------------------+
06875  M01S00003.ns2469  +++|WHYLE FLDENTRY[FLDIND] NQ 0 DO
06876  M01S00004.ns2469  +++|  BEGIN                              # UNTIL FIELD LIST EXHAUSTED #
06877  M01S00005.ns2469  +++|  VARIND = FLDVARORD[FLDIND];        # CHECK FIELD VALIDATION #
06878  M01S00006.ns2469  +++|  IF FLDACTIVE[FLDIND] AND FLDINPUTV[FLDIND] THEN
06879  M01S00007.ns2469  +++|    BEGIN                            # IF ACTIVE INPUT FIELD #
Line S00002 Modification History
M01 (Added by) sform18
Seq #  *Modification Id* Act 
----------------------------+
06880  M01S00002.sform18 +++|    IF TERBLCKMDE[0] THEN
06881  M01S00003.sform18 +++|      BEGIN
06882  M01S00004.sform18 +++|      FOR CHARIND = FLDLENGTH[FLDIND]-1 STEP -1 UNTIL 0 DO
06883  M01S00005.sform18 +++|        BEGIN
06884  M01S00006.sform18 +++|        IF NEXTCHAR(FLDIND,CHARIND) NQ O"137" THEN CHARIND = 0;
06885  M01S00007.sform18 +++|        ELSE WRIVCH(FLDIND,CHARIND,O"40");
06886  M01S00008.sform18 +++|        END
06887  M01S00009.sform18 +++|      END
Line S00008 Modification History
M01 (Added by) ns2469
Seq #  *Modification Id* Act 
----------------------------+
06888  M01S00008.ns2469  +++|    IF(FLDENTERED[FLDIND] OR VARMUSENTR[VARIND] OR
06889  M01S00009.ns2469  +++|      VARMUSCON[VARIND]) AND NOT FLDVALID[FLDIND] THEN
06890  M01S00010.ns2469  +++|      BEGIN                          # IF FIELD TO BE CHECKED #
06891  M01S00011.ns2469  +++|      VALIDF(FLDIND);
06892  M01S00012.ns2469  +++|      IF NOT FLDVALID[FLDIND] THEN
06893  M01S00013.ns2469  +++|        BEGIN                        # IF VALIDATION FAILED #
06894  M01S00014.ns2469  +++|        PSTRNG(FLDIND,MESSSTAT"HELP");
06895  M01S00015.ns2469  +++|        GOTO READFIELDS;             # NOTIFY USER OF ERROR #
06896  M01S00016.ns2469  +++|        END
06897  M01S00017.ns2469  +++|      END
06898  M01S00018.ns2469  +++|    END
06899  M01S00019.ns2469  +++|  FLDIND = FLDIND + 1;
06900  M01S00020.ns2469  +++|END
06901  M00S04306.sform   +++|
06902  M00S04307.sform   +++|CHEKMISSED:                          # TERMINATE IF NO FIELD MISSED #
06903  M00S04308.sform   +++|
06904  M00S04309.sform   +++|  IF TERMISSINP[0] THEN
06905  M00S04310.sform   +++|    BEGIN                            # IF INPUT OUTSIDE OF FIELDS #
06906  M00S04311.sform   +++|    PSTRNG(LASTFIELD,MESSSTAT"CONFIRM");
06907  M00S04312.sform   +++|    FLDIND = LASTFIELD;              # POSITION TO LAST FIELD ENTERED #
06908  M00S04313.sform   +++|    GOTO READFIELDS;                 # REQUEST CONFIRMATION OF INPUT #
06909  M00S04314.sform   +++|    END
06910  M00S04315.sform   +++|
Line S00271 Modification History
M01 (Added by) 243l647
Seq #  *Modification Id* Act 
----------------------------+
06911  M01S00271.243l647 +++|TERREWFLDS[0] = FALSE;
06912  M01S00272.243l647 +++|
06913  M00S04316.sform   +++|END  # READSF #
Line S00088 Modification History
M01 (Added by) sform24
Seq #  *Modification Id* Act 
----------------------------+
06914  M01S00088.sform24 +++|CONTROL EJECT;
06915  M01S00089.sform24 +++|
06916  M01S00090.sform24 +++|PROC RESTFLD (INPOS);
06917  M01S00091.sform24 +++|
06918  M01S00092.sform24 +++|# TITLE RESTFLD - RESTORE DESTROYED FIELD. #
06919  M01S00093.sform24 +++|
06920  M01S00094.sform24 +++|BEGIN  # RESTFLD #
06921  M01S00095.sform24 +++|
06922  M01S00096.sform24 +++|#
06923  M01S00097.sform24 +++|**    RESTFLD - RESTORE DESTROYED FIELD.
06924  M01S00098.sform24 +++|*
06925  M01S00099.sform24 +++|*     RESTFLD MARKS AN ACTIVE FIELD AT *INPOS* FOR REWRITING,
06926  M01S00100.sform24 +++|*     OR WRITES A BLANK IF *INPOS* IS NOT IN AN ACTIVE FIELD.
06927  M01S00101.sform24 +++|*
06928  M01S00102.sform24 +++|*     PROC RESTFLD (INPOS)
06929  M01S00103.sform24 +++|*
06930  M01S00104.sform24 +++|*     ENTRY   INPOS = POSITION ON SCREEN.
06931  M01S00105.sform24 +++|*
06932  M01S00106.sform24 +++|*     EXIT    *FLDREWRITE* FLAG SET OR BLANK WRITTEN TO SCREEN.
06933  M01S00107.sform24 +++|#
06934  M01S00108.sform24 +++|ITEM INPOS      U;
06935  M01S00109.sform24 +++|
06936  M01S00110.sform24 +++|ITEM FIELD      I;
06937  M01S00111.sform24 +++|ITEM I          I;
06938  M01S00112.sform24 +++|
06939  M01S00113.sform24 +++|FIELD = -1;
06940  M01S00114.sform24 +++|FOR I = 0 STEP 1 WHILE FLDENTRY[I] NQ 0 AND FLDPOS[I] LS INPOS DO
06941  M01S00115.sform24 +++|  BEGIN                              # SEARCH FOR ACTIVE FIELD #
06942  M01S00116.sform24 +++|  IF FLDACTIVE[I] THEN FIELD = I;
06943  M01S00117.sform24 +++|  END
06944  M01S00118.sform24 +++|IF VALIDFIELD AND INPOS - FLDPOS[FIELD] LS FLDLENGTH[FIELD] THEN
06945  M01S00119.sform24 +++|  BEGIN                              # IF WITHIN THIS FIELD #
06946  M01S00120.sform24 +++|  FLDREWRITE[FIELD] = TRUE;
06947  M01S00121.sform24 +++|  TERREWFLDS[0] = TRUE;
06948  M01S00122.sform24 +++|  END
06949  M01S00123.sform24 +++|ELSE
06950  M01S00124.sform24 +++|  BEGIN                              # IF NOT IN ANY ACTIVE FIELD #
06951  M01S00125.sform24 +++|  VDTPOS(XMASKOF INPOS,YMASKOF INPOS);
06952  M01S00126.sform24 +++|  VDTOUT(BLANK);
06953  M01S00127.sform24 +++|  END
06954  M01S00128.sform24 +++|END  # RESTFLD #
06955  M00S04317.sform   +++|CONTROL EJECT;
06956  M00S04318.sform   +++|
06957  M00S04319.sform   +++|PROC REWFLD;
06958  M00S04320.sform   +++|
06959  M00S04321.sform   +++|# TITLE REWFLD - REWRITE FIELDS. #
06960  M00S04322.sform   +++|
06961  M00S04323.sform   +++|BEGIN  # REWFLD #
06962  M00S04324.sform   +++|
06963  M00S04325.sform   +++|#
06964  M00S04326.sform   +++|**    REWFLD - REWRITE FIELDS.
06965  M00S04327.sform   +++|*
06966  M00S04328.sform   +++|*     THIS PROCEDURE REWRITES FIELDS.
06967  M00S04329.sform   +++|*
06968  M00S04330.sform   +++|*     PROC REWFLD
06969  M00S04331.sform   +++|*
Line S04332 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06970  M01S04332.242l642 ---|*     ENTRY   TERREWVARS = TRUE, IF REWRITING ALL VARIABLES.
06971  M01S04333.242l642 ---|*                        = FALSE, IF HONORING REWRITE FLAG IN
06972  M01S04334.242l642 ---|*                          FIELD LIST FOR VARIABLES.
Line S01056 Modification History
M01 (Added by) 242l642
M02 (Removed by) sform26
Seq #  *Modification Id* Act 
----------------------------+
06973  M02S01056.sform26 ---|*     ENTRY   TERNOREWRT = FLASE, IF REWRITING ALL VARIABLES.
Line S00001 Modification History
M01 (Added by) sform26
Seq #  *Modification Id* Act 
----------------------------+
06974  M01S00001.sform26 +++|*     ENTRY   TERNOREWRT = FALSE, IF REWRITING ALL VARIABLES.
Line S01057 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06975  M01S01057.242l642 +++|*                        = TRUE, IF HONORING FIELD LIST REWRITE FLAG.
06976  M00S04335.sform   +++|*
06977  M00S04336.sform   +++|*     EXIT    FIELDS REWRITTEN TO SCREEN.
06978  M00S04337.sform   +++|*
Line S04338 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06979  M01S04338.242l642 ---|*     CALLS   VDTCAA, VDTPOS, VDTSAM, VDTSTR, WRIVAR.
Line S01058 Modification History
M01 (Added by) 242l642
M02 (Removed by) ns2346
Seq #  *Modification Id* Act 
----------------------------+
06980  M02S01058.ns2346  ---|*     CALLS   SETATR, VDTCAA, VDTSTR, WRIVAR.
Line S00034 Modification History
M01 (Added by) ns2346
Seq #  *Modification Id* Act 
----------------------------+
06981  M01S00034.ns2346  +++|*     CALLS   SETATR, VDTSAM, VDTSTR, WRIVAR.
06982  M00S04339.sform   +++|#
Line S04340 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06983  M01S04340.242l642 ---|
06984  M01S04341.242l642 ---|ITEM CURORD    I;                    # CURRENT ATTRIBUTE ORDINAL #
06985  M00S04342.sform   ---|ITEM FLDINDEX  I;                    # INDEX INTO FIELD LIST #
Line S00002 Modification History
M01 (Added by) sform26
Seq #  *Modification Id* Act 
----------------------------+
06986  M01S00002.sform26 +++|ITEM VARINDEX I;                     # INDEX TO LAST VAR WRITTEN #
06987  M00S04343.sform   +++|BASED ARRAY CONSTRING;;              # PASSES ADDRESS TO VDTSTR #
06988  M00S04344.sform   +++|
06989  M01S00003.sform26 +++|VARINDEX = - 2;                      # NO VARIABLES WRITTEN YET #
Line S00035 Modification History
M01 (Added by) ns2346
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06990  M02S00035.252l678 ---|CURORD = - 1;                        # NO CURRENT ATTRIBUTES YET #
Line S04345 Modification History
M01 (Removed by) 242l642
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06991  M02S04345.252l678 ---|CURORD = -1;                         # NO CURRENT ATTRIBUTES YET #
Line S01059 Modification History
M01 (Added by) 242l642
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06992  M02S01059.252l678 ---|LASTPOS = - 1;                       # LAST ATTRIBUTE POSITION #
Line S00211 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
06993  M01S00211.252l678 +++|TERCURVORD[0] = - 1;                 # NO CURRENT ATTRIBUTES YET #
06994  M01S00212.252l678 +++|TERPREVPOS[0] = - 1;                 # LAST ATTRIBUTE POSITION #
06995  M00S04346.sform   +++|FOR FLDINDEX = 0 STEP 1 WHILE FLDENTRY[FLDINDEX] NQ 0 DO
06996  M00S04347.sform   +++|  BEGIN
06997  M00S04348.sform   +++|  IF FLDACTIVE[FLDINDEX] AND (FLDREWRITE[FLDINDEX] OR
Line S04349 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
06998  M01S04349.242l642 ---|    (TERREWVARS[0] AND FLDVARFLAG[FLDINDEX])) THEN
Line S01060 Modification History
M01 (Added by) 242l642
M02 (Removed by) sform26
Seq #  *Modification Id* Act 
----------------------------+
06999  M02S01060.sform26 ---|    ((NOT TERNOREWRT[0]) AND FLDVARFLAG[FLDINDEX])) THEN
Line S00004 Modification History
M01 (Added by) sform26
Seq #  *Modification Id* Act 
----------------------------+
07000  M01S00004.sform26 +++|    ((NOT TERNOREWRT[0]) AND FLDVARFLAG[FLDINDEX])) OR
07001  M01S00005.sform26 +++|    (TERATTRCHR[0] AND VARINDEX EQ FLDINDEX - 1) THEN
07002  M00S04350.sform   +++|    BEGIN                            # IF ACTIVE FIELD TO REWRITE #
Line S04351 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07003  M01S04351.242l642 ---|    VDTPOS(FLDXCORD[FLDINDEX],FLDYCORD[FLDINDEX]);
07004  M01S04352.242l642 ---|    IF FLDATTORD[FLDINDEX] NQ CURORD THEN
07005  M01S04353.242l642 ---|      BEGIN                          # IF NOT CURRENT ATTRIBUTES #
07006  M01S04354.242l642 ---|      CURORD = FLDATTORD[FLDINDEX];
07007  M01S04355.242l642 ---|      VDTSAM(ATTMASK[CURORD]);       # SET NEW ATTRIBUTES #
07008  M01S04356.242l642 ---|      END
Line S01061 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07009  M01S01061.242l642 +++|    SETATR(FLDINDEX);                # SET FIELD ATTRIBUTES #
07010  M00S04357.sform   +++|    IF FLDVARFLAG[FLDINDEX] THEN     # IF VARIABLE FIELD #
07011  M00S04358.sform   +++|      BEGIN
07012  M00S04359.sform   +++|      WRIVAR(FLDINDEX);              # WRITE VARIABLE FIELD #
Line S00006 Modification History
M01 (Added by) sform26
Seq #  *Modification Id* Act 
----------------------------+
07013  M01S00006.sform26 +++|      VARINDEX = FLDINDEX;
07014  M00S04360.sform   +++|      END
07015  M00S04361.sform   +++|    ELSE
07016  M00S04362.sform   +++|      BEGIN                          # WRITE CONSTANT FIELD #
07017  M00S04363.sform   +++|      P<CONSTRING>=LOC(RECWORDC[FLDCONOS[FLDINDEX]]);
07018  M00S04364.sform   +++|      VDTSTR(CONSTRING);
07019  M00S04365.sform   +++|      FLDREWRITE[FLDINDEX] = FALSE;  # CLEAR REWRITE FIELD FLAG #
07020  M00S04366.sform   +++|      END
Line S01062 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07021  M01S01062.242l642 +++|    IF TERTABPROT[0] THEN
07022  M01S01063.242l642 +++|      BEGIN                          # IF PROTECTED TABBING #
07023  M01S01064.242l642 +++|      IF TERATTRSET[0] THEN
07024  M01S01065.242l642 +++|        BEGIN                        # RESET ATTRIBUTES BEFORE VDTPOS #
Line S01066 Modification History
M01 (Added by) 242l642
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07025  M02S01066.252l678 ---|        IF CURORD NQ 2 THEN
Line S00213 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07026  M01S00213.252l678 +++|        IF TERCURVORD[0] NQ 2 THEN
Line S01067 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07027  M01S01067.242l642 +++|          BEGIN                      # IF NOT PROTECTED OUTPUT #
Line S01068 Modification History
M01 (Added by) 242l642
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07028  M02S01068.252l678 ---|          CURORD = 2;                # SET ORDINAL AND ISSUE IT #
Line S00214 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07029  M01S00214.252l678 +++|          TERCURVORD[0] = 2;         # SET ORDINAL AND ISSUE IT #
Line S01069 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07030  M01S01069.242l642 +++|          VDTSAM(O"6001");
07031  M01S01070.242l642 +++|          END
07032  M01S01071.242l642 +++|        END
07033  M01S01072.242l642 +++|      END
07034  M00S04367.sform   +++|    END
07035  M00S04368.sform   +++|  END
Line S04369 Modification History
M01 (Removed by) ns2346
Seq #  *Modification Id* Act 
----------------------------+
07036  M01S04369.ns2346  ---|VDTCAA;                              # CLEAR ALL ATTRIBUTES #
Line S00036 Modification History
M01 (Added by) ns2346
M02 (Removed by) ns2356
Seq #  *Modification Id* Act 
----------------------------+
07037  M02S00036.ns2356  ---|VDTSAM(0);                           # CLEAR ALL ATTRIBUTES #
Line S00017 Modification History
M01 (Added by) ns2356
Seq #  *Modification Id* Act 
----------------------------+
07038  M01S00017.ns2356  +++|  IF NOT TERBLCKMDE[0] THEN
07039  M01S00018.ns2356  +++|    BEGIN
07040  M01S00019.ns2356  +++|    VDTSAM(0);
07041  M01S00020.ns2356  +++|    END
07042  M01S00021.ns2356  +++|  ELSE
07043  M01S00022.ns2356  +++|    BEGIN
07044  M01S00023.ns2356  +++|    VDTSAM(O"6001");
07045  M01S00024.ns2356  +++|    END
07046  M00S04370.sform   +++|
07047  M00S04371.sform   +++|END  # REWFLD #
07048  M00S04372.sform   +++|CONTROL EJECT;
07049  M00S04373.sform   +++|
07050  M00S04374.sform   +++|PROC REALRANGE(FLDIND,IVALUE,EVALUE);
07051  M00S04375.sform   +++|
07052  M00S04376.sform   +++|# TITLE RRANGE - RANGE VALIDATION FOR REAL VARIABLES. #
07053  M00S04377.sform   +++|
07054  M00S04378.sform   +++|BEGIN  # RRANGE #
07055  M00S04379.sform   +++|
07056  M00S04380.sform   +++|#
07057  M00S04381.sform   +++|**    REALRANGE - RANGE VALIDATION FOR REAL VARIABLES.
07058  M00S04382.sform   +++|*
07059  M00S04383.sform   +++|*     THIS PROCEDURE VALIDATES THAT INPUT TO THE VARIABLE POINTED TO
07060  M00S04384.sform   +++|*     BY FLDIND IS WITHIN THE RANGE SPECIFIED IN THE PANEL RECORD.
07061  M00S04385.sform   +++|*
07062  M00S04386.sform   +++|*     PROC REALRANGE(FLDIND,IVALUE,EVALUE)
07063  M00S04387.sform   +++|*
07064  M00S04388.sform   +++|*     ENTRY   FLDIND     = INDEX OF CURRENT FIELD IN FLDLIST.
07065  M00S04389.sform   +++|*             IVALUE     = THE INTEGER VALUE OF THE INPUT.
07066  M00S04390.sform   +++|*             EVALUE     = THE EXPONENT VALUE OF THE INPUT.
07067  M00S04391.sform   +++|*
07068  M00S04392.sform   +++|*     EXIT    FLDVALID[FLDIND] = FALSE, IF INPUT IS INVALID.
07069  M00S04393.sform   +++|#
07070  M00S04394.sform   +++|ITEM FLDIND     I;                   # INDEX OF VARIABLE TO VALIDATE #
07071  M00S04395.sform   +++|ITEM IVALUE     I;                   # INTEGER VALUE OF INPUT #
07072  M00S04396.sform   +++|ITEM EVALUE     I;                   # EXPONENT VALUE OF INPUT #
07073  M00S04397.sform   +++|
07074  M00S04398.sform   +++|ITEM FPSTAT     I;                   # GFP OVERFLOW STATUS #
07075  M00S04399.sform   +++|ITEM MAXVAL     R;                   # MAXIMUM ALLOWED VALUE #
07076  M00S04400.sform   +++|ITEM MINVAL     R;                   # MINIMUM ALLOWED VALUE #
07077  M00S04401.sform   +++|ITEM OFFSET     I;                   # OFFSET OF VALIDATION IN RECORD #
07078  M00S04402.sform   +++|ITEM RVALUE     R;                   # REAL VALUE OF INPUT #
07079  M00S04403.sform   +++|ITEM VARIND     I;                   # INDEX INTO VARLIST #
07080  M00S04404.sform   +++|
07081  M00S04405.sform   +++|VARIND = FLDVARORD[FLDIND];
07082  M00S04406.sform   +++|OFFSET = VARVALOS[VARIND];
07083  M00S04407.sform   +++|MINVAL = RECWORDR[OFFSET];
07084  M00S04408.sform   +++|MAXVAL = RECWORDR[OFFSET + 1];
07085  M00S04409.sform   +++|
07086  M00S04410.sform   +++|FPSTAT = GFP(IVALUE,EVALUE,RVALUE);  # GENERATE REAL VALUE #
07087  M00S04411.sform   +++|
07088  M00S04412.sform   +++|IF FPSTAT EQ 0 THEN
07089  M00S04413.sform   +++|  BEGIN                              # IF NO ERROR IN REAL VALUE #
07090  M00S04414.sform   +++|  IF (RVALUE LS MINVAL) OR (RVALUE GR MAXVAL) THEN
07091  M00S04415.sform   +++|    BEGIN                            # IF VALUE OUTSIDE OF RANGE #
07092  M00S04416.sform   +++|    FLDVALID[FLDIND] = FALSE;
07093  M00S04417.sform   +++|    END
07094  M00S04418.sform   +++|  END
07095  M00S04419.sform   +++|ELSE
07096  M00S04420.sform   +++|  BEGIN                              # ERROR IN REAL VALUE #
07097  M00S04421.sform   +++|  FLDVALID[FLDIND] = FALSE;
07098  M00S04422.sform   +++|  END
07099  M00S04423.sform   +++|
07100  M00S04424.sform   +++|END  # REALRANGE #
Line S01073 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07101  M01S01073.242l642 +++|CONTROL EJECT;
07102  M01S01074.242l642 +++|
07103  M01S01075.242l642 +++|PROC SETATR(FLDINDEX);
07104  M01S01076.242l642 +++|
07105  M01S01077.242l642 +++|# TITLE SETATR - SET FIELD ATTRIBUTES. #
07106  M01S01078.242l642 +++|
07107  M01S01079.242l642 +++|BEGIN  # SETATR #
07108  M01S01080.242l642 +++|
07109  M01S01081.242l642 +++|#
07110  M01S01082.242l642 +++|**    SETATR - SET FIELD ATTRIBUTES.
07111  M01S01083.242l642 +++|*
07112  M01S01084.242l642 +++|*     THIS PROCEDURE SETS THE FIELD ATTRIBUTES FOR A GIVEN FIELD.
07113  M01S01085.242l642 +++|*
07114  M01S01086.242l642 +++|*     PROC SETATR(FLDINDEX)
07115  M01S01087.242l642 +++|*
07116  M01S01088.242l642 +++|*     ENTRY   FLDINDEX   = INDEX INTO FIELD TABLE
07117  M01S01089.242l642 +++|*
07118  M01S01090.242l642 +++|*     CALLS   VDTSAM, VDTSAP.
07119  M01S01091.242l642 +++|#
07120  M01S01092.242l642 +++|ITEM FLDINDEX   I;                   # FIELD INDEX #
07121  M01S01093.242l642 +++|
Line S01094 Modification History
M01 (Added by) 242l642
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07122  M02S01094.252l678 ---|VDTSAP(LASTPOS,FLDXCORD[FLDINDEX],FLDYCORD[FLDINDEX]);
07123  M02S01095.252l678 ---|LASTPOS = LASTPOS + FLDLENGTH[FLDINDEX] + 1;
07124  M02S01096.252l678 ---|IF (FLDATTORD[FLDINDEX] NQ CURORD) OR TERBLCKMDE[0] THEN
Line S00215 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07125  M01S00215.252l678 +++|VDTSAP(TERPREVPOS[0],FLDXCORD[FLDINDEX],FLDYCORD[FLDINDEX]);
07126  M01S00216.252l678 +++|TERPREVPOS[0] = TERPREVPOS[0] + FLDLENGTH[FLDINDEX] + 1;
07127  M01S00217.252l678 +++|IF (FLDATTORD[FLDINDEX] NQ TERCURVORD[0])
07128  M01S00218.252l678 +++|  OR TERBLCKMDE[0] OR TERATTRCHR[0] THEN
Line S01097 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07129  M01S01097.242l642 +++|  BEGIN                              # IF NEED TO SET ATTRIBUTES #
Line S01098 Modification History
M01 (Added by) 242l642
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07130  M02S01098.252l678 ---|  CURORD = FLDATTORD[FLDINDEX];
07131  M02S01099.252l678 ---|  VDTSAM(ATTMASK[CURORD]);
Line S00219 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07132  M01S00219.252l678 +++|  TERCURVORD[0] = FLDATTORD[FLDINDEX];
07133  M01S00220.252l678 +++|  VDTSAM(ATTMASK[TERCURVORD[0]]);
Line S01100 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07134  M01S01100.242l642 +++|  END
07135  M01S01101.242l642 +++|
07136  M01S01102.242l642 +++|END  # SETATR #
07137  M01S01103.242l642 +++|*IF DEF,QTRM
07138  M01S01104.242l642 +++|CONTROL EJECT;
07139  M01S01105.242l642 +++|
07140  M01S01106.242l642 +++|PROC SETFSF(PANELADDR);
07141  M01S01107.242l642 +++|
07142  M01S01108.242l642 +++|# TITLE SETFSF - SET FIELD STATUS FLAGS FOR PANEL. #
07143  M01S01109.242l642 +++|
07144  M01S01110.242l642 +++|BEGIN  # SETFSF #
07145  M01S01111.242l642 +++|
07146  M01S01112.242l642 +++|#
07147  M01S01113.242l642 +++|**    SETFSF - SET FIELD STATUS FLAGS FOR PANEL.
07148  M01S01114.242l642 +++|*
07149  M01S01115.242l642 +++|*     THIS PROCEDURE GOES THROUGH THE FIELD LIST ENTRIES IN THE PANEL
07150  M01S01116.242l642 +++|*     (FLDLIST)SETTING THE ENTERED, VALID, REWRITE AND ACTIVE FLAGS
07151  M01S01117.242l642 +++|*     TO THEIR DEFAULT VALUE.  THIS ASSURES THAT PANELS USED BY MORE
07152  M01S01118.242l642 +++|*     THAN ONE USER WILL PRODUCE COMPLETE OUTPUT THE FIRST TIME THEY
07153  M01S01119.242l642 +++|*     ARE WRITTEN TO THE SCREEN.  THE ENTRY AND VALIDATION FIELDS
07154  M01S01120.242l642 +++|*     ARE SET FALSE AND THE REWRITE AND ACTIVE FIELDS ARE SET TO TRUE.
07155  M01S01121.242l642 +++|*     AT THIS TIME VARDATA IS ALSO RESET (TO ALL BLANKS).
07156  M01S01122.242l642 +++|*
07157  M01S01123.242l642 +++|*     PROC SETFSF
07158  M01S01124.242l642 +++|*
07159  M01S01125.242l642 +++|*     ENTRY   PANELADDR  = ADDRESS OF PANEL.
07160  M01S01126.242l642 +++|*
07161  M01S01127.242l642 +++|*     EXIT    FIELD STATUS FLAGS RESET TO DEFAULT VALUES.
07162  M01S01128.242l642 +++|*             VARDATA BLANKED OUT.
07163  M01S01129.242l642 +++|#
07164  M01S01130.242l642 +++|ITEM PANELADDR  I;                   # PANEL ADDRESS #
07165  M01S01131.242l642 +++|
07166  M01S01132.242l642 +++|ITEM I          I;                   # COUNTER #
07167  M01S01133.242l642 +++|ITEM VDATALEN   I;                   # VARDATA LENGTH #
07168  M01S01134.242l642 +++|
07169  M01S01135.242l642 +++|POSARR(PANELADDR);                   # POSITION BASED ARRAYS #
07170  M01S01136.242l642 +++|
07171  M01S01137.242l642 +++|FOR I = 0 STEP 1 WHILE FLDENTRY[I] NQ 0 DO
07172  M01S01138.242l642 +++|  BEGIN                              # FOR ENTIRE FIELD LIST #
07173  M01S01139.242l642 +++|  FLDENTERED[I] = FALSE;
07174  M01S01140.242l642 +++|  FLDVALID[I] = FALSE;
07175  M01S01141.242l642 +++|  FLDREWRITE[I] = TRUE;
07176  M01S01142.242l642 +++|  FLDACTIVE[I] = TRUE;
07177  M01S01143.242l642 +++|  END
07178  M01S01144.242l642 +++|
07179  M01S01145.242l642 +++|  IF PANSTRFLD[0] NQ 0 THEN
07180  M01S01146.242l642 +++|    BEGIN                            # IF FIELDS EXIST #
07181  M01S01147.242l642 +++|    VDATALEN = P<FLDLIST> - (PANELADDR + PANHEADLEN);
07182  M01S01148.242l642 +++|    END
07183  M01S01149.242l642 +++|  ELSE
07184  M01S01150.242l642 +++|    BEGIN                            # NO FIELDS #
07185  M01S01151.242l642 +++|    VDATALEN = P<VARLIST> - (PANELADDR + PANHEADLEN);
07186  M01S01152.242l642 +++|    END
07187  M01S01153.242l642 +++|                                     # RESET VARDATA #
07188  M01S01154.242l642 +++|  FOR I = 0 STEP 1 UNTIL VDATALEN - 1 DO
07189  M01S01155.242l642 +++|    BEGIN                            # CLEAR VARDATA TO BLANKS #
07190  M01S01156.242l642 +++|    VDATAU[I] = O"0040 0040 0040 0040 0040";
07191  M01S01157.242l642 +++|    END
07192  M01S01158.242l642 +++|
07193  M01S01159.242l642 +++|END  # SETFSF #
07194  M01S01160.242l642 +++|*ENDIF
07195  M00S04425.sform   +++|CONTROL EJECT;
07196  M00S04426.sform   +++|
07197  M00S04427.sform   +++|PROC SETSRN(COLUMNS,LINES);
07198  M00S04428.sform   +++|
07199  M00S04429.sform   +++|# TITLE SETSRN - SET SCREEN. #
07200  M00S04430.sform   +++|
07201  M00S04431.sform   +++|BEGIN  # SETSRN #
07202  M00S04432.sform   +++|
07203  M00S04433.sform   +++|#
07204  M00S04434.sform   +++|**    SETSRN - SET SCREEN.
07205  M00S04435.sform   +++|*
07206  M00S04436.sform   +++|*     THIS PROCEDURE SETS THE TERMINAL INTO SCREEN MODE, USING LINES
07207  M00S04437.sform   +++|*     AND COLUMNS AS THE DESIRED SCREEN SIZE, AND UPDATES THE GLOBAL
07208  M00S04438.sform   +++|*     VARIABLES THAT HOLD THE ACTUAL NUMBER OF LINES AND COLUMNS AND
07209  M00S04439.sform   +++|*     THE TERMINAL ATTRIBUTE CHARACTERISTICS.
07210  M00S04440.sform   +++|*
07211  M00S04441.sform   +++|*     PROC SETSRN(COLUMNS,LINES)
07212  M00S04442.sform   +++|*
07213  M00S04443.sform   +++|*     ENTRY   COLUMNS     = THE NUMBER OF DESIRED COLUMNS.
07214  M00S04444.sform   +++|*             LINES       = THE NUMBER OF DESIRED LINES.
07215  M00S04445.sform   +++|*
07216  M00S04446.sform   +++|*     EXIT    TERPROTECT = TRUE IF TERMINAL HAS PROTECT.
07217  M00S04447.sform   +++|*             TERGUARDMD = TRUE IF TERMINAL HAS GUARD MODE.
07218  M00S04448.sform   +++|*             TERTABHOME = TRUE IF HARD TAB GOES TO HOME.
07219  M00S04449.sform   +++|*             TERTABPROT = TRUE IF CAN TAB TO PROTECTED FIELDS.
07220  M00S04450.sform   +++|*             TERSIZECLR = TRUE IF RESET OF SIZE CLEARS SCREEN.
07221  M00S04451.sform   +++|*             TERTABAUTO = TRUE IF AUTOMATIC TABBING AVAILABLE.
07222  M00S04452.sform   +++|*             TERNUMCOLS = THE ACTUAL NUMBER OF COLUMNS.
07223  M00S04453.sform   +++|*             TERNUMLNES = THE ACTUAL NUMBER OF LINES.
07224  M00S04454.sform   +++|*             TERLEAVESM = FUNCTION KEY LEAVES MARK COUNT.
07225  M00S04455.sform   +++|*             TERSCREENM = TRUE.
07226  M00S04456.sform   +++|*
Line S04457 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07227  M01S04457.242l642 ---|*     CALLS   VDTGTD, VDTGTF, VDTOPN, VDTSTD, VDTSTM.
Line S01161 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07228  M01S01161.242l642 +++|*IF UNDEF,QTRM
07229  M01S01162.242l642 +++|*     CALLS   VDTGTD, VDTGTF, VDTOPN, VDTSTD, VDTSTM.
07230  M01S01163.242l642 +++|*ELSE
07231  M01S01164.242l642 +++|*     CALLS   VDTGTD, VDTGTF, VDTSTD, VDTSTM.
07232  M01S01165.242l642 +++|*ENDIF
07233  M00S04458.sform   +++|*
07234  M00S04459.sform   +++|*     USES    TERGUARDMD, TERLEAVESM, TERNUMCOLS, TERNUMLNES,
07235  M00S04460.sform   +++|*             TERPROTECT, TERSCREENM, TERSIZECLR, TERTABAUTO,
07236  M00S04461.sform   +++|*             TERTABHOME, TERTABPROT.
07237  M00S04462.sform   +++|#
07238  M00S04463.sform   +++|ITEM COLUMNS    U;                   # DESIRED NUMBER OF COLUMNS #
07239  M00S04464.sform   +++|ITEM LINES      U;                   # DESIRED NUMBER OF LINES #
07240  M00S04465.sform   +++|
07241  M00S04466.sform   +++|ITEM SCREEN     I = 1;               # INDICATES SCREEN MODE TO VDT #
07242  M00S04467.sform   +++|ITEM ATTRWORD   U;                   # TERMINAL ATTRIBUTES WORD #
07243  M00S04468.sform   +++|
Line S04469 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07244  M01S04469.242l642 ---|VDTOPN;                              # OPEN TERMINAL #
Line S01166 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07245  M01S01166.242l642 +++|*IF UNDEF,QTRM
07246  M01S01167.242l642 +++|VDTOPN;                              # OPEN TERMINAL #
07247  M01S01168.242l642 +++|*ENDIF
07248  M00S04470.sform   +++|VDTSTM(SCREEN,DUMMY);                # SET SCREEN MODE #
07249  M00S04471.sform   +++|VDTSTD(COLUMNS,LINES);               # SET SCREEN DIMENSIONS #
07250  M00S04472.sform   +++|VDTGTD(COLUMNS,LINES);               # GET ACTUAL VALUES #
Line S04473 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07251  M01S04473.242l642 ---|NUMCOLS = COLUMNS - 1;               # SET INTERNAL VALUE #
07252  M01S04474.242l642 ---|NUMLINES = LINES - 1;                # SET INTERNAL VALUE #
Line S01169 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07253  M01S01169.242l642 +++|TERNUMCOLS[0] = COLUMNS - 1;         # SET INTERNAL VALUE #
07254  M01S01170.242l642 +++|TERNUMLNES[0] = LINES - 1;           # SET INTERNAL VALUE #
Line S04475 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07255  M01S04475.252l678 ---|VDTGTF(ATTRWORD);                    # GET TERMINAL ATTRIBUTES #
07256  M01S04476.252l678 ---|TERPROTECT[0] = B<01,01>ATTRWORD EQ 1;
07257  M01S04477.252l678 ---|TERGUARDMD[0] = B<04,01>ATTRWORD EQ 1;
07258  M01S04478.252l678 ---|TERTABHOME[0] = B<05,01>ATTRWORD EQ 1;
07259  M01S04479.252l678 ---|TERTABPROT[0] = B<06,01>ATTRWORD EQ 1;
07260  M01S04480.252l678 ---|TERSIZECLR[0] = B<08,01>ATTRWORD EQ 1;
07261  M01S04481.252l678 ---|TERTABAUTO[0] = B<09,01>ATTRWORD EQ 1;
Line S01171 Modification History
M01 (Added by) 242l642
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07262  M02S01171.252l678 ---|TERBLCKMDE[0] = B<11,01>ATTRWORD EQ 1;
07263  M02S01172.252l678 ---|TERPTDWFPG[0] = B<13,01>ATTRWORD EQ 1;
07264  M02S01173.252l678 ---|TERATTRSET[0] = B<21,01>ATTRWORD EQ 1;
Line S04482 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07265  M01S04482.252l678 ---|TERLEAVESM[0] = B<57,03>ATTRWORD;
Line S00221 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07266  M01S00221.252l678 +++|FOR DUMMY = 2 STEP 1 UNTIL 4 DO
07267  M01S00222.252l678 +++|  BEGIN
07268  M01S00223.252l678 +++|  VDTGTF(ATTRWORD,DUMMY);            # GET TERMINAL ATTRIBUTES #
07269  M01S00224.252l678 +++|  TERMSTATWD[DUMMY] = ATTRWORD;      # SAVE TERMINAL ATTRIBUTES #
07270  M01S00225.252l678 +++|  END
07271  M00S04483.sform   +++|TERSCREENM[0] = TRUE;                # TERMINAL IS IN SCREEN MODE #
07272  M00S04484.sform   +++|
07273  M00S04485.sform   +++|END  # SETSRN #
07274  M00S04486.sform   +++|CONTROL EJECT;
07275  M00S04487.sform   +++|
07276  M00S04488.sform   +++|PROC SFLOAD(PANELNAME,PANELADDR,OPENSTAT);
07277  M00S04489.sform   +++|
07278  M00S04490.sform   +++|# TITLE SFLOAD - LOAD PANEL. #
07279  M00S04491.sform   +++|
07280  M00S04492.sform   +++|BEGIN  # SFLOAD #
07281  M00S04493.sform   +++|
07282  M00S04494.sform   +++|#
07283  M00S04495.sform   +++|**    SFLOAD - LOAD PANEL.
07284  M00S04496.sform   +++|*
07285  M00S04497.sform   +++|*     THIS PROCEDURE CALLS THE FAST DYNAMIC LOADER TO LOAD THE
07286  M00S04498.sform   +++|*     SPECIFIED PANEL AND ISSUES AN INFORMATIVE MESSAGE IF THE
07287  M00S04499.sform   +++|*     LOAD WAS UNSUCCESSFUL DUE TO AN INTERNAL F.D.L. ERROR.
07288  M00S04500.sform   +++|*
07289  M00S04501.sform   +++|*     PROC SFLOAD(PANELNAME,PANELADDR,OPENSTAT)
07290  M00S04502.sform   +++|*
07291  M00S04503.sform   +++|*     ENTRY   PANELNAME  = NAME OF PANEL TO BE LOADED.
07292  M00S04504.sform   +++|*
07293  M00S04505.sform   +++|*     EXIT    PANEL LOADED IF POSSIBLE, OPENSTAT SET, INFORMATIVE
07294  M00S04506.sform   +++|*             DAYFILE MESSAGE ISSUED IF NECESSARY.
07295  M00S04507.sform   +++|*
07296  M00S04508.sform   +++|*     CALLS   ERRMSG, LCP.
07297  M00S04509.sform   +++|*
07298  M00S04510.sform   +++|*     NOTES   OPENSTAT IS SET BY SFLOAD (AND RETURNED TO SFOPEN)
07299  M00S04511.sform   +++|*             IN THOSE INSTANCES WHERE THE FAST DYNAMIC LOADER
07300  M00S04512.sform   +++|*             IS CALLED.
07301  M00S04513.sform   +++|*
07302  M00S04514.sform   +++|*             OPENSTAT   SIGNIFICANCE                     PROCEDURE
07303  M00S04515.sform   +++|*             .....................................................
07304  M00S04516.sform   +++|*             .   0   .  NO ERROR                        .  BOTH  .
07305  M00S04517.sform   +++|*             .   1   .  UNKNOWN PANEL NAME              . SFLOAD .
07306  M00S04518.sform   +++|*             .   2   .  INCORRECT CAPSULE FORMAT        . SFLOAD .
07307  M00S04519.sform   +++|*             .   3   .  PLT FULL (TOO MANY OPEN PANELS) . SFOPEN .
07308  M00S04520.sform   +++|*             .   4   .  PANEL ALREADY OPEN              . SFOPEN .
07309  M00S04521.sform   +++|*             .   5   .  INTERNAL (FAST DYNAMIC LOADER)  . SFLOAD .
07310  M00S04522.sform   +++|*             .   6   .  NO SCREEN COMMAND ISSUED        . SFOPEN .
07311  M00S04523.sform   +++|*             .   7   .  UNSUPPORTED TERMINAL            . SFOPEN .
07312  M00S04524.sform   +++|*             .....................................................
07313  M00S04525.sform   +++|#
07314  M00S04526.sform   +++|ITEM PANELNAME  C(7);                # NAME OF PANEL TO LOAD #
07315  M00S04527.sform   +++|ITEM PANELADDR  I;                   # MEMORY ADDRESS OF PANEL #
07316  M00S04528.sform   +++|ITEM OPENSTAT   I;                   # RETURNS STATUS TO APPLICATION #
07317  M00S04529.sform   +++|
07318  M00S04530.sform   +++|ITEM FATAL      B = FALSE;           # OPEN ERRORS ARE NOT FATAL #
07319  M00S04531.sform   +++|ITEM FDLSTAT    I;                   # RETURNS STATUS FROM LOADER #
07320  M00S04532.sform   +++|ITEM MSG        C(25);               # DAYFILE ERROR MESSAGE #
07321  M00S04533.sform   +++|ITEM PNAME      C(6) = "SFOPEN";     # PROCEDURE NAME #
07322  M00S04534.sform   +++|
07323  M00S04535.sform   +++|SWITCH LOADCASE                      # F.D.L. STATUS RETURN SWITCH #
07324  M00S04536.sform   +++|  NOERROR,                           # SUCCESSFUL LOAD #
07325  M00S04537.sform   +++|  BADLIBRARY,                        # BAD LIBRARY LIST #
07326  M00S04538.sform   +++|  BADGROUP,                          # BAD GROUP NAME #
07327  M00S04539.sform   +++|  UNKNOWNCAP,                        # UNKNOWN CAPSULE NAME #
07328  M00S04540.sform   +++|  BADFORMAT,                         # BAD CAPSULE FORMAT #
07329  M00S04541.sform   +++|  BADENTRY,                          # BAD PASSLOC/ENTRY FORMAT #
07330  M00S04542.sform   +++|  DUPLOAD,                           # CAPSULE ALREADY IN MEMORY #
07331  M00S04543.sform   +++|  CAPOVCAP;                          # CAPSULE/OVCAP CONFUSION #
07332  M00S04544.sform   +++|
07333  M00S04545.sform   +++|LCP(PANELNAME,PANELADDR,FDLSTAT);    # CALL FAST DYNAMIC LOADER #
07334  M00S04546.sform   +++|
07335  M00S04547.sform   +++|#
07336  M00S04548.sform   +++|*  SIMULATED CASE STATEMENT FOR PROCESSING LOADER RETURN STATUS.
07337  M00S04549.sform   +++|#
07338  M00S04550.sform   +++|
07339  M00S04551.sform   +++|GOTO LOADCASE[FDLSTAT];              # PROCESS STATUS FROM LOADER #
07340  M00S04552.sform   +++|
07341  M00S04553.sform   +++|NOERROR:                             # NO ERROR #
Line S04554 Modification History
M01 (Removed by) ns2275
Seq #  *Modification Id* Act 
----------------------------+
07342  M01S04554.ns2275  ---|  OPENSTAT = 0;                      # UPDATE PANEL LOAD TABLE #
Line S00028 Modification History
M01 (Added by) ns2275
Seq #  *Modification Id* Act 
----------------------------+
07343  M01S00028.ns2275  +++|  OPENSTAT = OPENSTATUS"NOERROR";    # UPDATE PANEL LOAD TABLE #
07344  M00S04555.sform   +++|  PLTNUMENT[0] = PLTNUMENT[0]+1;
07345  M00S04556.sform   +++|  PLTENAME[PLTNUMENT[0]]=PANELNAME;
07346  M00S04557.sform   +++|  PLTSLFLAG[PLTNUMENT[0]]=FALSE;
07347  M00S04558.sform   +++|  PLTOPENFLG[PLTNUMENT[0]]=TRUE;
07348  M00S04559.sform   +++|  PLTADDR[PLTNUMENT[0]]=PANELADDR;
07349  M00S04560.sform   +++|  GOTO ENDCASE;
07350  M00S04561.sform   +++|
07351  M00S04562.sform   +++|BADLIBRARY:                          # BAD LIBRARY LIST #
Line S04563 Modification History
M01 (Removed by) ns2275
Seq #  *Modification Id* Act 
----------------------------+
07352  M01S04563.ns2275  ---|  OPENSTAT = 5;                      # ISSUE INFORMATIVE MESSAGE #
Line S00029 Modification History
M01 (Added by) ns2275
Seq #  *Modification Id* Act 
----------------------------+
07353  M01S00029.ns2275  +++|  OPENSTAT = OPENSTATUS"INTERNAL";   # ISSUE INFORMATIVE MESSAGE #
07354  M00S04564.sform   +++|  MSG = " BAD LIBRARY LIST.       ";
07355  M00S04565.sform   +++|  ERRMSG(PANELNAME,PNAME,MSG,FATAL);
07356  M00S04566.sform   +++|  GOTO ENDCASE;
07357  M00S04567.sform   +++|
07358  M00S04568.sform   +++|BADGROUP:                            # UNKNOWN GROUP NAME #
Line S04569 Modification History
M01 (Removed by) ns2275
Seq #  *Modification Id* Act 
----------------------------+
07359  M01S04569.ns2275  ---|  OPENSTAT = 5;                      # ISSUE INFORMATIVE MESSAGE #
Line S00030 Modification History
M01 (Added by) ns2275
Seq #  *Modification Id* Act 
----------------------------+
07360  M01S00030.ns2275  +++|  OPENSTAT = OPENSTATUS"INTERNAL";   # ISSUE INFORMATIVE MESSAGE #
07361  M00S04570.sform   +++|  MSG = " BAD GROUP NAME.         ";
07362  M00S04571.sform   +++|  ERRMSG(PANELNAME,PNAME,MSG,FATAL);
07363  M00S04572.sform   +++|  GOTO ENDCASE;
07364  M00S04573.sform   +++|
07365  M00S04574.sform   +++|UNKNOWNCAP:                          # UNKNOWN CAPSULE NAME #
Line S04575 Modification History
M01 (Removed by) ns2275
Seq #  *Modification Id* Act 
----------------------------+
07366  M01S04575.ns2275  ---|  OPENSTAT = 1;
Line S00031 Modification History
M01 (Added by) ns2275
Seq #  *Modification Id* Act 
----------------------------+
07367  M01S00031.ns2275  +++|  OPENSTAT = OPENSTATUS"UNPANEL";    # UNKNOWN CAPSULE NAME #
07368  M00S04576.sform   +++|  GOTO ENDCASE;
07369  M00S04577.sform   +++|
07370  M00S04578.sform   +++|BADFORMAT:                           # BAD CAPSULE FORMAT #
Line S04579 Modification History
M01 (Removed by) ns2275
Seq #  *Modification Id* Act 
----------------------------+
07371  M01S04579.ns2275  ---|  OPENSTAT = 2;
Line S00032 Modification History
M01 (Added by) ns2275
Seq #  *Modification Id* Act 
----------------------------+
07372  M01S00032.ns2275  +++|  OPENSTAT = OPENSTATUS"INCAPFOR";   # BAD CAPSULE FORMAT #
07373  M00S04580.sform   +++|  GOTO ENDCASE;
07374  M00S04581.sform   +++|
07375  M00S04582.sform   +++|BADENTRY:                            # BAD PASSLOC/ENTRY FORMAT #
Line S04583 Modification History
M01 (Removed by) ns2275
Seq #  *Modification Id* Act 
----------------------------+
07376  M01S04583.ns2275  ---|  OPENSTAT = 5;                      # ISSUE INFORMATIVE MESSAGE #
Line S00033 Modification History
M01 (Added by) ns2275
Seq #  *Modification Id* Act 
----------------------------+
07377  M01S00033.ns2275  +++|  OPENSTAT = OPENSTATUS"INTERNAL";   # ISSUE INFORMATIVE MESSAGE #
07378  M00S04584.sform   +++|  MSG = " BAD ENTRY FORMAT.       ";
07379  M00S04585.sform   +++|  ERRMSG(PANELNAME,PNAME,MSG,FATAL);
07380  M00S04586.sform   +++|  GOTO ENDCASE;
07381  M00S04587.sform   +++|
07382  M00S04588.sform   +++|DUPLOAD:                             # CAPSULE ALREADY IN MEMORY #
Line S04589 Modification History
M01 (Removed by) ns2275
Seq #  *Modification Id* Act 
----------------------------+
07383  M01S04589.ns2275  ---|  OPENSTAT = 5;                      # ISSUE INFORMATIVE MESSAGE #
Line S00034 Modification History
M01 (Added by) ns2275
Seq #  *Modification Id* Act 
----------------------------+
07384  M01S00034.ns2275  +++|  OPENSTAT = OPENSTATUS"INTERNAL";   # ISSUE INFORMATIVE MESSAGE #
07385  M00S04590.sform   +++|  MSG = " DUPLICATE LOAD.         ";
07386  M00S04591.sform   +++|  ERRMSG(PANELNAME,PNAME,MSG,FATAL);
07387  M00S04592.sform   +++|  GOTO ENDCASE;
07388  M00S04593.sform   +++|
07389  M00S04594.sform   +++|CAPOVCAP:                            # CAPSULE/OVCAP CONFUSION #
Line S04595 Modification History
M01 (Removed by) ns2275
Seq #  *Modification Id* Act 
----------------------------+
07390  M01S04595.ns2275  ---|  OPENSTAT = 5;                      # ISSUE INFORMATIVE MESSAGE #
Line S00035 Modification History
M01 (Added by) ns2275
Seq #  *Modification Id* Act 
----------------------------+
07391  M01S00035.ns2275  +++|  OPENSTAT = OPENSTATUS"INTERNAL";   # ISSUE INFORMATIVE MESSAGE #
07392  M00S04596.sform   +++|  MSG = " OVCAP CONFUSION.        ";
07393  M00S04597.sform   +++|  ERRMSG(PANELNAME,PNAME,MSG,FATAL);
07394  M00S04598.sform   +++|
07395  M00S04599.sform   +++|ENDCASE:
07396  M00S04600.sform   +++|
07397  M00S04601.sform   +++|#
07398  M00S04602.sform   +++|*  END OF CASE STATEMENT FOR PROCESSING LOADER RETURN STATUS.
07399  M00S04603.sform   +++|#
07400  M00S04604.sform   +++|
07401  M00S04605.sform   +++|END  # SFLOAD #
07402  M00S04606.sform   +++|CONTROL EJECT;
07403  M00S04607.sform   +++|
07404  M00S04608.sform   +++|PROC SKPBLK(FLDIND,CHARPOS,CHAR);
07405  M00S04609.sform   +++|
07406  M00S04610.sform   +++|# TITLE SKPBLK - SKIP BLANKS. #
07407  M00S04611.sform   +++|
07408  M00S04612.sform   +++|BEGIN  # SKPBLK #
07409  M00S04613.sform   +++|
07410  M00S04614.sform   +++|#
07411  M00S04615.sform   +++|**    SKPBLK - SKIP BLANKS.
07412  M00S04616.sform   +++|*
07413  M00S04617.sform   +++|*     THIS PROCEDURE SKIPS BLANKS IN A FIELD IN VARDATA AND RETURNS
07414  M00S04618.sform   +++|*     THE POSITION OF THE FIRST NON-BLANK CHARACTER.
07415  M00S04619.sform   +++|*
07416  M00S04620.sform   +++|*     PROC SKPBLK(FLDIND,CHARPOS,CHAR)
07417  M00S04621.sform   +++|*
07418  M00S04622.sform   +++|*     ENTRY   FLDIND     = INDEX OF FIELD IN FLDLIST.
07419  M00S04623.sform   +++|*             CHARPOS    = STARTING CHARACTER POSITION IN FIELD.
07420  M00S04624.sform   +++|*
07421  M00S04625.sform   +++|*     EXIT    CHARPOS    = POSTION OF FIRST NON-BLANK CHARACTER.
07422  M00S04626.sform   +++|*             CHAR       = FIRST NON-BLANK CHARACTER.
07423  M00S04627.sform   +++|#
07424  M00S04628.sform   +++|ITEM FLDIND     I;                   # INDEX OF FIELD IN FLDLIST #
07425  M00S04629.sform   +++|ITEM CHARPOS    I;                   # CHARACTER POSITION IN FIELD #
Proceed to Part 5