       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      EW43.
       AUTHOR.          DOE.
      *****************************************************************
      *                       B02. FORM 4A
      *****************************************************************
      * DATE CREATED:  06/15/95
      *****************************************************************
      * CALL #  - MMDDYY - PURPOSE
      * 9512053 - 121495 - CORRECT EDIT OF FORM 5 PCT FIELD
      * 2006001 - 041006 - ADD FUNCTIONS 6500 & 8200.
      *****************************************************************

       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-MPEW43
                                       ORGANIZATION TRANSACTION
                                       CONTROL-AREA SCRCTL
                                       FILE STATUS  RETSCR.

           SELECT    CDF-DISK          ASSIGN       DATABASE-EWCDFL1
                                       ORGANIZATION INDEXED
                                       ACCESS       DYNAMIC
                                       RECORD KEY   CDFDK
                                       FILE STATUS  RETCDF.

           SELECT    SPT-DISK          ASSIGN       DATABASE-EWSPTI
                                       ORGANIZATION INDEXED
                                       ACCESS       SEQUENTIAL
                                       RECORD KEY   SPTDK
                                       FILE STATUS  RETSPT.

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

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

       FD            SCR-DISPLAY.
       01            SCR.
           COPY      DDS-EW43-O        OF   MPEW43.

           COPY      EWCDFDL1          OF   CPYSRC.
           COPY      EWSPTD            OF   CPYSRC.
           COPY      EWCRFD            OF   CPYSRC.

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

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

       01            RET.
           05        RETSCR            PIC  X(02).
           05        RETCDF            PIC  X(02).
           05        RETSPT            PIC  X(02).
           05        RETCRF            PIC  X(02).
           05        RETALL            PIC  X(02).

           COPY      EWCDFL1           OF   CPYSRC.
           COPY      EWSPT             OF   CPYSRC.
           COPY      EWTBL             OF   CPYSRC.
           COPY      EWCRF             OF   CPYSRC.

       01            NEWKEY.
           05        NEWTABLE.
             10      NEWTABLE9         PIC  9(05).
           05        NEWFUND           PIC  X(01).

       01            OLD.
           05        OLDKEY            PIC  X(06).

       01            WRK.
           05        WRKERR            PIC  X(01).
           05        WRKERR2           PIC  X(01).
           05        WRKDEL            PIC  X(01).

       01            EDT.
           05        EDTSAL            PIC S9(11) COMP-3.
           05        EDTBEN            PIC S9(11) COMP-3.
           05        EDTPURSRV         PIC S9(11) COMP-3.
           05        EDTMTRL           PIC S9(11) COMP-3.
           05        EDTOTHR           PIC S9(11) COMP-3.
           05        EDTCAP            PIC S9(11) COMP-3.
           05        EDTPCTCNT         PIC S9(05) COMP-3.
           05        EDTSPCCNT         PIC S9(05) COMP-3.

       LINKAGE       SECTION.

           COPY      EWLNK              OF   CPYSRC.

       PROCEDURE     DIVISION           USING LNK.

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

       DECLARATIVES.
       000-ERROR     SECTION.
           USE AFTER STANDARD ERROR PROCEDURE ON SCR-DISPLAY
                                                 CDF-DISK
                                                 SPT-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   'EW43'
                   INDICATORS          ARE  IND
           READ    SCR-DISPLAY              RECORD
                   INDICATORS          ARE  IND
           MOVE    ZEROS               TO   LINNBR
                                            POSNBR

           MOVE    MTABLE              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           MOVE    NBR50               TO   NEWTABLE9
           MOVE    NEWTABLE            TO   MTABLE
           MOVE    MFUND               TO   NEWFUND
           IF      INDOFF                  (VLDCMDKEY)              AND
                   MPNL                =    SPACES
             IF    NEWKEY              NOT  =   OLDKEY
               PERFORM 100-DISPLAY     THRU 100-EXIT
             ELSE
               PERFORM 300-UPDATE      THRU 300-EXIT
             END-IF
           ELSE
             PERFORM 010-FUNCTION      THRU 010-EXIT.
       005-EXIT.
           EXIT.

       010-FUNCTION.
           COPY    EWFUNC2P            OF   CPYSRC.
           IF      INDON                    (CF03)                  AND
                   LNKXFPNL            =    'B02'
             MOVE  'B02'               TO   LNKTOPNL.
       010-EXIT.
           EXIT.

       015-F4.
           ACCEPT  FDB                 FROM DSP-FEEDBACK
                                       FOR  SCR-DISPLAY
           DIVIDE  FDBCPOSN            BY   256
                   GIVING              LNKXFROW
                   REMAINDER           LNKXFCOL
           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        LNKXFPROM         >    SPACES                  AND
                     LNKXFPNL5         >    SPACES
             EVALUATE  LNKXFPNL5
               WHEN   'TABLE'
                 MOVE  LNKXFPROM       TO   MTABLE
               WHEN    OTHER
                 MOVE  MSG33           TO   MMSG
           ELSE
             IF      LNKXFPNL5         =    SPACES
               MOVE  MSG33             TO   MMSG.
       015-EXIT.
           EXIT.


       020-BACKWARD.
           MOVE    LNKDIST             TO   CDFKEY
           MOVE    LNKFY               TO   CDFFY
           MOVE    NEWFUND             TO   CDFFUND
           MOVE    NEWTABLE            TO   CDFTABLE
           MOVE    '0000'              TO   CDFCONTROL
           MOVE    '0000'              TO   CDFSCHL
           MOVE    CDFKEY              TO   CDFDK
           READ    CDF-DISK            WITH NO LOCK
           IF      RETCDF              NOT  =   '00'
             START CDF-DISK            KEY  >   CDFDK.
           READ    CDF-DISK  PRIOR     WITH NO LOCK
           MOVE    CDFD                TO   CDF
             IF   (RETCDF              =    '00')                   AND
                  (CDFDIST             =    LNKDIST)                AND
                  (CDFFY               =    LNKFY)
               MOVE  CDFFUND           TO   NEWFUND
               MOVE  CDFTABLE          TO   NEWTABLE
               PERFORM 100-DISPLAY     THRU 100-EXIT
             ELSE
               MOVE  MSG13             TO   MMSG.
       020-EXIT.
           EXIT.


       030-FORWARD.
           MOVE    LNKDIST             TO   CDFKEY
           MOVE    LNKFY               TO   CDFFY
           MOVE    NEWFUND             TO   CDFFUND
           MOVE    NEWTABLE            TO   CDFTABLE
           MOVE    '9999'              TO   CDFCONTROL
           MOVE    '9999'              TO   CDFSCHL
           MOVE    CDFKEY              TO   CDFDK
           READ    CDF-DISK            WITH NO LOCK
           IF      RETCDF              NOT  =   '00'
             START CDF-DISK            KEY  >   CDFDK.
           READ    CDF-DISK  NEXT      WITH NO LOCK
           MOVE    CDFD                TO   CDF
           IF     (RETCDF              =    '00')                   AND
                  (CDFDIST             =    LNKDIST)                AND
                  (CDFFY               =    LNKFY)
             MOVE  CDFFUND             TO   NEWFUND
             MOVE  CDFTABLE            TO   NEWTABLE
             PERFORM 100-DISPLAY       THRU 100-EXIT
           ELSE
             MOVE  MSG14               TO   MMSG.
       030-EXIT.
           EXIT.

       040-DELETE.
           MOVE    SPACES              TO   WRKDEL
           MOVE    LNKDIST             TO   CDFKEY
           MOVE    LNKFY               TO   CDFFY
           MOVE    NEWFUND             TO   CDFFUND
           MOVE    NEWTABLE            TO   CDFTABLE
           MOVE    LOW-VALUES          TO   CDFCONTROL      CDFSCHL
           MOVE    CDFKEY              TO   CDFDK
           START   CDF-DISK            KEY  >   CDFDK.
       040-LOOP1.
           READ    CDF-DISK    NEXT    WITH NO LOCK
           MOVE    CDFD                TO   CDF
           IF     (RETCDF              =    '00')                   AND
                  (CDFDIST             =    LNKDIST)                AND
                  (CDFFY               =    LNKFY)                  AND
                  (CDFFUND             =    NEWFUND)                AND
                  (CDFTABLE            =    NEWTABLE)               AND
                  (CDFCONTROL          =    '1000'               OR
                   CDFCONTROL          =    '2000'               OR
                   CDFCONTROL          =    '2001'               OR
                   CDFCONTROL          =    '2002'               OR
041006             CDFCONTROL          =    '2003'               OR
                   CDFCONTROL          =    '3000'               OR
                   CDFCONTROL          =    '3001'               OR
                   CDFCONTROL          =    '3002'               OR
                   CDFCONTROL          =    '3003')
             DELETE  CDF-DISK
             MOVE    'Y'               TO   WRKDEL
             GO                        TO   040-LOOP1.
           IF      WRKDEL              =    'Y'
             MOVE  MSG15               TO   MMSG
           ELSE
             MOVE  MSG16               TO   MMSG.
       040-EXIT.
           EXIT.

      *****************************************************************
       100-DISPLAY.
           MOVE    ZEROS               TO   IND
           MOVE    'N'                 TO   WRKERR
           MOVE    SPACES              TO   SCR
           MOVE    LOW-VALUES          TO   OLDKEY
           MOVE    '99'                TO   RETALL
           IF      NEWTABLE            IS   NUMERIC                 AND
                   NEWTABLE            NOT  =  '00000'
             MOVE  NEWTABLE            TO   MTABLE.
           MOVE    NEWFUND             TO   MFUND.
       100-EDIT-KEY.
           IF      NEWTABLE            =    SPACES                  OR
                   NEWTABLE            =    '00000'
             SET   INDON          (97) TO   TRUE
             MOVE  MSG31               TO   MMSG
             GO                        TO   100-EXIT.
           MOVE    LNKDIST             TO   TBLKEY
           MOVE    LNKFY               TO   TBLFY
           MOVE    'TBL'               TO   TBLPREF
           MOVE    NEWTABLE            TO   TBLTBL
           MOVE    TBLKEY              TO   CRFDK
           READ    CRF-DISK
           MOVE    CRFD                TO   CRF
           IF     (RETCRF              NOT  =   '00')               OR
                  (CRFFDATE            NOT  =   SPACES           AND
                   CRFFDATE            >    LNKSDATE)               OR
                  (CRFTDATE            NOT  =   SPACES           AND
                   CRFTDATE            <    LNKSDATE)
             MOVE  SPACES              TO   TBLDATA
             MOVE  'Y'                 TO   WRKERR
             SET   INDON          (16) TO   TRUE
           ELSE
             MOVE  CRFD                TO   TBL.
           IF      NEWFUND             =    SPACES
             MOVE  TBLFTYPE            TO   NEWFUND   MFUND.
           IF      NEWFUND             NOT  =  TBLFTYPE
             MOVE  'Y'                 TO   WRKERR
             SET   INDON          (16) TO   TRUE.
           MOVE    LNKDIST             TO   SPT
           MOVE    LNKFY               TO   SPTFY
           MOVE    NEWFUND             TO   SPTFUND
           MOVE    NEWTABLE            TO   SPTTABLE
           MOVE    LOW-VALUES          TO   SPTSCHL     SPTPGM
           MOVE    SPTKEY              TO   SPTDK
           START   SPT-DISK            KEY  >   SPTDK
           READ    SPT-DISK  NEXT
           MOVE    SPTD                TO   SPT
           IF     (RETSPT              NOT  =  '00')              OR
                  (SPTDIST             NOT  =  LNKDIST)           OR
                  (SPTFY               NOT  =  LNKFY)             OR
                  (SPTFUND             NOT  =  NEWFUND)           OR
                  (SPTTABLE            NOT  =  NEWTABLE)
             MOVE  'Y'                 TO   WRKERR
             SET   INDON          (16) TO   TRUE.

           IF      WRKERR              =    'Y'
             MOVE  MSG17               TO   MMSG
             GO                        TO   100-EXIT.
       100-READ.
           INITIALIZE                       EDT
           MOVE    LNKDIST             TO   CDFKEY
           MOVE    LNKFY               TO   CDFFY
           MOVE    NEWFUND             TO   CDFFUND
           MOVE    NEWTABLE            TO   CDFTABLE
           MOVE    '7000'              TO   CDFCONTROL
           MOVE    LOW-VALUES          TO   CDFSCHL
           MOVE    CDFKEY              TO   CDFDK
           START   CDF-DISK            KEY  >   CDFDK.
       100-LOOP.
           READ    CDF-DISK    NEXT    WITH NO LOCK
           MOVE    CDFD                TO   CDF
           IF     (RETCDF              =    '00')                   AND
                  (CDFDIST             =    LNKDIST)                AND
                  (CDFFY               =    LNKFY)                  AND
                  (CDFFUND             =    NEWFUND)                AND
                  (CDFTABLE            =    NEWTABLE)               AND
                  (CDFCONTROL          =    '7000')
             ADD   CDFAMT1             TO   EDTSAL
             ADD   CDFAMT2             TO   EDTBEN
             ADD   CDFAMT3             TO   EDTPURSRV
             ADD   CDFAMT4             TO   EDTMTRL
             ADD   CDFAMT5             TO   EDTOTHR
             ADD   CDFAMT6             TO   EDTCAP
             IF    CDFPCT              =    'P'
               ADD +1                  TO   EDTPCTCNT
             ELSE
