       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      EW027.
       AUTHOR.          DOE.
      *****************************************************************
      *                      COST DATA EDIT                           *
      *****************************************************************
      * DATE CREATED:   06/22/95                                      *
      *****************************************************************
      * CALL #  - MMDDYY - PURPOSE                                    *
      * 9511011 - 112295 - REPLACE GOBACK WITH STOP RUN.              *
      * 9512053 - 121495 - CORRECT EDIT OF FORM 5 PCT FIELD           *
      * FIX0001 - 051100 - SKIP CHARTER SCHOOL RECORDS(FORM 7)        *
      * 2001001 - 040301 - ADD EDIT IF 7XXX SALARY TOTAL IS LESS THAN *
      *                    75% OF THE 7000 SALARY TOTAL.              *
      * 2003001 - 041803 - MODIFY EDIT ON PURCHASED SERVICES,         *
      *                    MATERIALS & SUPPLIES, AND CAPITAL OUTLAY TO*
      *                    LOOK AT STAFF UNITS RATHER THAN FTE.       *
      * 2003002 - 042903 - ADDED CHARTER SCHOOL PROCESSING.            
      *                    COMMENT OUT SKIP OF CHARTER SCHOOLS FROM    
      *                    051102.                                     
      * 2003003 - 071403 - REMOVE CHARTER SCHOOL TOTAL FROM EDTLN.     
      * 2003004 - 072103 - REMOVE EXTRA FILLER FROM LN4               *
      * 2006001 - 041006 - ALLOW "NO ERRORS" MESASGE TO PRINT WHEN    *
      *                    THE ERRORS ONLY OPTION IS SELECTED AND NO  *
      *                    ERRORS ARE FOUND.                          *
      * 2006002 - 041806 - ADD FUNCTIONS 6500 & 8200.                 *
      * 2007001 - 090707 - BYPASS TABLE EDIT ON CHARTER SCHOOLS.      *
      * 2009001 - 051909 - ALLOW FORM 6 DATA FOR FUNDS 5,6, & 7 TO    *
      *                    APPEAR FOR AARA (STIMULUS DOLLARS)         *
      *                    THE 3 TABLES ASSOCIATED WITH FORM 5        *
      *                    WILL NOT BE PRINTED WITH FUND 5, BUT THEY  *
      *                    WILL BE ASSOCIATED WITH FUND 4.            *
      * 2009002 - 051909 - LEAVE BLANK DESCRIPTION FOR CHARTER SCHOOLS*
      *                    FOR FUNDS 5,6, & 7.                        *
      * 2011001 - 020411 - ADD ARRA FUNDS 8 & 9                       *
      *****************************************************************
      

       ENVIRONMENT DIVISION.

       INPUT-OUTPUT SECTION.
       FILE-CONTROL.

VSE   *&&  SELECT    CRD-CARD          ASSIGN    SYS007-UR-3505-S.          0021
MVS        SELECT    CRD-CARD          ASSIGN    UT-S-CARDIN.               0021
                                                                               0
VSE   *&&  SELECT    SRT-SORT          ASSIGN    SYS001-UT-3350-SORTWK1.
MVS        SELECT    SRT-SORT          ASSIGN    DA-SORTWK.

VSE   *&&  SELECT    PR1-PRNT          ASSIGN    SYS013-UR-3203-S.
MVS        SELECT    PR1-PRNT          ASSIGN    UT-S-PRTOT1.

VSE   *&&  SELECT    CRF-DISK          ASSIGN       SYS026
MVS        SELECT    CRF-DISK          ASSIGN       DA-EWCRF
                                       ORGANIZATION INDEXED
                                       ACCESS       RANDOM
                                       RECORD KEY   CRFDK
                                       FILE STATUS  RETCRF.

VSE   *&&  SELECT    CDF-DISK          ASSIGN       SYS035
MVS        SELECT    CDF-DISK          ASSIGN       DA-EWCDF
                                       ORGANIZATION INDEXED
                                       ACCESS       SEQUENTIAL
                                       RECORD KEY   CDFDK
                                       FILE STATUS  RETCDF.

VSE   *&&  SELECT    SPT-DISK          ASSIGN       SYS038
MVS        SELECT    SPT-DISK          ASSIGN       DA-EWSPT
                                       ORGANIZATION INDEXED
                                       ACCESS       DYNAMIC
                                       RECORD KEY   SPTDK
                                       FILE STATUS  RETSPT.


       DATA DIVISION.
       FILE SECTION.

       FD  CRD-CARD
           RECORDING MODE       IS  F                                       0033
           RECORD    CONTAINS   80  CHARACTERS
MVS        BLOCK     CONTAINS    0  RECORDS                                 0034
           LABEL     RECORDS   ARE  OMITTED
           DATA      RECORDS   ARE  CRD  CRH.

       01            CRD.
001        05        CRDREQ            PIC  X(03).
004        05        FILLER            PIC  X(01).
005        05        CRDID             PIC  X(02).
007        05        FILLER            PIC  X(01).
008        05        CRDPRT            PIC  X(01).
009        05        FILLER            PIC  X(03).
012        05        CRDDIST           PIC  X(02).
014        05        FILLER            PIC  X(02).
016        05        CRDFY             PIC  X(02).
018        05        FILLER            PIC  X(01).
019        05        CRDFUND           PIC  X(01).
020        05        FILLER            PIC  X(01).
021        05        CRDTBLE           PIC  X(05).
026        05        FILLER            PIC  X(01).
027        05        CRDSCHL           PIC  X(04).
031        05        FILLER            PIC  X(01).
032        05        CRDERR            PIC  X(01).
033        05        FILLER            PIC  X(01).
034        05        CRDRPT            PIC  X(01).
035        05        FILLER            PIC  X(46).

       01            CRH.
001        05        CRHREQ            PIC  X(03).
004        05        FILLER            PIC  X(01).
005        05        CRHID             PIC  X(02).
007        05        FILLER            PIC  X(01).
008        05        CRHUSER           PIC  X(08).
016        05        FILLER            PIC  X(01).
           05        CRHHEAD.
017          10      CRHB       OCCURS 050  TIMES  INDEXED BY CRH1
                                       PIC  X(01).
067        05        FILLER            PIC  X(14).

       FD  PR1-PRNT
           RECORDING MODE       IS  F                                       0044
VSE   *&&  RECORD    CONTAINS  133  CHARACTERS
MVS        RECORD    CONTAINS  132  CHARACTERS
MVS        BLOCK     CONTAINS    0  RECORDS
           LABEL     RECORDS   ARE  OMITTED
           DATA      RECORDS   ARE  LNM  LN1  LN2  LN3  LN4.

       01  LNM.
VSE   *&&  05        FILLER            PIC  X(01).
002        05        LNMMSG            PIC  X(20).
022        05        FILLER            PIC  X(02).
024        05        LNMVALUE1         PIC  X(02).
026        05        FILLER            PIC  X(01).
027        05        LNMVALUE2         PIC  X(80).
107        05        FILLER            PIC  X(27).

       01            LN1.
VSE   *&&  05        FILLER            PIC  X(01).
002        05        FILLER            PIC  X(29).
031        05        LN1CTRL           PIC  X(04).
035        05        FILLER            PIC  X(04).
           05        LN1AMT1.
039          10      LN1AMT19          PIC  ZZZZZZZZZ-.
049        05        FILLER            PIC  X(01).
050        05        LN1PCT            PIC  X(01).
051        05        FILLER            PIC  X(01).
           05        LN1AMT2.
052          10      LN1AMT29          PIC  ZZZZZZZZZ-.
062        05        FILLER            PIC  X(01).
           05        LN1AMT3.
063          10      LN1AMT39          PIC  ZZZZZZZZZ-.
073        05        FILLER            PIC  X(01).
           05        LN1AMT4.
074          10      LN1AMT49          PIC  ZZZZZZZZZ-.
085        05        FILLER            PIC  X(01).
           05        LN1AMT5.
085          10      LN1AMT59          PIC  ZZZZZZZZZ-.
095        05        FILLER            PIC  X(01).
           05        LN1AMT6.
096          10      LN1AMT69          PIC  ZZZZZZZZZ-.
106        05        FILLER            PIC  X(28).

       01            LN2.
VSE   *&&  05        FILLER            PIC  X(01).
002        05        FILLER            PIC  X(26).
028        05        LN2CTRL           PIC  X(04).
032        05        FILLER            PIC  X(04).
036        05        LN2FUNC1          PIC  X(05).
           05        LN2AMT1.
041          10      LN2AMT19          PIC  ZZZZZZZZZ-.
051        05        FILLER            PIC  X(04).
055        05        LN2FUNC2          PIC  X(05).
           05        LN2AMT2.
060          10      LN2AMT29          PIC  ZZZZZZZZZ-.
070        05        FILLER            PIC  X(04).
074        05        LN2FUNC3          PIC  X(05).
           05        LN2AMT3.
079          10      LN2AMT39          PIC  ZZZZZZZZZ-.
089        05        FILLER            PIC  X(04).
093        05        LN2FUNC4          PIC  X(05).
           05        LN2AMT4.
098          10      LN2AMT49          PIC  ZZZZZZZZZ-.
108        05        FILLER            PIC  X(26).

       01            LN3.
VSE   *&&  05        FILLER            PIC  X(01).
002        05        FILLER            PIC  X(23).
025        05        LN3CTRL           PIC  X(04).
029        05        FILLER            PIC  X(04).
           05        LN3AMT1.
033          10      LN3AMT19          PIC  ZZZZZZZZZ-.
043        05        FILLER            PIC  X(01).
           05        LN3AMT2.
044          10      LN3AMT29          PIC  ZZZZZZZZZ-.
054        05        FILLER            PIC  X(01).
           05        LN3AMT3.
055          10      LN3AMT39          PIC  ZZZZZZZZZ-.
065        05        FILLER            PIC  X(01).
           05        LN3AMT4.
066          10      LN3AMT49          PIC  ZZZZZZZZZ-.
076        05        FILLER            PIC  X(01).
           05        LN3AMT5.
077          10      LN3AMT59          PIC  ZZZZZZZZZ-.
087        05        FILLER            PIC  X(01).
           05        LN3AMT6.
088          10      LN3AMT69          PIC  ZZZZZZZZZ-.
098        05        FILLER            PIC  X(01).
           05        LN3AMT7.
088          10      LN3AMT79          PIC  ZZZZZZZZZ-.
098        05        FILLER            PIC  X(01).
           05        LN3TOT.
099          10      LN3TOT9           PIC  ZZZZZZZZZZZ-.
111        05        FILLER            PIC  X(12).

       01            LN4.
VSE   *&&  05        FILLER            PIC  X(01).
002        05        FILLER            PIC  X(23).
025        05        LN4MSG            PIC  X(13).
           05        LN4AMT1.
038          10      LN4AMT19          PIC  ZZZZZZZZZZ-.
049        05        FILLER            PIC  X(02).
           05        LN4AMT2.
051          10      LN4AMT29          PIC  ZZZZZZZZZZ-.
           05        LN4AMT3.
062          10      LN4AMT39          PIC  ZZZZZZZZZZ-.
           05        LN4AMT4.
073          10      LN4AMT49          PIC  ZZZZZZZZZZ-.
           05        LN4AMT5.
084          10      LN4AMT59          PIC  ZZZZZZZZZZ-.
           05        LN4AMT6.
095          10      LN4AMT69          PIC  ZZZZZZZZZZ-.
106        05        FILLER            PIC  X(28).

           COPY                        EWCRFD.
           COPY                        EWCDFD.
           COPY                        EWSPTD.

       SD  SRT-SORT.

       01            SRT.
           05        SRTKEY.
             10      SRTKDIST          PIC  X(02).
             10      SRTKREQ.
               15    SRTKREQ1          PIC  X(01).
               15    SRTKREQ2          PIC  X(01).
               15    SRTKREQ3          PIC  X(01).
             10      SRTKFY.
               15    SRTKFY1           PIC  X(01).
               15    SRTKFY2           PIC  X(01).
             10      SRTKFUND          PIC  X(01).
             10      SRTKTABLE         PIC  X(05).
             10      SRTKSCHL          PIC  X(04).
             10      SRTKCONTROL.
               15    SRTKCNBR          PIC  X(01).
               15    SRTKCPGM          PIC  X(03).
           05        SRTDATA.
             10      SRTPCT            PIC  X(01).
             10      SRTAMT1           PIC S9(09).
             10      SRTAMT2           PIC S9(09).
             10      SRTAMT3           PIC S9(09).
             10      SRTAMT4           PIC S9(09).
             10      SRTAMT5           PIC S9(09).
             10      SRTAMT6           PIC S9(09).
             10      SRTAMT7           PIC S9(09).
             10      SRTTOTAL          PIC S9(11).
             10      SRTAMT1ERR        PIC  X(01).
             10      SRTAMT2ERR        PIC  X(01).
             10      SRTAMT3ERR        PIC  X(01).
             10      SRTAMT4ERR        PIC  X(01).
             10      SRTAMT5ERR        PIC  X(01).
             10      SRTAMT6ERR        PIC  X(01).
             10      SRTAMT7ERR        PIC  X(01).
             10      SRTTOTALERR       PIC  X(01).
             10      SRTPCTERR         PIC  X(01).
             10      SRTERR            PIC  X(01).
             10      SRTPRT            PIC  X(01).

       WORKING-STORAGE SECTION.
