       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      EW26.
       AUTHOR.          DOE.
      *****************************************************************
      *                    A04. ATTRIBUTION FACTORS                   *
      *****************************************************************
      * DATE CREATED:  06/11/1995                                     *
      *****************************************************************
      * CALL #  - MMDDYY - PURPOSE                                    *
      * 2004001 - 051305 - PREVENT UPDATES TO CHARTER SCHOOLS &       *
      *                    CORRECT SCHOOL PROMPT CODE                 *
      *****************************************************************

       ENVIRONMENT      DIVISION.
       CONFIGURATION    SECTION.
       SOURCE-COMPUTER. AS-400.
       OBJECT-COMPUTER. AS-400.
       SPECIAL-NAMES.
           I-O-FEEDBACK                IS           DSP-FEEDBACK.

       INPUT-OUTPUT     SECTION.
       FILE-CONTROL.

           SELECT    SCR-DISPLAY       ASSIGN       WORKSTATION-MPEW26
                                       ORGANIZATION TRANSACTION
                                       CONTROL-AREA SCRCTL
                                       FILE STATUS  RETSCR.

           SELECT    ABF-DISK          ASSIGN       DATABASE-EWABFB
                                       ORGANIZATION INDEXED
                                       ACCESS       DYNAMIC
                                       RECORD KEY   ABFDK
                                       FILE STATUS  RETABF.

           SELECT    CRF-DISK          ASSIGN       DATABASE-EWCRFI
                                       ORGANIZATION INDEXED
                                       ACCESS       DYNAMIC
                                       RECORD KEY   CRFDK
                                       FILE STATUS  RETCRF.

      *****************************************************************
       DATA          DIVISION.
       FILE          SECTION.

       FD            SCR-DISPLAY.
       01            SCR.
           COPY      DDS-EW26-O        OF   MPEW26.
           05        R513  REDEFINES        EW26-O.
             10      FILLER            PIC  X(13).
             10      RLINES.
               15    RLINE OCCURS 014  TIMES INDEXED BY SCR1 SCR2 SCR3.
                 20  RPGM              PIC  X(03).
                 20  RFTE.
                  25 RFTE9             PIC  ZZ,ZZZ.99.
                 20  RSTF.
                  25 RSTF9             PIC  Z,ZZZ.999.
                 20  RSPC.
                  25 RSPC9             PIC  ZZZ,ZZ9.
                 20  RRAT.
                  25 RRAT9             PIC  ZZZ.9.
                 20  RRANGE.
                  25 RFROM             PIC  ZZ.9-.
                  25 RSL1              PIC  X(02).
                  25 RTO               PIC  ZZ.9.
             10      FILLER            PIC  X(50).

           COPY      EWABFD            OF   CPYSRC.

           COPY      EWCRFD            OF   CPYSRC.

      *****************************************************************
       WORKING-STORAGE SECTION.

           COPY      EWSCRCTL          OF   CPYSRC.
           COPY      EWIND             OF   CPYSRC.
           COPY      EWMSG             OF   CPYSRC.

       01            RET.
           05        RETSCR            PIC  X(02).
           05        RETABF            PIC  X(02).
           05        RETCRF            PIC  X(02).

           COPY      EWABF             OF   CPYSRC.

           COPY      EWFPG             OF   CPYSRC.
           COPY      EWSCL             OF   CPYSRC.
           COPY      EWCRF             OF   CPYSRC.

       01            NEWKEY.
           05        NEWSCHL           PIC  X(04).
       01            NEWBYTES   REDEFINES   NEWKEY.
           05        NEWBYTE    OCCURS 004  TIMES INDEXED BY NEW1
                                       PIC  X(01).
       01            OLDKEY            PIC  X(04).

           COPY      EWNUMBW           OF   CPYSRC.

       01            WRK.
           05        WRKSTAT           PIC  X(01)   VALUE '*'.
           05        WRKROW            PIC S9(3)    COMP-3 VALUE +0.
           05        WRKERR            PIC  X(01).
           05        WRKERR2           PIC  X(01).
           05        WRKIDX            PIC S9(3)    COMP-3.
           05        WRKPF7            PIC  X(256).
           05        WRKPF8            PIC  X(256).
           05        WRKLINES          PIC  X(936).
           05        WRKLINES2         PIC  X(1313).
           05        WRKREAD           PIC S9(5)    COMP-3 VALUE +0.
           05        WRKMAX            PIC S9(5)    COMP-3 VALUE +2500.
           05        WRKNBR            PIC S9(3)    COMP-3 VALUE +016.
           05        WRKLOW.
             10      FILLER            PIC  X(08).
             10      WRKLOWX           PIC  X(03).
           05        WRKHIGH.
             10      FILLER            PIC  X(08).
             10      WRKHIGHX          PIC  X(03).
           05        WRKKEY.
             10      WRKSCHL           PIC  X(04).
           05        WRKBYTES   REDEFINES   WRKKEY.
             10      WRKBYTE    OCCURS 004  TIMES INDEXED BY WRK1
                                       PIC  X(01).
       01            HLD.
           05        HLINE OCCURS 014  TIMES INDEXED BY HLD1.
             10      HPGM              PIC  X(03).
              10     HFTE.
                15   HFTE9             PIC  ZZ,ZZZ.99.
              10     HSTF.
                15   HSTF9             PIC  Z,ZZZ.999.
              10     HSPC.
                15   HSPC9             PIC  ZZZ,ZZ9.
              10     HRAT.
                15   HRAT9             PIC  ZZZ.9.
              10     HRANGE.
                15   HFROM             PIC  ZZ.9-.
                15   HSL1              PIC  X(02).
                15   HTO               PIC  ZZ.9.

       01            MDY.
           05        MDYMM              PIC  X(02).
           05        MDYDD              PIC  X(02).
           05        MDYYY              PIC  X(02).

       LINKAGE       SECTION.

           COPY      EWLNK              OF   CPYSRC.

       PROCEDURE     DIVISION           USING LNK.

      *****************************************************************

       DECLARATIVES.
       000-ERROR     SECTION.
           USE AFTER STANDARD ERROR PROCEDURE ON SCR-DISPLAY
                                                 ABF-DISK
                                                 CRF-DISK.
       000-ENCOUNTERED.
           CONTINUE.
       END DECLARATIVES.

      *****************************************************************
       000-MAINLINE  SECTION.

       000-CONTROL.
           PERFORM 490-HOUSEKEEPING    THRU 490-EXIT
           PERFORM 005-MAIN            THRU 005-EXIT
             UNTIL LNKTO               NOT  =   LNKFR
           PERFORM 990-HOUSEKEEPING    THRU 990-EXIT
           GOBACK.
       000-EXIT.
           EXIT.

       005-MAIN.
           WRITE   SCR          FORMAT IS   'EW26'
                   INDICATORS          ARE  IND
           READ    SCR-DISPLAY              RECORD
                   INDICATORS          ARE  IND
           SET     INDOFF         (15) TO   TRUE
           MOVE    ZEROS               TO   LINNBR         POSNBR
           MOVE    MSCHL               TO   NEWSCHL
           IF      INDOFF                  (VLDCMDKEY)              AND
                   MPNL                =    SPACES                  AND
                   NEWKEY              NOT  =   OLDKEY
             PERFORM 100-DISPLAY       THRU 100-EXIT
           ELSE
             IF      INDOFF                (VLDCMDKEY)              AND
                     MPNL              =    SPACES                  AND
                     NEWKEY            =    OLDKEY
               PERFORM 300-UPDATE      THRU 300-EXIT
             ELSE
               PERFORM 010-FUNCTION    THRU 010-EXIT.
       005-EXIT.
           EXIT.

       010-FUNCTION.
           SET     INDOFF         (15) TO   TRUE
           IF      INDON                   (13)
             MOVE    +1                TO   LINNBR
             MOVE    +15               TO   POSNBR
             GO                        TO   010-EXIT.
           SET     INDON          (97) TO   TRUE
           IF      MPNL                =    LNKFRPNL
             SET   INDOFF         (15) TO   TRUE
             MOVE  SPACES              TO   MPNL
           ELSE
             IF      MPNL              >    SPACES                  AND
                     LNKFR             =    LNKTO
               MOVE  MPNL              TO   LNKTOPNL.
           IF      INDON                   (CF01)
             ACCEPT  FDB               FROM DSP-FEEDBACK
                                       FOR  SCR-DISPLAY
             DIVIDE  FDBCPOSN          BY   256
                     GIVING                 LNKXFROW
                     REMAINDER              LNKXFCOL
             MOVE    LNKXFROW          TO   LINNBR
             MOVE    LNKXFCOL          TO   POSNBR
             COMPUTE LNKXFLOC9         =   ((LNKXFROW - 1) * 80)
                                       +    (LNKXFCOL - 1)
             IF    LNKXFROW            >    +6                      AND
                   LNKXFROW            <    +23
               COMPUTE LNKXFLOC9       =    LNKXFCOL + 399
             END-IF
             MOVE    LNKFRSER          TO   LNKXFSER
             MOVE    LNKFRMENU         TO   LNKXFMENU
             MOVE    LNKFRNBR          TO   LNKXFNBR
             CALL   'EW84'          USING   LNK
             CANCEL 'EW84'.
           IF      INDON                   (CF03)
             MOVE  SPACES              TO   LNKTONBR
           ELSE
             IF      INDON                 (CF04)
               PERFORM 015-F4          THRU 015-EXIT
             ELSE
               IF      INDON               (CF05)
                 IF   (RLINE      (14) NOT  =   SPACES)
                   MOVE  SPACES          TO   RLINES
                   MOVE  ZEROS           TO   IND
                   SET   INDON      (17) TO   TRUE
                   MOVE  MSG34           TO   MMSG
                 ELSE
                   PERFORM 100-DISPLAY   THRU 100-EXIT
               ELSE
                 IF      INDON               (CF07)
                   PERFORM 020-BACKWARD  THRU 020-EXIT
                 ELSE
                   IF      INDON             (CF08)
                     PERFORM 030-FORWARD THRU 030-EXIT
                   ELSE
                       IF      INDON        (CF12)
                         MOVE  'EXIT'  TO   LNKTO.
           IF      LNKTO               =    LNKFR                   AND
                   INDOFF                   (CF04)                  AND
                   INDOFF                   (CF01)
             MOVE  ZEROS               TO   LINNBR         POSNBR.
       010-EXIT.
           EXIT.

       015-F4.
           ACCEPT  FDB                 FROM DSP-FEEDBACK
                                       FOR  SCR-DISPLAY
           DIVIDE  FDBCPOSN            BY   256
                   GIVING              LNKXFROW
                   REMAINDER           LNKXFCOL
           IF      LNKXFROW            >    +7
             COMPUTE LNKXFLOC9         =    559  +  LNKXFCOL
           ELSE
             COMPUTE LNKXFLOC9         =   ((LNKXFROW - 1) * 80)
                                       +    (LNKXFCOL - 1).
           MOVE    LNKFRSER            TO   LNKXFSER
           MOVE    LNKFRMENU           TO   LNKXFMENU
           MOVE    LNKFRNBR            TO   LNKXFNBR
           MOVE    LNKXFROW            TO   LINNBR
           MOVE    LNKXFCOL            TO   POSNBR
           CALL    'EW85'              USING LNK
             ON    OVERFLOW         GO TO   015-EXIT.
           CANCEL  'EW85'
           IF      LINNBR              >=   +7                      AND
                   LINNBR              <=   +22
             SET   SCR3                TO   LINNBR
             SET   SCR3                DOWN BY  +7.
           IF        LNKXFPROM         >    SPACES                  AND
                     LNKXFPNL5         >    SPACES
             EVALUATE  LNKXFPNL5