121495         IF  CDFAMT1             NOT  =  ZERO
                 ADD +1                TO   EDTSPCCNT
121495         END-IF
             END-IF
             GO                        TO   100-LOOP.

           MOVE    LNKDIST             TO   CDFKEY
           MOVE    LNKFY               TO   CDFFY
           MOVE    NEWFUND             TO   CDFFUND
           MOVE    NEWTABLE            TO   CDFTABLE
           MOVE    '0000'              TO   CDFSCHL
           MOVE    '1000'              TO   CDFCONTROL
           MOVE    CDFKEY              TO   CDFDK
           READ    CDF-DISK            WITH NO LOCK
           IF      RETCDF              =    '00'
             MOVE  RETCDF              TO   RETALL
             MOVE  CDFD                TO   CDF
             MOVE  CDFAMT1             TO   NBRZ5
             MOVE  NBRZ5               TO   MSAL
             MOVE  CDFPCT              TO   MPCT
             MOVE  CDFAMT2             TO   NBRZ5
             MOVE  NBRZ5               TO   MBEN
             MOVE  CDFAMT3             TO   NBRZ5
             MOVE  NBRZ5               TO   MPURSRV
             MOVE  CDFAMT4             TO   NBRZ5
             MOVE  NBRZ5               TO   MMTRL
             MOVE  CDFAMT5             TO   NBRZ5
             MOVE  NBRZ5               TO   MOTHR
             MOVE  CDFAMT6             TO   NBRZ5
             MOVE  NBRZ5               TO   MCAP.

           MOVE    '2000'              TO   CDFCONTROL
           MOVE    CDFKEY              TO   CDFDK
           READ    CDF-DISK            WITH NO LOCK
           IF      RETCDF              =    '00'
             MOVE  RETCDF              TO   RETALL
             MOVE  CDFD                TO   CDF
             MOVE  CDFAMT1             TO   NBRZ5
             MOVE  NBRZ5               TO   M26100
             MOVE  CDFAMT2             TO   NBRZ5
             MOVE  NBRZ5               TO   M26200
             MOVE  CDFAMT3             TO   NBRZ5
             MOVE  NBRZ5               TO   M26300
             MOVE  CDFAMT4             TO   NBRZ5
             MOVE  NBRZ5               TO   M26400.

           MOVE    '2001'              TO   CDFCONTROL
           MOVE    CDFKEY              TO   CDFDK
           READ    CDF-DISK            WITH NO LOCK
           IF      RETCDF              =    '00'
             MOVE  RETCDF              TO   RETALL
             MOVE  CDFD                TO   CDF
             MOVE  CDFAMT1             TO   NBRZ5
             MOVE  NBRZ5               TO   M27300
             MOVE  CDFAMT2             TO   NBRZ5
             MOVE  NBRZ5               TO   M27400
             MOVE  CDFAMT3             TO   NBRZ5
             MOVE  NBRZ5               TO   M27600
             MOVE  CDFAMT4             TO   NBRZ5
             MOVE  NBRZ5               TO   M27700.

           MOVE    '2002'              TO   CDFCONTROL
           MOVE    CDFKEY              TO   CDFDK
           READ    CDF-DISK            WITH NO LOCK
           IF      RETCDF              =    '00'
             MOVE  RETCDF              TO   RETALL
             MOVE  CDFD                TO   CDF
             MOVE  CDFAMT1             TO   NBRZ5
             MOVE  NBRZ5               TO   M27800
             MOVE  CDFAMT2             TO   NBRZ5
             MOVE  NBRZ5               TO   M27900
             MOVE  CDFAMT3             TO   NBRZ5