040301 01            WSCPCT.                                            EW003740
040301     05        WSCSALPCT.                                         EW003750
040301       10      WSCPCT1           PIC  9(01)V99  VALUE 0.75.       EW003760
040301       10      WSCSALCHK         PIC S9(09)V99.                   EW003770

       01            RET.
           05        RETCRF            PIC  X(02) VALUE '00'.
           05        RETCDF            PIC  X(02) VALUE '00'.
           05        RETSPT            PIC  X(02) VALUE '00'.

       01            SYS.
           05        SYSTIME.
             10      SYSHR             PIC  X(02).
             10      SYSMIN            PIC  X(02).
             10      SYSSEC            PIC  X(02).
           05        SYSDATE.
             10      SYSYY             PIC  9(02).
             10      SYSMM             PIC  X(02).
             10      SYSDD             PIC  X(02).

       01            CTLAREA.
           05        CTLCHAR           PIC  X(01) VALUE ' '.
           05        ERR.
             10      ERRREQ            PIC  X(03).
             10      FILLER            PIC  X(01).
             10      ERRID             PIC  X(02).
             10      FILLER            PIC  X(01).
             10      ERRPRT            PIC  X(01).
             10      FILLER            PIC  X(03).
             10      ERRDIST           PIC  X(02).
             10      FILLER            PIC  X(02).
             10      ERRFY             PIC  X(02).
             10      FILLER            PIC  X(01).
             10      ERRFUND           PIC  X(01).
             10      FILLER            PIC  X(01).
             10      ERRTBLE           PIC  X(05).
             10      FILLER            PIC  X(01).
             10      ERRSCHL           PIC  X(04).
             10      FILLER            PIC  X(01).
             10      ERRERR            PIC  X(01).
             10      FILLER            PIC  X(01).
             10      ERRRPT            PIC  X(01).

       01            RQR.
           05        RQRREQ            PIC  X(03).
           05        RQRPRT            PIC  X(01).
           05        RQRDIST           PIC  X(02).
           05        RQRFY             PIC  X(02).
           05        RQRSEL.
             10      RQRFUND           PIC  X(01).
             10      RQRTBLE           PIC  X(05).
             10      RQRSCHL           PIC  X(04).
           05        RQRSELR    REDEFINES   RQRSEL.
             10      RQRB       OCCURS 010  TIMES INDEXED BY RQR1
                                       PIC  X(01).
           05        RQRERR            PIC  X(01).
           05        RQRRPT            PIC  X(01).

       01            SEL.
           05        SELFUND           PIC  X(01).
           05        SELTBLE           PIC  X(05).
           05        SELSCHL           PIC  X(04).
       01            SELR       REDEFINES   SEL.
           05        SELB       OCCURS 010  TIMES INDEXED BY SEL1
                                       PIC  X(01).
       01            RQH.
           05        RQHENTRY   OCCURS 100  TIMES INDEXED BY RQH1.
             10      RQHREQ            PIC  X(03).
             10      RQHID             PIC  X(02).
             10      RQHUSER           PIC  X(08).
             10      RQHHEAD.
               15    RQHB       OCCURS 050  TIMES INDEXED BY RQH2
                                       PIC  X(01).

       01            STRKEY.
           05        STRDIST           PIC  X(02) VALUE HIGH-VALUES.
           05        STRFY             PIC  X(02) VALUE HIGH-VALUES.
           05        FILLER            PIC  X(14) VALUE HIGH-VALUES.

       01            ENDKEY.
           05        ENDDIST           PIC  X(02) VALUE LOW-VALUES.
           05        ENDFY             PIC  X(02) VALUE LOW-VALUES.
           05        FILLER            PIC  X(14) VALUE LOW-VALUES.

       01            CTR.
           05        CTRLN             PIC S9(03)       COMP-3 VALUE +0.
           05        CTRPG             PIC S9(04)       COMP-3 VALUE +0.
           05        CTRIDX            PIC S9(05)       COMP-3 VALUE +0.
           05        CTRCRD            PIC S9(05)       COMP-3 VALUE +0.
           05        CTR70PCT          PIC S9(05)       COMP-3 VALUE +0.
           05        CTR70SPC          PIC S9(05)       COMP-3 VALUE +0.
041006     05        CTRERR            PIC S9(03)       COMP-3 VALUE +0.

       01            OLD.
           05        OLDKEY.
             10      OLDKDIST          PIC  X(02).
             10      OLDKREQ           PIC  X(03).
             10      OLDKFY            PIC  X(02).
             10      OLDKFUND          PIC  X(01).
             10      OLDKTABLE         PIC  X(05).
             10      OLDKSCHL          PIC  X(04).
             10      OLDKCNBR          PIC  X(01).
           05        OLDDIST           PIC  X(02).
           05        OLDFY             PIC  X(02).
           05        OLDFUND           PIC  X(01).
           05        OLDTABLE          PIC  X(05).
           05        OLDSCHL           PIC  X(04).
           05        OLDPRT            PIC  X(01).
           05        OLDRPT            PIC  X(01).
           05        OLDFIRSTTBL       PIC  X(05).
           05        OLDHDRFLG         PIC  X(01).
           05        OLD7XFLG          PIC  X(01).
           05        OLD70FLG          PIC  X(01).

       01            WSC.
           05        WSCERR.
             10      WSCAMT1           PIC  X(01).
             10      WSCAMT2           PIC  X(01).
             10      WSCAMT3           PIC  X(01).
             10      WSCAMT4           PIC  X(01).
             10      WSCAMT5           PIC  X(01).
             10      WSCAMT6           PIC  X(01).
             10      WSCAMT7           PIC  X(01).
             10      WSCTOTAL          PIC  X(01).
           05        WSCCDETBL.
             10      WSCENTRY          OCCURS 5 TIMES INDEXED BY WSC1.
               15    WSCCODE           PIC  X(02).

       01            EDT.
           05        EDT70.
             10      EDT70SAL          PIC S9(11) COMP-3.
             10      EDT70BEN          PIC S9(11) COMP-3.
             10      EDT70PURSRV       PIC S9(11) COMP-3.
             10      EDT70MTRL         PIC S9(11) COMP-3.
             10      EDT70OTHR         PIC S9(11) COMP-3.
             10      EDT70CAP          PIC S9(11) COMP-3.
             10      EDT70CHRTR        PIC S9(11) COMP-3.
             10      EDT70PCTERR       PIC  X(01).
           05        EDT7X.
             10      EDT7XSAL          PIC S9(11) COMP-3.
             10      EDT7XBEN          PIC S9(11) COMP-3.
             10      EDT7XPURSRV       PIC S9(11) COMP-3.
             10      EDT7XMTRL         PIC S9(11) COMP-3.
             10      EDT7XOTHR         PIC S9(11) COMP-3.
             10      EDT7XCAP          PIC S9(11) COMP-3.
             10      EDT7XCHRTR        PIC S9(11) COMP-3.
           05        EDT1000PCT        PIC  X(01).
           05        EDTSTAFF          PIC  X(01).
           05        EDTSPACE          PIC  X(01).
           05        EDTFTE            PIC  X(01).

           COPY                        EWSCL.
           COPY                        EWTBL.
           COPY                        EWCDF.
           COPY                        EWSPT.

       01            OLDLN             PIC  X(133).

       01            EDTLN.
           05        EDTLN1.
VSE   *&&    10      FILLER            PIC  X(01).
             10      FILLER            PIC  X(29).
             10      EDTLN1CTRL        PIC  X(04).
             10      FILLER            PIC  X(04).
             10      EDTLN1AMT1        PIC  X(10).
             10      FILLER            PIC  X(01).
             10      EDTLN1PCT         PIC  X(01).
             10      FILLER            PIC  X(01).
             10      EDTLN1AMT2        PIC  X(10).
             10      FILLER            PIC  X(01).
             10      EDTLN1AMT3        PIC  X(10).
             10      FILLER            PIC  X(01).
             10      EDTLN1AMT4        PIC  X(10).
             10      FILLER            PIC  X(01).
             10      EDTLN1AMT5        PIC  X(10).
             10      FILLER            PIC  X(01).
             10      EDTLN1AMT6        PIC  X(10).
             10      FILLER            PIC  X(07).
             10      EDTLN1AMT7        PIC  X(10).
             10      FILLER            PIC  X(07).
             10      EDTLN1CODE1       PIC  X(03).
             10      EDTLN1CODE2       PIC  X(03).
             10      EDTLN1CODE3       PIC  X(03).
             10      EDTLN1CODE4       PIC  X(03).
             10      EDTLN1MSG         PIC  X(09).
           05        EDTLN2            REDEFINES  EDTLN1.
VSE   *&&    10      FILLER            PIC  X(01).
             10      FILLER            PIC  X(26).
             10      EDTLN2CTRL        PIC  X(04).
             10      FILLER            PIC  X(04).
             10      EDTLN2FUNC1       PIC  X(05).
             10      EDTLN2AMT1        PIC  X(10).
             10      FILLER            PIC  X(04).
             10      EDTLN2FUNC2       PIC  X(05).
             10      EDTLN2AMT2        PIC  X(10).
             10      FILLER            PIC  X(04).
             10      EDTLN2FUNC3       PIC  X(05).
             10      EDTLN2AMT3        PIC  X(10).
             10      FILLER            PIC  X(04).
             10      EDTLN2FUNC4       PIC  X(05).
             10      EDTLN2AMT4        PIC  X(10).
             10      FILLER            PIC  X(26).
           05        EDTLN3            REDEFINES  EDTLN1.
VSE   *&&    10      FILLER            PIC  X(01).
             10      FILLER            PIC  X(23).
             10      EDTLN3CTRL        PIC  X(04).
             10      FILLER            PIC  X(04).
             10      EDTLN3AMT1        PIC  X(10).
             10      FILLER            PIC  X(01).
             10      EDTLN3AMT2        PIC  X(10).
             10      FILLER            PIC  X(01).
             10      EDTLN3AMT3        PIC  X(10).
             10      FILLER            PIC  X(01).
             10      EDTLN3AMT4        PIC  X(10).
             10      FILLER            PIC  X(01).
             10      EDTLN3AMT5        PIC  X(10).
             10      FILLER            PIC  X(01).
             10      EDTLN3AMT6        PIC  X(10).
             10      FILLER            PIC  X(01).
             10      EDTLN3AMT7        PIC  X(10).
             10      FILLER            PIC  X(01).
             10      EDTLN3TOT         PIC  X(12).
             10      FILLER            PIC  X(12).

       01      HD1.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(06) VALUE 'EW027 '.
           05  HD1ABBR.
008         10 HD1B    OCCURS 22 TIMES INDEXED BY HD11X PIC X(01).
030        05  FILLER  PIC X(30) VALUE SPACES.
060        05  FILLER  PIC X(15) VALUE ' COST DATA EDIT'.
075        05  FILLER  PIC X(24) VALUE SPACES.
099        05  HD1USER PIC X(09) VALUE SPACES.
108        05  HD1MM   PIC X(02) VALUE SPACES.
110        05  FILLER  PIC X(01) VALUE '/'.
111        05  HD1DD   PIC X(02) VALUE SPACES.
113        05  FILLER  PIC X(01) VALUE '/'.
114        05  HD1YY   PIC X(02) VALUE SPACES.
116        05  FILLER  PIC X(02) VALUE SPACES.
118        05  HD1HR   PIC X(02) VALUE SPACES.
120        05  FILLER  PIC X(01) VALUE ':'.
121        05  HD1MN   PIC X(02) VALUE SPACES.
123        05  FILLER  PIC X(07) VALUE '  PAGE-'.
130        05  HD1PG   PIC ZZZ9.

       01      HD2.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(41) VALUE SPACES.
           05  HD2HEAD.
043         10 HD2B    OCCURS 50 TIMES INDEXED BY HD21 PIC X(01).
093        05  FILLER  PIC X(41) VALUE SPACES.

       01      HD3.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(41) VALUE SPACES.
           05  HD3HEAD.
