Deck SFORM Part 005

49 Modifications

Listing Sections

Source

Seq #  *Modification Id* Act 
----------------------------+
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 #
07426  M00S04630.sform   +++|ITEM CHAR       I;                   # INPUT CHARACTER #
07427  M00S04631.sform   +++|
07428  M00S04632.sform   +++|ITEM BLANKCHAR  B;                   # BLANK CHARACTER INPUT #
07429  M00S04633.sform   +++|
07430  M00S04634.sform   +++|BLANKCHAR = TRUE;
07431  M00S04635.sform   +++|
07432  M00S04636.sform   +++|WHYLE BLANKCHAR AND CHARPOS LQ FLDLENGTH[FLDIND] DO
07433  M00S04637.sform   +++|  BEGIN
07434  M00S04638.sform   +++|  CHAR = NEXTCHAR(FLDIND,CHARPOS);
07435  M00S04639.sform   +++|  IF CHAR NQ BLANK THEN
07436  M00S04640.sform   +++|    BEGIN                            # IF NOT BLANK CHARACTER #
07437  M00S04641.sform   +++|    BLANKCHAR = FALSE;
07438  M00S04642.sform   +++|    END
07439  M00S04643.sform   +++|  ELSE
07440  M00S04644.sform   +++|    BEGIN                            # BLANK CHARACTER #
07441  M00S04645.sform   +++|    CHARPOS = CHARPOS + 1;
07442  M00S04646.sform   +++|    END
07443  M00S04647.sform   +++|  END
07444  M00S04648.sform   +++|
07445  M00S04649.sform   +++|END  # SKPBLK #
07446  M00S04650.sform   +++|CONTROL EJECT;
07447  M00S04651.sform   +++|
07448  M00S04652.sform   +++|PROC TABKEY(ORDINAL,INPOS,NEWFIELD,OUTPOS);
07449  M00S04653.sform   +++|
07450  M00S04654.sform   +++|# TITLE TABKEY - PROCESS TABKEY. #
07451  M00S04655.sform   +++|
07452  M00S04656.sform   +++|BEGIN  # TABKEY #
07453  M00S04657.sform   +++|
07454  M00S04658.sform   +++|#
07455  M00S04659.sform   +++|**    TABKEY - PROCESS TAB KEY.
07456  M00S04660.sform   +++|*
07457  M00S04661.sform   +++|*     THIS PROCEDURE IS CALLED TO PROCESS TABS.  IN THE CASE OF
07458  M00S04662.sform   +++|*     OF A HARD TAB ON A TERMINAL WITH PROTECT MODE VIRTERM HAS
07459  M00S04663.sform   +++|*     AN INCORRECT INTERNAL CURSOR POSITION WHICH WILL HAVE TO BE
07460  M00S04664.sform   +++|*     RESET.  TABKEY DETERMINES THE CURSOR POSITION AND NOTIFIES
07461  M00S04665.sform   +++|*     VIRTEM THROUGH VDTCOR.  FOR SOFT TABS (INCLUDING TAB KEYS
07462  M00S04666.sform   +++|*     ON TERMINALS WITHOUT PROTECT MODE) THE CURSOR POSITION IS
07463  M00S04667.sform   +++|*     INCORRECT BUT WILL BE FIXED THE NEXT TIME THAT PROCEDURE
07464  M00S04668.sform   +++|*     READIN DOES A VDTPOS.
07465  M00S04669.sform   +++|*
07466  M00S04670.sform   +++|*     PROC TABKEY(ORDINAL,INPOS,FIELD,OUTPOS)
07467  M00S04671.sform   +++|*
07468  M00S04672.sform   +++|*     ENTRY    ORDINAL     = FTAB, FORWARD TAB KEY
07469  M00S04673.sform   +++|*                          = BTAB, BACKWARD TAB KEY
07470  M00S04674.sform   +++|*              INPOS       = LINE AND COLUMN WHERE TAB KEY WAS PRESSED
07471  M00S04675.sform   +++|*
07472  M00S04676.sform   +++|*     EXIT     OUTPOS      = NEW X/Y POSITION
07473  M00S04677.sform   +++|*              NEWFIELD    = NEW FIELD POSITION
07474  M00S04678.sform   +++|*
07475  M00S04679.sform   +++|*     NOTES    CURSOR IS POSITIONED TO HOME IF TABBED BEYOND FIRST OR
07476  M00S04680.sform   +++|*              LAST INPUT FIELD.
07477  M00S04681.sform   +++|#
07478  M00S04682.sform   +++|ITEM ORDINAL    I;                   # ORDINAL OF TAB KEY #
07479  M00S04683.sform   +++|ITEM INPOS      I;                   # LINE AND COLUMN WHERE PRESSED #
07480  M00S04684.sform   +++|ITEM NEWFIELD   I;                   # ORDINAL OF FIELD TABBED TO #
07481  M00S04685.sform   +++|ITEM OUTPOS     I;                   # NEW LINE AND COLUMN #
07482  M00S04686.sform   +++|
07483  M00S04687.sform   +++|ITEM FIELDFOUND B;                   # FOUND FIELD TABBED TO #
07484  M00S04688.sform   +++|ITEM I          I;                   # LOOP COUNTER #
Line S00001 Modification History
M01 (Added by) sform23
Seq #  *Modification Id* Act 
----------------------------+
07485  M01S00001.sform23 +++|ITEM P          I;                   # POINTER TO PREVIOUS FIELD #
07486  M00S04689.sform   +++|
Line S00002 Modification History
M01 (Added by) sform23
Seq #  *Modification Id* Act 
----------------------------+
07487  M01S00002.sform23 +++|P = -1;
07488  M00S04690.sform   +++|NEWFIELD = -1;
07489  M00S04691.sform   +++|FIELDFOUND = FALSE;
07490  M00S04692.sform   +++|
07491  M00S04693.sform   +++|IF ORDINAL EQ SCREENST"FTAB" THEN
07492  M00S04694.sform   +++|  BEGIN                              # FORWARD TAB KEY PRESSED #
07493  M00S04695.sform   +++|  FOR I = 0 STEP 1 WHILE FLDENTRY[I] NQ 0
07494  M00S04696.sform   +++|    AND NOT FIELDFOUND DO
07495  M00S04697.sform   +++|    BEGIN                            # LOOK FOR NEXT INPUT FIELD #
Line S04698 Modification History
M01 (Removed by) sform23
Seq #  *Modification Id* Act 
----------------------------+
07496  M01S04698.sform23 ---|    IF INPOS LS FLDPOS[I] AND FLDINPUTV[I] AND FLDACTIVE[I] THEN
Line S00003 Modification History
M01 (Added by) sform23
Seq #  *Modification Id* Act 
----------------------------+
07497  M01S00003.sform23 +++|    IF FLDINPUTV[I] AND FLDACTIVE[I] THEN
07498  M00S04699.sform   +++|      BEGIN
Line S04700 Modification History
M01 (Removed by) sform23
Seq #  *Modification Id* Act 
----------------------------+
07499  M01S04700.sform23 ---|      FIELDFOUND = TRUE;
07500  M01S04701.sform23 ---|      NEWFIELD = I;
Line S00004 Modification History
M01 (Added by) sform23
Seq #  *Modification Id* Act 
----------------------------+
07501  M01S00004.sform23 +++|      IF INPOS LS FLDPOS[I]
07502  M01S00005.sform23 +++|        AND (TERPTDWFLN[0] OR NOT (P GQ 0
07503  M01S00006.sform23 +++|        AND FLDYCORD[P] EQ FLDYCORD[I]-1 AND FLDXCORD[I] EQ 0
07504  M01S00007.sform23 +++|        AND FLDXCORD[P]+FLDLENGTH[P] EQ TERNUMCOLS[0]+1)) THEN
07505  M01S00008.sform23 +++|        BEGIN                        # IF NEXT NON-CONTIGUOUS FIELD #
07506  M01S00009.sform23 +++|        FIELDFOUND = TRUE;
07507  M01S00010.sform23 +++|        NEWFIELD = I;
07508  M01S00011.sform23 +++|        END
07509  M01S00012.sform23 +++|      ELSE P = I;
07510  M00S04702.sform   +++|      END
07511  M00S04703.sform   +++|    END
07512  M00S04704.sform   +++|  END
07513  M00S04705.sform   +++|ELSE
07514  M00S04706.sform   +++|  BEGIN                            # BACKWARD TAB KEY PRESSED #
07515  M00S04707.sform   +++|  IF INPOS EQ 0 THEN
07516  M00S04708.sform   +++|    BEGIN
Line S04709 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07517  M01S04709.242l642 ---|    XMASKOF INPOS = NUMCOLS;
07518  M01S04710.242l642 ---|    YMASKOF INPOS = NUMLINES;
Line S01174 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07519  M01S01174.242l642 +++|    XMASKOF INPOS = TERNUMCOLS[0];
07520  M01S01175.242l642 +++|    YMASKOF INPOS = TERNUMLNES[0];
07521  M00S04711.sform   +++|    END
Line S00013 Modification History
M01 (Added by) sform23
Seq #  *Modification Id* Act 
----------------------------+
07522  M01S00013.sform23 +++|  P = -1;
07523  M00S04712.sform   +++|  FOR I = 0 STEP 1 WHILE FLDENTRY[I] NQ 0 AND FLDPOS[I] LS INPOS DO
Line S04713 Modification History
M01 (Removed by) sform23
Seq #  *Modification Id* Act 
----------------------------+
07524  M01S04713.sform23 ---|    BEGIN                          # LOOK FOR NEXT INPUT FIELD #
07525  M01S04714.sform23 ---|    IF FLDINPUTV[I] AND FLDACTIVE[I] THEN NEWFIELD = I;
Line S00014 Modification History
M01 (Added by) sform23
Seq #  *Modification Id* Act 
----------------------------+
07526  M01S00014.sform23 +++|    BEGIN                            # LOOK FOR NEXT INPUT FIELD #
07527  M01S00015.sform23 +++|    IF FLDINPUTV[I] AND FLDACTIVE[I] THEN
07528  M01S00016.sform23 +++|      BEGIN
07529  M01S00017.sform23 +++|      IF TERPTDWBLN[0] OR NOT (P GQ 0
07530  M01S00018.sform23 +++|        AND FLDYCORD[P] EQ FLDYCORD[I]-1 AND FLDXCORD[I] EQ 0
07531  M01S00019.sform23 +++|        AND FLDXCORD[P]+FLDLENGTH[P] EQ TERNUMCOLS[0]+1) THEN
07532  M01S00020.sform23 +++|        NEWFIELD = I;                # IF FIELDS NOT CONTIGUOUS #
07533  M01S00021.sform23 +++|      P = I;
07534  M01S00022.sform23 +++|      END
07535  M00S04715.sform   +++|    END
07536  M00S04716.sform   +++|  END
07537  M00S04717.sform   +++|
07538  M00S04718.sform   +++|IF NEWFIELD GQ 0 THEN
07539  M00S04719.sform   +++|  BEGIN                              # IF FIELD FOUND #
07540  M00S04720.sform   +++|  OUTPOS = FLDPOS[NEWFIELD];
07541  M00S04721.sform   +++|  END
07542  M00S04722.sform   +++|ELSE
07543  M00S04723.sform   +++|  BEGIN                              # FIELD NOT FOUND #
07544  M00S04724.sform   +++|  OUTPOS = 0;
07545  M00S04725.sform   +++|  END
07546  M00S04726.sform   +++|
07547  M00S04727.sform   +++|END  # TABKEY #
07548  M00S04728.sform   +++|CONTROL EJECT;
07549  M00S04729.sform   +++|
07550  M00S04730.sform   +++|PROC VALIDF(FLDIND);
07551  M00S04731.sform   +++|
07552  M00S04732.sform   +++|# TITLE VALIDF - VALIDATE FIELD. #
07553  M00S04733.sform   +++|
07554  M00S04734.sform   +++|BEGIN  # VALIDF #
07555  M00S04735.sform   +++|
07556  M00S04736.sform   +++|#
07557  M00S04737.sform   +++|**    VALIDF - VALIDATE FIELD.
07558  M00S04738.sform   +++|*
07559  M00S04739.sform   +++|*     THIS PROCEDURE CALLS THE APPROPRIATE VALIDATION PROCEDURE
07560  M00S04740.sform   +++|*     AS WELL AS CONVERTING INTEGER AND REAL VARIABLE INPUT TO
07561  M00S04741.sform   +++|*     THE CORRECT NUMERIC VALUE.
07562  M00S04742.sform   +++|*
07563  M00S04743.sform   +++|*     PROC VALIDF(FLDIND)
07564  M00S04744.sform   +++|*
07565  M00S04745.sform   +++|*     ENTRY   FLDIND     = INDEX OF CURRENT FIELD IN FLDLIST.
07566  M00S04746.sform   +++|*
07567  M00S04747.sform   +++|*     EXIT    FLDVALID[FLDIND] = FALSE, IF NUMERIC INPUT IS INVALID.
07568  M00S04748.sform   +++|*
07569  M00S04749.sform   +++|*     CALLS   DATEVL, IRANGE, MATCHV, NCHECK, PICVAL, RRANGE.
07570  M00S04750.sform   +++|#
07571  M00S04751.sform   +++|ITEM FLDIND     I;                   # INDEX OF FIELD #
07572  M00S04752.sform   +++|
07573  M00S04753.sform   +++|ITEM ALLBLANK   B;                   # ALL BLANKS IN FIELD #
07574  M00S04754.sform   +++|ITEM DOLLARSIGN B;                   # $ IN INPUT #
07575  M00S04755.sform   +++|ITEM EVAL       I;                   # EXPONENT VALUE OF INPUT #
07576  M00S04756.sform   +++|ITEM I          I;                   # LOOP COUNTER #
07577  M00S04757.sform   +++|ITEM INPTYPE    I;                   # INPUT FORMAT TYPE #
07578  M00S04758.sform   +++|ITEM IVAL       I;                   # INTEGER VALUE OF INPUT #
Line S00021 Modification History
M01 (Added by) ns2469
Seq #  *Modification Id* Act 
----------------------------+
07579  M01S00021.ns2469  +++|ITEM NOTFULL    B;                   # FIELD CONTAINS A BLANK #
07580  M00S04759.sform   +++|ITEM STARRED    B;                   # * ("DON-T KNOW") ENTERED #
07581  M00S04760.sform   +++|ITEM VARIND     I;                   # INDEX INTO VARLIST #
07582  M00S04761.sform   +++|
07583  M00S04762.sform   +++|SWITCH VARITYPE                      # VARIABLE TYPE #
07584  M00S04763.sform   +++|  RESERV,                            # RESERVED #
07585  M00S04764.sform   +++|  CHARACVAR,                         # CHARACTER VARIABLE #
07586  M00S04765.sform   +++|  INTEGERVAR,                        # INTEGER VARIABLE #
07587  M00S04766.sform   +++|  REALVAR;                           # REAL VARIABLE #
07588  M00S04767.sform   +++|
Line S04768 Modification History
M01 (Removed by) ns2469
Seq #  *Modification Id* Act 
----------------------------+
07589  M01S04768.ns2469  ---|VARIND = FLDVARORD[FLDIND];
07590  M01S04769.ns2469  ---|FLDVALID[FLDIND] = TRUE;             # TRUE UNTIL PROVEN FALSE #
07591  M01S04770.ns2469  ---|
07592  M01S04771.ns2469  ---|IF NOT VARMUSENTR[VARIND] THEN
07593  M01S04772.ns2469  ---|  BEGIN                              # ALLOW BLANK INPUT #
07594  M01S04773.ns2469  ---|  ALLBLANK = TRUE;
07595  M01S04774.ns2469  ---|  FOR I = 0 STEP 1 WHILE ALLBLANK AND I LQ FLDLENGTH[FLDIND] -1 DO
07596  M01S04775.ns2469  ---|    BEGIN                            # SEARCH FOR NON-BLANK CHARS #
07597  M01S04776.ns2469  ---|    IF NEXTCHAR(FLDIND,I) NQ BLANK THEN ALLBLANK = FALSE;
07598  M01S04777.ns2469  ---|    END
07599  M01S04778.ns2469  ---|  IF ALLBLANK THEN RETURN;           # VALID ENTRY #
07600  M01S04779.ns2469  ---|  END
07601  M01S04780.ns2469  ---|
07602  M01S04781.ns2469  ---|IF NOT VARMUSKNOW[VARIND] THEN
07603  M01S04782.ns2469  ---|  BEGIN                              # * IS ACCEPTABLE #
07604  M01S04783.ns2469  ---|  IF NEXTCHAR(FLDIND,0) EQ ASTERISK THEN
07605  M01S04784.ns2469  ---|    BEGIN
07606  M01S04785.ns2469  ---|    STARRED = TRUE;
07607  M01S04786.ns2469  ---|    IF FLDLENGTH[FLDIND] GR 1 THEN
07608  M01S04787.ns2469  ---|      BEGIN
07609  M01S04788.ns2469  ---|      FOR I = 1 STEP 1 WHILE I LQ FLDLENGTH[FLDIND]-1 AND STARRED DO
07610  M01S04789.ns2469  ---|        BEGIN                        # CHECK FOR STARRED FIELD #
07611  M01S04790.ns2469  ---|        IF NEXTCHAR(FLDIND,I) NQ BLANK THEN STARRED = FALSE;
07612  M01S04791.ns2469  ---|        END
07613  M01S04792.ns2469  ---|      END
07614  M01S04793.ns2469  ---|    IF STARRED THEN RETURN;          # USER DOES NOT KNOW #
07615  M01S04794.ns2469  ---|    END
07616  M01S04795.ns2469  ---|  END
07617  M01S04796.ns2469  ---|
07618  M01S04797.ns2469  ---|IF VARMUSFILL[VARIND] THEN
07619  M01S04798.ns2469  ---|  BEGIN                              # IF MUST FILL VARIABLE #
07620  M01S04799.ns2469  ---|  FOR I = 0 STEP 1 UNTIL FLDLENGTH[FLDIND] -1 DO
07621  M01S04800.ns2469  ---|    BEGIN
07622  M01S04801.ns2469  ---|    IF NEXTCHAR(FLDIND,I) EQ BLANK THEN
07623  M01S04802.ns2469  ---|      BEGIN                          # IF VARIABLE CONTAINS A BLANK #
07624  M01S04803.ns2469  ---|      FLDVALID[FLDIND] = FALSE;
07625  M01S04804.ns2469  ---|      RETURN;
07626  M01S04805.ns2469  ---|      END
07627  M01S04806.ns2469  ---|    END
07628  M01S04807.ns2469  ---|  END
07629  M01S04808.ns2469  ---|
07630  M01S04809.ns2469  ---|GOTO VARITYPE[VARTYPE[VARIND]];
Line S00022 Modification History
M01 (Added by) ns2469
Seq #  *Modification Id* Act 
----------------------------+
07631  M01S00022.ns2469  +++|VARIND = FLDVARORD[FLDIND];
07632  M01S00023.ns2469  +++|FLDVALID[FLDIND] = TRUE;             # TRUE UNTIL PROVEN FALSE #
07633  M01S00024.ns2469  +++|
07634  M01S00025.ns2469  +++|IF VARMUSENTR[VARIND] AND NOT FLDENTERED[FLDIND] THEN
07635  M01S00026.ns2469  +++|  BEGIN                              # IF MUST ENTERED AND NOT #
07636  M01S00027.ns2469  +++|  FLDVALID[FLDIND] = FALSE;          # PROVEN FALSE #
07637  M01S00028.ns2469  +++|  RETURN;
07638  M01S00029.ns2469  +++|  END
07639  M01S00030.ns2469  +++|
07640  M01S00031.ns2469  +++|ALLBLANK = TRUE;                     # SET FLAGS AND CHECK CHARACTER #
07641  M01S00032.ns2469  +++|STARRED = FALSE;
07642  M01S00033.ns2469  +++|NOTFULL = FALSE;
07643  M01S00034.ns2469  +++|IF NEXTCHAR(FLDIND,0) EQ ASTERISK AND NOT VARMUSKNOW[VARIND] THEN
07644  M01S00035.ns2469  +++|  BEGIN                              # IF ASTERISK AND NOT MUST KNOW #
07645  M01S00036.ns2469  +++|  STARRED = TRUE;
07646  M01S00037.ns2469  +++|  END
07647  M01S00038.ns2469  +++|IF NEXTCHAR(FLDIND,0) NQ BLANK THEN
07648  M01S00039.ns2469  +++|  BEGIN                              # IF NOT A BLANK #
07649  M01S00040.ns2469  +++|  ALLBLANK = FALSE;                  # NOT ALL BLANKS #
07650  M01S00041.ns2469  +++|  END
07651  M01S00042.ns2469  +++|ELSE
07652  M01S00043.ns2469  +++|  BEGIN                              # A BLANK #
07653  M01S00044.ns2469  +++|  NOTFULL = TRUE;                    # UNFULL #
07654  M01S00045.ns2469  +++|  END
07655  M01S00046.ns2469  +++|FOR I = 1 STEP 1 WHILE I LQ FLDLENGTH[FLDIND] -1 DO
07656  M01S00047.ns2469  +++|  BEGIN                              # EXAMINE THE REST OF THE FIELD #
07657  M01S00048.ns2469  +++|  IF NEXTCHAR(FLDIND,I) NQ BLANK THEN
07658  M01S00049.ns2469  +++|    BEGIN                            # IF NOT A BLANK #
07659  M01S00050.ns2469  +++|    ALLBLANK = FALSE;                # NOT ALL BLANKS #
07660  M01S00051.ns2469  +++|    STARRED = FALSE;                 # NOT STARRED #
07661  M01S00052.ns2469  +++|    END
07662  M01S00053.ns2469  +++|  ELSE
07663  M01S00054.ns2469  +++|    BEGIN                            # A BLANK #
07664  M01S00055.ns2469  +++|    NOTFULL = TRUE;                  # UNFULL #
07665  M01S00056.ns2469  +++|    END
07666  M01S00057.ns2469  +++|  END
07667  M01S00058.ns2469  +++|IF STARRED THEN RETURN;              # ASTERISK AND NOT *MUST KNOW* #
07668  M01S00059.ns2469  +++|IF(VARMUSFILL[VARIND] AND FLDENTERED[FLDIND] AND
07669  M01S00060.ns2469  +++|  (NOTFULL AND NOT ALLBLANK)) OR (VARMUSCON[VARIND] AND ALLBLANK) THEN
07670  M01S00061.ns2469  +++|  BEGIN                              # IF MUST FILL AND NOT FULL OR #
07671  M01S00062.ns2469  +++|  FLDVALID[FLDIND] = FALSE;          # MUST CONTAIN AND ALL BLANKS  #
07672  M01S00063.ns2469  +++|  RETURN;
07673  M01S00064.ns2469  +++|  END
Line S00001 Modification History
M01 (Added by) sform14
Seq #  *Modification Id* Act 
----------------------------+
07674  M01S00001.sform14 +++|IF NOT VARMUSENTR[VARIND] AND ALLBLANK THEN RETURN;
Line S00065 Modification History
M01 (Added by) ns2469
Seq #  *Modification Id* Act 
----------------------------+
07675  M01S00065.ns2469  +++|
07676  M01S00066.ns2469  +++|GOTO VARITYPE[VARTYPE[VARIND]];
07677  M00S04810.sform   +++|
07678  M00S04811.sform   +++|RESERV:
07679  M00S04812.sform   +++|CHARACVAR:                           # VALIDATE CHARACTER VARIABLE #
07680  M00S04813.sform   +++|
07681  M00S04814.sform   +++|  IF VARVALM[VARIND] THEN MATCHV(FLDIND);
07682  M00S04815.sform   +++|  IF VARPICTYPE[VARIND] NQ 0 THEN PICVAL(FLDIND);
07683  M00S04816.sform   +++|  RETURN;
07684  M00S04817.sform   +++|
07685  M00S04818.sform   +++|INTEGERVAR:                          # VALIDATE INTEGER VARIABLE #
07686  M00S04819.sform   +++|
07687  M00S04820.sform   +++|  IF VARPICTYPE[VARIND] GR FORMTYPE"E" THEN
07688  M00S04821.sform   +++|    BEGIN                            # DATE VALIDATION #
07689  M00S04822.sform   +++|    DATEVL(FLDIND,IVAL,EVAL);
07690  M00S04823.sform   +++|    END
07691  M00S04824.sform   +++|  ELSE
07692  M00S04825.sform   +++|    BEGIN
07693  M00S04826.sform   +++|    NCHECK(FLDIND,IVAL,EVAL,INPTYPE,DOLLARSIGN);
07694  M00S04827.sform   +++|    IF INPTYPE EQ FORMTYPE"BAD" OR INPTYPE GR VARPICTYPE[VARIND]
07695  M00S04828.sform   +++|      OR VARPICTYPE[VARIND] EQ FORMTYPE"E" AND DOLLARSIGN THEN
07696  M00S04829.sform   +++|      BEGIN
07697  M00S04830.sform   +++|      FLDVALID[FLDIND] = FALSE;
07698  M00S04831.sform   +++|      RETURN;
07699  M00S04832.sform   +++|      END
07700  M00S04833.sform   +++|    END
07701  M00S04834.sform   +++|  IF VARVALM[VARIND] THEN MATCHV(FLDIND);
07702  M00S04835.sform   +++|  IF VARVALR[VARIND] THEN IRANGE(FLDIND,IVAL,EVAL);
07703  M00S04836.sform   +++|  RETURN;
07704  M00S04837.sform   +++|
07705  M00S04838.sform   +++|REALVAR:                             # VALIDATE REAL VARIABLE #
07706  M00S04839.sform   +++|
07707  M00S04840.sform   +++|  IF VARPICTYPE[VARIND] GR FORMTYPE"E" THEN
07708  M00S04841.sform   +++|    BEGIN
07709  M00S04842.sform   +++|    DATEVL(FLDIND,IVAL,EVAL);
07710  M00S04843.sform   +++|    END
07711  M00S04844.sform   +++|  ELSE
07712  M00S04845.sform   +++|    BEGIN
07713  M00S04846.sform   +++|    NCHECK(FLDIND,IVAL,EVAL,INPTYPE,DOLLARSIGN);
07714  M00S04847.sform   +++|    IF INPTYPE EQ FORMTYPE"BAD" OR INPTYPE GR VARPICTYPE[VARIND]
07715  M00S04848.sform   +++|      OR VARPICTYPE[VARIND] EQ FORMTYPE"E" AND DOLLARSIGN THEN
07716  M00S04849.sform   +++|      BEGIN
07717  M00S04850.sform   +++|      FLDVALID[FLDIND] = FALSE;
07718  M00S04851.sform   +++|      RETURN;
07719  M00S04852.sform   +++|      END
07720  M00S04853.sform   +++|    END
07721  M00S04854.sform   +++|  IF VARVALM[VARIND] THEN MATCHV(FLDIND);
07722  M00S04855.sform   +++|  IF VARVALR[VARIND] THEN REALRANGE(FLDIND,IVAL,EVAL);
Line S04856 Modification History
M01 (Removed by) ns2469
Seq #  *Modification Id* Act 
----------------------------+
07723  M01S04856.ns2469  ---|  RETURN;
07724  M00S04857.sform   +++|
07725  M00S04858.sform   +++|END  # VALIDF #
07726  M00S04859.sform   +++|CONTROL EJECT;
07727  M00S04860.sform   +++|
07728  M00S04861.sform   +++|PROC WRIALL;
07729  M00S04862.sform   +++|
07730  M00S04863.sform   +++|# TITLE WRIALL - WRITE ALL PANELS. #
07731  M00S04864.sform   +++|
07732  M00S04865.sform   +++|BEGIN  # WRIALL #
07733  M00S04866.sform   +++|
07734  M00S04867.sform   +++|#
07735  M00S04868.sform   +++|**    WRIALL - WRITE ALL PANELS.
07736  M00S04869.sform   +++|*
07737  M00S04870.sform   +++|*     THIS PROCEDURE REWRITES ALL PANELS THAT ARE ON THE SCREEN IN
07738  M00S04871.sform   +++|*     THE ORDER THAT THEY WERE WRITTEN.
07739  M00S04872.sform   +++|*
07740  M00S04873.sform   +++|*     PROC WRIALL
07741  M00S04874.sform   +++|*
Line S04875 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07742  M01S04875.242l642 ---|*     ENTRY    ACTIVEPAN  = THE NAME OF THE ACTIVE PANEL.
Line S01176 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07743  M01S01176.242l642 +++|*     ENTRY    TERACTPANL = THE NAME OF THE ACTIVE PANEL.
07744  M00S04876.sform   +++|*              PLTNUMONSC = THE NUMBER OF PANELS ON THE SCREEN.
07745  M00S04877.sform   +++|*
07746  M00S04878.sform   +++|*     EXIT     COMPLETE SCREEN REWRITTEN.
07747  M00S04879.sform   +++|*
Line S01177 Modification History
M01 (Added by) 242l642
M02 (Removed by) ns2346
Seq #  *Modification Id* Act 
----------------------------+
07748  M02S01177.ns2346  ---|*     CALLS   CLRLNS, POSARR, REWFLD, VDTCLS, VDTPRO, WRIBOX, WRITES.
Line S00037 Modification History
M01 (Added by) ns2346
M02 (Removed by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
07749  M02S00037.ns2503  ---|*     CALLS    CLRLNS, POSARR, REWFLD, VDTCLS, VDTPRO, VDTSAM, WRIBOX,
07750  M02S00038.ns2503  ---|*              WRITES.
Line S00001 Modification History
M01 (Added by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
07751  M01S00001.ns2503  +++|*     CALLS    CLRLNS, POSARR, REWFLD, VDTCAA, VDTCLS, VDTPRO, VDTSAM,
07752  M01S00002.ns2503  +++|*              WRIBOX, WRITES.
Line S01178 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07753  M01S01178.242l642 +++|*
07754  M00S04880.sform   +++|*     NOTES    THIS PROCEDURE IS CALLED BY READ IN THE CASE OF
07755  M00S04881.sform   +++|*              A CLEAR PAGE AND BY WRIPAN IF AN OVERLAY WRITE
07756  M00S04882.sform   +++|*              HAS CAUSED A SHIFT FROM 80 TO 132 COLUMN MODE.
07757  M00S04883.sform   +++|*              IF THE ACTIVE PANEL IS NOT THE LAST PANEL TO BE
07758  M00S04884.sform   +++|*              REWRITTEN THEN ITS VARIABLES WILL BE REWRITTEN
07759  M00S04885.sform   +++|*              ONCE MORE TO INSURE THAT THEY ARE CORRECT.
07760  M00S04886.sform   +++|#
07761  M00S04887.sform   +++|ITEM PANELADDR  I;                   # PANEL ADDRESS #
07762  M00S04888.sform   +++|ITEM PANELNAME  C(7);                # PANEL NAME #
07763  M00S04889.sform   +++|ITEM PLTINDEX   I;                   # PANEL LOAD TABLE INDEX #
07764  M00S04890.sform   +++|ITEM NUMWRITTEN I;                   # NUMBER OF PANELS WRITTEN #
07765  M00S04891.sform   +++|
07766  M00S04892.sform   +++|VDTCLS;                              # CLEAR SCREEN #
07767  M00S04893.sform   +++|NUMWRITTEN = 0;                      # NO PANELS WRITTEN YET #
07768  M00S04894.sform   +++|
07769  M00S04895.sform   +++|WHYLE NUMWRITTEN NQ PLTNUMONSC[0] DO
07770  M00S04896.sform   +++|  BEGIN
07771  M00S04897.sform   +++|  NUMWRITTEN = NUMWRITTEN + 1;
07772  M00S04898.sform   +++|  PLTINDEX = 1;                      # FIND CORRECT PANEL #
07773  M00S04899.sform   +++|  WHYLE PLTENTRYNM[PLTINDEX] NQ NUMWRITTEN DO
07774  M00S04900.sform   +++|    BEGIN
07775  M00S04901.sform   +++|    PLTINDEX = PLTINDEX + 1;
07776  M00S04902.sform   +++|    END
07777  M00S04903.sform   +++|  PANELNAME = PLTENAME[PLTINDEX];    # WRITE PANEL #
07778  M00S04904.sform   +++|  PANELADDR = PLTADDR[PLTINDEX];
Line S04905 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07779  M01S04905.252l678 ---|  IF PLTNUMONSC[0] NQ 1 THEN POSARR(PANELADDR);
Line S00226 Modification History
M01 (Added by) 252l678
M02 (Removed by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
07780  M02S00226.ns2503  ---|  IF PLTNUMONSC[0] NQ 1 THEN
07781  M02S00227.ns2503  ---|    BEGIN                            # IF MORE THAN ONE ON SCREEN #
07782  M02S00228.ns2503  ---|    POSARR(PANELADDR);
07783  M02S00229.ns2503  ---|    END
07784  M02S00230.ns2503  ---|  ELSE
07785  M02S00231.ns2503  ---|    BEGIN                            # JUST ONE ON SCREEN #
07786  M02S00232.ns2503  ---|    VDTPRO(OUT"PROTECTALL");
07787  M02S00233.ns2503  ---|    END
Line S00003 Modification History
M01 (Added by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
07788  M01S00003.ns2503  +++|  IF PLTNUMONSC[0] NQ 1 THEN POSARR(PANELADDR);
07789  M00S04906.sform   +++|  IF NOT PANPRIPAN[0] THEN CLRLNS;
07790  M00S04907.sform   +++|  IF PANSTRFLD[0] NQ 0 THEN WRITES;
07791  M00S04908.sform   +++|  IF PANSTRBOX[0] NQ 0 THEN WRIBOX;
07792  M00S04909.sform   +++|  END
07793  M00S04910.sform   +++|
Line S04911 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07794  M01S04911.242l642 ---|IF PANELNAME NQ ACTIVEPAN THEN
Line S01179 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07795  M01S01179.242l642 +++|IF PANELNAME NQ TERACTPANL[0] THEN
07796  M00S04912.sform   +++|  BEGIN                              # IF NEED TO REWRITE VARIABLES #
Line S04913 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07797  M01S04913.242l642 ---|  PANELADDR = PLTADDR[ACTPANPLTI];
Line S01180 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07798  M01S01180.242l642 +++|  PANELADDR = PLTADDR[TERACTPLTI[0]];
07799  M00S04914.sform   +++|  POSARR(PANELADDR);
07800  M00S04915.sform   +++|  IF PANPRIPAN[0] THEN
07801  M00S04916.sform   +++|    BEGIN                            # IF PRIMARY PANEL #
Line S04917 Modification History
M01 (Removed by) ns2346
Seq #  *Modification Id* Act 
----------------------------+
07802  M01S04917.ns2346  ---|    VDTPRO;
Line S00039 Modification History
M01 (Added by) ns2346
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07803  M02S00039.252l678 ---|    VDTPRO(OUT"PROTECTALL");         # ISSUE GLOBAL PROTECT #
Line S04918 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07804  M01S04918.252l678 ---|    IF PANNUMBYTE[0] NQ 0 THEN REWFLD;
Line S00234 Modification History
M01 (Added by) 252l678
M02 (Removed by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
07805  M02S00234.ns2503  ---|    IF NOT TERPROCLRS[0] THEN
07806  M02S00235.ns2503  ---|      BEGIN                          # IF PROTECT DOES NOT CLEAR #
07807  M02S00236.ns2503  ---|      VDTPRO(OUT"PROTECTALL");       # ISSUE GLOBAL PROTECT #
07808  M02S00237.ns2503  ---|      IF PANNUMBYTE[0] NQ 0 THEN REWFLD;
07809  M02S00238.ns2503  ---|      END
Line S00004 Modification History
M01 (Added by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
07810  M01S00004.ns2503  +++|    IF NOT TERPROCLRS[0] THEN VDTPRO(OUT"PROTECTALL");
07811  M01S00005.ns2503  +++|    IF PANNUMBYTE[0] NQ 0 THEN REWFLD;
07812  M00S04919.sform   +++|    END
07813  M00S04920.sform   +++|  ELSE
07814  M00S04921.sform   +++|    BEGIN                            # IF OVERLAY PANEL #
07815  M00S04922.sform   +++|    CLRLNS;
07816  M00S04923.sform   +++|    IF PANSTRFLD[0] NQ 0 THEN WRITES;
07817  M00S04924.sform   +++|    IF PANSTRBOX[0] NQ 0 THEN WRIBOX;
07818  M00S04925.sform   +++|    END
07819  M00S04926.sform   +++|  END
07820  M00S04927.sform   +++|
Line S04928 Modification History
M01 (Removed by) ns2346
Seq #  *Modification Id* Act 
----------------------------+
07821  M01S04928.ns2346  ---|VDTCAA;                              # CLEAR ALL ATTRIBUTES #
Line S00040 Modification History
M01 (Added by) ns2346
M02 (Removed by) ns2356
Seq #  *Modification Id* Act 
----------------------------+
07822  M02S00040.ns2356  ---|VDTSAM(0);                           # CLEAR ALL ATTRIBUTES #
Line S00025 Modification History
M01 (Added by) ns2356
Seq #  *Modification Id* Act 
----------------------------+
07823  M01S00025.ns2356  +++|  IF NOT TERBLCKMDE[0] THEN VDTSAM(0); ELSE VDTCAA(0);
Line S04929 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07824  M01S04929.242l642 ---|VDTEOO;
07825  M00S04930.sform   +++|
07826  M00S04931.sform   +++|END  # WRIALL #
07827  M00S04932.sform   +++|CONTROL EJECT;
07828  M00S04933.sform   +++|
07829  M00S04934.sform   +++|PROC WRIBOX;
07830  M00S04935.sform   +++|
07831  M00S04936.sform   +++|# TITLE WRIBOX - WRITE BOX. #
07832  M00S04937.sform   +++|
07833  M00S04938.sform   +++|BEGIN  # WRIBOX #
07834  M00S04939.sform   +++|
07835  M00S04940.sform   +++|#
07836  M00S04941.sform   +++|**    WRIBOX - WRITE BOX.
07837  M00S04942.sform   +++|*
07838  M00S04943.sform   +++|*     THIS PROCEDURE WRITES THE BOXES DEFINED IN THE BOX LIST OF
07839  M00S04944.sform   +++|*     THE ACTIVE PANEL TO THE SCREEN.
07840  M00S04945.sform   +++|*
07841  M00S04946.sform   +++|*     PROC WRIBOX
07842  M00S04947.sform   +++|*
Line S01181 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07843  M01S01181.242l642 +++|*     CALLS   VDTBOX, VDTDRW, VDTPOS, VDTPRO, VDTSAM.
07844  M01S01182.242l642 +++|*
07845  M00S04948.sform   +++|*     NOTES   WRIBOX DOES CURSOR POSITIONING AND ATTRIBUTE SELECTION
07846  M00S04949.sform   +++|*             (WHICH INCLUDES SELECTION OF THE PROPER LINE WEIGHT
07847  M00S04950.sform   +++|*             FOR THE LINE DRAWING CHARACTER SET) AND DOES NOT DE-
07848  M00S04951.sform   +++|*             PEND ON THE CALLING PROCEDURE FOR THESE FUNCTIONS.
07849  M00S04952.sform   +++|#
07850  M00S04953.sform   +++|ITEM BOXINDEX   I;                   # INDEX INTO THE BOX LIST #
Line S04954 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07851  M01S04954.252l678 ---|ITEM CURORD     I;                   # CURRENT ATTRIBUTE ORDINAL #
07852  M00S04955.sform   +++|ITEM CURWEIGHT  I;                   # CURRENT LINE WEIGHT #
07853  M00S04956.sform   +++|ITEM NUMCHARS   I;                   # NUMBER OF CHARACTERS #
07854  M00S04957.sform   +++|
Line S04958 Modification History
M01 (Removed by) ns2346
Seq #  *Modification Id* Act 
----------------------------+
07855  M01S04958.ns2346  ---|IF PANSTRFLD[0] EQ 0 THEN VDTPRO;    # PROTECT SCREEN IF NO FIELDS #
Line S00041 Modification History
M01 (Added by) ns2346
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07856  M02S00041.252l678 ---|IF PANSTRFLD[0] EQ 0 THEN VDTPRO(OUT"PROTECTALL");  # IF NO FIELDS #
Line S00239 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07857  M01S00239.252l678 +++|IF PANSTRFLD[0] EQ 0 AND NOT TERPROCLRS[0] THEN
07858  M01S00240.252l678 +++|  BEGIN                              # IF NO FIELDS AND NO CLEAR #
07859  M01S00241.252l678 +++|  VDTPRO(OUT"PROTECTALL");           # ISSUE GLOBAL PROTECT #
07860  M01S00242.252l678 +++|  END
07861  M00S04959.sform   +++|
Line S04960 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07862  M01S04960.252l678 ---|CURORD = -1;                         # NO CURRENT ATTRIBUTES YET #
Line S00243 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07863  M01S00243.252l678 +++|TERCURVORD[0] = -1;                  # NO CURRENT ATTRIBUTES YET #
07864  M00S04961.sform   +++|CURWEIGHT = -1;                      # NO CURRENT LINE WEIGHT YET #
07865  M00S04962.sform   +++|
07866  M00S04963.sform   +++|FOR BOXINDEX = 0 STEP 1 WHILE BOXWORD[BOXINDEX] NQ 0 DO
07867  M00S04964.sform   +++|  BEGIN                              # CHECK FOR ATTRIBUTE CHANGE #
Line S04965 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07868  M01S04965.252l678 ---|  IF BOXATTORD[BOXINDEX] NQ CURORD THEN
Line S00244 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07869  M01S00244.252l678 +++|  IF BOXATTORD[BOXINDEX] NQ TERCURVORD[0] THEN
07870  M00S04966.sform   +++|    BEGIN                            # SET NEW ATTRIBUTES #
Line S04967 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07871  M01S04967.252l678 ---|    CURORD = BOXATTORD[BOXINDEX];
07872  M01S04968.252l678 ---|    VDTSAM(ATTMASK[CURORD]);
Line S00245 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07873  M01S00245.252l678 +++|    TERCURVORD[0] = BOXATTORD[BOXINDEX];
07874  M01S00246.252l678 +++|    IF NOT TERATTRCHR[0] THEN VDTSAM(ATTMASK[TERCURVORD[0]]);
07875  M00S04969.sform   +++|    END
Line S04970 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07876  M01S04970.252l678 ---|  IF ATTLINEWT[CURORD] NQ CURWEIGHT THEN
Line S00247 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07877  M01S00247.252l678 +++|  IF ATTLINEWT[TERCURVORD[0]] NQ CURWEIGHT THEN
07878  M00S04971.sform   +++|    BEGIN                            # SET NEW LINE WEIGHT #
Line S04972 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07879  M01S04972.252l678 ---|    CURWEIGHT = ATTLINEWT[CURORD];
Line S00248 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07880  M01S00248.252l678 +++|    CURWEIGHT = ATTLINEWT[TERCURVORD[0]];
07881  M00S04973.sform   +++|    VDTDRW(CURWEIGHT);
07882  M00S04974.sform   +++|    END
07883  M00S04975.sform   +++|  IF BOXREPEAT[BOXINDEX] GR 1 THEN
07884  M00S04976.sform   +++|    BEGIN                            # IF HORIZONTAL / VERTICAL LINE #
07885  M00S04977.sform   +++|    IF BOXCHAR[BOXINDEX] EQ 0 THEN
07886  M00S04978.sform   +++|      BEGIN                          # IF HORIZONTAL LINE #
Line S04979 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07887  M01S04979.242l642 ---|      IF BOXYCORD[BOXINDEX] LQ NUMLINES THEN
Line S01183 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07888  M01S01183.242l642 +++|      IF BOXYCORD[BOXINDEX] LQ TERNUMLNES[0] THEN
07889  M00S04980.sform   +++|        BEGIN                        # IF LINE WITHIN LINE BOUNDARY #
07890  M00S04981.sform   +++|        VDTPOS(BOXXCORD[BOXINDEX],BOXYCORD[BOXINDEX]);
07891  M00S04982.sform   +++|        FOR NUMCHARS = 0 STEP 1 UNTIL BOXREPEAT[BOXINDEX]-1 DO
07892  M00S04983.sform   +++|          BEGIN                      # OUTPUT HORIZONTAL LINE #
Line S04984 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07893  M01S04984.242l642 ---|          IF BOXXCORD[BOXINDEX] + NUMCHARS LQ NUMCOLS THEN
Line S01184 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07894  M01S01184.242l642 +++|          IF BOXXCORD[BOXINDEX] + NUMCHARS LQ TERNUMCOLS[0] THEN
07895  M00S04985.sform   +++|            BEGIN                    # IF WITHIN COLUMN BOUNDARY #
07896  M00S04986.sform   +++|            VDTBOX(BOXCHAR[BOXINDEX]);
07897  M00S04987.sform   +++|            END
07898  M00S04988.sform   +++|          END
07899  M00S04989.sform   +++|        END
07900  M00S04990.sform   +++|      END
07901  M00S04991.sform   +++|    ELSE
07902  M00S04992.sform   +++|      BEGIN                          # IF VERTICAL LINE #
Line S04993 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07903  M01S04993.242l642 ---|      IF BOXXCORD[BOXINDEX] LQ NUMCOLS THEN
Line S01185 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07904  M01S01185.242l642 +++|      IF BOXXCORD[BOXINDEX] LQ TERNUMCOLS[0] THEN
07905  M00S04994.sform   +++|        BEGIN                        # IF LINE WITHIN COLUMN BOUNDARY #
07906  M00S04995.sform   +++|        FOR NUMCHARS = 0 STEP 1 UNTIL BOXREPEAT[BOXINDEX]-1 DO
07907  M00S04996.sform   +++|          BEGIN                      # OUTPUT VERTICAL LINE #
Line S04997 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07908  M01S04997.242l642 ---|          IF BOXYCORD[BOXINDEX] + NUMCHARS LQ NUMLINES THEN
Line S01186 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07909  M01S01186.242l642 +++|          IF BOXYCORD[BOXINDEX] + NUMCHARS LQ TERNUMLNES[0]THEN
07910  M00S04998.sform   +++|            BEGIN                    # IF WITHIN LINE BOUNDARY #
07911  M00S04999.sform   +++|            VDTPOS(BOXXCORD[BOXINDEX],BOXYCORD[BOXINDEX]+NUMCHARS);
07912  M00S05000.sform   +++|            VDTBOX(BOXCHAR[BOXINDEX]);
07913  M00S05001.sform   +++|            END
07914  M00S05002.sform   +++|          END
07915  M00S05003.sform   +++|        END
07916  M00S05004.sform   +++|      END
07917  M00S05005.sform   +++|    END
07918  M00S05006.sform   +++|  ELSE
07919  M00S05007.sform   +++|    BEGIN                            # OUTPUT SINGLE BOX CHARACTER #
Line S05008 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07920  M01S05008.242l642 ---|    IF BOXYCORD[BOXINDEX] LQ NUMLINES
07921  M01S05009.242l642 ---|      AND BOXXCORD[BOXINDEX] LQ NUMCOLS THEN
Line S01187 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07922  M01S01187.242l642 +++|    IF BOXYCORD[BOXINDEX] LQ TERNUMLNES[0]
07923  M01S01188.242l642 +++|      AND BOXXCORD[BOXINDEX] LQ TERNUMCOLS[0] THEN
07924  M00S05010.sform   +++|      BEGIN                          # IF CHARACTER WITHIN BOUNDARIES #
07925  M00S05011.sform   +++|      VDTPOS(BOXXCORD[BOXINDEX],BOXYCORD[BOXINDEX]);
07926  M00S05012.sform   +++|      VDTBOX(BOXCHAR[BOXINDEX]);
07927  M00S05013.sform   +++|      END
07928  M00S05014.sform   +++|    END
07929  M00S05015.sform   +++|  END
07930  M00S05016.sform   +++|
07931  M00S05017.sform   +++|VDTDRW(0);                           # TURN OFF LINE DRAWING #
07932  M00S05018.sform   +++|
07933  M00S05019.sform   +++|END  # WRIBOX #
07934  M00S05020.sform   +++|CONTROL EJECT;
07935  M00S05021.sform   +++|
07936  M00S05022.sform   +++|PROC WRIPAN;
07937  M00S05023.sform   +++|
07938  M00S05024.sform   +++|# TITLE WRIPAN - WRITE PANEL. #
07939  M00S05025.sform   +++|
07940  M00S05026.sform   +++|BEGIN  # WRIPAN #
07941  M00S05027.sform   +++|
07942  M00S05028.sform   +++|#
07943  M00S05029.sform   +++|**    WRIPAN - WRITE PANEL.
07944  M00S05030.sform   +++|*
07945  M00S05031.sform   +++|*     THIS PROCEDURE DETERMINES IF THE PANEL TO BE WRITTEN IS
07946  M00S05032.sform   +++|*     A PRIMARY OR AN OVERLAY PANEL, ASSURES THAT THE TERMINAL
07947  M00S05033.sform   +++|*     IS IN SCREEN MODE AND CALLS THE PROPER ROUTINES TO WRITE
07948  M00S05034.sform   +++|*     THE PANEL TO THE SCREEN.
07949  M00S05035.sform   +++|*
07950  M00S05036.sform   +++|*     PROC WRIPAN
07951  M00S05037.sform   +++|*
Line S05038 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07952  M01S05038.242l642 ---|*     ENTRY   ACTIVEPAN  = THE NAME OF THE PANEL TO BE WRITTEN.
07953  M01S05039.242l642 ---|*             ACTPANPLTI = THE CORRESPONDING PLT INDEX.
Line S01189 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07954  M01S01189.242l642 +++|*     ENTRY   TERACTPANL = THE NAME OF THE PANEL TO BE WRITTEN.
07955  M01S01190.242l642 +++|*             TERACTPLTI = THE CORRESPONDING PLT INDEX.
07956  M00S05040.sform   +++|*
07957  M00S05041.sform   +++|*     EXIT    PANEL WRITTEN TO SCREEN.
07958  M00S05042.sform   +++|*
Line S01191 Modification History
M01 (Added by) 242l642
M02 (Removed by) ns2346
Seq #  *Modification Id* Act 
----------------------------+
07959  M02S01191.ns2346  ---|*     CALLS   REWFLD, SETSRN, WRIALL, WRIBOX, WRITES, VDTCAA, VDTCLS,
07960  M02S01192.ns2346  ---|*             VDTGTD, VDTPRO, VDTSTD.
Line S00042 Modification History
M01 (Added by) ns2346
M02 (Removed by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
07961  M02S00042.ns2503  ---|*     CALLS   REWFLD, SETSRN, WRIALL, WRIBOX, WRITES, VDTCLS, VDTGTD,
07962  M02S00043.ns2503  ---|*             VDTPRO, VDTSAM, VDTSTD.
Line S00006 Modification History
M01 (Added by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
07963  M01S00006.ns2503  +++|*     CALLS   REWFLD, SETSRN, WRIALL, WRIBOX, WRITES, VDTCAA, VDTCLS,
07964  M01S00007.ns2503  +++|*             VDTGTD, VDTPRO, VDTSAM, VDTSTD.
Line S01193 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07965  M01S01193.242l642 +++|*
07966  M00S05043.sform   +++|*     NOTES   IF AN ATTEMPT IS MADE TO WRITE AN OVERLAY PANEL
07967  M00S05044.sform   +++|*             WITHOUT A PREVIOUS PRIMARY PANEL BEING WRITTEN
07968  M00S05045.sform   +++|*             (I.E. THE TERMINAL IS IN LINE MODE) THEN A DAY-
07969  M00S05046.sform   +++|*             FILE MESSAGE WILL BE ISSUED AND THE PROGRAM WILL
07970  M00S05047.sform   +++|*             BE ABORTED.
07971  M00S05048.sform   +++|#
07972  M00S05049.sform   +++|ITEM FATAL      B = TRUE;            # FATAL ERROR #
07973  M00S05050.sform   +++|ITEM HOLDCOLS   I;                   # NUMBER OF REQUESTED COLUMNS #
07974  M00S05051.sform   +++|ITEM HOLDLINES  I;                   # NUMBER OF REQUESTED LINES #
07975  M00S05052.sform   +++|ITEM MSG        C(25) = " NOT PRIMARY.            ";  # ERROR MSG. #
07976  M00S05053.sform   +++|ITEM PANELADDR  I;                   # ADDRESS OF PANEL RECORD #
07977  M00S05054.sform   +++|ITEM PLTCOUNT   I;                   # COUNTER TO CLEAR PLT #
07978  M00S05055.sform   +++|ITEM PNAME      C(6) = "SFSWRI";     # PROCEDURE NAME #
07979  M00S05056.sform   +++|
Line S05057 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07980  M01S05057.242l642 ---|IF PLTENTRYNM[ACTPANPLTI] NQ 0 THEN
Line S01194 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07981  M01S01194.242l642 +++|IF PLTENTRYNM[TERACTPLTI[0]] NQ 0 THEN
07982  M00S05058.sform   +++|  BEGIN                              # IF PANEL IS ON SCREEN #
Line S05059 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
07983  M01S05059.242l642 ---|  VDTBOO;
07984  M00S05060.sform   +++|  IF PANPRIPAN[0] THEN
07985  M00S05061.sform   +++|    BEGIN                            # IF PRIMARY ON SCREEN #
Line S05062 Modification History
M01 (Removed by) ns2346
Seq #  *Modification Id* Act 
----------------------------+
07986  M01S05062.ns2346  ---|    IF PLTNUMONSC[0] GR 1 THEN VDTPRO;
Line S00044 Modification History
M01 (Added by) ns2346
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07987  M02S00044.252l678 ---|    IF PLTNUMONSC[0] GR 1 THEN VDTPRO(OUT"PROTECTALL");
Line S00249 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
07988  M01S00249.252l678 +++|    IF PLTNUMONSC[0] GR 1 AND NOT TERPROCLRS[0] THEN
07989  M01S00250.252l678 +++|      BEGIN                          # IF MORE THAN 1 AND NO CLEAR #
07990  M01S00251.252l678 +++|      VDTPRO(OUT"PROTECTALL");       # ISSUE GLOBAL PROTECT #
07991  M01S00252.252l678 +++|      END
07992  M00S05063.sform   +++|    IF PANNUMBYTE[0] NQ 0 THEN REWFLD;
07993  M00S05064.sform   +++|    END
07994  M00S05065.sform   +++|  ELSE
07995  M00S05066.sform   +++|    BEGIN                            # IF OVERLAY ON SCREEN #
07996  M00S05067.sform   +++|    CLRLNS;                          # CLEAR NECESSARY LINES #
07997  M00S05068.sform   +++|    IF PANSTRFLD[0] NQ 0 THEN WRITES;
07998  M00S05069.sform   +++|    IF PANSTRBOX[0] NQ 0 THEN WRIBOX;
Line S05070 Modification History
M01 (Removed by) ns2346
Seq #  *Modification Id* Act 
----------------------------+
07999  M01S05070.ns2346  ---|    VDTCAA;                          # CLEAR ALL ATTRIBUTES #
Line S00045 Modification History
M01 (Added by) ns2346
M02 (Removed by) sform16
Seq #  *Modification Id* Act 
----------------------------+
08000  M02S00045.sform16 ---|    VDTSAM(0);                       # CLEAR ALL ATTRIBUTES #
Line S00001 Modification History
M01 (Added by) sform16
Seq #  *Modification Id* Act 
----------------------------+
08001  M01S00001.sform16 +++|    IF NOT TERBLCKMDE[0] THEN VDTSAM(0); ELSE VDTCAA(0);
Line S00001 Modification History
M01 (Added by) sform27
Seq #  *Modification Id* Act 
----------------------------+
08002  M01S00001.sform27 +++|    FOR PLTCOUNT = 1 STEP 1 UNTIL PLTNUMENT[0] DO
08003  M01S00002.sform27 +++|      BEGIN                          # UPDATE SEQUENCE NUMBERS #
08004  M01S00003.sform27 +++|      IF PLTENTRYNM[PLTCOUNT] GR PLTENTRYNM[TERACTPLTI[0]] THEN
08005  M01S00004.sform27 +++|        BEGIN
08006  M01S00005.sform27 +++|        PLTENTRYNM[PLTCOUNT] = PLTENTRYNM[PLTCOUNT]-1;
08007  M01S00006.sform27 +++|        END
08008  M01S00007.sform27 +++|      END
08009  M01S00008.sform27 +++|    PLTENTRYNM[TERACTPLTI[0]] = PLTNUMENT[0];
08010  M00S05071.sform   +++|    END
08011  M00S05072.sform   +++|  END
08012  M00S05073.sform   +++|ELSE
08013  M00S05074.sform   +++|  BEGIN                              # IF PANEL NOT ON SCREEN #
08014  M00S05075.sform   +++|  HOLDCOLS = PANNUMCOLS[0];          # GET REQUESTED COLUMNS #
Line S05076 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08015  M01S05076.242l642 ---|  HOLDLINES = PANNUMLNES[0] + 1;     # GET REQUESTED LINES #
Line S01195 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08016  M01S01195.242l642 +++|  HOLDLINES = PANNUMLNES[0];         # GET REQUESTED LINES #
08017  M00S05077.sform   +++|  IF PANPRIPAN[0] THEN
08018  M00S05078.sform   +++|    BEGIN                            # IF PRIMARY NOT ON SCREEN #
08019  M00S05079.sform   +++|    IF NOT TERSCREENM[0] THEN
08020  M00S05080.sform   +++|      BEGIN                          # IF NOT IN SCREEN MODE #
08021  M00S05081.sform   +++|      SETSRN(HOLDCOLS,HOLDLINES);    # SET SCREEN MODE #
08022  M00S05082.sform   +++|      END
08023  M00S05083.sform   +++|    ELSE
08024  M00S05084.sform   +++|      BEGIN
08025  M00S05085.sform   +++|      VDTSTD(HOLDCOLS,HOLDLINES);    # SET SCREEN SIZE #
08026  M00S05086.sform   +++|      VDTGTD(HOLDCOLS,HOLDLINES);    # GET ACTUAL VALUES #
Line S05087 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08027  M01S05087.242l642 ---|      NUMCOLS = HOLDCOLS - 1;        # SET INTERNAL VALUE #
08028  M01S05088.242l642 ---|      NUMLINES = HOLDLINES - 1;      # SET INTERNAL VALUE #
Line S01196 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08029  M01S01196.242l642 +++|      TERNUMCOLS[0] = HOLDCOLS - 1;  # SET INTERNAL VALUE #
08030  M01S01197.242l642 +++|      TERNUMLNES[0] = HOLDLINES - 1; # SET INTERNAL VALUE #
Line S05089 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
08031  M01S05089.252l678 ---|      VDTCLS;                        # CLEAR SCREEN #
08032  M00S05090.sform   +++|      END
Line S00253 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
08033  M01S00253.252l678 +++|    VDTCLS;
08034  M00S05091.sform   +++|    TERCNWRIOV[0] = TRUE;            # ALLOW OVERLAY WRITE #
08035  M00S05092.sform   +++|    FOR PLTCOUNT = 1 STEP 1 UNTIL PLTNUMENT[0] DO
08036  M00S05093.sform   +++|      BEGIN                          # CLEAR SEQUENCE NUMBERS #
08037  M00S05094.sform   +++|      PLTENTRYNM[PLTCOUNT] = 0;
08038  M00S05095.sform   +++|      END
08039  M00S05096.sform   +++|    PLTNUMONSC[0] = 1;               # ONE PANEL ON SCREEN #
Line S05097 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08040  M01S05097.242l642 ---|    PLTENTRYNM[ACTPANPLTI] = 1;
Line S01198 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08041  M01S01198.242l642 +++|    PLTENTRYNM[TERACTPLTI[0]] = 1;
08042  M00S05098.sform   +++|    TERMESWRIT[0] = FALSE;
08043  M00S05099.sform   +++|    TERMESREAD[0] = FALSE;
Line S00254 Modification History
M01 (Added by) 252l678
M02 (Removed by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
08044  M02S00254.ns2503  ---|    VDTPRO(OUT"PROTECTALL");         # ISSUE GLOBAL PROTECT #
Line S00008 Modification History
M01 (Added by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
08045  M01S00008.ns2503  +++|    IF TERPROCLRS[0] THEN VDTPRO(OUT"PROTECTALL");
08046  M00S05100.sform   +++|    IF PANSTRFLD[0] NQ 0 THEN WRITES;
08047  M00S05101.sform   +++|    IF PANSTRBOX[0] NQ 0 THEN WRIBOX;
Line S05102 Modification History
M01 (Removed by) ns2346
Seq #  *Modification Id* Act 
----------------------------+
08048  M01S05102.ns2346  ---|    VDTCAA;                          # CLEAR ALL ATTRIBUTES #
Line S00046 Modification History
M01 (Added by) ns2346
M02 (Removed by) ns2356
Seq #  *Modification Id* Act 
----------------------------+
08049  M02S00046.ns2356  ---|    VDTSAM(0);                       # CLEAR ALL ATTRIBUTES #
Line S00026 Modification History
M01 (Added by) ns2356
Seq #  *Modification Id* Act 
----------------------------+
08050  M01S00026.ns2356  +++|    IF NOT TERBLCKMDE[0] THEN VDTSAM(0); ELSE VDTCAA(0);
08051  M00S05103.sform   +++|    END
08052  M00S05104.sform   +++|  ELSE
08053  M00S05105.sform   +++|    BEGIN                            # IF OVERLAY NOT ON SCREEN #
Line S05106 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08054  M01S05106.242l642 ---|    IF NOT TERCNWRIOV[0] THEN ERRMSG(ACTIVEPAN,PNAME,MSG,FATAL);
Line S01199 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08055  M01S01199.242l642 +++|    IF NOT TERCNWRIOV[0] THEN ERRMSG(TERACTPANL[0],PNAME,MSG,FATAL);
Line S05107 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08056  M01S05107.242l642 ---|    VDTBOO;
08057  M00S05108.sform   +++|    PLTNUMONSC[0] = PLTNUMONSC[0] + 1;
Line S05109 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08058  M01S05109.242l642 ---|    PLTENTRYNM[ACTPANPLTI] = PLTNUMONSC[0];
08059  M01S05110.242l642 ---|    IF HOLDCOLS GR NUMCOLS OR HOLDLINES GR NUMLINES THEN
Line S01200 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08060  M01S01200.242l642 +++|    PLTENTRYNM[TERACTPLTI[0]] = PLTNUMONSC[0];
08061  M01S01201.242l642 +++|    IF HOLDCOLS GR TERNUMCOLS[0] OR HOLDLINES GR TERNUMLNES[0] THEN
08062  M00S05111.sform   +++|      BEGIN
08063  M00S05112.sform   +++|      VDTSTD(HOLDCOLS,HOLDLINES);    # SET SCREEN SIZE #
08064  M00S05113.sform   +++|      VDTGTD(HOLDCOLS,HOLDLINES);    # GET ACTUAL VALUES #
Line S05114 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08065  M01S05114.242l642 ---|      IF HOLDCOLS NQ NUMCOLS+1 OR HOLDLINES NQ NUMLINES+1 THEN
08066  M01S05115.242l642 ---|        BEGIN                        # IF SCREEN SIZE CHANGED #
08067  M01S05116.242l642 ---|        NUMCOLS = HOLDCOLS - 1;      # RESET SCREEN DIMENSIONS #
08068  M01S05117.242l642 ---|        NUMLINES = HOLDLINES - 1;
Line S01202 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08069  M01S01202.242l642 +++|      IF HOLDCOLS NQ TERNUMCOLS[0] + 1 OR
08070  M01S01203.242l642 +++|         HOLDLINES NQ TERNUMLNES[0] + 1 THEN
08071  M01S01204.242l642 +++|        BEGIN                        # IF SCREEN SIZE CHANGED, RESET #
08072  M01S01205.242l642 +++|        TERNUMCOLS[0] = HOLDCOLS - 1;
08073  M01S01206.242l642 +++|        TERNUMLNES[0] = HOLDLINES - 1;
08074  M00S05118.sform   +++|        WRIALL;                      # WRITE ALL PANELS #
08075  M00S05119.sform   +++|        END
08076  M00S05120.sform   +++|      ELSE
08077  M00S05121.sform   +++|        BEGIN                        # NO CHANGE TO SCREEN SIZE #
08078  M00S05122.sform   +++|        CLRLNS;                      # CLEAR NECESSARY LINES #
08079  M00S05123.sform   +++|        IF PANSTRFLD[0] NQ 0 THEN WRITES;
08080  M00S05124.sform   +++|        IF PANSTRBOX[0] NQ 0 THEN WRIBOX;
Line S05125 Modification History
M01 (Removed by) ns2346
Seq #  *Modification Id* Act 
----------------------------+
08081  M01S05125.ns2346  ---|        VDTCAA;                      # CLEAR ALL ATTRIBUTES #
Line S00047 Modification History
M01 (Added by) ns2346
M02 (Removed by) ns2356
Seq #  *Modification Id* Act 
----------------------------+
08082  M02S00047.ns2356  ---|        VDTSAM(0);                   # CLEAR ALL ATTRIBUTES #
Line S00027 Modification History
M01 (Added by) ns2356
Seq #  *Modification Id* Act 
----------------------------+
08083  M01S00027.ns2356  +++|        IF NOT TERBLCKMDE[0] THEN VDTSAM(0); ELSE VDTCAA(0);
08084  M00S05126.sform   +++|        END
08085  M00S05127.sform   +++|      END
08086  M00S05128.sform   +++|    ELSE
08087  M00S05129.sform   +++|      BEGIN
08088  M00S05130.sform   +++|      CLRLNS;                        # CLEAR NECESSARY LINES #
08089  M00S05131.sform   +++|      IF PANSTRFLD[0] NQ 0 THEN WRITES;
08090  M00S05132.sform   +++|      IF PANSTRBOX[0] NQ 0 THEN WRIBOX;
Line S05133 Modification History
M01 (Removed by) ns2346
Seq #  *Modification Id* Act 
----------------------------+
08091  M01S05133.ns2346  ---|      VDTCAA;                        # CLEAR ALL ATTRIBUTES #
Line S00048 Modification History
M01 (Added by) ns2346
M02 (Removed by) ns2356
Seq #  *Modification Id* Act 
----------------------------+
08092  M02S00048.ns2356  ---|      VDTSAM(0);                     # CLEAR ALL ATTRIBUTES #
Line S00028 Modification History
M01 (Added by) ns2356
Seq #  *Modification Id* Act 
----------------------------+
08093  M01S00028.ns2356  +++|      IF NOT TERBLCKMDE[0] THEN VDTSAM(0); ELSE VDTCAA(0);
08094  M00S05134.sform   +++|      END
08095  M00S05135.sform   +++|    END
08096  M00S05136.sform   +++|  END
Line S05137 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08097  M01S05137.242l642 ---|VDTEOO;                              # END OUTPUT SEQUENCE #
08098  M00S05138.sform   +++|
08099  M00S05139.sform   +++|END  # WRIPAN #
08100  M00S05140.sform   +++|CONTROL EJECT;
08101  M00S05141.sform   +++|
08102  M00S05142.sform   +++|PROC WRITES;
08103  M00S05143.sform   +++|
08104  M00S05144.sform   +++|# TITLE WRITES - WRITE SCREEN. #
08105  M00S05145.sform   +++|
08106  M00S05146.sform   +++|BEGIN  # WRITES #
08107  M00S05147.sform   +++|
08108  M00S05148.sform   +++|#
08109  M00S05149.sform   +++|**    WRITES - WRITE SCREEN.
08110  M00S05150.sform   +++|*
08111  M00S05151.sform   +++|*     THIS PROCEDURE WRITES THE PANEL TO THE SCREEN USING THE
08112  M00S05152.sform   +++|*     POSITIONING INFORMATION FOUND IN THE FIELD LIST AND THE
08113  M00S05153.sform   +++|*     DATA FOUND IN THE CONSTANT LIST AND VARIABLE DATA AREAS.
08114  M00S05154.sform   +++|*
08115  M00S05155.sform   +++|*     PROC WRITES
08116  M00S05156.sform   +++|*
08117  M00S05157.sform   +++|*     EXIT    PANEL WRITTEN TO SCREEN.
Line S01207 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08118  M01S01207.242l642 +++|*
Line S01208 Modification History
M01 (Added by) 242l642
M02 (Removed by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
08119  M02S01208.ns2503  ---|*     CALLS   SETATR, VDTSTR, WRIVAR.
Line S00009 Modification History
M01 (Added by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
08120  M01S00009.ns2503  +++|*     CALLS   SETATR, VDTCAA, VDTPRO, VDTSAM, VDTSTR, WRIVAR.
08121  M00S05158.sform   +++|#
Line S05159 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08122  M01S05159.242l642 ---|ITEM CURORD    I;                    # CURRENT ATTRIBUTE ORDINAL #
08123  M00S05160.sform   +++|ITEM FLDINDEX  I;                    # INDEX INTO FIELD LIST #
08124  M00S05161.sform   +++|BASED ARRAY CONSTRING;;              # PASSES ADDRESS TO VDTSTR #
08125  M00S05162.sform   +++|
Line S05163 Modification History
M01 (Removed by) ns2346
Seq #  *Modification Id* Act 
----------------------------+
08126  M01S05163.ns2346  ---|VDTPRO;                              # GLOBAL PROTECT #
Line S00049 Modification History
M01 (Added by) ns2346
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
08127  M02S00049.252l678 ---|VDTPRO(OUT"PROTECTALL");             # ISSUE GLOBAL PROTECT #
Line S05164 Modification History
M01 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
08128  M01S05164.252l678 ---|CURORD = -1;                         # NO CURRENT ATTRIBUTES YET #
Line S01209 Modification History
M01 (Added by) 242l642
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
08129  M02S01209.252l678 ---|LASTPOS = - 1;                       # LAST ATTRIBUTE POSITION #
Line S00255 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
08130  M01S00255.252l678 +++|TERCURVORD[0] = -1;                  # NO CURRENT ATTRIBUTES YET #
08131  M01S00256.252l678 +++|TERPREVPOS[0] = -1;                  # LAST ATTRIBUTE POSITION #
08132  M00S05165.sform   +++|
Line S00010 Modification History
M01 (Added by) ns2503
Seq #  *Modification Id* Act 
----------------------------+
08133  M01S00010.ns2503  +++|IF NOT TERPROCLRS[0] THEN VDTPRO(OUT"PROTECTALL");
08134  M01S00011.ns2503  +++|
08135  M00S05166.sform   +++|FOR FLDINDEX = 0 STEP 1 WHILE FLDENTRY[FLDINDEX] NQ 0 DO
08136  M00S05167.sform   +++|  BEGIN
08137  M00S05168.sform   +++|  IF FLDACTIVE[FLDINDEX] THEN
08138  M00S05169.sform   +++|    BEGIN
Line S05170 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08139  M01S05170.242l642 ---|    IF FLDXCORD[FLDINDEX] + FLDLENGTH[FLDINDEX] LQ NUMCOLS + 1
08140  M01S05171.242l642 ---|      AND FLDYCORD[FLDINDEX] LQ NUMLINES THEN
Line S01210 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08141  M01S01210.242l642 +++|    IF FLDXCORD[FLDINDEX] + FLDLENGTH[FLDINDEX] LQ TERNUMCOLS[0] + 1
08142  M01S01211.242l642 +++|      AND FLDYCORD[FLDINDEX] LQ TERNUMLNES[0] THEN
08143  M00S05172.sform   +++|      BEGIN                          # IF FIELD ON SCREEN #
Line S05173 Modification History
M01 (Removed by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08144  M01S05173.242l642 ---|      VDTPOS(FLDXCORD[FLDINDEX],FLDYCORD[FLDINDEX]);
08145  M01S05174.242l642 ---|      IF FLDATTORD[FLDINDEX] NQ CURORD THEN
08146  M01S05175.242l642 ---|        BEGIN                        # IF NOT CURRENT ATTRIBUTES #
08147  M01S05176.242l642 ---|        CURORD = FLDATTORD[FLDINDEX];
08148  M01S05177.242l642 ---|        VDTSAM(ATTMASK[CURORD]);     # SET NEW ATTRIBUTES #
08149  M01S05178.242l642 ---|        END
Line S01212 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08150  M01S01212.242l642 +++|      SETATR(FLDINDEX);              # SET FIELD ATTRIBUTES #
08151  M00S05179.sform   +++|      IF FLDVARFLAG[FLDINDEX] THEN   # IF VARIABLE FIELD #
08152  M00S05180.sform   +++|        BEGIN
08153  M00S05181.sform   +++|        WRIVAR(FLDINDEX);            # WRITE VARIABLE FIELD #
08154  M00S05182.sform   +++|        END
08155  M00S05183.sform   +++|      ELSE
08156  M00S05184.sform   +++|        BEGIN                        # WRITE CONSTANT FIELD #
08157  M00S05185.sform   +++|        P<CONSTRING>=LOC(RECWORDC[FLDCONOS[FLDINDEX]]);
08158  M00S05186.sform   +++|        VDTSTR(CONSTRING);
08159  M00S05187.sform   +++|        FLDREWRITE[FLDINDEX] = FALSE;  # CLEAR REWRITE FIELD FLAG #
08160  M00S05188.sform   +++|        END
Line S01213 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08161  M01S01213.242l642 +++|        IF TERTABPROT[0] THEN
08162  M01S01214.242l642 +++|          BEGIN                      # IF PROTECTED TABBING #
08163  M01S01215.242l642 +++|          IF TERATTRSET[0] THEN
08164  M01S01216.242l642 +++|            BEGIN                    # RESET ATTRIBUTES BEFORE VDTPOS #
Line S01217 Modification History
M01 (Added by) 242l642
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
08165  M02S01217.252l678 ---|            IF CURORD NQ 2 THEN
Line S00257 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
08166  M01S00257.252l678 +++|            IF TERCURVORD[0] NQ 2 THEN
Line S01218 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08167  M01S01218.242l642 +++|              BEGIN                  # IF NOT PROTECTED OUTPUT #
Line S01219 Modification History
M01 (Added by) 242l642
M02 (Removed by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
08168  M02S01219.252l678 ---|              CURORD = 2;            # SET ORDINAL AND ISSUE IT #
Line S00258 Modification History
M01 (Added by) 252l678
Seq #  *Modification Id* Act 
----------------------------+
08169  M01S00258.252l678 +++|              TERCURVORD[0] = 2;     # SET ORDINAL AND ISSUE IT #
Line S01220 Modification History
M01 (Added by) 242l642
Seq #  *Modification Id* Act 
----------------------------+
08170  M01S01220.242l642 +++|              VDTSAM(O"6001");
08171  M01S01221.242l642 +++|              END
08172  M01S01222.242l642 +++|            END
08173  M01S01223.242l642 +++|          END
08174  M00S05189.sform   +++|      END
08175  M00S05190.sform   +++|    ELSE
08176  M00S05191.sform   +++|      BEGIN                          # IF FIELD NOT ON SCREEN #
08177  M00S05192.sform   +++|      FLDACTIVE[FLDINDEX] = FALSE;   # CLEAR ACTIVE FIELD FLAG #
08178  M00S05193.sform   +++|      FLDREWRITE[FLDINDEX] = FALSE;  # CLEAR REWRITE FIELD FLAG #
08179  M00S05194.sform   +++|      END
08180  M00S05195.sform   +++|    END
08181  M00S05196.sform   +++|  END
Line S00050 Modification History
M01 (Added by) ns2346
M02 (Removed by) ns2356
Seq #  *Modification Id* Act 
----------------------------+
08182  M02S00050.ns2356  ---|  VDTSAM(0);                         # CLEAR ALL ATTRIBUTES #
Line S00029 Modification History
M01 (Added by) ns2356
M02 (Removed by) sform16
Seq #  *Modification Id* Act 
----------------------------+
08183  M02S00029.sform16 ---|  IF NOT TERBLCKMDE[0] THEN VDTSAM(0); ELSE VDTCAA(0);
Line S00002 Modification History
M01 (Added by) sform16
Seq #  *Modification Id* Act 
----------------------------+
08184  M01S00002.sform16 +++|  IF NOT TERBLCKMDE[0] THEN VDTSAM(0); ELSE VDTSAM(O"6001");
08185  M00S05197.sform   +++|
08186  M00S05198.sform   +++|END  # WRITES #
08187  M00S05199.sform   +++|CONTROL EJECT;
08188  M00S05200.sform   +++|
08189  M00S05201.sform   +++|PROC WRIVAR(FLDINDEX);
08190  M00S05202.sform   +++|
08191  M00S05203.sform   +++|# TITLE WRIVAR - WRITE VARIABLE. #
08192  M00S05204.sform   +++|
08193  M00S05205.sform   +++|BEGIN  # WRIVAR #
08194  M00S05206.sform   +++|
08195  M00S05207.sform   +++|#
08196  M00S05208.sform   +++|**    WRIVAR - WRITE VARIABLE.
08197  M00S05209.sform   +++|*
08198  M00S05210.sform   +++|*     THIS PROCEDURE WRITES THE VARIABLE POINTED AT BY FLDINDEX
08199  M00S05211.sform   +++|*     TO THE SCREEN.
08200  M00S05212.sform   +++|*
08201  M00S05213.sform   +++|*     PROC WRIVAR(FLDINDEX)
08202  M00S05214.sform   +++|*
08203  M00S05215.sform   +++|*     ENTRY   FLDINDEX   = INDEX INTO THE FIELD LIST.
08204  M00S05216.sform   +++|*
08205  M00S05217.sform   +++|*     EXIT    VARIABLE WRITTEN TO SCREEN.
08206  M00S05218.sform   +++|*
08207  M00S05219.sform   +++|*     NOTES   CURSOR POSITIONING HAS BEEN DONE BY THE CALLING
08208  M00S05220.sform   +++|*             PROCEDURE AS WELL AS ATTRIBUTE SELECTION.
Line S00001 Modification History
M01 (Added by) ns2385
Seq #  *Modification Id* Act 
----------------------------+
08209  M01S00001.ns2385  +++|*
08210  M01S00002.ns2385  +++|*     CALLS     VDTPSU.
08211  M00S05221.sform   +++|#
08212  M00S05222.sform   +++|ITEM FLDINDEX   I;                   # INDEX INTO THE FIELD LIST #
08213  M00S05223.sform   +++|
08214  M00S05224.sform   +++|ITEM CHARACTER  I;                   # HOLDS ONE CHARACTER FOR VDTCHR #
08215  M00S05225.sform   +++|ITEM CHARINDEX  I;                   # CHARACTER OFFSET INTO VARDATA #
Line S00010 Modification History
M01 (Added by) sform18
Seq #  *Modification Id* Act 
----------------------------+
08216  M01S00010.sform18 +++|ITEM ENDCHAR    I;                   # LOCATION OF LAST NON-BLANK #
08217  M00S05226.sform   +++|ITEM NUMCHARS   I;                   # NUMCHARS TO WRITE #
08218  M00S05227.sform   +++|ITEM WORDINDEX  I;                   # WORD OFFSET INTO VARDATA #
08219  M00S05228.sform   +++|
08220  M00S05229.sform   +++|FLDREWRITE[FLDINDEX] = FALSE;        # CLEAR REWRITE FIELD FLAG #
08221  M00S05230.sform   +++|
08222  M00S05231.sform   +++|IF NOT TERDONTCLR[0] THEN
08223  M00S05232.sform   +++|  BEGIN                              # CLEAR READ FLAGS #
08224  M00S05233.sform   +++|  FLDENTERED[FLDINDEX] = FALSE;
08225  M00S05234.sform   +++|  FLDVALID[FLDINDEX] = FALSE;
Line S05235 Modification History
M01 (Removed by) sform18
Seq #  *Modification Id* Act 
----------------------------+
08226  M01S05235.sform18 ---| END
08227  M01S05236.sform18 ---|IF NOT FLDOUTPUTV[FLDINDEX] THEN
08228  M01S05237.sform18 ---|  BEGIN                              # IF INPUT ONLY VARIABLE #
08229  M01S05238.sform18 ---|  FOR NUMCHARS = 0 STEP 1 UNTIL FLDLENGTH[FLDINDEX]-1 DO
08230  M01S05239.sform18 ---|    BEGIN                            # OUTPUT BLANKS TO SCREEN #
Line S05240 Modification History
M01 (Removed by) ns2385
M02 (Removed by) sform18
Seq #  *Modification Id* Act 
----------------------------+
08231  M02S05240.sform18 ---|    VDTCHR(BLANK);
Line S00003 Modification History
M01 (Added by) ns2385
M02 (Removed by) sform18
Seq #  *Modification Id* Act 
----------------------------+
08232  M02S00003.sform18 ---|    VDTPSU;
Line S05241 Modification History
M01 (Removed by) sform18
Seq #  *Modification Id* Act 
----------------------------+
08233  M01S05241.sform18 ---|    END
08234  M01S05242.sform18 ---|  END
08235  M01S05243.sform18 ---|ELSE
Line S00011 Modification History
M01 (Added by) sform18
Seq #  *Modification Id* Act 
----------------------------+
08236  M01S00011.sform18 +++|  END
08237  M01S00012.sform18 +++|ENDCHAR = 0;
08238  M01S00013.sform18 +++|IF FLDOUTPUTV[FLDINDEX] THEN
08239  M00S05244.sform   +++|  BEGIN                              # IF NOT INPUT ONLY VARIABLE #
Line S00014 Modification History
M01 (Added by) sform18
Seq #  *Modification Id* Act 
----------------------------+
08240  M01S00014.sform18 +++|  CHARINDEX = FLDVDTCORD[FLDINDEX]+FLDLENGTH[FLDINDEX];
08241  M01S00015.sform18 +++|  WORDINDEX = CHARINDEX / 5;
08242  M01S00016.sform18 +++|  CHARINDEX = 2*(CHARINDEX - (WORDINDEX * 5));
08243  M01S00017.sform18 +++|  FOR NUMCHARS = FLDLENGTH[FLDINDEX] STEP -1
08244  M01S00018.sform18 +++|    WHILE NUMCHARS GR ENDCHAR DO
08245  M01S00019.sform18 +++|    BEGIN                            # FIND LAST NON-BLANK CHARACTER #
08246  M01S00020.sform18 +++|    IF CHARINDEX GR 0 THEN CHARINDEX = CHARINDEX - 2;
08247  M01S00021.sform18 +++|    ELSE
08248  M01S00022.sform18 +++|      BEGIN                          # IF AT END OF WORD #
08249  M01S00023.sform18 +++|      CHARINDEX = 8;
08250  M01S00024.sform18 +++|      WORDINDEX = WORDINDEX - 1;     # UPDATE WORD INDEX #
08251  M01S00025.sform18 +++|      END
08252  M01S00026.sform18 +++|    CHARACTER =  C<CHARINDEX,2>VDATAC[WORDINDEX];
08253  M01S00027.sform18 +++|    IF CHARACTER GR O"40" AND CHARACTER LQ O"176" THEN
08254  M01S00028.sform18 +++|      ENDCHAR = NUMCHARS;            # IF DISPLAYABLE NON-BLANK #
08255  M01S00029.sform18 +++|    END
08256  M00S05245.sform   +++|  WORDINDEX = FLDVDTCORD[FLDINDEX] / 5;
08257  M00S05246.sform   +++|  CHARINDEX = 2*(FLDVDTCORD[FLDINDEX] - (WORDINDEX * 5));
Line S05247 Modification History
M01 (Removed by) sform18
Seq #  *Modification Id* Act 
----------------------------+
08258  M01S05247.sform18 ---|  FOR NUMCHARS = 0 STEP 1 UNTIL FLDLENGTH[FLDINDEX]-1 DO
Line S00030 Modification History
M01 (Added by) sform18
Seq #  *Modification Id* Act 
----------------------------+
08259  M01S00030.sform18 +++|  FOR NUMCHARS = 1 STEP 1 UNTIL ENDCHAR DO
08260  M00S05248.sform   +++|    BEGIN                            # OUTPUT VARIABLE #
08261  M00S05249.sform   +++|    IF CHARINDEX EQ 10 THEN
08262  M00S05250.sform   +++|      BEGIN                          # UPDATE WORD INDEX #
08263  M00S05251.sform   +++|      CHARINDEX = 0;
08264  M00S05252.sform   +++|      WORDINDEX = WORDINDEX + 1;
08265  M00S05253.sform   +++|      END
08266  M00S05254.sform   +++|    CHARACTER = C<CHARINDEX,2>VDATAC[WORDINDEX];
Line S05255 Modification History
M01 (Removed by) ns2385
Seq #  *Modification Id* Act 
----------------------------+
08267  M01S05255.ns2385  ---|    IF CHARACTER GQ O"40"
Line S00004 Modification History
M01 (Added by) ns2385
Seq #  *Modification Id* Act 
----------------------------+
08268  M01S00004.ns2385  +++|    IF CHARACTER GR O"40"
08269  M00S05256.sform   +++|      AND CHARACTER LQ O"176" THEN
Line S05257 Modification History
M01 (Removed by) ns2385
Seq #  *Modification Id* Act 
----------------------------+
08270  M01S05257.ns2385  ---|      BEGIN                          # IF DISPLAYABLE CHARACTER #
Line S00005 Modification History
M01 (Added by) ns2385
Seq #  *Modification Id* Act 
----------------------------+
08271  M01S00005.ns2385  +++|      BEGIN                          # IF NON-BLANK AND DISPLAYABLE #
08272  M00S05258.sform   +++|      VDTCHR(CHARACTER);             # OUTPUT CHARACTER #
08273  M00S05259.sform   +++|      END
08274  M00S05260.sform   +++|    ELSE
Line S05261 Modification History
M01 (Removed by) ns2385
Seq #  *Modification Id* Act 
----------------------------+
08275  M01S05261.ns2385  ---|      BEGIN
08276  M01S05262.ns2385  ---|      VDTCHR(BLANK);                 # OUTPUT BLANK #
Line S00006 Modification History
M01 (Added by) ns2385
Seq #  *Modification Id* Act 
----------------------------+
08277  M01S00006.ns2385  +++|      BEGIN                          # BLANK OR NONDISPLAYABLE #
08278  M01S00007.ns2385  +++|      VDTPSU;                        # PSEUDO UNDERLINE #
08279  M00S05263.sform   +++|      END
08280  M00S05264.sform   +++|    CHARINDEX = CHARINDEX + 2;       # UPDATE CHARACTER INDEX #
08281  M00S05265.sform   +++|    END
08282  M00S05266.sform   +++|  END
Line S00031 Modification History
M01 (Added by) sform18
Seq #  *Modification Id* Act 
----------------------------+
08283  M01S00031.sform18 +++|FOR NUMCHARS = ENDCHAR+1 STEP 1 UNTIL FLDLENGTH[FLDINDEX] DO
08284  M01S00032.sform18 +++|  BEGIN
08285  M01S00033.sform18 +++|  IF TERBLCKMDE[0] AND FLDINPUTV[FLDINDEX] THEN
08286  M01S00034.sform18 +++|    BEGIN
08287  M01S00035.sform18 +++|    VDTCHR(O"137");                  # SEND UNDERLINE TO SCREEN #
08288  M01S00036.sform18 +++|    END
08289  M01S00037.sform18 +++|  ELSE
08290  M01S00038.sform18 +++|    BEGIN
08291  M01S00039.sform18 +++|    VDTPSU;
08292  M01S00040.sform18 +++|    END
08293  M01S00041.sform18 +++|  END
08294  M00S05267.sform   +++|
08295  M00S05268.sform   +++|END  # WRIVAR #
08296  M00S05269.sform   +++|CONTROL EJECT;
08297  M00S05270.sform   +++|
08298  M00S05271.sform   +++|PROC WRIVCH(FIELD,OFFSET,CHAR);
08299  M00S05272.sform   +++|
08300  M00S05273.sform   +++|# TITLE WRIVCH - WRITE CHARACTER INTO VARDATA. #
08301  M00S05274.sform   +++|
08302  M00S05275.sform   +++|BEGIN  # WRIVCH #
08303  M00S05276.sform   +++|
08304  M00S05277.sform   +++|#
08305  M00S05278.sform   +++|**    WRIVCH - WRITE CHARACTER INTO VARDATA.
08306  M00S05279.sform   +++|*
08307  M00S05280.sform   +++|*     PROC WRIVCH(FIELD,OFFSET,CHAR)
08308  M00S05281.sform   +++|*
08309  M00S05282.sform   +++|*     ENTRY   FIELD      = FIELD INDEX.
08310  M00S05283.sform   +++|*             OFFSET     = CHARACTER POSITION IN FIELD.
08311  M00S05284.sform   +++|*             CHAR       = CHARACTER INPUT.
08312  M00S05285.sform   +++|*
08313  M00S05286.sform   +++|*     EXIT    CHAR WRITTEN INTO VARDATA.
08314  M00S05287.sform   +++|#
08315  M00S05288.sform   +++|ITEM FIELD      I;                   # INDEX OF CURRENT FIELD #
08316  M00S05289.sform   +++|ITEM OFFSET     I;                   # CHARACTER OFFSET INTO FIELD #
08317  M00S05290.sform   +++|ITEM CHAR       I;                   # CHARACTER TO PUT INTO VARDATA #
08318  M00S05291.sform   +++|
08319  M00S05292.sform   +++|ITEM CHARIND    I;                   # CHARACTER INDEX INTO VARDATA #
08320  M00S05293.sform   +++|ITEM CHARPOS    I;                   # CHARACTER POSITION IN VARDATA #
08321  M00S05294.sform   +++|ITEM WORDIND    I;                   # WORD INDEX INTO VARDATA #
08322  M00S05295.sform   +++|
08323  M00S05296.sform   +++|CHARPOS = FLDVDTCORD[FIELD] + OFFSET;
08324  M00S05297.sform   +++|WORDIND = CHARPOS/5;
08325  M00S05298.sform   +++|CHARIND = CHARPOS - 5*WORDIND;
08326  M00S05299.sform   +++|B<CHARIND*12,12>VDATAU[WORDIND] = CHAR;
08327  M00S05300.sform   +++|
08328  M00S05301.sform   +++|END  # WRIVCH #
08329  M00S05302.sform   +++|
08330  M00S05303.sform   +++|END  # SFORM #  TERM