041006*      MOVE  NBRZ5               TO   M28100.
041006       MOVE  NBRZ5               TO   M28100
041006       MOVE  CDFAMT4             TO   NBRZ5
041006       MOVE  NBRZ5               TO   M28200.

041006     MOVE    '2003'              TO   CDFCONTROL
041006     MOVE    CDFKEY              TO   CDFDK
041006     READ    CDF-DISK            WITH NO LOCK
041006     IF      RETCDF              =    '00'
041006       MOVE  RETCDF              TO   RETALL
041006       MOVE  CDFD                TO   CDF
041006       MOVE  CDFAMT1             TO   NBRZ5
041006       MOVE  NBRZ5               TO   M26500.

           MOVE    '3000'              TO   CDFCONTROL
           MOVE    CDFKEY              TO   CDFDK
           READ    CDF-DISK            WITH NO LOCK
           IF      RETCDF              =    '00'
             MOVE  RETCDF              TO   RETALL
             MOVE  CDFD                TO   CDF
             MOVE  CDFAMT1             TO   NBRZ5
             MOVE  NBRZ5               TO   M36100
             MOVE  CDFAMT2             TO   NBRZ5
             MOVE  NBRZ5               TO   M36200
             MOVE  CDFAMT3             TO   NBRZ5
             MOVE  NBRZ5               TO   M36300
             MOVE  CDFAMT4             TO   NBRZ5
             MOVE  NBRZ5               TO   M36400.

           MOVE    '3001'              TO   CDFCONTROL
           MOVE    CDFKEY              TO   CDFDK
           READ    CDF-DISK            WITH NO LOCK
           IF      RETCDF              =    '00'
             MOVE  RETCDF              TO   RETALL
             MOVE  CDFD                TO   CDF
             MOVE  CDFAMT1             TO   NBRZ5
             MOVE  NBRZ5               TO   M37100
             MOVE  CDFAMT2             TO   NBRZ5
             MOVE  NBRZ5               TO   M37200
             MOVE  CDFAMT3             TO   NBRZ5
             MOVE  NBRZ5               TO   M37400
             MOVE  CDFAMT4             TO   NBRZ5
             MOVE  NBRZ5               TO   M37500.

           MOVE    '3002'              TO   CDFCONTROL
           MOVE    CDFKEY              TO   CDFDK
           READ    CDF-DISK            WITH NO LOCK
           IF      RETCDF              =    '00'
             MOVE  RETCDF              TO   RETALL
             MOVE  CDFD                TO   CDF
             MOVE  CDFAMT1             TO   NBRZ5
             MOVE  NBRZ5               TO   M37600
             MOVE  CDFAMT2             TO   NBRZ5
             MOVE  NBRZ5               TO   M37700
             MOVE  CDFAMT3             TO   NBRZ5
             MOVE  NBRZ5               TO   M37800
             MOVE  CDFAMT4             TO   NBRZ5
             MOVE  NBRZ5               TO   M37900.

           MOVE    '3003'              TO   CDFCONTROL
           MOVE    CDFKEY              TO   CDFDK
           READ    CDF-DISK            WITH NO LOCK
           IF      RETCDF              =    '00'
             MOVE  RETCDF              TO   RETALL
             MOVE  CDFD                TO   CDF
             MOVE  CDFAMT1             TO   NBRZ5