043         10 HD3B    OCCURS 50 TIMES INDEXED BY HD31 PIC X(01).
093        05  FILLER  PIC X(41) VALUE SPACES.

       01      HD4.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(07)  VALUE 'FUND-'.
009        05  HD4FUND PIC X(01)  VALUE SPACES.
010        05  FILLER  PIC X(103) VALUE SPACES.
           05  HD4CDE.
113          10  HD4CDE1 PIC X(03)  VALUE SPACES.
116          10  HD4CDE2 PIC X(03)  VALUE SPACES.
119          10  HD4CDE3 PIC X(03)  VALUE SPACES.
122          10  HD4CDE4 PIC X(03)  VALUE SPACES.
125        05  HD4MSG  PIC X(09)  VALUE SPACES.

       01      HD5.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(07) VALUE 'TABLE-'.
009        05  HD5TBLE PIC X(05) VALUE SPACES.
014        05  FILLER  PIC X(01) VALUE SPACES.
015        05  HD5DESC PIC X(30) VALUE SPACES.
045        05  FILLER  PIC X(68) VALUE SPACES.
           05  HD5CDE.
113          10  HD5CDE1 PIC X(03)  VALUE SPACES.
116          10  HD5CDE2 PIC X(03)  VALUE SPACES.
119          10  HD5CDE3 PIC X(03)  VALUE SPACES.
122          10  HD5CDE4 PIC X(03)  VALUE SPACES.
125        05  HD5MSG  PIC X(09) VALUE SPACES.

       01      HD6.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(07) VALUE 'SCHL-'.
009        05  HD6SCHL PIC X(04) VALUE SPACES.
013        05  FILLER  PIC X(02) VALUE SPACES.
015        05  HD6DESC PIC X(30) VALUE SPACES.
045        05  FILLER  PIC X(68) VALUE SPACES.
           05  HD6CDE.
113          10  HD6CDE1 PIC X(03)  VALUE SPACES.
116          10  HD6CDE2 PIC X(03)  VALUE SPACES.
119          10  HD6CDE3 PIC X(03)  VALUE SPACES.
122          10  HD6CDE4 PIC X(03)  VALUE SPACES.
125        05  HD6MSG  PIC X(09) VALUE SPACES.

       01      HD7.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(29) VALUE SPACES.
031        05  FILLER  PIC X(28) VALUE '----------PROGRAM DIRECT EXP'.
059        05  FILLER  PIC X(28) VALUE 'ENDITURES THIS SCHOOL/PROGRA'.
087        05  FILLER  PIC X(28) VALUE 'M TABLE-----------          '.

       01      HD8.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(29) VALUE SPACES.
031        05  FILLER  PIC X(28) VALUE '                            '.
059        05  FILLER  PIC X(28) VALUE '    PURCHASED  MATERIALS    '.
087        05  FILLER  PIC X(28) VALUE 'OTHER      CAPITAL          '.

       01      HD9.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(29) VALUE SPACES.
031        05  FILLER  PIC X(28) VALUE 'CTRL     SALARIES  P  BENEFI'.
059        05  FILLER  PIC X(28) VALUE 'TS   SERVICES   SUPPLIES   E'.
087        05  FILLER  PIC X(28) VALUE 'XPENSES     OUTLAY          '.

       01      HD10.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(26) VALUE SPACES.
028        05  FILLER  PIC X(28) VALUE '----AMOUNTS TO BE CONVERTED '.
056        05  FILLER  PIC X(28) VALUE 'TO SCHOOL LEVEL COSTS THIS S'.
084        05  FILLER  PIC X(28) VALUE 'CHOOL/PROGRAM TABLE----     '.

       01      HD11.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(26) VALUE SPACES.
028        05  FILLER  PIC X(28) VALUE 'CTRL    FUNC----AMOUNT     F'.
056        05  FILLER  PIC X(28) VALUE 'UNC----AMOUNT     FUNC----AM'.
084        05  FILLER  PIC X(28) VALUE 'OUNT     FUNC----AMOUNT     '.

       01      HD12.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(26) VALUE SPACES.
028        05  FILLER  PIC X(28) VALUE '--INDIRECT AMOUNTS TO BE ATT'.
056        05  FILLER  PIC X(28) VALUE 'RIBUTED TO ALL PROGRAMS THIS'.
084        05  FILLER  PIC X(28) VALUE ' SCHOOL/PROGRAM TABLE--     '.

       01      HD13.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(26) VALUE SPACES.
028        05  FILLER  PIC X(28) VALUE 'CTRL    FUNC----AMOUNT     F'.
056        05  FILLER  PIC X(28) VALUE 'UNC----AMOUNT     FUNC----AM'.
084        05  FILLER  PIC X(28) VALUE 'OUNT     FUNC----AMOUNT     '.

       01      HD14.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(23) VALUE SPACES.
025        05  FILLER  PIC X(28) VALUE '--------------------------BE'.
053        05  FILLER  PIC X(28) VALUE 'LOW THE LINE EXPENDITRUE ITE'.
081        05  FILLER  PIC X(28) VALUE 'MS--------------------------'.
109        05  FILLER  PIC X(31) VALUE '------------------------------'.

       01      HD15.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(23) VALUE SPACES.
025        05  FILLER  PIC X(28) VALUE '       RECREATION           '.
053        05  FILLER  PIC X(28) VALUE '    NON-PGM  COMMUNITY      '.
081        05  FILLER  PIC X(28) VALUE ' DEBT    FEDERAL   CHARTER  '.
109        05  FILLER  PIC X(31) VALUE '       TOTAL'.

       01      HD16.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(23) VALUE SPACES.
025        05  FILLER  PIC X(28) VALUE 'CTRL    & ENRCHMT      OTHER'.
053        05  FILLER  PIC X(28) VALUE '    CAPITAL    SERVICE    SE'.
081        05  FILLER  PIC X(28) VALUE 'RVICE   INDIRECT    SCHOOLSS'.
109        05  FILLER  PIC X(31) VALUE '   FINANCIAL'.

       01      HD17.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(26) VALUE SPACES.
028        05  FILLER  PIC X(28) VALUE '----------------INDIRECT EXP'.
056        05  FILLER  PIC X(28) VALUE 'ENDITURES THIS SCHOOL/PROGRA'.
084        05  FILLER  PIC X(28) VALUE 'M TABLE----------------     '.

       01      HD18.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(29) VALUE SPACES.
031        05  FILLER  PIC X(28) VALUE '----------PROGRAM DIRECT EXP'.
059        05  FILLER  PIC X(28) VALUE 'ENDITURES THIS SCHOOL/PROGRA'.
087        05  FILLER  PIC X(28) VALUE 'M TABLE-----------          '.

       01      HD19.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(29) VALUE SPACES.
031        05  FILLER  PIC X(28) VALUE '                            '.
059        05  FILLER  PIC X(28) VALUE '    PURCHASED  MATERIALS    '.
087        05  FILLER  PIC X(28) VALUE '  OTHER    CAPITAL          '.

       01      HD20.
VSE   *&&  05  FILLER  PIC X(01) VALUE ' '.
002        05  FILLER  PIC X(29) VALUE SPACES.
031        05  FILLER  PIC X(28) VALUE 'CTRL     SALARIES  P  BENEFI'.
059        05  FILLER  PIC X(28) VALUE 'TS   SERVICES   SUPPLIES   E'.
087        05  FILLER  PIC X(28) VALUE 'XPENSES     OUTLAY          '.

       PROCEDURE DIVISION.
      ******************************************************************
      ******************************************************************
           SORT    SRT-SORT            ASCENDING KEY       SRTKEY
                                       INPUT     PROCEDURE 000-INPUT
                                       OUTPUT    PROCEDURE 500-OUTPUT.
112295*    GOBACK.
112295     STOP                        RUN.

      ******************************************************************
       000-INPUT SECTION.
           PERFORM 490-HOUSEKEEPING    THRU 490-EXIT.
       005-LOOP.
           IF     (RETCDF              NOT  =   '00')                OR
                  (CDFDIST             NOT  =   OLDDIST)             OR
                  (CDFFY               NOT  =   OLDFY)               OR
                  (CDFFUND             NOT  =   OLDFUND)             OR
                  (CDFTABLE            NOT  =   OLDTABLE)            OR
                  (CDFSCHL             NOT  =   OLDSCHL)
             PERFORM  025-1TOT         THRU 025-EXIT
             IF   (RETCDF              NOT  =   '00')                OR
                  (CDFDIST             NOT  =   OLDDIST)             OR
                  (CDFFY               NOT  =   OLDFY)               OR
                  (CDFFUND             NOT  =   OLDFUND)             OR
                  (CDFTABLE            NOT  =   OLDTABLE)
               PERFORM  035-2TOT       THRU 035-EXIT
               IF (RETCDF              NOT  =   '00')                OR
                  (CDFDIST             NOT  =   OLDDIST)             OR
                  (CDFFY               NOT  =   OLDFY)               OR
                  (CDFFUND             NOT  =   OLDFUND)
                 PERFORM  045-3TOT     THRU 045-EXIT
                 IF  RETCDF            NOT  =   '00'
                   GO                  TO   499-EOJ
                 ELSE
                   PERFORM 040-3CHG    THRU 040-EXIT
               ELSE
                 PERFORM 030-2CHG      THRU 030-EXIT
             ELSE
               PERFORM 020-1CHG        THRU 020-EXIT.
           PERFORM 015-SELECT          THRU 015-EXIT
           PERFORM 010-READ            THRU 010-EXIT
           GO                          TO   005-LOOP.

      ******************************************************************
       010-READ.
           READ    CDF-DISK                 NEXT
           IF     (CDFDK               >    ENDKEY)                  OR
                  (RETCDF              NOT  =   '00')
             MOVE  '99'                TO   RETCDF
           ELSE
             MOVE  CDFD                TO   CDF.
      *&&BEG - SKIP CHARTER SCHOOLS
           IF CDFTABLE                 =    '99998'    AND
               RETCDF                  =    '00'
               GO                      TO   010-READ.
      *&&END
       010-EXIT.
           EXIT.

      ******************************************************************
       015-SELECT.
           MOVE    SPACES              TO   WSCERR
           IF      CDFAMT1             NOT  NUMERIC
             MOVE  ZEROS               TO   CDFAMT1
             MOVE  'Y'                 TO   WSCAMT1.
           IF      CDFAMT2             NOT  NUMERIC
             MOVE  ZEROS               TO   CDFAMT2
             MOVE  'Y'                 TO   WSCAMT2.
           IF      CDFAMT3             NOT  NUMERIC
             MOVE  ZEROS               TO   CDFAMT3
             MOVE  'Y'                 TO   WSCAMT3.
           IF      CDFAMT4             NOT  NUMERIC
             MOVE  ZEROS               TO   CDFAMT4
             MOVE  'Y'                 TO   WSCAMT4.
           IF      CDFAMT5             NOT  NUMERIC
             MOVE  ZEROS               TO   CDFAMT5
             MOVE  'Y'                 TO   WSCAMT5.
           IF      CDFAMT6             NOT  NUMERIC
             MOVE  ZEROS               TO   CDFAMT6
             MOVE  'Y'                 TO   WSCAMT6.
           IF      CDFAMT7             NOT  NUMERIC
             MOVE  ZEROS               TO   CDFAMT7
             MOVE  'Y'                 TO   WSCAMT7.
           IF      CDFTOTAL            NOT  NUMERIC
             MOVE  ZEROS               TO   CDFTOTAL
             MOVE  'Y'                 TO   WSCTOTAL.
           IF      CDFCONTROL          =    '7000'
             ADD   CDFAMT1             TO   EDT70SAL
             ADD   CDFAMT2             TO   EDT70BEN
             ADD   CDFAMT3             TO   EDT70PURSRV
             ADD   CDFAMT4             TO   EDT70MTRL
             ADD   CDFAMT5             TO   EDT70OTHR
             ADD   CDFAMT6             TO   EDT70CAP
             ADD   CDFAMT7             TO   EDT70CHRTR
             IF    CDFPCT              =    'P'
               ADD +1                  TO   CTR70PCT
             ELSE