051305         WHEN   'SCHL '
051305           MOVE  LNKXFPROM       TO   MSCHL
               WHEN    'PGM  '
                 MOVE  LNKXFPROM       TO   RPGM           (SCR3)
               WHEN OTHER
                 MOVE  MSG33           TO   MMSG
           ELSE
             IF      LNKXFPNL5         =    SPACES
               MOVE  MSG33             TO   MMSG.
       015-EXIT.
           EXIT.

       020-BACKWARD.
           MOVE    RLINES              TO   WRKLINES
           MOVE    HLD                 TO   WRKLINES2
           IF      RLINE          (01) >    SPACES
             SET   SCR2                TO   +14
             MOVE  SPACES              TO   RLINES         HLD.
           MOVE    WRKPF7              TO   ABFDK
           PERFORM 120-BACKWARD        THRU 120-EXIT
           IF      RLINES              =    SPACES                  OR
                   RLINES              =    WRKLINES
             MOVE  WRKLINES            TO   RLINES
             MOVE  WRKLINES2           TO   HLD.
       020-EXIT.
           EXIT.

       030-FORWARD.
           MOVE    RLINES              TO   WRKLINES
           MOVE    HLD                 TO   WRKLINES2
           IF      RLINE          (14) >    SPACES
             SET   SCR1                TO   +1
             MOVE  SPACES              TO   RLINES         HLD.
           MOVE    WRKPF8              TO   ABFDK
           PERFORM 110-FORWARD         THRU 110-EXIT
           IF      RLINES              =    SPACES                  OR
                   RLINES              =    WRKLINES
             MOVE  WRKLINES            TO   RLINES
             MOVE  WRKLINES2           TO   HLD.
       030-EXIT.
           EXIT.

      *****************************************************************
       100-DISPLAY.
           MOVE    ZEROS               TO   IND
           MOVE    'N'                 TO   WRKERR
           MOVE    SPACES              TO   SCR            HLD
           MOVE    LOW-VALUES          TO   OLDKEY
           MOVE    NEWSCHL             TO   MSCHL
           MOVE    LNKDIST             TO   SCLKEY
           MOVE    'SCL'               TO   SCLPREF
           MOVE    LNKFY               TO   SCLFY
           MOVE    NEWSCHL             TO   SCLSCL
           MOVE    SCLKEY              TO   CRFDK
           READ    CRF-DISK
           MOVE    CRFD                TO   CRF