041006*      MOVE  NBRZ5               TO   M38100.
041006       MOVE  NBRZ5               TO   M38100
041006       MOVE  CDFAMT2             TO   NBRZ5
041006       MOVE  NBRZ5               TO   M38200
041006       MOVE  CDFAMT3             TO   NBRZ5
041006       MOVE  NBRZ5               TO   M36500.

           IF      LNKFAYZ      (2 03) =    'U'
             MOVE  NEWKEY              TO   OLDKEY.
           IF      RETALL              NOT  =   '00'
             IF    LNKFAYZ      (2 03) =    'U'
               SET   INDON        (98) TO   TRUE
               MOVE  MSG18             TO   MMSG
             ELSE
               SET   INDON        (97) TO   TRUE
               MOVE  LOW-VALUES        TO   OLDKEY
               MOVE  MSG19             TO   MMSG
           ELSE
             SET     INDON        (97) TO   TRUE
             MOVE    MSG20             TO   MMSG
             IF      LNKFAYZ    (2 03) =    'I'
               MOVE  MSG36             TO   MMSG.
       100-EXIT.
           EXIT.

      *****************************************************************
       300-UPDATE.
           MOVE    'N'                 TO   WRKERR
           MOVE    ZEROS               TO   IND

           MOVE    LNKDIST             TO   CDFKEY
           MOVE    LNKFY               TO   CDFFY
           MOVE    NEWFUND             TO   CDFFUND
           MOVE    NEWTABLE            TO   CDFTABLE
           MOVE    '0000'              TO   CDFSCHL
           MOVE    '1000'              TO   CDFCONTROL
           MOVE    CDFKEY              TO   CDFDK
           READ    CDF-DISK            WITH NO LOCK
           MOVE    'N'                 TO   WRKERR2
           IF      RETCDF              NOT  =   '00'
             INITIALIZE                     CDFDATA
             MOVE  CDF                 TO   CDFD
           ELSE
             MOVE  CDFD                TO   CDF.
       300-MOVE1.
           MOVE    MSAL                TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT1    NBRZ5
           MOVE    NBRZ5               TO   MSAL
           MOVE    MPCT                TO   CDFPCT
           MOVE    MBEN                TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT2    NBRZ5
           MOVE    NBRZ5               TO   MBEN
           MOVE    MPURSRV             TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT3    NBRZ5
           MOVE    NBRZ5               TO   MPURSRV
           MOVE    MMTRL               TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT4    NBRZ5
           MOVE    NBRZ5               TO   MMTRL
           MOVE    MOTHR               TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT5    NBRZ5
           MOVE    NBRZ5               TO   MOTHR
           MOVE    MCAP                TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT6    NBRZ5
           MOVE    NBRZ5               TO   MCAP.
       300-EDIT1.
           IF      CDFAMT1             <    ZERO
             SET   INDON          (17) TO   TRUE.
           IF      EDTSAL              >    CDFAMT1
             SET   INDON          (17) TO   TRUE
             MOVE  'Y'                 TO   WRKERR2.
           IF     (EDTPCTCNT           NOT  =  ZERO)             AND
                  (EDTSPCCNT           NOT  =  ZERO)
             SET   INDON          (18) TO   TRUE.
           IF     (CDFPCT              NOT  =  'P')              AND
                  (CDFPCT              NOT  =  SPACES)
             SET   INDON          (18) TO   TRUE
             MOVE  'Y'                 TO   WRKERR2.
           IF      CDFAMT2             <    ZERO
             SET   INDON          (19) TO   TRUE.
           IF      EDTBEN              >    CDFAMT2
             SET   INDON          (19) TO   TRUE
             MOVE  'Y'                 TO   WRKERR2.
           IF      CDFAMT3             <    ZERO
             SET   INDON          (20) TO   TRUE.
           IF      EDTPURSRV           >    CDFAMT3
             SET   INDON          (20) TO   TRUE
             MOVE  'Y'                 TO   WRKERR2.
           IF      CDFAMT4             <    ZERO
             SET   INDON          (21) TO   TRUE.
           IF      EDTMTRL             >    CDFAMT4
             SET   INDON          (21) TO   TRUE
             MOVE  'Y'                 TO   WRKERR2.
           IF      CDFAMT5             <    ZERO
             SET   INDON          (22) TO   TRUE.
           IF      EDTOTHR             >    CDFAMT5
             SET   INDON          (22) TO   TRUE
             MOVE  'Y'                 TO   WRKERR2.
           IF      CDFAMT6             <    ZERO
             SET   INDON          (23) TO   TRUE.
           IF      EDTCAP              >    CDFAMT6
             SET   INDON          (23) TO   TRUE
             MOVE  'Y'                 TO   WRKERR2.

           IF     (WRKERR2             =    'N')                AND
                  (CDF                 NOT  =  CDFD)
             MOVE  CDF                 TO   CDFD
             IF      RETCDF            NOT  =   '00'
               MOVE  'U'               TO   WRKERR2
               WRITE CDFD
             ELSE
               MOVE  'U'               TO   WRKERR2
               REWRITE CDFD.
           IF      WRKERR2             =    'Y'
             MOVE  WRKERR2             TO   WRKERR
           ELSE
             IF   (WRKERR2             =    'U')                AND
                  (WRKERR              =    'N')
               MOVE  WRKERR2           TO   WRKERR.

           MOVE    '2000'              TO   CDFCONTROL
           MOVE    CDFKEY              TO   CDFDK
           READ    CDF-DISK            WITH NO LOCK
           MOVE    'N'                 TO   WRKERR2
           IF      RETCDF              NOT  =   '00'
             INITIALIZE                     CDFDATA
             MOVE  CDF                 TO   CDFD
           ELSE
             MOVE  CDFD                TO   CDF.
       300-MOVE2.
           MOVE    M26100              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT1    NBRZ5
           MOVE    NBRZ5               TO   M26100
           MOVE    M26200              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT2    NBRZ5
           MOVE    NBRZ5               TO   M26200
           MOVE    M26300              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT3    NBRZ5
           MOVE    NBRZ5               TO   M26300
           MOVE    M26400              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT4    NBRZ5
           MOVE    NBRZ5               TO   M26400.
       300-EDIT2.
           IF      CDFAMT1             <    ZERO
             SET   INDON          (24) TO   TRUE.
           IF      CDFAMT2             <    ZERO
             SET   INDON          (25) TO   TRUE.
           IF      CDFAMT3             <    ZERO
             SET   INDON          (26) TO   TRUE.
           IF      CDFAMT4             <    ZERO
             SET   INDON          (27) TO   TRUE.

           IF     (WRKERR2             =    'N')                AND
                  (CDF                 NOT  =  CDFD)
             MOVE  CDF                 TO   CDFD
             IF      RETCDF            NOT  =   '00'
               MOVE  'U'               TO   WRKERR2
               WRITE CDFD
             ELSE
               MOVE  'U'               TO   WRKERR2
               REWRITE CDFD.
           IF      WRKERR2             =    'Y'
             MOVE  WRKERR2             TO   WRKERR
           ELSE
             IF   (WRKERR2             =    'U')                AND
                  (WRKERR              =    'N')
               MOVE  WRKERR2           TO   WRKERR.

           MOVE    '2001'              TO   CDFCONTROL
           MOVE    CDFKEY              TO   CDFDK
           READ    CDF-DISK            WITH NO LOCK
           MOVE    'N'                 TO   WRKERR2
           IF      RETCDF              NOT  =   '00'
             INITIALIZE                     CDFDATA
             MOVE  CDF                 TO   CDFD
           ELSE
             MOVE  CDFD                TO   CDF.
       300-MOVE3.
           MOVE    M27300              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT1    NBRZ5
           MOVE    NBRZ5               TO   M27300
           MOVE    M27400              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT2    NBRZ5
           MOVE    NBRZ5               TO   M27400
           MOVE    M27600              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT3    NBRZ5
           MOVE    NBRZ5               TO   M27600
           MOVE    M27700              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT4    NBRZ5
           MOVE    NBRZ5               TO   M27700.
       300-EDIT3.
           IF      CDFAMT1             <    ZERO
             SET   INDON          (28) TO   TRUE.
           IF      CDFAMT2             <    ZERO
             SET   INDON          (29) TO   TRUE.
           IF      CDFAMT3             <    ZERO
             SET   INDON          (30) TO   TRUE.
           IF      CDFAMT4             <    ZERO
             SET   INDON          (31) TO   TRUE.

           IF     (WRKERR2             =    'N')                AND
                  (CDF                 NOT  =  CDFD)
             MOVE  CDF                 TO   CDFD
             IF      RETCDF            NOT  =   '00'
               MOVE  'U'               TO   WRKERR2
               WRITE CDFD
             ELSE
               MOVE  'U'               TO   WRKERR2
               REWRITE CDFD.
           IF      WRKERR2             =    'Y'
             MOVE  WRKERR2             TO   WRKERR
           ELSE
             IF   (WRKERR2             =    'U')                AND
                  (WRKERR              =    'N')
               MOVE  WRKERR2           TO   WRKERR.

           MOVE    '2002'              TO   CDFCONTROL
           MOVE    CDFKEY              TO   CDFDK
           READ    CDF-DISK            WITH NO LOCK
           MOVE    'N'                 TO   WRKERR2
           IF      RETCDF              NOT  =   '00'
             INITIALIZE                     CDFDATA
             MOVE  CDF                 TO   CDFD
           ELSE
             MOVE  CDFD                TO   CDF.
       300-MOVE4.
           MOVE    M27800              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT1    NBRZ5
           MOVE    NBRZ5               TO   M27800
           MOVE    M27900              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT2    NBRZ5
           MOVE    NBRZ5               TO   M27900
           MOVE    M28100              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT3    NBRZ5
           MOVE    NBRZ5               TO   M28100.