121495         IF  CDFAMT1             NOT  =  ZERO
                 ADD +1                TO   CTR70SPC.
           IF     (CDFCNBR             =    '7')                   AND
                  (CDFCONTROL          NOT  =  '7000')
             ADD   CDFAMT1             TO   EDT7XSAL
             ADD   CDFAMT2             TO   EDT7XBEN
             ADD   CDFAMT3             TO   EDT7XPURSRV
             ADD   CDFAMT4             TO   EDT7XMTRL
             ADD   CDFAMT5             TO   EDT7XOTHR
             ADD   CDFAMT6             TO   EDT7XCAP
             ADD   CDFAMT7             TO   EDT7XCHRTR.

           MOVE    CDFFUND             TO   SELFUND
           MOVE    CDFTABLE            TO   SELTBLE
           MOVE    CDFSCHL             TO   SELSCHL
           SET     RQR1  SEL1          TO   +1.
       015-MASK.
           IF      RQRB    (RQR1)      =    SPACES
             MOVE  ' '                 TO   SELB         (SEL1).
           IF      RQR1                <    +10
             SET   RQR1  SEL1          UP   BY  +1
             GO                        TO   015-MASK.

           IF     (RQRDIST             NOT  =  CDFDIST)      OR
                  (RQRFY               NOT  =  CDFFY)        OR
                  (RQRSEL              NOT  =  SEL)
             GO                        TO   015-EXIT.
           MOVE    SPACES              TO   SRT

           MOVE    CDFDIST             TO   SRTKDIST
           MOVE    RQRREQ              TO   SRTKREQ
           MOVE    CDFFY               TO   SRTKFY
           MOVE    CDFFUND             TO   SRTKFUND
           IF      CDFCONTROL          NOT  =  '8000'
             MOVE  CDFTABLE            TO   SRTKTABLE
           ELSE
             MOVE  OLDFIRSTTBL         TO   SRTKTABLE.
           MOVE    CDFSCHL             TO   SRTKSCHL
           MOVE    CDFCONTROL          TO   SRTKCONTROL
           MOVE    CDFPCT              TO   SRTPCT
           MOVE    CDFAMT1             TO   SRTAMT1
           MOVE    CDFAMT2             TO   SRTAMT2
           MOVE    CDFAMT3             TO   SRTAMT3
           MOVE    CDFAMT4             TO   SRTAMT4
           MOVE    CDFAMT5             TO   SRTAMT5
           MOVE    CDFAMT6             TO   SRTAMT6
           MOVE    CDFAMT7             TO   SRTAMT7
           MOVE    CDFTOTAL            TO   SRTTOTAL
           MOVE    WSCAMT1             TO   SRTAMT1ERR
           MOVE    WSCAMT2             TO   SRTAMT2ERR
           MOVE    WSCAMT3             TO   SRTAMT3ERR
           MOVE    WSCAMT4             TO   SRTAMT4ERR
           MOVE    WSCAMT5             TO   SRTAMT5ERR
           MOVE    WSCAMT6             TO   SRTAMT6ERR
           MOVE    WSCAMT7             TO   SRTAMT7ERR
           MOVE    WSCTOTAL            TO   SRTTOTALERR
           MOVE    RQRERR              TO   SRTERR
           MOVE    RQRPRT              TO   SRTPRT
           RELEASE SRT.
           IF     (CDFCNBR             =    '7')                 AND
                  (CDFCONTROL          NOT  =  '7000')
             MOVE  'Y'                 TO   OLD7XFLG.
           IF      CDFCONTROL          =    '7000'
             MOVE  'Y'                 TO   OLD70FLG.
       015-EXIT.
           EXIT.

      ******************************************************************
       020-1CHG.
           MOVE    CDFSCHL             TO   OLDSCHL
           MOVE    SPACES              TO   OLD7XFLG   OLD70FLG
           MOVE    ZEROS               TO   EDT7XSAL   EDT7XBEN
           EDT7XCHRTR EDT7XPURSRV  EDT7XMTRL  EDT7XOTHR  EDT7XCAP.
       020-EXIT.
           EXIT.

       025-1TOT.
           MOVE    OLDFUND             TO   SELFUND
           MOVE    OLDTABLE            TO   SELTBLE
           MOVE    OLDSCHL             TO   SELSCHL
           SET     RQR1  SEL1          TO   +1.
       025-MASK.
           IF      RQRB    (RQR1)      =    SPACES
             MOVE  ' '                 TO   SELB         (SEL1).
           IF      RQR1                <    +10
             SET   RQR1  SEL1          UP   BY  +1
             GO                        TO   025-MASK.
           IF     (RQRDIST             NOT  =  OLDDIST)      OR
                  (RQRFY               NOT  =  OLDFY)        OR
                  (RQRSEL              NOT  =  SEL)
             GO                        TO   025-EXIT.

           IF      OLDSCHL             NOT  =  '0000'
             MOVE  SPACES              TO   SRT
             MOVE  OLDDIST             TO   SRTKDIST
             MOVE  RQRREQ              TO   SRTKREQ
             MOVE  OLDFY               TO   SRTKFY
             MOVE  OLDFUND             TO   SRTKFUND
             MOVE  OLDTABLE            TO   SRTKTABLE
             MOVE  OLDSCHL             TO   SRTKSCHL
             MOVE  LOW-VALUES          TO   SRTKCONTROL
             MOVE  EDT7XSAL            TO   SRTAMT1
             MOVE  EDT7XBEN            TO   SRTAMT2
             MOVE  EDT7XPURSRV         TO   SRTAMT3
             MOVE  EDT7XMTRL           TO   SRTAMT4
             MOVE  EDT7XOTHR           TO   SRTAMT5
             MOVE  EDT7XCAP            TO   SRTAMT6
             MOVE  EDT7XCHRTR          TO   SRTAMT7
             MOVE  ZEROS               TO   SRTTOTAL
             MOVE  RQRERR              TO   SRTERR
             MOVE  RQRPRT              TO   SRTPRT
             RELEASE SRT.
           IF     (OLD7XFLG            =    'Y')                   AND
                  (OLD70FLG            NOT  =  'Y')
             MOVE  SPACES              TO   SRT
             MOVE  OLDDIST             TO   SRTKDIST
             MOVE  RQRREQ              TO   SRTKREQ
             MOVE  OLDFY               TO   SRTKFY
             MOVE  OLDFUND             TO   SRTKFUND
             MOVE  OLDTABLE            TO   SRTKTABLE
             MOVE  OLDSCHL             TO   SRTKSCHL
             MOVE  '7000'              TO   SRTKCONTROL
             MOVE  ZEROS               TO   SRTAMT1   SRTAMT2   SRTAMT3
                                 SRTAMT7    SRTAMT4   SRTAMT5   SRTAMT6
                                            SRTTOTAL
             MOVE  RQRERR              TO   SRTERR
             MOVE  RQRPRT              TO   SRTPRT
             RELEASE SRT.
       025-EXIT.
           EXIT.

       030-2CHG.
           MOVE    CDFTABLE            TO   OLDTABLE
           MOVE    ZEROS               TO   EDT70SAL   EDT70BEN
           EDT70CHRTR EDT70PURSRV  EDT70MTRL  EDT70OTHR  EDT70CAP
           MOVE    SPACES              TO   EDT70PCTERR
           MOVE    ZEROS               TO   CTR70PCT      CTR70SPC
           IF      OLDFIRSTTBL         =    SPACES
             MOVE  CDFTABLE            TO   OLDFIRSTTBL.
           PERFORM 020-1CHG            THRU 020-EXIT.
       030-EXIT.
           EXIT.

       035-2TOT.
           MOVE    OLDFUND             TO   SELFUND
           MOVE    OLDTABLE            TO   SELTBLE
           MOVE    '0000'              TO   SELSCHL
           SET     RQR1  SEL1          TO   +1.
       035-MASK.
           IF      RQRB    (RQR1)      =    SPACES
             MOVE  ' '                 TO   SELB         (SEL1).
           IF      RQR1                <    +10
             SET   RQR1  SEL1          UP   BY  +1
             GO                        TO   035-MASK.
           IF     (RQRDIST             NOT  =  OLDDIST)      OR
                  (RQRFY               NOT  =  OLDFY)        OR
                  (RQRSEL              NOT  =  SEL)
             GO                        TO   035-EXIT.
           IF     (OLDTABLE            =    '99999')         AND
                  (OLDSCHL             =    '0000')          AND
                  (EDT70SAL            =    ZEROS)           AND
                  (EDT70BEN            =    ZEROS)           AND
                  (EDT70PURSRV         =    ZEROS)           AND
                  (EDT70MTRL           =    ZEROS)           AND
                  (EDT70OTHR           =    ZEROS)           AND
                  (EDT70CAP            =    ZEROS)
             GO                        TO   035-EXIT.

           MOVE    SPACES              TO   SRT
           MOVE    OLDDIST             TO   SRTKDIST
           MOVE    RQRREQ              TO   SRTKREQ
           MOVE    OLDFY               TO   SRTKFY
           MOVE    OLDFUND             TO   SRTKFUND
           MOVE    OLDTABLE            TO   SRTKTABLE
           MOVE    '0000'              TO   SRTKSCHL
           MOVE    LOW-VALUES          TO   SRTKCONTROL
           MOVE    EDT70SAL            TO   SRTAMT1
           MOVE    EDT70BEN            TO   SRTAMT2
           MOVE    EDT70PURSRV         TO   SRTAMT3
           MOVE    EDT70MTRL           TO   SRTAMT4
           MOVE    EDT70OTHR           TO   SRTAMT5
           MOVE    EDT70CAP            TO   SRTAMT6
           MOVE    EDT70CHRTR          TO   SRTAMT7
           MOVE    ZEROS               TO   SRTTOTAL
           IF     (CTR70PCT            >    ZERO)                  AND
                  (CTR70SPC            >    ZERO)
             MOVE  'Y'                 TO   SRTPCTERR
           ELSE
             MOVE  ' '                 TO   SRTPCTERR.
           MOVE    RQRERR              TO   SRTERR
           MOVE    RQRPRT              TO   SRTPRT
           RELEASE SRT.
       035-EXIT.
           EXIT.

       040-3CHG.
           MOVE    CDFDIST             TO   OLDDIST
           MOVE    CDFFY               TO   OLDFY
           MOVE    CDFFUND             TO   OLDFUND
           MOVE    SPACES              TO   OLDFIRSTTBL
           PERFORM 030-2CHG            THRU 030-EXIT.
       040-EXIT.
           EXIT.

       045-3TOT.
       045-EXIT.
           EXIT.

      ******************************************************************
       490-HOUSEKEEPING.
           OPEN    INPUT                    CRD-CARD      CRF-DISK
                                            CDF-DISK      SPT-DISK
                   OUTPUT                   PR1-PRNT
           MOVE    SPACES              TO   LN1
           MOVE    '1'                 TO   CTLCHAR
           MOVE    HIGH-VALUES         TO   RQR           RQH.
           SET     RQH1                TO   +1.
           MOVE    +1                  TO   CTRCRD.
       490-LOAD.
           READ    CRD-CARD            AT   END
             GO                        TO   490-TEST.
           IF      CRDREQ              NOT  NUMERIC
             MOVE    CRD               TO   LNMVALUE2
             PERFORM 520-PRINT         THRU 520-EXIT
             GO                        TO   490-LOAD.
           MOVE    SPACES              TO   ERR
           IF      CRDID               =    'SL'
             GO                        TO   490-REQ
           ELSE
             IF     (CRDID             =    'H1')                    OR
                    (CRDID             =    'H2')
               GO                      TO   490-HEAD
             ELSE
               GO                      TO   490-LOAD.

       490-REQ.
           IF      CTRCRD              >    +1
             MOVE  'ERROR. ONLY 1 REQ.' TO  LNMMSG
             MOVE  CRD                 TO   LNMVALUE2
             PERFORM  520-PRINT        THRU 520-EXIT
             GO                        TO   490-LOAD.
           IF     (CRDPRT              NOT  =   'U')                 AND
                  (CRDPRT              NOT  =   'T')                 AND
                  (CRDPRT              NOT  =   'B')                 AND
                  (CRDPRT              NOT  =   'N')
             MOVE  ALL '-'             TO   ERRPRT.
           IF     (CRDDIST             =    SPACES)
             MOVE  ALL '-'             TO   ERRDIST.
           IF     (CRDFY               NOT  NUMERIC)
             MOVE  ALL '-'             TO   ERRFY.
           IF     (CRDRPT              NOT  =   'B')
             MOVE  ALL '-'             TO   ERRRPT.
           IF     (CRDFUND             NOT  =   '1')                 AND
                  (CRDFUND             NOT  =   '4')                 AND