051305                                      SCL
           IF     (RETCRF              NOT  =   '00')               OR
                  (CRFFDATE            NOT  =   SPACES           AND
                   CRFFDATE            >    LNKSDATE)               OR
                  (CRFTDATE            NOT  =   SPACES           AND
051305*            CRFTDATE            <    LNKSDATE)
051305             CRFTDATE            <    LNKSDATE)               OR
051305            (SCLCHRTR            =    'Y')
             MOVE  'Y'                 TO   WRKERR
             SET   INDON          (16) TO   TRUE.
           IF      WRKERR              =    'Y'
             MOVE  MSG27               TO   MMSG
           ELSE
             SET   SCR1                TO   +1
             MOVE  NEWKEY              TO   OLDKEY
             MOVE  LNKDIST             TO   ABFKEY
             MOVE  LNKFY               TO   ABFFY
             MOVE  NEWSCHL             TO   ABFSCHL
             MOVE  ABFKEY              TO   WRKLOW         WRKHIGH
             INSPECT WRKLOWX    REPLACING   ALL   ' '  BY  LOW-VALUES
             INSPECT WRKHIGHX   REPLACING   ALL   ' '  BY  HIGH-VALUES
             MOVE  WRKLOW              TO   ABFDK
             PERFORM 110-FORWARD       THRU 110-EXIT.
       100-EXIT.
           EXIT.

       110-FORWARD.
           MOVE    ZEROS               TO   WRKREAD
           START   ABF-DISK            KEY  >    ABFDK.
       110-READ-LOOP.
           READ    ABF-DISK                 NEXT NO LOCK
           IF      RETABF              =    '00'                    AND
                   ABFDK               <    WRKHIGH
             MOVE  ABFD                TO   ABF
             MOVE  ABF                 TO   WRKPF8
             ADD   +1                  TO   WRKREAD
             IF    ABFSCHL             =    NEWSCHL
               MOVE    ABFPGM          TO   RPGM          (SCR1)
               PERFORM 150-DESCRIPTION THRU 150-EXIT
               SET     IND1            TO   SCR1
               SET     IND1            UP   BY  +80
               SET     INDON    (IND1) TO   TRUE
               MOVE    ABFSTDT         TO   RFTE9         (SCR1)
               MOVE    ABFSTAFF        TO   RSTF9         (SCR1)
               MOVE    ABFSPACE        TO   RSPC9         (SCR1)
               COMPUTE RRAT9    (SCR1)      ROUNDED   =
                                            ABFSTDT   /    ABFSTAFF
               MOVE    FPGSTDTFR       TO   RFROM         (SCR1)
               MOVE    FPGSTDTTO       TO   RTO           (SCR1)
               MOVE    '-'             TO   RSL1          (SCR1)
               IF      SCR1            =    +1
                 MOVE  ABFKEY          TO   WRKPF7
               END-IF
             END-IF
             IF     (SCR1              <    +14)                    AND
                    (WRKREAD           <    WRKMAX)
               SET   SCR1              UP   BY  +1
               GO                      TO   110-READ-LOOP.
           IF      SCR1                =    +1                      AND
                   WRKREAD             <    WRKMAX
             MOVE  MSG30               TO   MMSG
           ELSE
             IF      SCR1              =    +14
               MOVE  MSG28             TO   MMSG
             ELSE
               IF      WRKREAD         <    WRKMAX
                 MOVE  MSG14           TO   MMSG
               ELSE
                 MOVE  MSG29           TO   MMSG.
           SET     INDON          (97) TO   TRUE.
       110-EXIT.
           EXIT.

       120-BACKWARD.
           MOVE    LNKDIST             TO   ABFKEY
           MOVE    LNKFY               TO   ABFFY
           START   ABF-DISK            KEY  >=   ABFDK.
       120-READ-LOOP.
           READ    ABF-DISK                 PRIOR NO LOCK
           ADD     +1                  TO   WRKREAD
           IF      RETABF              =    '00'                    AND
                   ABFDK               >    WRKLOW
             MOVE  ABFD                TO   ABF
             MOVE  ABF                 TO   WRKPF7
             IF    ABFSCHL             =    NEWSCHL
               MOVE    ABFPGM          TO   RPGM           (SCR2)
               PERFORM 150-DESCRIPTION THRU 150-EXIT
               SET     HLD1            TO   SCR2
               MOVE    ABFSTDT         TO   RFTE9         (SCR2)
               MOVE    ABFSTAFF        TO   RSTF9         (SCR2)
               MOVE    ABFSPACE        TO   RSPC9         (SCR2)
               COMPUTE RRAT9    (SCR2)      ROUNDED   =
                                            ABFSTDT   /    ABFSTAFF
               MOVE    FPGSTDTFR       TO   RFROM         (SCR2)
               MOVE    FPGSTDTTO       TO   RTO           (SCR2)
               MOVE    '-'             TO   RSL1          (SCR2)
               IF      SCR2            =    +14
                 MOVE  ABFKEY          TO   WRKPF8
               END-IF
               SET     SCR2            DOWN BY  +1
             END-IF
             IF    SCR2                >    +0                      AND
                   WRKREAD             <    WRKMAX
               GO                      TO   120-READ-LOOP.
           IF      SCR2                =    +0                      AND
                   WRKREAD             <    WRKMAX
             MOVE  MSG28               TO   MMSG
           ELSE
             IF      WRKREAD           <    WRKMAX
               MOVE  MSG13             TO   MMSG
             ELSE
               MOVE  MSG29             TO   MMSG.
           SET     INDON          (97) TO   TRUE.
       120-EXIT.
           EXIT.

       150-DESCRIPTION.
           MOVE    LNKDIST             TO   FPGKEY
           MOVE    LNKFY               TO   FPGFY
           MOVE    'FPG'               TO   FPGPREF
           MOVE    ABFPGM              TO   FPGFPG
           MOVE    FPGKEY              TO   CRFDK
           READ    CRF-DISK
           IF      RETCRF              =    '00'
             MOVE  CRFD                TO   FPG            CRF
           ELSE
             MOVE  ZEROS               TO   FPGSTDTFR      FPGSTDTTO.
       150-EXIT.
           EXIT.

      *****************************************************************
       300-UPDATE.
           MOVE    ZEROS               TO   IND              WRKROW
           MOVE    'N'                 TO   WRKERR
           MOVE    LNKDIST             TO   ABFKEY
           MOVE    LNKFY               TO   ABFFY
           MOVE    NEWSCHL             TO   ABFSCHL
           PERFORM 310-LINE            THRU 310-EXIT
             VARYING SCR3              FROM +1 BY +1
               UNTIL                   SCR3 >  +14
           IF        WRKERR            =    'Y'
             MOVE    MSG21             TO   MMSG
           ELSE
             SET     INDON       (97)  TO   TRUE
             IF      WRKERR            =    'U'
               MOVE  MSG24             TO   MMSG
             ELSE
               MOVE  MSG22             TO   MMSG.
       300-EXIT.
           EXIT.

       310-LINE.
           ADD     +1                  TO   WRKROW
           IF      RLINE        (SCR3) =    SPACES
             GO                        TO   310-EXIT.
           MOVE    'N'                 TO   WRKERR2
           MOVE    RPGM         (SCR3) TO   ABFPGM
           MOVE    ABFKEY              TO   ABFDK
           READ    ABF-DISK            NO   LOCK
           IF      RETABF              =    '00'
             SET   IND1                TO   SCR3
             SET   IND1                UP   BY  +80
             SET   INDON        (IND1) TO   TRUE
             MOVE  ABFD                TO   ABF
           ELSE
             MOVE  SPACES              TO   ABFDATA
             MOVE  ZEROS               TO   ABFSTAFF       ABFSPACE
                                            ABFSTDT
             MOVE  ABF                 TO   ABFD.
       310-MOVE.
           MOVE    RFTE         (SCR3) TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           MOVE    NBR52               TO   RFTE9         (SCR3)
           MOVE    NBR52               TO   ABFSTDT
           MOVE    RSTF         (SCR3) TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           MOVE    NBR43               TO   RSTF9         (SCR3)
           MOVE    NBR43               TO   ABFSTAFF
           MOVE    RSPC         (SCR3) TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           MOVE    NBR60               TO   RSPC9         (SCR3)
           MOVE    NBR60               TO   ABFSPACE.
       310-EDIT-RECORD.
           IF     (ABFSTDT             =    ZEROS)                  AND
                  (ABFSTAFF            =    ZEROS)                  AND
                  (ABFSPACE            =    ZEROS)                  AND
                  (RETABF              =    '00')
             SET     INDOFF     (IND1) TO   TRUE
             COMPUTE WRKIDX            =   (((WRKROW - 1) * 4) + 17)
             MOVE    SPACES            TO   RLINE         (SCR3)
             SET     INDOFF   (WRKIDX) TO   TRUE
             DELETE  ABF-DISK
             GO                        TO   310-EXIT.
           PERFORM 150-DESCRIPTION     THRU 150-EXIT
           IF     (RETCRF              NOT  =   '00')               OR
                  (CRFFDATE            NOT  =   SPACES           AND
                   CRFFDATE            >    LNKSDATE)               OR
                  (CRFTDATE            NOT  =   SPACES           AND
                   CRFTDATE            <    LNKSDATE)
             MOVE    'Y'               TO   WRKERR2
             COMPUTE WRKIDX            =   (((WRKROW - 1) * 4) + 17)
             SET     INDON    (WRKIDX) TO   TRUE
           ELSE
             MOVE    FPGSTDTFR         TO   RFROM         (SCR3)
             MOVE    FPGSTDTTO         TO   RTO           (SCR3)
             MOVE    '-'               TO   RSL1          (SCR3)
             IF      ABFSTAFF          =    ZEROS
               MOVE  SPACES            TO   RRAT          (SCR3)
             ELSE
               COMPUTE RRAT9    (SCR3)      ROUNDED   =
                                            ABFSTDT   /    ABFSTAFF.
           IF     (ABFSTDT             =    ZEROS)                  AND
                  (ABFSTAFF            =    ZEROS)                  AND
                  (ABFSPACE            =    ZEROS)
             MOVE    'Y'               TO   WRKERR2
             COMPUTE WRKIDX            =   (((WRKROW - 1) * 4) + 17)
             SET     INDON    (WRKIDX) TO   TRUE.
       310-WRITE.
           IF      WRKERR2           =    'N'
             IF    ABF               NOT  =   ABFD
               MOVE  'U'             TO   WRKERR2
               MOVE  ABF             TO   ABFD
               IF    RETABF          =    '00'
                 REWRITE ABFD
               ELSE
                 WRITE   ABFD
                 SET     IND1           TO   SCR3
                 SET     IND1          UP   BY  +80
                 SET     INDON  (IND1) TO   TRUE.
           IF      WRKERR2             =    'Y'
             MOVE  WRKERR2             TO   WRKERR
           ELSE
             IF      WRKERR2           =    'U'                     AND
                     WRKERR            =    'N'
               MOVE  WRKERR2           TO   WRKERR.
       310-EXIT.
           EXIT.

      *****************************************************************
           COPY      EWNUMBP           OF   CPYSRC.
      *****************************************************************
       490-HOUSEKEEPING.
           OPEN    I-O                      SCR-DISPLAY
                                            ABF-DISK
                   INPUT                    CRF-DISK
           IF      RETSCR              NOT  =   '00' AND '41'        OR
                   RETABF              NOT  =   '00' AND '41'        OR
                   RETCRF              NOT  =   '00' AND '41'
             CALL   'EWCLP03'
               ON OVERFLOW
                 CONTINUE
             END-CALL
             MOVE  LNKFR               TO   LNKTO
             MOVE  SPACES              TO   LNKFR
           ELSE
             MOVE  LNKTO               TO   LNKFR
             EVALUATE LNKSTAT ALSO WRKSTAT = '*'
             WHEN '0' ALSO TRUE
               MOVE  SPACES            TO   SCR
                                            HLD
               IF (LNKLOC1             NOT  =   '0000')             AND
                  (LNKLOC2             NOT  =   '0000')
                 MOVE  LNKLOC          TO   MSCHL
               END-IF
               SET   INDON        (97) TO   TRUE
               MOVE  LOW-VALUES        TO   OLDKEY
               MOVE  MSG26             TO   MMSG
             WHEN '0' ALSO ANY
               SET    INDOFF      (15) TO   TRUE
               MOVE   SPACES           TO   MPNL
             WHEN '1' ALSO ANY
               MOVE  MSG04             TO   MMSG
             WHEN '2' ALSO ANY
               MOVE  MSG05             TO   MMSG
             WHEN '3' ALSO ANY
               MOVE  MSG06             TO   MMSG
             WHEN '4' THRU '5' ALSO ANY
               MOVE  MSG07             TO   MMSG.
           IF      LNKSTAT             NOT  =   '0'
             SET   INDON          (15) TO   TRUE
             MOVE  ZEROS               TO   LINNBR
                                            POSNBR.
       490-EXIT.
           EXIT.

      *****************************************************************
       990-HOUSEKEEPING.
           COPY    EWXFERP             OF   CPYSRC.
           MOVE    LNKXFROW            TO   LINNBR
           MOVE    LNKXFCOL            TO   POSNBR
           MOVE    'K'                 TO   LNKSTAT          WRKSTAT.
       990-EXIT.
           EXIT.