041006     MOVE    M28200              TO   NBRIN
041006     PERFORM 600-CONVERT         THRU 600-EXIT
041006     IF      NBRSIGN             =    '-'
041006       COMPUTE  NBR90            =    0 - NBR90.
041006     MOVE    NBR90               TO   CDFAMT4    NBRZ5
041006     MOVE    NBRZ5               TO   M28200.
       300-EDIT4.
           IF      CDFAMT1             <    ZERO
             SET   INDON          (32) TO   TRUE.
           IF      CDFAMT2             <    ZERO
             SET   INDON          (33) TO   TRUE.
           IF      CDFAMT3             <    ZERO
             SET   INDON          (34) TO   TRUE.
041006     IF      CDFAMT4             <    ZERO
041006       SET   INDON          (35) TO   TRUE.

           IF     (WRKERR2             =    'N')                AND
                  (CDF                 NOT  =  CDFD)
             MOVE  CDF                 TO   CDFD
             IF      RETCDF            NOT  =   '00'
               MOVE  'U'               TO   WRKERR2
               WRITE CDFD
             ELSE
               MOVE  'U'               TO   WRKERR2
               REWRITE CDFD.
           IF      WRKERR2             =    'Y'
             MOVE  WRKERR2             TO   WRKERR
           ELSE
             IF   (WRKERR2             =    'U')                AND
                  (WRKERR              =    'N')
               MOVE  WRKERR2           TO   WRKERR.