051909            (CRDFUND             NOT  =   '5')                 AND
051909            (CRDFUND             NOT  =   '6')                 AND
051909            (CRDFUND             NOT  =   '7')                 AND
020411            (CRDFUND             NOT  =   '8')                 AND
020411            (CRDFUND             NOT  =   '9')                 AND
                  (CRDFUND             NOT  =   ' ')
             MOVE  ALL '-'             TO   ERRFUND.
           IF     (CRDERR              NOT  =   ' '               AND
                   CRDERR              NOT  =   'Y')                 OR
                  (CRDRPT              =    'A'                   AND
                   CRDERR              NOT  =   SPACES)
             MOVE  ALL '-'             TO   ERRERR.
           IF      ERR                 NOT  =   SPACES
             MOVE    'ERROR. BYPASSED' TO   LNMMSG
             MOVE    CRD               TO   LNMVALUE2
             PERFORM 520-PRINT         THRU 520-EXIT
             MOVE    ERR               TO   LNMVALUE2
             PERFORM 520-PRINT         THRU 520-EXIT
             GO                        TO   490-LOAD
           ELSE
             MOVE    'REQUEST LOADED'  TO   LNMMSG
             MOVE    CRD               TO   LNMVALUE2
             PERFORM 520-PRINT         THRU 520-EXIT.
           MOVE    CRDREQ              TO   RQRREQ
           MOVE    CRDPRT              TO   RQRPRT
           MOVE    CRDDIST             TO   RQRDIST
           MOVE    CRDFY               TO   RQRFY
           MOVE    CRDFUND             TO   RQRFUND
           MOVE    CRDTBLE             TO   RQRTBLE
           MOVE    CRDSCHL             TO   RQRSCHL
           MOVE    CRDERR              TO   RQRERR
           MOVE    CRDRPT              TO   RQRRPT

           MOVE    CRDDIST             TO   CDFKEY
           MOVE    CRDFY               TO   CDFFY
           IF     (CDFKEY              <    STRKEY)
             MOVE  CDFKEY              TO   STRKEY.
           SET     CDF1                TO   +15.
       490-SET.
           IF      CDFB     (CDF1)     =    SPACES
             MOVE  HIGH-VALUES         TO   CDFB (CDF1).
           IF      CDF1                <    +32
             SET   CDF1                UP   BY  +1
             GO                        TO   490-SET.
           IF     (CDFKEY              >    ENDKEY)
             MOVE  CDFKEY              TO   ENDKEY.
           MOVE    +1                  TO   CTRCRD
           GO                          TO   490-LOAD.
       490-HEAD.
           MOVE    CRD                 TO   LNMVALUE2
           PERFORM 520-PRINT           THRU 520-EXIT
           MOVE    CRHREQ              TO   RQHREQ       (RQH1)
           MOVE    CRHID               TO   RQHID        (RQH1)
           MOVE    CRHUSER             TO   RQHUSER      (RQH1)
           MOVE    SPACES              TO   RQHHEAD      (RQH1)
           MOVE    +50                 TO   CTRIDX
           SET     CRH1                TO   +50.
       490-HEAD1.
           IF      CRHB         (CRH1) =    SPACES
             IF      CRH1              >    +2
               ADD   -1                TO   CTRIDX
               SET   CRH1              DOWN BY  +1
               GO                      TO   490-HEAD1.
           SUBTRACT +1                 FROM CTRIDX
           COMPUTE CTRIDX      ROUNDED =    (50  - CTRIDX) / 2
           SET     RQH2                TO   CTRIDX
           SET     CRH1                TO   +1.
       490-HEAD2.
           MOVE    CRHB         (CRH1) TO   RQHB         (RQH1 RQH2)
           IF      RQH2                <    +50
             SET   RQH2  CRH1          UP   BY  +1
             GO                        TO   490-HEAD2.
           SET     RQH1             UP BY   +1
           GO                          TO   490-LOAD.

       490-TEST.
           IF      RQR                 =    HIGH-VALUES
             MOVE    'EW027 NO REQUESTS *'   TO   LNMMSG
             PERFORM 520-PRINT         THRU 520-EXIT.
           IF      RETCRF              NOT  =   '00'
             MOVE    'CRF OPEN ERROR'  TO   LNMMSG
             MOVE    RETCRF            TO   LNMVALUE1
             PERFORM 520-PRINT         THRU 520-EXIT.
           IF      RETCDF              NOT  =   '00'
             MOVE    'CDF OPEN ERROR'  TO   LNMMSG
             MOVE    RETCDF            TO   LNMVALUE1
             PERFORM 520-PRINT         THRU 520-EXIT.
           IF     (RETCRF              NOT  =   '00')                OR
                  (RETCDF              NOT  =   '00')
             GO                        TO   499-EOJ.
           MOVE    STRKEY              TO   CDFDK
           START   CDF-DISK        KEY >    CDFDK
           IF      RETCDF              =    '00'
             PERFORM 010-READ          THRU 010-EXIT.
           PERFORM 040-3CHG            THRU 040-EXIT.
       490-EXIT.
           EXIT.

      ******************************************************************
       499-EOJ.
           EXIT.

      ******************************************************************
       500-OUTPUT SECTION.
           PERFORM 990-HOUSEKEEPING    THRU 990-EXIT.
       505-LOOP.
           IF     (SRTKDIST            NOT  =   OLDKDIST)            OR
                  (SRTKREQ             NOT  =   OLDKREQ)             OR
                  (SRTKFY              NOT  =   OLDKFY)              OR
                  (SRTKFUND            NOT  =   OLDKFUND)            OR
                  (SRTKTABLE           NOT  =   OLDKTABLE)           OR
                  (SRTKSCHL            NOT  =   OLDKSCHL)            OR
                  (SRTKCNBR            NOT  =   OLDKCNBR)
             PERFORM 615-1TOT          THRU 615-EXIT
             IF   (SRTKDIST            NOT  =   OLDKDIST)            OR
                  (SRTKREQ             NOT  =   OLDKREQ)             OR
                  (SRTKFY              NOT  =   OLDKFY)              OR
                  (SRTKFUND            NOT  =   OLDKFUND)            OR
                  (SRTKTABLE           NOT  =   OLDKTABLE)           OR
                  (SRTKSCHL            NOT  =   OLDKSCHL)
               PERFORM 625-2TOT        THRU 625-EXIT
               IF (SRTKDIST            NOT  =   OLDKDIST)            OR
                  (SRTKREQ             NOT  =   OLDKREQ)             OR
                  (SRTKFY              NOT  =   OLDKFY)              OR
                  (SRTKFUND            NOT  =   OLDKFUND)            OR
                  (SRTKTABLE           NOT  =   OLDKTABLE)
                 PERFORM 635-3TOT      THRU 635-EXIT
                 IF (SRTKDIST          NOT  =   OLDKDIST)            OR
                    (SRTKREQ           NOT  =   OLDKREQ)             OR
                    (SRTKFY            NOT  =   OLDKFY)
                   PERFORM 645-4TOT    THRU 645-EXIT
                   IF     (SRTKEY      =    HIGH-VALUES)
                     GO                TO   999-EOJ
                   ELSE
                     PERFORM 640-4CHG  THRU 640-EXIT
                 ELSE
                   PERFORM 630-3CHG    THRU 630-EXIT
               ELSE
                 PERFORM 620-2CHG      THRU 620-EXIT
             ELSE
               PERFORM 610-1CHG        THRU 610-EXIT.
           PERFORM 515-PROCESS         THRU 515-EXIT
           PERFORM 510-READ            THRU 510-EXIT
           GO                          TO   505-LOOP.

      ******************************************************************
       510-READ.
           RETURN  SRT-SORT            AT   END
             MOVE  HIGH-VALUES         TO   SRTKEY.
       510-EXIT.
           EXIT.

      ******************************************************************
       515-PROCESS.
           IF      SRTKCONTROL         =    LOW-VALUES
             GO                        TO   515-EXIT.
      *&&BEG
      *  THIS CORRECTION IS BEING MADE FOR THIS YEAR ONLY.
      *  AT THIS TIME, WE DON'T WANT TO EVALUATE FOR ERRORS
      *  FUND 4 TABLE 00004.  OUR OLD COST REPORTING SYSTEM
      *  ASSIGNED THESE ITEMS TO FUND 4 TABLE 00001.  THOSE
      *  PROGRAMS STILL GIVE US EXPENDITURES.  THE STAFF COSTS
      *  FOR THOSE CONTROL RECS WERE ASSIGNED EARLIER BY SATSY
      *  TO FUND 4 TABLE 4.  THE CONTROL RECS COSTS ARE PROPERLY
      *  SPREAD, SO THE BOTTOM LINE IS ACCURATE.  THIS IS TO
      *  AVOID RERUNNING THE ENTIRE COST REPORT PROCESS FROM THE
      *  BEGINNING.
      *
      *  OK ITS 2001 SO IM COMMENTING THIS OUT BUT LEAVING FOR
      *  FUTURE REFERENCE
      *
      *    IF (SRTKFUND            NOT  = '4'                    AND
      *       SRTKTABLE           NOT  = '00004')
      *&&END
              PERFORM 700-EDIT            THRU 700-EXIT.
           IF     (SRTERR              =    'Y')                   AND
                  (EDTLN               =    SPACES)                AND
                  (HD4MSG              =    SPACES)                AND
                  (HD5MSG              =    SPACES)                AND
                  (HD6MSG              =    SPACES)
             GO                        TO   515-EXIT.

           IF      OLDHDRFLG           =    SPACES
             MOVE  'Y'                 TO   OLDHDRFLG
             IF      SRTKCNBR          =    '1'
               MOVE  '0'               TO   CTLCHAR
               MOVE  HD7               TO   LN1
               PERFORM  520-PRINT      THRU 520-EXIT
               MOVE  HD8               TO   LN1
               PERFORM  520-PRINT      THRU 520-EXIT
               MOVE  HD9               TO   LN1
               PERFORM  520-PRINT      THRU 520-EXIT
               MOVE  '0'               TO   CTLCHAR
             ELSE
               IF    SRTKCNBR          =    '2'
                 MOVE  '0'             TO   CTLCHAR
                 MOVE  HD10            TO   LN1
                 PERFORM  520-PRINT    THRU 520-EXIT
                 MOVE  HD11            TO   LN1
                 PERFORM  520-PRINT    THRU 520-EXIT
                 MOVE  '0'             TO   CTLCHAR
             ELSE
               IF    SRTKCNBR          =    '3'
                 MOVE  '0'             TO   CTLCHAR
                 MOVE  HD12            TO   LN1
                 PERFORM  520-PRINT    THRU 520-EXIT
                 MOVE  HD13            TO   LN1
                 PERFORM  520-PRINT    THRU 520-EXIT
                 MOVE  '0'             TO   CTLCHAR
             ELSE
               IF    SRTKCNBR          =    '8'
                 MOVE  '0'             TO   CTLCHAR
                 MOVE  HD14            TO   LN1
                 PERFORM  520-PRINT    THRU 520-EXIT
                 MOVE  HD15            TO   LN1
                 PERFORM  520-PRINT    THRU 520-EXIT
                 MOVE  HD16            TO   LN1
                 PERFORM  520-PRINT    THRU 520-EXIT
                 MOVE  '0'             TO   CTLCHAR
             ELSE
               IF    SRTKCNBR          =    '6'
                 MOVE  '0'             TO   CTLCHAR
                 MOVE  HD17            TO   LN1
                 PERFORM  520-PRINT    THRU 520-EXIT
                 MOVE  HD11            TO   LN1
                 PERFORM  520-PRINT    THRU 520-EXIT
                 MOVE  '0'             TO   CTLCHAR
             ELSE
               IF    SRTKCNBR          =    '7'
                 MOVE  '0'             TO   CTLCHAR
                 MOVE  HD18            TO   LN1
                 PERFORM  520-PRINT    THRU 520-EXIT
                 MOVE  HD19            TO   LN1
                 PERFORM  520-PRINT    THRU 520-EXIT
                 MOVE  HD20            TO   LN1
                 PERFORM  520-PRINT    THRU 520-EXIT
                 MOVE  '0'             TO   CTLCHAR.

           MOVE    SPACES              TO   LN1
           IF      SRTKCNBR            =    '1'                     OR
                   SRTKCNBR            =    '7'
             MOVE  SRTKCONTROL         TO   LN1CTRL
             MOVE  SRTAMT1             TO   LN1AMT19
             MOVE  SRTPCT              TO   LN1PCT
             MOVE  SRTAMT2             TO   LN1AMT29
             MOVE  SRTAMT3             TO   LN1AMT39
             MOVE  SRTAMT4             TO   LN1AMT49
             MOVE  SRTAMT5             TO   LN1AMT59
             MOVE  SRTAMT6             TO   LN1AMT69
           ELSE
             IF    SRTKCONTROL         =    '2000'
               MOVE  SRTKCONTROL       TO   LN2CTRL
               MOVE  '6100'            TO   LN2FUNC1
               MOVE  SRTAMT1           TO   LN2AMT19
               MOVE  '6200'            TO   LN2FUNC2
               MOVE  SRTAMT2           TO   LN2AMT29
               MOVE  '6300'            TO   LN2FUNC3
               MOVE  SRTAMT3           TO   LN2AMT39
               MOVE  '6400'            TO   LN2FUNC4
               MOVE  SRTAMT4           TO   LN2AMT49
           ELSE
             IF    SRTKCONTROL         =    '2001'
               MOVE  SRTKCONTROL       TO   LN2CTRL
               MOVE  '7300'            TO   LN2FUNC1
               MOVE  SRTAMT1           TO   LN2AMT19
               MOVE  '7400'            TO   LN2FUNC2
               MOVE  SRTAMT2           TO   LN2AMT29
               MOVE  '7600'            TO   LN2FUNC3
               MOVE  SRTAMT3           TO   LN2AMT39
               MOVE  '7700'            TO   LN2FUNC4
               MOVE  SRTAMT4           TO   LN2AMT49
           ELSE
             IF    SRTKCONTROL         =    '2002'
               MOVE  SRTKCONTROL       TO   LN2CTRL
               MOVE  '7800'            TO   LN2FUNC1
               MOVE  SRTAMT1           TO   LN2AMT19
               MOVE  '7900'            TO   LN2FUNC2
               MOVE  SRTAMT2           TO   LN2AMT29
               MOVE  '8100'            TO   LN2FUNC3
               MOVE  SRTAMT3           TO   LN2AMT39
041806         MOVE  '8200'            TO   LN2FUNC4
041806         MOVE  SRTAMT4           TO   LN2AMT49
041806     ELSE
041806       IF    SRTKCONTROL         =    '2003'
041806         MOVE  SRTKCONTROL       TO   LN2CTRL
041806         MOVE  '6500'            TO   LN2FUNC1
041806         MOVE  SRTAMT1           TO   LN2AMT19
           ELSE
             IF    SRTKCONTROL         =    '3000'
               MOVE  SRTKCONTROL       TO   LN2CTRL
               MOVE  '6100'            TO   LN2FUNC1
               MOVE  SRTAMT1           TO   LN2AMT19
               MOVE  '6200'            TO   LN2FUNC2
               MOVE  SRTAMT2           TO   LN2AMT29
               MOVE  '6300'            TO   LN2FUNC3
               MOVE  SRTAMT3           TO   LN2AMT39
               MOVE  '6400'            TO   LN2FUNC4
               MOVE  SRTAMT4           TO   LN2AMT49
           ELSE
             IF    SRTKCONTROL         =    '3001'
               MOVE  SRTKCONTROL       TO   LN2CTRL
               MOVE  '7100'            TO   LN2FUNC1
               MOVE  SRTAMT1           TO   LN2AMT19
               MOVE  '7200'            TO   LN2FUNC2
               MOVE  SRTAMT2           TO   LN2AMT29
               MOVE  '7400'            TO   LN2FUNC3
               MOVE  SRTAMT3           TO   LN2AMT39
               MOVE  '7500'            TO   LN2FUNC4
               MOVE  SRTAMT4           TO   LN2AMT49
           ELSE
             IF    SRTKCONTROL         =    '3002'
               MOVE  SRTKCONTROL       TO   LN2CTRL
               MOVE  '7600'            TO   LN2FUNC1
               MOVE  SRTAMT1           TO   LN2AMT19
               MOVE  '7700'            TO   LN2FUNC2
               MOVE  SRTAMT2           TO   LN2AMT29
               MOVE  '7800'            TO   LN2FUNC3
               MOVE  SRTAMT3           TO   LN2AMT39
               MOVE  '7900'            TO   LN2FUNC4
               MOVE  SRTAMT4           TO   LN2AMT49
           ELSE
             IF    SRTKCONTROL         =    '3003'
               MOVE  SRTKCONTROL       TO   LN2CTRL
               MOVE  '8100'            TO   LN2FUNC1
               MOVE  SRTAMT1           TO   LN2AMT19
041806         MOVE  SRTKCONTROL       TO   LN2CTRL
041806         MOVE  '8200'            TO   LN2FUNC2
041806         MOVE  SRTAMT2           TO   LN2AMT29
041806         MOVE  SRTKCONTROL       TO   LN2CTRL
041806         MOVE  '6500'            TO   LN2FUNC3
041806         MOVE  SRTAMT3           TO   LN2AMT39
           ELSE
             IF    SRTKCONTROL         =    '6000'
               MOVE  SRTKCONTROL       TO   LN2CTRL
               MOVE  '6100'            TO   LN2FUNC1
               MOVE  SRTAMT1           TO   LN2AMT19
               MOVE  '6200'            TO   LN2FUNC2
               MOVE  SRTAMT2           TO   LN2AMT29
               MOVE  '6300'            TO   LN2FUNC3
               MOVE  SRTAMT3           TO   LN2AMT39
               MOVE  '6400'            TO   LN2FUNC4
               MOVE  SRTAMT4           TO   LN2AMT49
           ELSE
             IF    SRTKCONTROL         =    '6001'
               MOVE  SRTKCONTROL       TO   LN2CTRL
               MOVE  '7300'            TO   LN2FUNC1
               MOVE  SRTAMT1           TO   LN2AMT19
               MOVE  '7400'            TO   LN2FUNC2
               MOVE  SRTAMT2           TO   LN2AMT29
               MOVE  '7600'            TO   LN2FUNC3
               MOVE  SRTAMT3           TO   LN2AMT39
               MOVE  '7700'            TO   LN2FUNC4
               MOVE  SRTAMT4           TO   LN2AMT49
           ELSE
             IF    SRTKCONTROL         =    '6002'
               MOVE  SRTKCONTROL       TO   LN2CTRL
               MOVE  '7800'            TO   LN2FUNC1
               MOVE  SRTAMT1           TO   LN2AMT19
               MOVE  '7900'            TO   LN2FUNC2
               MOVE  SRTAMT2           TO   LN2AMT29
               MOVE  '8100'            TO   LN2FUNC3
               MOVE  SRTAMT3           TO   LN2AMT39
041806         MOVE  '8200'            TO   LN2FUNC4
041806         MOVE  SRTAMT4           TO   LN2AMT49
041806     ELSE
041806       IF    SRTKCONTROL         =    '6003'
041806         MOVE  SRTKCONTROL       TO   LN2CTRL
041806         MOVE  '6500'            TO   LN2FUNC1
041806         MOVE  SRTAMT1           TO   LN2AMT19
           ELSE
             IF    SRTKCNBR            =    '8'
               MOVE  SRTKCONTROL       TO   LN3CTRL
               MOVE  SRTAMT1           TO   LN3AMT19
               MOVE  SRTAMT2           TO   LN3AMT29
               MOVE  SRTAMT3           TO   LN3AMT39
               MOVE  SRTAMT4           TO   LN3AMT49
               MOVE  SRTAMT5           TO   LN3AMT59
               MOVE  SRTAMT6           TO   LN3AMT69
               MOVE  SRTTOTAL          TO   LN3TOT9
           ELSE
             MOVE    SRTKCONTROL       TO   LN3CTRL
             MOVE    SRTAMT1           TO   LN3AMT19
             MOVE    SRTAMT2           TO   LN3AMT29
             MOVE    SRTAMT3           TO   LN3AMT39
             MOVE    SRTAMT4           TO   LN3AMT49
             MOVE    SRTAMT5           TO   LN3AMT59
             MOVE    SRTAMT6           TO   LN3AMT69
             MOVE    SRTAMT7           TO   LN3AMT79
             MOVE    SRTTOTAL          TO   LN3TOT9.

           IF     (EDTLN               NOT  =  SPACES)             AND
                  (CTRLN               =    +60)
041006       ADD   +1                  TO   CTRERR
             MOVE  +61                 TO   CTRLN.
           PERFORM 520-PRINT           THRU 520-EXIT
           IF      EDTLN               NOT  =  SPACES
             MOVE  EDTLN               TO   LN1
041006       ADD   +1                  TO   CTRERR
             PERFORM  520-PRINT        THRU 520-EXIT.

           IF        SRTKCONTROL       =    '7000'
             MOVE    '0'               TO   CTLCHAR.
       515-EXIT.
           EXIT.

      ******************************************************************
       520-PRINT.
           IF      CTRLN               >    +60
             PERFORM 525-HEADS         THRU 525-EXIT.
           IF      CTLCHAR             =    '1'
             WRITE LN1             AFTER    ADVANCING PAGE
           ELSE
             IF      CTLCHAR           =    '0'
               WRITE LN1           AFTER    ADVANCING  2  LINES
               ADD   +2                TO   CTRLN
             ELSE
               IF      CTLCHAR         =    ' '
                 WRITE LN1         AFTER    ADVANCING  1  LINES
                 ADD   +1              TO   CTRLN
               ELSE
                 WRITE LN1         AFTER    ADVANCING  0  LINES
                 ADD   +0              TO   CTRLN.
           MOVE    SPACES              TO   LN1           CTLCHAR.
       520-EXIT.
           EXIT.

       525-HEADS.
           MOVE    LN1                 TO   OLDLN
           MOVE    +0                  TO   CTRLN
           ADD     +1                  TO   CTRPG
           MOVE    CTRPG               TO   HD1PG
           MOVE    HD1                 TO   LN1
           MOVE    '1'                 TO   CTLCHAR
           PERFORM 520-PRINT           THRU 520-EXIT
           IF      HD2                 NOT  =   SPACES
             MOVE    HD2               TO   LN1
             PERFORM 520-PRINT         THRU 520-EXIT.
           IF      HD3                 NOT  =   SPACES
             MOVE    HD3               TO   LN1
             PERFORM 520-PRINT         THRU 520-EXIT.
           MOVE    HD4                 TO   LN1
           MOVE    '0'                 TO   CTLCHAR
           PERFORM 520-PRINT           THRU 520-EXIT
           MOVE    HD5                 TO   LN1
           PERFORM 520-PRINT           THRU 520-EXIT
           MOVE    HD6                 TO   LN1
           PERFORM 520-PRINT           THRU 520-EXIT
           MOVE    OLDLN               TO   LN1
           MOVE    '0'                 TO   CTLCHAR.
       525-EXIT.
           EXIT.

      ******************************************************************
       610-1CHG.
           MOVE    SRTKCNBR            TO   OLDKCNBR
           MOVE    SPACES              TO   OLDHDRFLG
           IF      SRTKCONTROL         =    LOW-VALUES
             IF    SRTKSCHL            =    '0000'
               MOVE  SRTAMT1           TO   EDT70SAL
               MOVE  SRTAMT2           TO   EDT70BEN
               MOVE  SRTAMT3           TO   EDT70PURSRV
               MOVE  SRTAMT4           TO   EDT70MTRL
               MOVE  SRTAMT5           TO   EDT70OTHR
               MOVE  SRTAMT6           TO   EDT70CAP
               MOVE  SRTAMT7           TO   EDT70CHRTR
               MOVE  SRTPCTERR         TO   EDT70PCTERR
             ELSE
               MOVE  SRTAMT1           TO   EDT7XSAL
               MOVE  SRTAMT2           TO   EDT7XBEN
               MOVE  SRTAMT3           TO   EDT7XPURSRV
               MOVE  SRTAMT4           TO   EDT7XMTRL
               MOVE  SRTAMT5           TO   EDT7XOTHR
               MOVE  SRTAMT6           TO   EDT7XCAP.
           IF        SRTKCONTROL       =    '1000'
             MOVE    SRTPCT            TO   EDT1000PCT.
       610-EXIT.
           EXIT.

       615-1TOT.
       615-EXIT.
           EXIT.

       620-2CHG.
           MOVE    SRTKSCHL            TO   OLDKSCHL      HD6SCHL
           MOVE    SPACES              TO   HD6MSG        HD6CDE
           MOVE    '    SCL'           TO   SCLKEY
           MOVE    SRTKDIST            TO   SCLDIST
           MOVE    SRTKFY              TO   SCLFY
           MOVE    SRTKSCHL            TO   SCLSCL
           MOVE    SCLKEY              TO   CRFDK
           READ    CRF-DISK
           IF      RETCRF              NOT  =   '00'
             MOVE  'UNKNOWN'           TO   HD6DESC
             MOVE  '15'                TO   HD6CDE1
             MOVE  '* ERROR *'         TO   HD6MSG
           ELSE
             MOVE  CRFD                TO   SCL
             MOVE  SCLDESC             TO   HD6DESC.

           MOVE    SPACES              TO   EDTSTAFF       EDTSPACE
                                            EDTFTE
           MOVE    SRTKDIST            TO   SPT
           MOVE    SRTKFY              TO   SPTFY
           MOVE    SRTKFUND            TO   SPTFUND
           MOVE    SRTKTABLE           TO   SPTTABLE
           MOVE    SRTKSCHL            TO   SPTSCHL
           MOVE    LOW-VALUES          TO   SPTPGM
           MOVE    SPTKEY              TO   SPTDK
           START   SPT-DISK            KEY  >   SPTDK.
       620-LOOP.
           READ    SPT-DISK  NEXT
           MOVE    SPTD                TO   SPT
           IF     (RETSPT              =    '00')                   AND
                  (SPTDIST             =    SRTKDIST)               AND
                  (SPTFY               =    SRTKFY)                 AND
                  (SPTFUND             =    SRTKFUND)               AND
                  (SPTTABLE            =    SRTKTABLE)              AND
                  (SPTSCHL             =    SRTKSCHL)               AND
                  (EDTSTAFF            =    SPACES               OR
                   EDTSPACE            =    SPACES               OR
                   EDTFTE              =    SPACES)
             PERFORM 800-STF           THRU 800-EXIT
             PERFORM 810-SPC           THRU 810-EXIT
             PERFORM 820-FTE           THRU 820-EXIT
             GO                        TO   620-LOOP.