041006     MOVE    '2003'              TO   CDFCONTROL
041006     MOVE    CDFKEY              TO   CDFDK
041006     READ    CDF-DISK            WITH NO LOCK
041006     MOVE    'N'                 TO   WRKERR2
041006     IF      RETCDF              NOT  =   '00'
041006       INITIALIZE                     CDFDATA
041006       MOVE  CDF                 TO   CDFD
041006     ELSE
041006       MOVE  CDFD                TO   CDF.
041006 300-MOVE5.
041006     MOVE    M26500              TO   NBRIN
041006     PERFORM 600-CONVERT         THRU 600-EXIT
041006     IF      NBRSIGN             =    '-'
041006       COMPUTE  NBR90            =    0 - NBR90.
041006     MOVE    NBR90               TO   CDFAMT1    NBRZ5
041006     MOVE    NBRZ5               TO   M26500.
041006 300-EDIT5.
041006     IF      CDFAMT1             <    ZERO
041006       SET   INDON          (36) TO   TRUE.
041006
041006     IF     (WRKERR2             =    'N')                AND
041006            (CDF                 NOT  =  CDFD)
041006       MOVE  CDF                 TO   CDFD
041006       IF      RETCDF            NOT  =   '00'
041006         MOVE  'U'               TO   WRKERR2
041006         WRITE CDFD
041006       ELSE
041006         MOVE  'U'               TO   WRKERR2
041006         REWRITE CDFD.
041006     IF      WRKERR2             =    'Y'
041006       MOVE  WRKERR2             TO   WRKERR
041006     ELSE
041006       IF   (WRKERR2             =    'U')                AND
041006            (WRKERR              =    'N')
041006         MOVE  WRKERR2           TO   WRKERR.

           MOVE    '3000'              TO   CDFCONTROL
           MOVE    CDFKEY              TO   CDFDK
           READ    CDF-DISK            WITH NO LOCK
           MOVE    'N'                 TO   WRKERR2
           IF      RETCDF              NOT  =   '00'
             INITIALIZE                     CDFDATA
             MOVE  CDF                 TO   CDFD
           ELSE
             MOVE  CDFD                TO   CDF.