090707*****************************************************************
090707* BYPASS TABLE EDIT ON CHARTER SCHOOLS                         **
090707*****************************************************************
090707     IF      SRTKTABLE           =    '99998'
090707       GO                        TO   620-CONT.
           IF     (SRTKSCHL            NOT  =  '0000')             AND
                  (EDTSTAFF            =    SPACE)                 AND
                  (EDTSPACE            =    SPACE)                 AND
                  (EDTFTE              =    SPACE)
             MOVE  '16'                TO   HD6CDE2
             MOVE  '* ERROR *'         TO   HD6MSG.
090707 620-CONT.
           MOVE    +80                 TO   CTRLN
           PERFORM 610-1CHG            THRU 610-EXIT.
       620-EXIT.
           EXIT.

       625-2TOT.
           IF      CTRLN               =    +80
             GO                        TO   625-EXIT.
       625-LOOP.
           IF      CTRLN               <    +60
             PERFORM  520-PRINT        THRU 520-EXIT
             GO                        TO   625-LOOP.
           IF      OLDKSCHL            =    '0000'
             MOVE  'TOTAL 7000'        TO   LN4MSG
             MOVE  EDT70SAL            TO   LN4AMT19
             MOVE  EDT70BEN            TO   LN4AMT29
             MOVE  EDT70PURSRV         TO   LN4AMT39
             MOVE  EDT70MTRL           TO   LN4AMT49
             MOVE  EDT70OTHR           TO   LN4AMT59
             MOVE  EDT70CAP            TO   LN4AMT69
             PERFORM  520-PRINT        THRU 520-EXIT
           ELSE
             MOVE  'TOTAL 7XXX'        TO   LN4MSG
             MOVE  EDT7XSAL            TO   LN4AMT19
             MOVE  EDT7XBEN            TO   LN4AMT29
             MOVE  EDT7XPURSRV         TO   LN4AMT39
             MOVE  EDT7XMTRL           TO   LN4AMT49
             MOVE  EDT7XOTHR           TO   LN4AMT59
             MOVE  EDT7XCAP            TO   LN4AMT69
             PERFORM  520-PRINT        THRU 520-EXIT.
       625-EXIT.
           EXIT.

       630-3CHG.
           MOVE    SRTKFUND            TO   OLDKFUND     HD4FUND
           MOVE    SRTKTABLE           TO   OLDKTABLE    HD5TBLE
           MOVE    SPACES              TO   HD4MSG       HD5MSG
                                            HD4CDE       HD5CDE
090707*****************************************************************
090707* BYPASS TABLE EDIT ON CHARTER SCHOOLS                         **
090707*****************************************************************
051909*    IF      SRTKTABLE           =    '99998'
051909     IF      SRTKTABLE           =    '99998'                AND
051909           ((SRTKFUND        NOT =    '5')                   AND
051909            (SRTKFUND        NOT =    '6')                   AND
020411            (SRTKFUND        NOT =    '8')                   AND
020411            (SRTKFUND        NOT =    '9')                   AND
051909            (SRTKFUND        NOT =    '7'))
090707       MOVE  'CHARTER'           TO   HD5DESC
051909*      GO                        TO   630-CONT.
051909       GO                        TO   630-CONT
051909     ELSE
051909       IF    SRTKTABLE           =    '99998'                AND
051909           ((SRTKFUND            =    '5')                    OR
051909            (SRTKFUND            =    '6')                    OR
020411            (SRTKFUND            =    '8')                    OR
020411            (SRTKFUND            =    '9')                    OR
051909            (SRTKFUND            =    '7'))
051909       MOVE  '       '           TO   HD5DESC
051909       GO                        TO   630-CONT.
051909*****************************************************************
051909* BYPASS TABLE EDIT ON FUNDS 5, 6 & 7                          **
051909*****************************************************************
051909     IF      SRTKFUND            =    '5' OR '6' OR '7'
020411                                          OR '8' OR '9'
051909       MOVE  'AMERICAN RECOVERY & REINVEST    '
051909                                 TO   HD5DESC
051909       GO                        TO   630-CONT.
           MOVE    SRTKDIST            TO   TBLKEY
           MOVE    SRTKFY              TO   TBLFY
           MOVE    'TBL'               TO   TBLPREF
           MOVE    SRTKTABLE           TO   TBLTBL
           MOVE    TBLKEY              TO   CRFDK
           READ    CRF-DISK
           IF      RETCRF              NOT  =   '00'
             MOVE  'UNKNOWN'           TO   HD5DESC
             MOVE  '10'                TO   HD4CDE1      HD5CDE1
             MOVE  '* ERROR *'         TO   HD4MSG       HD5MSG
             MOVE  SPACES              TO   TBL
           ELSE
             MOVE  CRFD                TO   TBL
             MOVE  TBLDESC             TO   HD5DESC.
           IF      SRTKFUND            NOT  =  TBLFTYPE
             MOVE  '11'                TO   HD4CDE2      HD5CDE2
             MOVE  '* ERROR *'         TO   HD4MSG       HD5MSG.

           MOVE    ZEROS               TO   EDT70SAL   EDT70BEN
           EDT70CHRTR EDT70PURSRV  EDT70MTRL  EDT70OTHR  EDT70CAP
           MOVE    SPACES              TO   EDT70PCTERR
           MOVE    ZEROS               TO   EDT7XSAL   EDT7XBEN
           EDT7XCHRTR EDT7XPURSRV  EDT7XMTRL  EDT7XOTHR  EDT7XCAP
           MOVE    SPACES              TO   EDT1000PCT EDTSTAFF
                                            EDTSPACE   EDTFTE
           MOVE    SRTKDIST            TO   SPT
           MOVE    SRTKFY              TO   SPTFY
           MOVE    SRTKFUND            TO   SPTFUND
           MOVE    SRTKTABLE           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  =  SRTKDIST)          OR
                  (SPTFY               NOT  =  SRTKFY)            OR
                  (SPTFUND             NOT  =  SRTKFUND)          OR
                  (SPTTABLE            NOT  =  SRTKTABLE)
             MOVE  '16'                TO   HD4CDE3     HD5CDE3
             MOVE  '* ERROR *'         TO   HD4MSG      HD5MSG.

090707 630-CONT.
           PERFORM 620-2CHG            THRU 620-EXIT.
       630-EXIT.
           EXIT.

       635-3TOT.
       635-EXIT.
           EXIT.

       640-4CHG.
           MOVE    SRTKREQ             TO   OLDKREQ
           MOVE    SRTKDIST            TO   OLDKDIST
           MOVE    SRTKFY              TO   OLDKFY
           MOVE    ZEROS               TO   CTRLN       CTRPG
           MOVE    SRTPRT              TO   OLDPRT
           MOVE    '    SCL0000'       TO   SCLKEY
           MOVE    SRTKDIST            TO   SCLDIST
           MOVE    SRTKFY              TO   SCLFY
           MOVE    SCLKEY              TO   CRFDK
           READ    CRF-DISK
           IF      RETCRF              NOT  =   '00'
             MOVE  'UNKNOWN'           TO   HD1ABBR
           ELSE
             MOVE  CRFD                TO   SCL
             MOVE  SCLABBR             TO   HD1ABBR.

           SET     HD11X               TO   +15.
       640-REQ.
           IF      HD1B        (HD11X) =    SPACES
             SET   HD11X               DOWN BY  +1
             GO                        TO   640-REQ.
           SET     HD11X               UP   BY  +1
           MOVE    '-'                 TO   HD1B         (HD11X)
           SET     HD11X               UP   BY  +1
           MOVE    SRTKREQ1            TO   HD1B         (HD11X)
           SET     HD11X               UP   BY  +1
           MOVE    SRTKREQ2            TO   HD1B         (HD11X)
           SET     HD11X               UP   BY  +1
           MOVE    SRTKREQ3            TO   HD1B         (HD11X)
           SET     HD11X               UP   BY  +1
           MOVE    '-'                 TO   HD1B         (HD11X)
           SET     HD11X               UP   BY  +1
           MOVE    SRTKFY1             TO   HD1B         (HD11X)
           SET     HD11X               UP   BY  +1
           MOVE    SRTKFY2             TO   HD1B         (HD11X)

           SET     RQH1                TO   +1.
       640-HEAD.
           IF      RQHREQ       (RQH1) NOT  =   HIGH-VALUES
             IF      RQHREQ     (RQH1) NOT  =   SRTKREQ
               SET   RQH1              UP   BY  +1
               GO                      TO   640-HEAD
             ELSE
               IF      RQHID    (RQH1) =    'H1'
                 MOVE  RQHHEAD  (RQH1) TO   HD2HEAD
                 MOVE  RQHUSER  (RQH1) TO   HD1USER
                 SET   RQH1            UP   BY  +1
                 GO                    TO   640-HEAD
               ELSE
                 IF      RQHID  (RQH1) =    'H2'
                   MOVE  RQHHEAD (RQH1) TO  HD3HEAD
                   SET   RQH1          UP   BY  +1
                   GO                  TO   640-HEAD.
           IF      OLDPRT              =    'N'
             MOVE  SPACES              TO   HD2HEAD       HD1USER
             MOVE  SPACES              TO   HD3HEAD
           ELSE
             IF      OLDPRT            =    'U'
               MOVE  SPACES            TO   HD2HEAD       HD3HEAD
             ELSE
               IF      OLDPRT          =    'T'
                 MOVE  SPACES          TO   HD1USER.

           PERFORM 630-3CHG            THRU 630-EXIT.
       640-EXIT.
           EXIT.

       645-4TOT.
       645-EXIT.
           EXIT.

      ******************************************************************
       700-EDIT.
           MOVE    SPACES              TO   EDTLN      WSCCDETBL
           SET     WSC1                TO   +1
           IF      SRTKCNBR            NOT  = '1'
             GO                        TO   700-2000-EDIT.
           IF     (SRTAMT1             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN1AMT1
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT1ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT1
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (EDT70SAL            >    SRTAMT1)
             MOVE  ALL  '-'            TO   EDTLN1AMT1
             IF    WSC1                <    +5
               MOVE  '18'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT2             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN1AMT2
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT2ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT2
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (EDT70BEN            >    SRTAMT2)
             MOVE  ALL  '-'            TO   EDTLN1AMT2
             IF    WSC1                <    +5
               MOVE  '20'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT3             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN1AMT3
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT3ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT3
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (EDT70PURSRV         >    SRTAMT3)
             MOVE  ALL  '-'            TO   EDTLN1AMT3
             IF    WSC1                <    +5
               MOVE  '22'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT4             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN1AMT4
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT4ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT4
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (EDT70MTRL           >    SRTAMT4)
             MOVE  ALL  '-'            TO   EDTLN1AMT4
             IF    WSC1                <    +5
               MOVE  '24'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT5             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN1AMT5
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT5ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT5
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (EDT70OTHR           >    SRTAMT5)
             MOVE  ALL  '-'            TO   EDTLN1AMT5
             IF    WSC1                <    +5
               MOVE  '26'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT6             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN1AMT1
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT6ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT6
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (EDT70CAP            >    SRTAMT6)
             MOVE  ALL  '-'            TO   EDTLN1AMT6
             IF    WSC1                <    +5
               MOVE  '28'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTPCT              NOT  =  SPACES          AND
                   SRTPCT              NOT  =  'P')
             MOVE  ALL  '-'            TO   EDTLN1PCT
             IF    WSC1                <    +5
               MOVE  '13'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF      EDT70PCTERR         =    'Y'
             MOVE  ALL  '-'            TO   EDTLN1PCT
             IF    WSC1                <    +5
               MOVE  '68'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
       700-2000-EDIT.
           IF      SRTKCNBR            NOT  = '2'
             GO                        TO   700-3000-EDIT.
           IF     (SRTKCONTROL         NOT  = '2000')              AND
                  (SRTKCONTROL         NOT  = '2001')              AND