041006*300-MOVE5.
041006 300-MOVE6.
           MOVE    M36100              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT1    NBRZ5
           MOVE    NBRZ5               TO   M36100
           MOVE    M36200              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT2    NBRZ5
           MOVE    NBRZ5               TO   M36200
           MOVE    M36300              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT3    NBRZ5
           MOVE    NBRZ5               TO   M36300
           MOVE    M36400              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT4    NBRZ5
           MOVE    NBRZ5               TO   M36400.
041006*300-EDIT5.
041006 300-EDIT6.
           IF      CDFAMT1             <    ZERO
041006*      SET   INDON          (35) TO   TRUE.
041006       SET   INDON          (37) TO   TRUE.
           IF      CDFAMT2             <    ZERO
041006*      SET   INDON          (36) TO   TRUE.
041006       SET   INDON          (38) TO   TRUE.
           IF      CDFAMT3             <    ZERO
041006*      SET   INDON          (37) TO   TRUE.
041006       SET   INDON          (39) TO   TRUE.
           IF      CDFAMT4             <    ZERO
041006*      SET   INDON          (38) TO   TRUE.
041006       SET   INDON          (40) TO   TRUE.

           IF     (WRKERR2             =    'N')                AND
                  (CDF                 NOT  =  CDFD)
             MOVE  CDF                 TO   CDFD
             IF      RETCDF            NOT  =   '00'
               MOVE  'U'               TO   WRKERR2
               WRITE CDFD
             ELSE
               MOVE  'U'               TO   WRKERR2
               REWRITE CDFD.
           IF      WRKERR2             =    'Y'
             MOVE  WRKERR2             TO   WRKERR
           ELSE
             IF   (WRKERR2             =    'U')                AND
                  (WRKERR              =    'N')
               MOVE  WRKERR2           TO   WRKERR.

           MOVE    '3001'              TO   CDFCONTROL
           MOVE    CDFKEY              TO   CDFDK
           READ    CDF-DISK            WITH NO LOCK
           MOVE    'N'                 TO   WRKERR2
           IF      RETCDF              NOT  =   '00'
             INITIALIZE                     CDFDATA
             MOVE  CDF                 TO   CDFD
           ELSE
             MOVE  CDFD                TO   CDF.
041006*300-MOVE6.
041006 300-MOVE7.
           MOVE    M37100              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT1    NBRZ5
           MOVE    NBRZ5               TO   M37100
           MOVE    M37200              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT2    NBRZ5
           MOVE    NBRZ5               TO   M37200
           MOVE    M37400              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT3    NBRZ5
           MOVE    NBRZ5               TO   M37400
           MOVE    M37500              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT4    NBRZ5
           MOVE    NBRZ5               TO   M37500.
041006*300-EDIT6.
041006 300-EDIT7.
           IF      CDFAMT1             <    ZERO
041006*      SET   INDON          (39) TO   TRUE.
041006       SET   INDON          (41) TO   TRUE.
           IF      CDFAMT2             <    ZERO
041006*      SET   INDON          (40) TO   TRUE.
041006       SET   INDON          (42) TO   TRUE.
           IF      CDFAMT3             <    ZERO
041006*      SET   INDON          (41) TO   TRUE.
041006       SET   INDON          (43) TO   TRUE.
           IF      CDFAMT4             <    ZERO
041006*      SET   INDON          (42) TO   TRUE.
041006       SET   INDON          (44) TO   TRUE.

           IF     (WRKERR2             =    'N')                AND
                  (CDF                 NOT  =  CDFD)
             MOVE  CDF                 TO   CDFD
             IF      RETCDF            NOT  =   '00'
               MOVE  'U'               TO   WRKERR2
               WRITE CDFD
             ELSE
               MOVE  'U'               TO   WRKERR2
               REWRITE CDFD.
           IF      WRKERR2             =    'Y'
             MOVE  WRKERR2             TO   WRKERR
           ELSE
             IF   (WRKERR2             =    'U')                AND
                  (WRKERR              =    'N')
               MOVE  WRKERR2           TO   WRKERR.

           MOVE    '3002'              TO   CDFCONTROL
           MOVE    CDFKEY              TO   CDFDK
           READ    CDF-DISK            WITH NO LOCK
           MOVE    'N'                 TO   WRKERR2
           IF      RETCDF              NOT  =   '00'
             INITIALIZE                     CDFDATA
             MOVE  CDF                 TO   CDFD
           ELSE
             MOVE  CDFD                TO   CDF.
041006*300-MOVE7.
041006 300-MOVE8.
           MOVE    M37600              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT1    NBRZ5
           MOVE    NBRZ5               TO   M37600
           MOVE    M37700              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT2    NBRZ5
           MOVE    NBRZ5               TO   M37700
           MOVE    M37800              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT3    NBRZ5
           MOVE    NBRZ5               TO   M37800
           MOVE    M37900              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT4    NBRZ5
           MOVE    NBRZ5               TO   M37900.
041006*300-EDIT7.
041006 300-EDIT8.
           IF      CDFAMT1             <    ZERO
041006*      SET   INDON          (43) TO   TRUE.
041006       SET   INDON          (45) TO   TRUE.
           IF      CDFAMT2             <    ZERO
041006*      SET   INDON          (44) TO   TRUE.
041006       SET   INDON          (46) TO   TRUE.
           IF      CDFAMT3             <    ZERO
041006*      SET   INDON          (45) TO   TRUE.
041006       SET   INDON          (47) TO   TRUE.
           IF      CDFAMT4             <    ZERO
041006*      SET   INDON          (46) TO   TRUE.
041006       SET   INDON          (48) TO   TRUE.

           IF     (WRKERR2             =    'N')                AND
                  (CDF                 NOT  =  CDFD)
             MOVE  CDF                 TO   CDFD
             IF      RETCDF            NOT  =   '00'
               MOVE  'U'               TO   WRKERR2
               WRITE CDFD
             ELSE
               MOVE  'U'               TO   WRKERR2
               REWRITE CDFD.
           IF      WRKERR2             =    'Y'
             MOVE  WRKERR2             TO   WRKERR
           ELSE
             IF   (WRKERR2             =    'U')                AND
                  (WRKERR              =    'N')
               MOVE  WRKERR2           TO   WRKERR.

           MOVE    '3003'              TO   CDFCONTROL
           MOVE    CDFKEY              TO   CDFDK
           READ    CDF-DISK            WITH NO LOCK
           MOVE    'N'                 TO   WRKERR2
           IF      RETCDF              NOT  =   '00'
             INITIALIZE                     CDFDATA
             MOVE  CDF                 TO   CDFD
           ELSE
             MOVE  CDFD                TO   CDF.
041006*300-MOVE8.
041006 300-MOVE9.
           MOVE    M38100              TO   NBRIN
           PERFORM 600-CONVERT         THRU 600-EXIT
           IF      NBRSIGN             =    '-'
             COMPUTE  NBR90            =    0 - NBR90.
           MOVE    NBR90               TO   CDFAMT1    NBRZ5
           MOVE    NBRZ5               TO   M38100.
041006     MOVE    M38200              TO   NBRIN
041006     PERFORM 600-CONVERT         THRU 600-EXIT
041006     IF      NBRSIGN             =    '-'
041006       COMPUTE  NBR90            =    0 - NBR90.
041006     MOVE    NBR90               TO   CDFAMT2    NBRZ5
041006     MOVE    NBRZ5               TO   M38200.
041006     MOVE    M36500              TO   NBRIN
041006     PERFORM 600-CONVERT         THRU 600-EXIT
041006     IF      NBRSIGN             =    '-'
041006       COMPUTE  NBR90            =    0 - NBR90.
041006     MOVE    NBR90               TO   CDFAMT3    NBRZ5
041006     MOVE    NBRZ5               TO   M36500.
041006*300-EDIT8.
041006 300-EDIT9.
           IF      CDFAMT1             <    ZERO
041006*      SET   INDON          (47) TO   TRUE.
041006       SET   INDON          (49) TO   TRUE.
041006     IF      CDFAMT2             <    ZERO
041006       SET   INDON          (50) TO   TRUE.
041006     IF      CDFAMT3             <    ZERO
041006       SET   INDON          (51) TO   TRUE.

           IF     (WRKERR2             =    'N')                AND
                  (CDF                 NOT  =  CDFD)
             MOVE  CDF                 TO   CDFD
             IF      RETCDF            NOT  =   '00'
               MOVE  'U'               TO   WRKERR2
               WRITE CDFD
             ELSE
               MOVE  'U'               TO   WRKERR2
               REWRITE CDFD.
           IF      WRKERR2             =    'Y'
             MOVE  WRKERR2             TO   WRKERR
           ELSE
             IF   (WRKERR2             =    'U')                AND
                  (WRKERR              =    'N')
               MOVE  WRKERR2           TO   WRKERR.

           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.

      *****************************************************************
       490-HOUSEKEEPING.
           OPEN    I-O                      SCR-DISPLAY
                                            CDF-DISK
                   INPUT                    SPT-DISK
                                            CRF-DISK
           IF      RETSCR              NOT  =   '00' AND '41'        OR
                   RETCDF              NOT  =   '00' AND '41'        OR
                   RETSPT              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
             WHEN '0'
               MOVE    LNKDBTABLE      TO   NEWTABLE
               MOVE    LNKDBFUND       TO   NEWFUND
               PERFORM 100-DISPLAY     THRU 100-EXIT
             WHEN '1'
               MOVE  MSG04             TO   MMSG
             WHEN '2'
               MOVE  MSG05             TO   MMSG
             WHEN '3'
               MOVE  MSG06             TO   MMSG
             WHEN '4' THRU '5'
               MOVE  MSG07             TO   MMSG.
           IF      LNKSTAT             NOT  =   '0'
             SET   INDON          (15) TO   TRUE
             MOVE  ZEROS               TO   LINNBR
                                            POSNBR.
       490-EXIT.
           EXIT.

      *****************************************************************
           COPY    EWNUMBP              OF   CPYSRC.
      *****************************************************************
       990-HOUSEKEEPING.
           COPY    EWXFERP              OF   CPYSRC.
           MOVE    NEWTABLE            TO   LNKDBTABLE
           MOVE    NEWFUND             TO   LNKDBFUND.
       990-EXIT.
           EXIT.