041806*           (SRTKCONTROL         NOT  = '2002')
041806            (SRTKCONTROL         NOT  = '2002')              AND
041806            (SRTKCONTROL         NOT  = '2003')
             MOVE  ALL  '-'            TO   EDTLN2CTRL
             IF    WSC1                <    +5
               MOVE  '30'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT1             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN2AMT1
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT1ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN2AMT1
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT2             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN2AMT2
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT2ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN2AMT2
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT3             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN2AMT3
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT3ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN2AMT3
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT4             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN2AMT4
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT4ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN2AMT4
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
       700-3000-EDIT.
           IF      SRTKCNBR            NOT  = '3'
             GO                        TO   700-6000-EDIT.
           IF     (SRTKCONTROL         NOT  = '3000')              AND
                  (SRTKCONTROL         NOT  = '3001')              AND
                  (SRTKCONTROL         NOT  = '3002')              AND
                  (SRTKCONTROL         NOT  = '3003')
             MOVE  ALL  '-'            TO   EDTLN2CTRL
             IF    WSC1                <    +5
               MOVE  '34'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT1             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN2AMT1
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT1ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN2AMT1
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT2             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN2AMT2
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT2ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN2AMT2
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT3             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN2AMT3
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT3ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN2AMT3
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT4             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN2AMT4
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT4ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN2AMT4
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
       700-6000-EDIT.
           IF      SRTKCNBR            NOT  = '6'
             GO                        TO   700-7000-EDIT.
           IF     (SRTKCONTROL         NOT  = '6000')              AND
                  (SRTKCONTROL         NOT  = '6001')              AND
041806*           (SRTKCONTROL         NOT  = '6002')
041806            (SRTKCONTROL         NOT  = '6002')              AND
041806            (SRTKCONTROL         NOT  = '6003')
             MOVE  ALL  '-'            TO   EDTLN2CTRL
             IF    WSC1                <    +5
               MOVE  '36'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT1             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN2AMT1
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT1ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN2AMT1
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT2             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN2AMT2
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT2ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN2AMT2
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT3             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN2AMT3
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT3ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN2AMT3
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT4             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN2AMT4
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT4ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN2AMT4
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
       700-7000-EDIT.
           IF      SRTKCONTROL         NOT  = '7000'
             GO                        TO   700-7XXX-EDIT.

           IF     (SRTAMT1             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN1AMT1
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT1ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT1
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (EDT7XSAL            >    SRTAMT1)
             MOVE  ALL  '-'            TO   EDTLN1AMT1
             IF    WSC1                <    +5
               MOVE  '56'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
040301     MOVE    ZEROS               TO   WSCSALCHK                   EW019050
040301     IF      SRTAMT1             NOT  =  0                        EW019060
040301       COMPUTE  WSCSALCHK        =    EDT7XSAL / SRTAMT1          EW019070
040301     ELSE                                                         EW019080
040301       MOVE     ZEROS            TO   WSCSALCHK.                  EW019090
040301     IF      SRTKTABLE           =    '00001'            AND      EW019100
040301             WSCSALCHK           NOT  =  0               AND      EW019110
040301             WSCSALCHK           <    WSCPCT1                     EW019120
040301       MOVE  ALL  '-'            TO   EDTLN1AMT1                  EW019130
040301       IF    WSC1                <    +5                          EW019140
040301         MOVE  '57'              TO   WSCCODE    (WSC1)           EW019150
040301         SET  WSC1               UP   BY  +1.                     EW019160
           IF     (SRTAMT1             NOT  =  ZEROS           AND
                   EDTSTAFF            NOT  =  'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT1
             IF    WSC1                <    +5
               MOVE  '50'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT2             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN1AMT2
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT2ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT2
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (EDT7XBEN            >    SRTAMT2)
             MOVE  ALL  '-'            TO   EDTLN1AMT2
             IF    WSC1                <    +5
               MOVE  '58'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT2             NOT  =  ZEROS           AND
                   EDTSTAFF            NOT  =  'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT2
             IF    WSC1                <    +5
               MOVE  '52'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTPCT              =    'P'                AND
                   SRTAMT2             =    ZERO)
             MOVE  ALL  '-'            TO   EDTLN1AMT2
             IF    WSC1                <    +5
               MOVE  '40'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (EDT1000PCT          =    SPACES             AND
                   SRTPCT              =    SPACES             AND
                   SRTAMT2             =    ZEROS              AND
      *&&BEG
      *  THIS IS TO MODIFY THE EDIT, SO THAT WHEN BENIFITS
      *  ARE ZERO, IT IS ONLY AN ERROR WHEN THERE IS A
      *  SALARY.  IF THERE IS NO SALARY, OF COURSE THERE
      *  WOULD BE NO BENIFITS.
      *
                   SRTAMT1        NOT  =    ZEROS)
      *&&END
                MOVE  ALL  '-'            TO   EDTLN1AMT2
                IF    WSC1                <    +5
                  MOVE  '72'              TO   WSCCODE    (WSC1)
                  SET  WSC1               UP   BY  +1.
           IF     (SRTAMT3             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN1AMT3
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT3ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT3
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (EDT7XPURSRV         >    SRTAMT3)
             MOVE  ALL  '-'            TO   EDTLN1AMT3
             IF    WSC1                <    +5
               MOVE  '60'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT3             NOT  =  ZEROS           AND
                   EDTSTAFF            NOT  =  'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT3
             IF    WSC1                <    +5
               MOVE  '44'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT4             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN1AMT4
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT4ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT4
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (EDT7XMTRL           >    SRTAMT4)
             MOVE  ALL  '-'            TO   EDTLN1AMT4
             IF    WSC1                <    +5
               MOVE  '62'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT4             NOT  =  ZEROS           AND
                   EDTSTAFF            NOT  =  'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT4
             IF    WSC1                <    +5
               MOVE  '46'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT5             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN1AMT5
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT5ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT5
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (EDT7XOTHR           >    SRTAMT5)
             MOVE  ALL  '-'            TO   EDTLN1AMT5
             IF    WSC1                <    +5
               MOVE  '64'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT5             NOT  =  ZEROS           AND
                   EDTSTAFF            NOT  =  'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT5
             IF    WSC1                <    +5
               MOVE  '54'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT6             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN1AMT1
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT6ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT6
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (EDT7XCAP            >    SRTAMT6)
             MOVE  ALL  '-'            TO   EDTLN1AMT6
             IF    WSC1                <    +5
               MOVE  '66'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT6             NOT  =  ZEROS           AND
                   EDTSTAFF            NOT  =  'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT6
             IF    WSC1                <    +5
               MOVE  '48'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTPCT              NOT  =  SPACES          AND
                   SRTPCT              NOT  =  'P')
             MOVE  ALL  '-'            TO   EDTLN1PCT
             IF    WSC1                <    +5
               MOVE  '13'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTPCT              =    'P'                AND
                   EDT1000PCT          NOT  =  'P')
             MOVE  ALL  '-'            TO   EDTLN1PCT
             IF    WSC1                <    +5
               MOVE  '42'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
       700-7XXX-EDIT.
           IF     (SRTKCNBR            NOT  = '7')                 OR
                  (SRTKCONTROL         =    '7000')
             GO                        TO   700-8000-EDIT.
           IF     (SRTAMT1             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN1AMT1
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT1ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT1
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT1             NOT  =  ZEROS           AND
                   EDTSTAFF            NOT  =  'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT1
             IF    WSC1                <    +5
               MOVE  '50'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT2             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN1AMT2
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT2ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT2
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT2             NOT  =  ZEROS           AND
                   EDTSTAFF            NOT  =  'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT2
             IF    WSC1                <    +5
               MOVE  '52'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT3             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN1AMT3
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT3ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT3
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT3             NOT  =  ZEROS           AND
                   EDTSTAFF            NOT  =  'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT3
             IF    WSC1                <    +5
               MOVE  '44'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT4             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN1AMT4
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT4ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT4
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT4             NOT  =  ZEROS           AND
                   EDTSTAFF            NOT  =  'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT4
             IF    WSC1                <    +5
               MOVE  '46'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT5             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN1AMT5
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT5ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT5
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT5             NOT  =  ZEROS           AND
                   EDTSTAFF            NOT  =  'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT5
             IF    WSC1                <    +5
               MOVE  '54'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT6             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN1AMT1
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT6ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT6
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT6             NOT  =  ZEROS           AND
                   EDTSTAFF            NOT  =  'Y')
             MOVE  ALL  '-'            TO   EDTLN1AMT6
             IF    WSC1                <    +5
               MOVE  '48'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           MOVE    SRTKDIST            TO   SPT
           MOVE    SRTKFY              TO   SPTFY
           MOVE    SRTKFUND            TO   SPTFUND
           MOVE    SRTKTABLE           TO   SPTTABLE
           MOVE    SRTKSCHL            TO   SPTSCHL
           MOVE    SRTKCPGM            TO   SPTPGM
           MOVE    SPTKEY              TO   SPTDK
           READ    SPT-DISK
           IF      RETSPT              NOT  =  '00'
             MOVE  ALL  '-'            TO   EDTLN1CTRL
             IF    WSC1                <    +5
               MOVE  '70'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
       700-8000-EDIT.
           IF      SRTKCNBR            NOT  = '8'
             GO                        TO   700-CONT.
           IF     (SRTKCONTROL         NOT  = '8000')
             MOVE  ALL  '-'            TO   EDTLN3CTRL
             IF    WSC1                <    +5
               MOVE  '74'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT1             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN3AMT1
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT1ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN3AMT1
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT2             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN3AMT2
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT2ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN3AMT2
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT3             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN3AMT3
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT3ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN3AMT3
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT4             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN3AMT4
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT4ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN3AMT4
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT5             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN3AMT5
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT5ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN3AMT5
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT6             <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN3AMT6
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTAMT6ERR          =    'Y')
             MOVE  ALL  '-'            TO   EDTLN3AMT6
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTTOTAL            <    ZERO)
             MOVE  ALL  '-'            TO   EDTLN3TOT
             IF    WSC1                <    +5
               MOVE  '12'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
           IF     (SRTTOTALERR         =    'Y')
             MOVE  ALL  '-'            TO   EDTLN3TOT
             IF    WSC1                <    +5
               MOVE  '14'              TO   WSCCODE    (WSC1)
               SET  WSC1               UP   BY  +1.
       700-CONT.
           IF      EDTLN               NOT  =  SPACES
             MOVE  '* ERROR *'         TO   EDTLN1MSG.
           MOVE    WSCCODE     (01)    TO   EDTLN1CODE1
           MOVE    WSCCODE     (02)    TO   EDTLN1CODE2
           MOVE    WSCCODE     (03)    TO   EDTLN1CODE3
           MOVE    WSCCODE     (04)    TO   EDTLN1CODE4.
       700-EXIT.
           EXIT.

      ******************************************************************
       800-STF.
           IF      SPTPGMSTF           >    ZERO
             MOVE  'Y'                 TO   EDTSTAFF.
       800-EXIT.
           EXIT.
      ******************************************************************
       810-SPC.
           IF      SPTPGMSPC           >    ZERO
             MOVE  'Y'                 TO   EDTSPACE.
       810-EXIT.
           EXIT.
      ******************************************************************
       820-FTE.
           IF      SPTPGMFTE           >    ZERO
             MOVE  'Y'                 TO   EDTFTE.
       820-EXIT.
           EXIT.
      ******************************************************************
       990-HOUSEKEEPING.
           PERFORM 510-READ            THRU 510-EXIT
           ACCEPT  SYSDATE             FROM DATE
           MOVE    SYSYY               TO   HD1YY
           MOVE    SYSMM               TO   HD1MM
           MOVE    SYSDD               TO   HD1DD
           ACCEPT  SYSTIME             FROM TIME
           MOVE    SYSHR               TO   HD1HR
           MOVE    SYSMIN              TO   HD1MN
           IF      SRTKEY              =    HIGH-VALUES
             MOVE    ' EW027 NO DATA TO PROCESS'  TO  LNM
             PERFORM 520-PRINT         THRU 520-EXIT
             GO                        TO   999-EOJ.
           PERFORM 640-4CHG            THRU 640-EXIT.
       990-EXIT.
           EXIT.

      ******************************************************************
       999-EOJ.
041006     IF      CTRERR              =    +0
041006       MOVE    SPACES                      TO  HD4  HD5  HD6
041006       MOVE    ' EW027 NO ERRORS FOUND'    TO  LNM
041006       PERFORM 520-PRINT         THRU 520-EXIT.
           CLOSE                            CRD-CARD      CRF-DISK
                                            PR1-PRNT      CDF-DISK
                                            SPT-DISK.
       999-EXIT.
           EXIT.
