       IDENTIFICATION DIVISION.                                                 
       PROGRAM-ID.    EW25.                                                     
       AUTHOR.        DOE.                                                      
      ******************************************************************        
      *                         A03. SATSY (INPUT)                     *        
      ******************************************************************        
      * DATE CREATED:  06/07/95                                        *    0011
      ******************************************************************        
      * CALL #  - MMDDYY - PURPOSE                                     *        
      * 9508025 - 081095 - DEFAULT 100 INTO PERCENT SCHOOL FIELD.      *        
      * 9511066 - 113095 - ALLOW FOR RECORDS WITH FROM PERIOD = ZEROS. *        
      * 9512051 - 121595 - INITIALIZE VARIABLE RETERR2.                *        
      * FIX9717 - 042797 - EXPAND Q-WORK TABLE SIZES  .                *        
      * 2004002 - 053105 - PREVENT UPDATES TO CHARTER SCHOOLS          *        
      ******************************************************************        
                                                                                
       ENVIRONMENT DIVISION.                                                    
       CONFIGURATION SECTION.                                                   
       DATA DIVISION.                                                           
                                                                                
       WORKING-STORAGE SECTION.                                                 
                                                                                
       01            WSC.                                                       
           05        WSCMAPLEN         PIC S9(04) COMP SYNC VALUE +0609.        
           05        WSCMAXRD          PIC S9(04) COMP SYNC VALUE +300.         
           05        WSCRDCNT          PIC S9(04) COMP SYNC VALUE +0.           
           05        WSCLNCNT          PIC S9(02) COMP.                         
           05        WSCLNINC          PIC S9(02) COMP.                         
           05        WSCLNMAX          PIC S9(02) COMP.                         
           05        WSCPCT1           PIC S9(03)V9(02).                        
           05        WSCPCT2           PIC S9(03)V9(03).                        
           05        WSCERRPOS         PIC S9(01).                              
           05        WSCHOURS          PIC S9(04)V9(03).                        
           05        WSCDAYS           PIC S9(04).                              
           05        WSCFTE            PIC S9(03)V9(04).                        
           05        WSCSALARY         PIC S9(08).                              
           05        WSCACT            PIC  X(01).                              
           05        WSCADDLN          PIC  X(01).                              
           05        WSCFIRST          PIC  X(01)  VALUE  SPACES.               
           05        WSCDSPLY          PIC  X(01)  VALUE  SPACES.               
           05        WSCSMP.                                                    
             10      WSCSMP1           PIC  X(01).                              
             10      WSCSMP2           PIC  X(01).                              
             10      WSCSMP3           PIC  X(01).                              
             10      WSCSMP4           PIC  X(01).                              
           05        HGH.                                                       
             10      HGHDIST           PIC  X(02).                              
             10      HGHFY             PIC  X(02).                              
             10      HGHSSN            PIC  X(10).                              
             10      HGHJOB            PIC  X(02).                              
             10      HGHSCHL           PIC  X(04).                              
             10      HGHSURVEY         PIC  X(01).                              
             10      HGHMOD            PIC  X(02).                              
             10      HGHPGM            PIC  X(03).                              
                                                                                
       01            IDX.                                                       
           05        IDX2              PIC S9(03) COMP-3.                       
           05        IDX3              PIC S9(03) COMP-3.                       
                                                                                
       01            EDTTBL.                                                    
           05        EDTENTRY   OCCURS 004  TIMES INDEXED BY EDT1.              
             10      EDTPMOD           PIC S9(01)V9(02)   COMP-3.               
             10      EDTEMPTY          PIC S9(03)         COMP-3.               
             10      EDTLASTMOD        PIC  X(02).                              
             10      EDTNBRMOD         PIC S9(03)         COMP-3.               
113095*      10      EDTENTRY2  OCCURS 099  TIMES INDEXED BY EDT2.              
113095       10      EDTENTRY2  OCCURS 100  TIMES INDEXED BY EDT2.              
               15    EDTMODUPD         PIC  X(01).                              
               15    EDTPCT            PIC S9(02)V9(03)   COMP-3.               
               15    EDTLASTPGM        PIC  X(03).                              
                                                                                
       01            UPDTBL.                                                    
           05        UPDENTRY   OCCURS 005  TIMES INDEXED BY UPD1.              
             10      UPDSURVEY         PIC  X(01).                              
             10      UPDMOD            PIC  X(02).                              
             10      UPDSPACE          PIC S9(05)         COMP-3.               
             10      UPDPMOD           PIC S9(01)V9(02)   COMP-3.               
                                                                                
       01            WSK.                                                       
           05        NEWKEY.                                                    
             10      NEWSCHL           PIC  X(04).                              
             10      NEWSSN.                                                    
               15    NEWSSN9           PIC  9(09).                              
               15    FILLER            PIC  X(01).                              
             10      NEWJOB.                                                    
               15    NEWJOB9           PIC  9(02).                              
           05        NEWPANEL.                                                  
             10      NEWPANEL1         PIC  X(01).                              
             10      NEWPANEL2         PIC  X(02).                              
           05        OLDKEY            PIC  X(16).                              
           05        OLDSURV           PIC  X(01).                              
           05        OLDMOD            PIC  X(02).                              
       01            NEWR       REDEFINES   WSK.                                
           05        NEWB       OCCURS 019  TIMES  INDEXED BY NEW1              
                                       PIC  X(01).                              
                                                                                
       01            RET.                                                       
           05        RETQWR            PIC  X(02).                              
           05        RETQWRT1          PIC  X(02).                              
           05        RETQWRT2          PIC  X(02).                              
           05        RETCRF            PIC  X(02).                              
           05        RETSMP            PIC  X(02).                              
           05        RETSTS            PIC  X(02).                              
           05        RETSTH            PIC  X(02).                              
           05        RETERR            PIC S9(01).                              
           05        RETERR2           PIC S9(01).                              
                                                                                
       01            MSG.                                                       
           05        MSG01             PIC  X(35) VALUE                         
                     'District is not authorized.  EXIT.'.                      
           05        MSG03             PIC  X(37) VALUE                         
                     'Highlighted elements in error. Retry.'.                   
           05        MSG13             PIC  X(28) VALUE                         
                     'No previous records.  Next ?'.                            
           05        MSG14             PIC  X(30) VALUE                         
                     'No additional records.  Next ?'.                          
           05        MSG15             PIC  X(28) VALUE                         
                     'Record(s) unchanged.  Next ?'.                            
           05        MSG17             PIC  X(26) VALUE                         
                     'Record(s) updated.  Next ?'.                              
           05        MSG18             PIC  X(40) VALUE                         
                     'Please type key element(s).  Then ENTER.'.                
           05        MSG20             PIC  X(17) VALUE                         
                     'Records deleted. '.                                       
           05        MSG21             PIC  X(35) VALUE                         
                     'Not on file. Not update authorized.'.                     
           05        MSG22             PIC  X(38) VALUE                         
                     'Records displayed for inquiry.  Next ?'.                  
           05        MSG23             PIC  X(40) VALUE                         
                     'Not on file.  Type data to add or retry.'.                
           05        MSG25             PIC  X(22) VALUE                         
                     'Page full.  Continue ?'.                                  
           05        MSG26             PIC  X(25) VALUE                         
                     'No records found.  Next ?'.                               
           05        MSG27             PIC  X(29) VALUE                         
                     'Record limit met.  Continue ?'.                           
           05        MSG28             PIC  X(35) VALUE                         
                     'No record on line selected.  Next ?'.                     
           05        MSG29             PIC  X(28) VALUE                         
                     'No record to delete.  Next ?'.                            
           05        MSG33             PIC  X(37) VALUE                         
                     'Panel cleared.  Enter new records.'.                      
           05        MSG90             PIC  X(35) VALUE                         
                     'Not authorized for panel requested.'.                     
           05        MSG91             PIC  X(32) VALUE                         
                     'Not authorized at this terminal.'.                        
           05        MSG92             PIC  X(35) VALUE                         
                     'Panel unknown/not installed. Retry.'.                     
           05        MSG93             PIC  X(39) VALUE                         
                     'Panel temporarily disabled.  Try later.'.                 
           05        MSG94             PIC  X(41) VALUE                         
                     'Unknown system error. Request assistance.'.               
           05        MSG95             PIC  X(35) VALUE                         
                     'Database error. Request assistance.'.                     
           05        MSG96             PIC  X(42) VALUE                         
                     'Program error(INVREQ). Request assistance.'.              
           05        MSG97             PIC  X(30) VALUE                         
                     'Database closed.  Retry later.'.                          
                                                                                
           COPY                             EWQWRC.                             
           COPY                             EWCRFC.                             
           COPY                             EWSMPC.                             
           COPY                             EWSTSC.                             
           COPY                             EWSTHC.                             
                                                                                
           COPY                             EWQWR.                              
           05        QWRMAPR     REDEFINES  QWRMAP.                             
             10      FILLER            PIC  X(0146).                            
             10      QWRLINES          PIC  X(1399).                            
       01            QWRTBL      REDEFINES  QWR.                                
           05        FILLER            PIC  X(008).                             
042797*    05        QWRTBL1           PIC  X(701).                             
042797*    05        QWRTBL2           PIC  X(701).                             
042797*    05        FILLER            PIC  X(638).                             
042797     05        QWRTBL1           PIC  X(708).                             
042797     05        QWRTBL2           PIC  X(708).                             
042797     05        FILLER            PIC  X(624).                             
                                                                                
           COPY                             EWQWRI.                             
           COPY                             EWNUMBW.                            
           COPY                             EWSCL.                              
           COPY                             EWFPG.                              
           COPY                             EWTBL.                              
           COPY                             EWIOP.                              
           COPY                             EWSMP.                              
                                                                                
       01            OMP.                                                       
           05        OMPKEY.                                                    
             10      OMPDIST           PIC  X(02).                              
             10      OMPFY             PIC  X(02).                              
             10      OMPSSN            PIC  X(10).                              
             10      OMPJOB            PIC  X(02).                              
             10      OMPSCHL           PIC  X(04).                              
             10      OMPSURVEY         PIC  X(01).                              
             10      OMPMOD            PIC  X(02).                              
             10      OMPPGM            PIC  X(03).                              
           05        OMPDATA.                                                   
               15    FILLER            PIC  X(12).                              
               15    OMPPCT            PIC S9(02)V9(03) COMP-3.                 
               15    FILLER            PIC  X(09).                              
                                                                                
           COPY                             EWSTS.                              
                                                                                
       01            OTS.                                                       
           05        OTSKEY            PIC  X(23).                              
           05        OTSDATA.                                                   
             10      FILLER            PIC  X(12).                              
             10      OTSPMOD           PIC S9(01)V9(02) COMP-3.                 
             10      FILLER            PIC  X(13).                              
                                                                                
           COPY                             EWSTH.                              
                                                                                
       01            OTH.                                                       
           05        OTHALT1           PIC  X(20).                              
           05        OTHATL2.                                                   
             10      FILLER            PIC  X(34).                              
             10      OTHKEY            PIC  X(20).                              
           05        OTHDATA           PIC  X(70).                              
                                                                                
           COPY                             EWWCM.                              
           COPY                             DFHAID.                             
           COPY                             EWWAB.                              
                                                                                
           COPY                             MPEW25.                             
       01            MPEW25R     REDEFINES  MPEW25I.                            
           05        MAPBYTE        OCCURS  0609  TIMES INDEXED BY MAP1.        
             10      FILLER            PIC  X(01).                              
       01            MPEW25L     REDEFINES  MPEW25I.                            
ja0596*    05        FILLER            PIC  X(146).                             
ja0596     05        FILLER            PIC  X(150).                             
           05        MPSLINES.                                                  
             10      MPSLINE        OCCURS  005   TIMES INDEXED BY MPS2.        
               15    MPSSURVL          PIC S9(04)       COMP.                   
               15    MPSSURVA          PIC  X(01).                              
               15    MPSSURV           PIC  X(01).                              
               15    MPSMODL           PIC S9(04)       COMP.                   
               15    MPSMODA           PIC  X(01).                              
               15    MPSMOD            PIC  X(02).                              
JA0596         15    FILLER            PIC  X(01).                              
               15    MPSDTL         OCCURS  003   TIMES INDEXED BY MPS3.        
                 20  MPSPGML           PIC S9(04)       COMP.                   
                 20  MPSPGMA           PIC  X(01).                              
                 20  MPSPGM            PIC  X(03).                              
                 20  MPSSTDTL          PIC S9(04)       COMP.                   
                 20  MPSSTDTA          PIC  X(01).                              
                 20  MPSSTDT.                                                   
                  25 MPSSTDT9          PIC  ZZZ.                                
                 20  MPSPCTL           PIC S9(04)       COMP.                   
                 20  MPSPCTA           PIC  X(01).                              
                 20  MPSPCT.                                                    
                  25 MPSPCT9           PIC  ZZZ.Z.                              
               15    MPSSPCL           PIC S9(04)       COMP.                   
               15    MPSSPCA           PIC  X(01).                              
               15    MPSSPC.                                                    
                 20  MPSSPC9           PIC  ZZZZ.                               
JA0596         15    FILLER            PIC  X(01).                              
               15    MPSPMODL          PIC S9(04)       COMP.                   
               15    MPSPMODA          PIC  X(01).                              
               15    MPSPMOD.                                                   
                 20  MPSPMOD9          PIC  ZZZ.                                
           05        FILLER            PIC  X(53).                              
                                                                                
       LINKAGE SECTION.                                                         
                                                                                
       01  DFHCOMMAREA                 PIC  X(220).                             
                                                                                
       PROCEDURE DIVISION.                                                      
      ******************************************************************        
                                                                                
       000-CONTROL.                                                             
           MOVE    SPACES              TO   WSK           WCM                   
           MOVE    LOW-VALUES          TO   MPEW25O                             
           PERFORM 050-TBL-INIT        THRU 050-EXIT                            
           MOVE    '99'                TO   RETQWRT1                            
           EXEC    CICS HANDLE CONDITION    MAPFAIL  (100-DISPLAY)              
                   ERROR   (901-ERROR)      NOSPACE  (902-NOSPACE)              
                   INVREQ  (903-INVREQ)     NOTOPEN  (904-NOTOPEN)              
                   DSIDERR (905-DSIDERR)    END-EXEC                            
                                                                                
           MOVE    EIBTRMID            TO   QWRTRMID                            
           MOVE    'EWT1'              TO   QWRPGM                              
           EXEC    CICS HANDLE CONDITION    NOTFND  (005-NEW1) END-EXEC         
           EXEC    CICS READ                DATASET (QWRFIL)                    
                                            INTO    (QWR)                       
                                            RIDFLD  (QWRKEY)                    
                                            LENGTH  (QWRLENR)  END-EXEC         
           MOVE    '00'                TO   RETQWRT1                            
           MOVE    QWRTBL1             TO   EDTENTRY  (1)                       
           MOVE    QWRTBL2             TO   EDTENTRY  (2).                      
       005-NEW1.                                                                
           MOVE    EIBTRMID            TO   QWRTRMID                            
           MOVE    'EWT2'              TO   QWRPGM                              
           MOVE    '99'                TO   RETQWRT2                            
           EXEC    CICS HANDLE CONDITION    NOTFND  (005-NEW2) END-EXEC         
           EXEC    CICS READ                DATASET (QWRFIL)                    
                                            INTO    (QWR)                       
                                            RIDFLD  (QWRKEY)                    
                                            LENGTH  (QWRLENR)  END-EXEC         
           MOVE    '00'                TO   RETQWRT2                            
           MOVE    QWRTBL1             TO   EDTENTRY  (3)                       
           MOVE    QWRTBL2             TO   EDTENTRY  (4).                      
       005-NEW2.                                                                
           MOVE    EIBTRMID            TO   QWRTRMID                            
           MOVE    'EW25'              TO   QWRPGM                              
           MOVE    '99'                TO   RETQWR                              
           EXEC    CICS HANDLE CONDITION    NOTFND  (005-NEW3) END-EXEC         
           EXEC    CICS READ                DATASET (QWRFIL)                    
                                            INTO    (QWR)                       
                                            RIDFLD  (QWRKEY)                    
                                            LENGTH  (QWRLENR)  END-EXEC         
           MOVE    '00'                TO   RETQWR.                             
       005-NEW3.                                                                
           IF      RETQWR              NOT  =   '00'                            
             MOVE  QWRKEY              TO   QWRIKEY                             
             MOVE  QWRI                TO   QWR                                 
             MOVE  DFHCOMMAREA         TO   WCM                                 
             MOVE  ZEROS               TO   WCMXFCRS9     WCMXFPOS9             
             MOVE  HIGH-VALUES         TO   OLDKEY                              
           ELSE                                                                 
             MOVE  QWRWCM              TO   WCM                                 
             MOVE  QWROLD              TO   OLDKEY.                             
                                                                                
           MOVE    WCMSODISTA          TO   CRFFILDS      SMPFILDS              
                                            STSFILDS      STHFILDS              
           MOVE    QWROLD              TO   NEWKEY                              
                                                                                
           IF      EIBCALEN            >    ZEROS                               
             GO                        TO   850-CALLED.                         
           IF      EIBAID              NOT  =   DFHENTER                        
             GO                        TO   800-XCTL.                           
                                                                                
           PERFORM 010-RECEIVE         THRU 010-EXIT                            
           IF      NEWPANEL            NOT  =   SPACES                          
             MOVE  NEWPANEL            TO   WCMXFTPNL                           
             GO                        TO   805-XCTL.                           
           IF      NEWKEY              NOT  =   OLDKEY                          
             GO                        TO   100-DISPLAY                         
           ELSE                                                                 
             GO                        TO   300-UPDATE.                         
                                                                                
      ******************************************************************        
       010-RECEIVE.                                                             
           EXEC    CICS RECEIVE             MAP    ('MPEW25')  END-EXEC         
           MOVE    EIBCPOSN            TO   WCMXFCRS9                           
           SET     MAP1  QWR1          TO   +1.                                 
       010-LOOP1.                                                               
           IF     (MAPBYTE      (MAP1) NOT  =   LOW-VALUES)          AND        
                  (MAPBYTE      (MAP1) NOT  =   HIGH-VALUES)                    
             MOVE  MAPBYTE      (MAP1) TO   QWRBYTE      (QWR1).                
           IF      MAP1                <    WSCMAPLEN                           
             SET   MAP1  QWR1          UP   BY  +1                              
             GO                        TO   010-LOOP1.                          
           MOVE    QWRMAP              TO   MPEW25O                             
                                                                                
           MOVE    SPACES              TO   NEWKEY                              
           IF      MPANELA             =    WABEOF                              
             MOVE  WABUM               TO   MPANELA                             
             MOVE  ALL '_'             TO   MPANELO       NEWPANEL              
           ELSE                                                                 
             IF      MPANELL           >    ZEROS                               
               MOVE  MPANELI           TO   NEWPANEL                            
               MOVE  WABUM             TO   MPANELA                             
             ELSE                                                               
               IF      MPANELI         >    LOW-VALUES                          
                 MOVE  MPANELI         TO   NEWPANEL.                           
           IF      MSCHLA              =    WABEOF                              
             MOVE  WABUM               TO   MSCHLA                              
             MOVE  ALL '_'             TO   MSCHLO                              
           ELSE                                                                 
             IF      MSCHLL            >    ZEROS                               
               MOVE  ZEROS             TO   MSCHLL                              
               MOVE  MSCHLI            TO   NEWSCHL                             
               MOVE  WABUM             TO   MSCHLA                              
             ELSE                                                               
               IF      MSCHLI          >    LOW-VALUES                          
                 MOVE  WABUM           TO   MSCHLA                              
                 MOVE  MSCHLI          TO   NEWSCHL.                            
           IF      MSSNA               =    WABEOF                              
             MOVE  WABUM               TO   MSSNA                               
             MOVE  ALL '_'             TO   MSSNO                               
           ELSE                                                                 
             IF      MSSNL             >    ZEROS                               
               MOVE  ZEROS             TO   MSSNL                               
               MOVE  MSSNI             TO   NEWSSN                              
               MOVE  WABUM             TO   MSSNA                               
             ELSE                                                               
               IF      MSSNI           >    LOW-VALUES                          
                 MOVE  WABUM           TO   MSSNA                               
                 MOVE  MSSNI           TO   NEWSSN.                             
           IF      MJOBA               =    WABEOF                              
             MOVE  WABUM               TO   MJOBA                               
             MOVE  ALL '_'             TO   MJOBO                               
           ELSE                                                                 
             MOVE    MJOBI             TO   WNUIN                               
             PERFORM 700-CONVERT       THRU 700-EXIT                            
             MOVE    WABUNM            TO   MJOBA                               
             IF      WNU20             >    ZERO                                
               MOVE  WNU20             TO   NEWJOB9    MJOBO.                   
                                                                                
           SET     NEW1                TO   +1.                                 
       010-LOOP2.                                                               
           IF      NEWB         (NEW1) =    '_'                                 
             MOVE  ' '                 TO   NEWB         (NEW1).                
           IF      NEW1                <    +19                                 
             SET   NEW1                UP   BY  +1                              
             GO                        TO   010-LOOP2.                          
       010-EXIT.                                                                
           EXIT.                                                                
                                                                                
      ******************************************************************        
       015-SEND.                                                                
           MOVE    EIBTRMID            TO   QWRTRMID                            
           MOVE    'EW25'              TO   QWRPGM                              
           MOVE    OLDKEY              TO   QWROLD                              
           MOVE    WCM                 TO   QWRWCM                              
           MOVE    MPEW25O             TO   QWRMAP                              
           EXEC    CICS HANDLE CONDITION    DUPREC  (015-ERR1) END-EXEC         
           IF      RETQWR              NOT  =   '00'                            
             EXEC  CICS WRITE               DATASET (QWRFIL)                    
                                            FROM    (QWR)                       
                                            RIDFLD  (QWRKEY)                    
                                            LENGTH  (QWRLENR)  END-EXEC         
           ELSE                                                                 
             EXEC  CICS READ UPDATE         DATASET (QWRFIL)                    
                                            INTO    (QWRI)                      
                                            RIDFLD  (QWRKEY)                    
                                            LENGTH  (QWRLENR)  END-EXEC         
             EXEC  CICS REWRITE             DATASET (QWRFIL)                    
                                            FROM    (QWR)                       
                                            LENGTH  (QWRLENR)  END-EXEC.        
       015-ERR1.                                                                
           MOVE    EIBTRMID            TO   QWR                                 
           MOVE    'EWT1'              TO   QWRPGM                              
           MOVE    EDTENTRY        (1) TO   QWRTBL1                             
           MOVE    EDTENTRY        (2) TO   QWRTBL2                             
           EXEC    CICS HANDLE CONDITION    DUPREC  (015-ERR2) END-EXEC         
           IF      RETQWRT1            NOT  =   '00'                            
             EXEC  CICS WRITE               DATASET (QWRFIL)                    
                                            FROM    (QWR)                       
                                            RIDFLD  (QWRKEY)                    
                                            LENGTH  (QWRLENR)  END-EXEC         
           ELSE                                                                 
             EXEC  CICS READ UPDATE         DATASET (QWRFIL)                    
                                            INTO    (QWRI)                      
                                            RIDFLD  (QWRKEY)                    
                                            LENGTH  (QWRLENR)  END-EXEC         
             EXEC  CICS REWRITE             DATASET (QWRFIL)                    
                                            FROM    (QWR)                       
                                            LENGTH  (QWRLENR)  END-EXEC.        
       015-ERR2.                                                                
           MOVE    EIBTRMID            TO   QWR                                 
           MOVE    'EWT2'              TO   QWRPGM                              
           MOVE    EDTENTRY        (3) TO   QWRTBL1                             
           MOVE    EDTENTRY        (4) TO   QWRTBL2                             
           EXEC    CICS HANDLE CONDITION    DUPREC  (015-ERR3) END-EXEC         
           IF      RETQWRT2            NOT  =   '00'                            
             EXEC  CICS WRITE               DATASET (QWRFIL)                    
                                            FROM    (QWR)                       
                                            RIDFLD  (QWRKEY)                    
                                            LENGTH  (QWRLENR)  END-EXEC         
           ELSE                                                                 
             EXEC  CICS READ UPDATE         DATASET (QWRFIL)                    
                                            INTO    (QWRI)                      
                                            RIDFLD  (QWRKEY)                    
                                            LENGTH  (QWRLENR)  END-EXEC         
             EXEC  CICS REWRITE             DATASET (QWRFIL)                    
                                            FROM    (QWR)                       
                                            LENGTH  (QWRLENR)  END-EXEC.        
       015-ERR3.                                                                
           IF      EIBCALEN            =    ZEROS                               
             EXEC  CICS SEND                MAP     ('MPEW25') DATAONLY         
                                            CURSOR             END-EXEC         
           ELSE                                                                 
             IF      EIBCALEN          NOT  =   1234                            
               EXEC  CICS SEND              MAP     ('MPEW25') ERASE            
                                            CURSOR             END-EXEC         
             ELSE                                                               
               EXEC  CICS SEND              MAP     ('MPEW25') ERASE            
                                            CURSOR  (EIBCPOSN) END-EXEC.        
           EXEC CICS RETURN                 TRANSID ('EW25')   END-EXEC.        
                                                                                
      ******************************************************************        
       050-TBL-INIT.                                                            
           SET     EDT1                TO   +1.                                 
       050-LOOP1.                                                               
           MOVE    ZEROS               TO   EDTPMOD      (EDT1)                 
                                            EDTEMPTY     (EDT1)                 
                                            EDTNBRMOD    (EDT1)                 
           MOVE    SPACES              TO   EDTLASTMOD   (EDT1)                 
           SET     EDT2                TO   +1.                                 
       050-LOOP2.                                                               
           MOVE    ZEROS               TO   EDTPCT       (EDT1 EDT2)            
           MOVE    SPACES              TO   EDTMODUPD    (EDT1 EDT2)            
                                            EDTLASTPGM   (EDT1 EDT2)            
113095*    IF      EDT2                <    +99                                 
113095     IF      EDT2                <    +100                                
             SET   EDT2                UP   BY  +1                              
             GO                        TO   050-LOOP2.                          
           IF      EDT1                <    +4                                  
             SET   EDT1                UP   BY  +1                              
             GO                        TO   050-LOOP1.                          
       050-EXIT.                                                                
           EXIT.                                                                
                                                                                
      ******************************************************************        
       100-DISPLAY.                                                             
           PERFORM 050-TBL-INIT        THRU 050-EXIT                            
           MOVE    HIGH-VALUES         TO   OLDKEY                              
           MOVE    LOW-VALUES          TO   MPEW25O       QWRMAP                
           MOVE    +10                 TO   EIBCALEN                            
           MOVE    'Y'                 TO   WSCDSPLY                            
           MOVE    +1                  TO   RETERR2                             
           MOVE    ZEROS               TO   RETERR                              
           SET     NEW1                TO   +1.                                 
       100-LOOP1.                                                               
           IF      NEWB         (NEW1) =    ' '                                 
             MOVE  '_'                 TO   NEWB         (NEW1).                
           IF      NEW1                <    +19                                 
             SET   NEW1                UP   BY  +1                              
             GO                        TO   100-LOOP1.                          
           MOVE    NEWPANEL            TO   MPANELO                             
           MOVE    NEWSCHL             TO   MSCHLO                              
           MOVE    NEWSSN              TO   MSSNO                               
           MOVE    NEWJOB              TO   MJOBO                               
           SET     NEW1                TO   +1.                                 
       100-LOOP2.                                                               
           IF      NEWB         (NEW1) =    '_'                                 
             MOVE  ' '                 TO   NEWB         (NEW1).                
           IF      NEW1                <    +19                                 
             SET   NEW1                UP   BY  +1                              
             GO                        TO   100-LOOP2.                          
                                                                                
           IF     (NEWSCHL             =    SPACES)                  OR         
                  (NEWSSN              =    SPACES)                  OR         
                  (NEWJOB              =    SPACES)                  OR         
                  (NEWJOB              =    '00')                               
             MOVE  -1                  TO   MSCHLL                              
             MOVE  MSG18               TO   MMSGO                               
             GO                        TO   015-SEND.                           
                                                                                
           MOVE    WCMSODIST           TO   SCLKEY                              
           MOVE    WCMSOFY             TO   SCLFY                               
           MOVE    'SCL'               TO   SCLPREF                             
           MOVE    NEWSCHL             TO   SCLSCL                              
           MOVE    '99'                TO   RETCRF                              
           EXEC    CICS HANDLE CONDITION    NOTFND  (105-ERR)  END-EXEC         
           EXEC    CICS READ                DATASET (CRFFIL)                    
                                            INTO    (SCL)                       
                                            RIDFLD  (SCLKEY)                    
                                            LENGTH  (CRFLENR)  END-EXEC         
           MOVE    '00'                TO   RETCRF.                             
       105-ERR.                                                                 
053105*    IF      RETCRF              NOT  =   '00'                            
053105     IF      RETCRF              NOT  =   '00'             OR             
053105             SCLCHRTR            =    'Y'                                 
             MOVE  WABUMB              TO   MSCHLA                              
             MOVE  -1                  TO   MSCHLL        RETERR.               
           IF      NEWSSN9             NOT  NUMERIC                             
             MOVE  WABUMB              TO   MSSNA                               
             MOVE  -1                  TO   MSSNL         RETERR.               
           IF      NEWJOB9             NOT  NUMERIC                 OR          
                   NEWJOB9             NOT  >  ZEROS                            
             MOVE  WABUMB              TO   MJOBA                               
             MOVE  -1                  TO   MJOBL         RETERR.               
           IF      RETERR              NOT  =   ZEROS                           
             MOVE  MSG03               TO   MMSGO                               
             GO                        TO   015-SEND.                           
                                                                                
           MOVE    NEWKEY              TO   OLDKEY                              
           MOVE    SPACES              TO   STH                                 
           MOVE    WCMSODIST           TO   STHDIST                             
           MOVE    WCMSOFY             TO   STHFY                               
           MOVE    NEWSSN              TO   STHSSN                              
           MOVE    NEWJOB              TO   STHJOB                              
           MOVE    NEWSCHL             TO   STHSCHL                             
           EXEC    CICS HANDLE CONDITION    NOTFND  (110-NEW)  END-EXEC         
           EXEC    CICS READ                DATASET (STHFIL)                    
                                            INTO    (STH)                       
                                            RIDFLD  (STHKEY)                    
                                            LENGTH  (STHLENR)  END-EXEC         
           IF      STHLAST             NOT  =   SPACES                          
             MOVE  STHLAST             TO   MLASTO.                             
           IF      STHFIRST            NOT  =   SPACES                          
             MOVE  STHFIRST            TO   MFIRSTO.                            
           IF      STHMINIT            NOT  =   SPACES                          
             MOVE  STHMINIT            TO   MMIO.                               
           IF      STHTABLE            NOT  =   SPACES              AND         
                   STHTABLE            NOT  =   '00000'                         
             MOVE  STHTABLE            TO   MTBLEO.                             
           IF      STHFUND             NOT  =   SPACES                          
             MOVE  STHFUND             TO   MFUNDO.                             
           IF      STHSALARY           NOT  =   ZEROS                           
             MOVE  STHSALARY           TO   MSALO.                              
           IF      STHHRLY             NOT  =   ZEROS                           
             MOVE  STHHRLY             TO   MHRLYO.                             
           IF      STHPSCHL            NOT  =   ZEROS                           
             COMPUTE  WSCPCT1          =    STHPSCHL  *  100                    
             MOVE     WSCPCT1          TO   MPCTO.                              
           IF      STHDAYS1            NOT  =   ZEROS                           
             MOVE  STHDAYS1            TO   MSDAY1O.                            
           IF      STHDAYS2            NOT  =   ZEROS                           
             MOVE  STHDAYS2            TO   MSDAY2O.                            
           IF      STHDAYS3            NOT  =   ZEROS                           
             MOVE  STHDAYS3            TO   MSDAY3O.                            
           IF      STHDAYS4            NOT  =   ZEROS                           
             MOVE  STHDAYS4            TO   MSDAY4O.                            
                                                                                
           GO                          TO   110-DETAIL.                         
       110-NEW.                                                                 
           IF      WCMSOCURR           =    'U'                                 
             MOVE  NEWKEY              TO   OLDKEY                              
             MOVE  -1                  TO   MLASTL                              
             MOVE  MSG23               TO   MMSGO                               
           ELSE                                                                 
             MOVE  -1                  TO   MSCHLL                              
             MOVE  MSG21               TO   MMSGO                               
             MOVE  HIGH-VALUES         TO   OLDKEY.                             
                                                                                
           GO                          TO   015-SEND.                           
       110-DETAIL.                                                              
           MOVE    -1                  TO   MSCHLL                              
           MOVE    MSG26               TO   MMSGO                               
           MOVE    SPACES              TO   QWRPF7        QWRPF8                
           MOVE    SPACES              TO   QWRFRST                             
           MOVE    'Y'                 TO   WSCFIRST                            
           MOVE    +0                  TO   WSCLNCNT                            
           MOVE    +1                  TO   WSCLNINC                            
           MOVE    +6                  TO   WSCLNMAX                            
           MOVE    WCMSODIST           TO   SMP                                 
           MOVE    WCMSOFY             TO   SMPFY                               
           MOVE    NEWSSN              TO   SMPSSN                              
           MOVE    NEWJOB              TO   SMPJOB                              
           MOVE    NEWSCHL             TO   SMPSCHL                             
           EXEC    CICS HANDLE CONDITION    NOTFND  (400-SATSY-EDIT)            
                                            END-EXEC                            
           EXEC    CICS STARTBR             DATASET (SMPFIL)                    
                                            RIDFLD  (SMPKEY)   GTEQ             
                                            KEYLENGTH (SMPLENK)                 
                                            END-EXEC.                           
       110-OLD.                                                                 
121595     MOVE    +1                  TO   RETERR2                             
           MOVE    -1                  TO   MSCHLL                              
           MOVE    LOW-VALUES          TO   MPSLINES     OTSKEY                 
           MOVE    WCMSODIST           TO   HGHDIST                             
           MOVE    WCMSOFY             TO   HGHFY                               
           MOVE    NEWSSN              TO   HGHSSN                              
           MOVE    NEWJOB              TO   HGHJOB                              
           MOVE    NEWSCHL             TO   HGHSCHL                             
           MOVE    HIGH-VALUES         TO   HGHSURVEY    HGHMOD                 
                                            HGHPGM                              
           MOVE    +0                  TO   WSCRDCNT                            
           MOVE    WSCLNINC            TO   QWRLNINC                            
           SET     MPS2                TO   WSCLNCNT                            
           SET     MPS2                UP   BY   WSCLNINC                       
           IF      WSCLNINC            =    +1                                  
             SET   MPS3                TO   +1                                  
           ELSE                                                                 
             SET   MPS3                TO   +3.                                 
       115-LOOP.                                                                
           EXEC    CICS HANDLE CONDITION    INVREQ  (120-MISS)                  
                                            NOTFND  (120-MISS)                  
                                            ENDFILE (120-MISS) END-EXEC.        
           IF      MPS2                =    WSCLNMAX                            
             GO                        TO   130-FULL.                           
           IF      WSCRDCNT            >    WSCMAXRD                            
             GO                        TO   135-MAXRCD.                         
           MOVE    '99'                TO   RETSMP                              
           IF      WSCLNINC            =    -1                                  
             EXEC  CICS READPREV            DATASET (SMPFIL)                    
                                            INTO    (SMP)                       
                                            RIDFLD  (SMPKEY)                    
                                            LENGTH  (SMPLENR)  END-EXEC         
           ELSE                                                                 
             EXEC  CICS READNEXT            DATASET (SMPFIL)                    
                                            INTO    (SMP)                       
                                            RIDFLD  (SMPKEY)                    
                                            LENGTH  (SMPLENR)  END-EXEC.        
           MOVE    '00'                TO   RETSMP.                             
       120-MISS.                                                                
           IF      RETSMP              NOT  =   '00'                            
             GO                        TO   130-LAST.                           
           ADD     +1                  TO   WSCRDCNT                            
           IF     (WSCLNINC            =    +1)                     AND         
                  (SMPKEY              >    HGH)                                
             GO                        TO   130-LAST.                           
           IF     (WSCLNINC            =    +1)                     AND         
                  (MPS3                >    +1)                     AND         
                  (SMPSURVEY           NOT  =  MPSSURV  (MPS2)   OR             
                   SMPMOD              NOT  =  MPSMOD   (MPS2))                 
             SET   MPS2                UP   BY  WSCLNINC                        
             ADD   WSCLNINC            TO   WSCLNCNT                            
             SET   MPS3                TO   +1                                  
             IF    MPS2                =    WSCLNMAX                            
               PERFORM  205-SMP-RDPRV  THRU 205-EXIT                            
               GO                      TO   130-FULL.                           
           IF     (WSCLNINC            =    -1)                     AND         
                  (MPS3                <    +3)                     AND         
                  (SMPSURVEY           NOT  =  MPSSURV  (MPS2)   OR             
                   SMPMOD              NOT  =  MPSMOD   (MPS2))                 
             SET   MPS2                UP   BY  WSCLNINC                        
             ADD   WSCLNINC            TO   WSCLNCNT                            
             SET   MPS3                TO   +3                                  
             IF    MPS2                =    WSCLNMAX                            
               GO                      TO   130-FULL.                           
           IF     (WSCLNINC            =    -1)                      AND        
                  (MPS2                =    +5)                      AND        
                  (MPS3                =    +3)                                 
             MOVE  SMPKEY              TO   QWRPF8                              
           ELSE                                                                 
             IF      MPS2              =    +1                                  
               IF   (WSCLNINC          =    +1                    AND           
                     MPS3              =    +1)                      OR         
                    (WSCLNINC          =    -1)                                 
               MOVE  SMPKEY            TO   QWRPF7                              
               IF      QWRFRST         =    SPACES                              
                 MOVE  SMPKEY          TO   QWRFRST.                            
                                                                                
           MOVE    WABPS               TO   MPSSURVA     (MPS2)                 
           MOVE    SMPSURVEY           TO   MPSSURV      (MPS2)                 
           MOVE    WABPS               TO   MPSMODA      (MPS2)                 
           MOVE    SMPMOD              TO   MPSMOD       (MPS2)                 
           MOVE    WABPS               TO   MPSPGMA      (MPS2  MPS3)           
           MOVE    SMPPGM              TO   MPSPGM       (MPS2  MPS3)           
           IF      SMPSTDT             NOT  =  ZERO                             
             MOVE  SMPSTDT             TO   MPSSTDT9     (MPS2  MPS3).          
           IF      SMPPCT              NOT  =  ZERO                             
             COMPUTE WSCPCT2           =    SMPPCT  *  100                      
             MOVE    WSCPCT2           TO   MPSPCT9      (MPS2  MPS3).          
           IF      WSCFIRST            =    'Y'                                 
             SET   EDT1                TO   SMPSURVEY9                          
             SET   EDT2                TO   SMPMOD9                             
113095       SET   EDT2                UP   BY  +1                              
             ADD   SMPPCT              TO   EDTPCT       (EDT1  EDT2)           
             MOVE  SMPPGM              TO   EDTLASTPGM   (EDT1  EDT2).          
                                                                                
           MOVE    SMPKEY              TO   STSKEY                              
           IF      STSKEY              NOT  =  OTSKEY                           
             MOVE  STSKEY              TO   OTSKEY                              
             PERFORM  215-STS-READ     THRU 215-EXIT.                           
           IF      STSSPACE            NOT  =  ZERO                             
             MOVE  STSSPACE            TO   MPSSPC9      (MPS2).                
           IF      STSPMOD             NOT  =  ZERO                             
             COMPUTE  WSCPCT1          =    STSPMOD  *  100                     
             MOVE  WSCPCT1             TO   MPSPMOD9     (MPS2).                
           IF      WSCFIRST            =    'Y'                                 
             SET   EDT1                TO   STSSURVEY9                          
             SET   EDT2                TO   STSMOD9                             
113095       SET   EDT2                UP   BY  +1                              
             IF    EDTMODUPD(EDT1 EDT2) NOT =  'Y'                              
               MOVE  'Y'               TO   EDTMODUPD    (EDT1  EDT2)           
               ADD   +1                TO   EDTNBRMOD    (EDT1)                 
               ADD   STSPMOD           TO   EDTPMOD      (EDT1)                 
               MOVE  STSMOD            TO   EDTLASTMOD   (EDT1)                 
               IF    STSPMOD           =    ZERO                                
                 ADD  +1               TO   EDTEMPTY     (EDT1).                
                                                                                
           IF      WSCLNINC            =    +1                                  
             IF    MPS3                =    +3                                  
               SET   MPS2              UP   BY  WSCLNINC                        
               ADD   WSCLNINC          TO   WSCLNCNT                            
               SET   MPS3              TO   +1                                  
             ELSE                                                               
               SET   MPS3              UP   BY  +1                              
           ELSE                                                                 
             IF    MPS3                =    +1                                  
               SET   MPS2              UP   BY  WSCLNINC                        
               ADD   WSCLNINC          TO   WSCLNCNT                            
               SET   MPS3              TO   +3                                  
             ELSE                                                               
               SET   MPS3              DOWN BY  +1.                             
                                                                                
           GO                          TO   115-LOOP.                           
                                                                                
       130-FULL.                                                                
           IF      WSCLNINC            =    +1                                  
             PERFORM 210-SMP-RDNXT     THRU 210-EXIT                            
             IF     (SMPKEY            >    HGH)                     OR         
                    (RETSMP            NOT  =   '00')                           
               GO                      TO   130-LAST                            
             ELSE                                                               
               PERFORM 205-SMP-RDPRV   THRU 205-EXIT                            
               PERFORM 205-SMP-RDPRV   THRU 205-EXIT.                           
           MOVE    MSG25               TO   MMSGO                               
           IF      WSCLNINC            =    +1                                  
             MOVE  +0                  TO   QWRLNXT                             
             MOVE  +6                  TO   QWRLNMAX                            
             MOVE  SMPKEY              TO   QWRPF8                              
           ELSE                                                                 
             MOVE  +6                  TO   QWRLNXT                             
             MOVE  +0                  TO   QWRLNMAX.                           
           GO                          TO   140-END.                            
                                                                                
       130-LAST.                                                                
           MOVE    +0                  TO   QWRLNMAX      QWRLNXT               
           MOVE    -1                  TO   MSCHLL                              
           IF      QWRFRST             =    SPACES                              
             MOVE  MSG26               TO   MMSGO                               
           ELSE                                                                 
             IF      WSCLNINC          =    -1                                  
               MOVE  MSG13             TO   MMSGO                               
               MOVE  SPACES            TO   QWRPF7                              
             ELSE                                                               
               MOVE  MSG14             TO   MMSGO                               
               MOVE  SPACES            TO   QWRPF8.                             
           GO                          TO   140-END.                            
                                                                                
       135-MAXRCD.                                                              
           MOVE    WSCLNCNT            TO   QWRLNXT                             
           MOVE    WSCLNMAX            TO   QWRLNMAX                            
           IF      WSCLNINC            =    +1                                  
             MOVE  SMPKEY              TO   QWRPF8                              
           ELSE                                                                 
             MOVE  SMPKEY              TO   QWRPF7.                             
           MOVE    MSG27               TO   MMSGO                               
           GO                          TO   140-END.                            
                                                                                
       140-END.                                                                 
           IF      WSCLNINC            =    -1                                  
             PERFORM  150-SHIFT        THRU 150-EXIT.                           
           IF      WSCFIRST            =    'Y'                                 
             PERFORM  160-BUILD-EDIT   THRU 160-EXIT.                           
           EXEC    CICS HANDLE CONDITION    INVREQ  (015-SEND) END-EXEC         
           EXEC    CICS ENDBR               DATASET (SMPFIL)   END-EXEC         
           GO                          TO   400-SATSY-EDIT.                     
                                                                                
      ******************************************************************        
       150-SHIFT.                                                               
      ******************************************************************        
      ***  THIS PROCEDURE WILL SHIFT PROGRAM RECORDS (SMP) FROM      ***        
      ***  RIGHT TO LEFT.  THIS PROCEDURE IS CALLED WHEN THE USER IS ***        
      ***  PAGING BACKWARD.  WHEN ON-LINE PROGRAMS PAGE BACKWARDS    ***        
      ***  THEY FILL THE SCREEN FROM THE BOTTOM UP, OR IN THIS CASE  ***        
      ***  THE BOTTOM RIGHT HAND CORNER OF THE SCREEN TO THE UPPER   ***        
      ***  LEFT.  WITH OUT THIS SHIFT PROCEDURE, BLANK PROGRAM       ***        
      ***  FIELDS WOULD APPEAR IN FRONT OF COMPLETED PROGRAM FIELDS  ***        
      ***  INSTEAD OF AFTER.                                         ***        
      ******************************************************************        
           SET     MPS2  MPS3          TO   +1                                  
           MOVE    ALL  'X'            TO   OLDSURV  OLDMOD.                    
       150-LOOP.                                                                
           IF     (OLDSURV             NOT  =  MPSSURV  (MPS2))      OR         
                  (OLDMOD              NOT  =  MPSMOD   (MPS2))                 
             MOVE  MPSSURV     (MPS2)  TO   OLDSURV                             
             MOVE  MPSMOD      (MPS2)  TO   OLDMOD                              
             SET   IDX2                TO   MPS2                                
             SET   IDX3                TO   MPS3.                               
           IF     (MPSPGM  (MPS2 MPS3) NOT  =  '___'              AND           
                   MPSPGM  (MPS2 MPS3) NOT  =  LOW-VALUES)           OR         
                  (MPSSTDT (MPS2 MPS3) NOT  =  '___'              AND           
                   MPSSTDT (MPS2 MPS3) NOT  =  LOW-VALUES)           OR         
                  (MPSPCT  (MPS2 MPS3) NOT  =  '_____'            AND           
                   MPSPCT  (MPS2 MPS3) NOT  =  '___._'            AND           
                   MPSPCT  (MPS2 MPS3) NOT  =  LOW-VALUES)                      
             IF   (IDX2                NOT  =  MPS2)                 OR         
                  (IDX3                NOT  =  MPS3)                            
               MOVE  WABPS             TO   MPSPGMA   (IDX2 IDX3)               
               MOVE  MPSPGM  (MPS2 MPS3) TO MPSPGM    (IDX2 IDX3)               
               MOVE  MPSSTDT (MPS2 MPS3) TO MPSSTDT   (IDX2 IDX3)               
               MOVE  MPSPCT  (MPS2 MPS3) TO MPSPCT    (IDX2 IDX3)               
               MOVE  WABU              TO   MPSPGMA   (MPS2 MPS3)               
               MOVE  ALL '_'           TO   MPSPGM    (MPS2 MPS3)               
                                            MPSSTDT   (MPS2 MPS3)               
               MOVE  '___._'           TO   MPSPCT    (MPS2 MPS3)               
               IF    IDX3              =    +3                                  
                 ADD   +1              TO   IDX2                                
                 MOVE  +1              TO   IDX3                                
               ELSE                                                             
                 ADD   +1              TO   IDX3                                
             ELSE                                                               
               IF    IDX3              =    +3                                  
                 ADD   +1              TO   IDX2                                
                 MOVE  +1              TO   IDX3                                
               ELSE                                                             
                 ADD   +1              TO   IDX3.                               
                                                                                
           IF      MPS2                <    +5                                  
             IF    MPS3                <    +3                                  
               SET MPS3                UP   BY  +1                              
               GO                      TO   150-LOOP                            
             ELSE                                                               
               SET MPS2                UP   BY  +1                              
               SET MPS3                TO   +1                                  
               GO                      TO   150-LOOP                            
           ELSE                                                                 
             IF    MPS3                <    +3                                  
               SET MPS3                UP   BY  +1                              
               GO                      TO   150-LOOP.                           
       150-EXIT.                                                                
           EXIT.                                                                
                                                                                
      ******************************************************************        
       160-BUILD-EDIT.                                                          
      ******************************************************************        
      ***  THIS PROCEDURE WILL SCAN THE STS AND SMP TO BUILD THE     ***        
      ***  EDIT TABLE (EDTTBL) NEEDED TO EDIT THE SATSY RECORDS.     ***        
      ***  THIS PROCEDURE IS ONLY CALLED ONCE AND WILL READ          ***        
      ***  ANY RECORDS NOT DISPLAYED ON THE 1ST PAGE.  ONCE THE      ***        
      ***  EDIT TABLE IS BUILT IT IS MAINTAINED IN 300-UPDATE.       ***        
      ******************************************************************        
           MOVE    LOW-VALUES          TO   OTSKEY                              
           IF      QWRPF8              =    SPACES                              
             GO                        TO   160-LOOP.                           
           MOVE    QWRPF8              TO   SMPKEY.                             
       160-LOOP.                                                                
           EXEC    CICS HANDLE CONDITION    INVREQ  (160-MISS)                  
                                            NOTFND  (160-MISS)                  
                                            ENDFILE (160-MISS) END-EXEC.        
           MOVE    '99'                TO   RETSMP                              
           EXEC    CICS READNEXT            DATASET (SMPFIL)                    
                                            INTO    (SMP)                       
                                            RIDFLD  (SMPKEY)                    
                                            LENGTH  (SMPLENR)  END-EXEC.        
           MOVE    '00'                TO   RETSMP.                             
       160-MISS.                                                                
           IF     (RETSMP              NOT  =   '00')               OR          
                  (SMPKEY              >    HGH)                                
             GO                        TO   160-EXIT.                           
           IF      SMPKEY              =    QWRPF8                              
             GO                        TO   160-LOOP.                           
                                                                                
                                                                                
           SET     EDT1                TO   SMPSURVEY9                          
           SET     EDT2                TO   SMPMOD9                             
113095     SET     EDT2                UP   BY  +1                              
           ADD     SMPPCT              TO   EDTPCT       (EDT1  EDT2)           
           MOVE    SMPPGM              TO   EDTLASTPGM   (EDT1  EDT2)           
                                                                                
           MOVE    SMPKEY              TO   STSKEY                              
           IF      STSKEY              NOT  =  OTSKEY                           
             MOVE  STSKEY              TO   OTSKEY                              
             PERFORM  215-STS-READ     THRU 215-EXIT.                           
                                                                                
           SET     EDT1                TO   STSSURVEY9                          
           SET     EDT2                TO   STSMOD9                             
113095     SET     EDT2                UP   BY  +1                              
           IF      EDTMODUPD(EDT1 EDT2) NOT =  'Y'                              
             MOVE  'Y'                 TO   EDTMODUPD    (EDT1  EDT2)           
             ADD   +1                  TO   EDTNBRMOD    (EDT1)                 
             ADD   STSPMOD             TO   EDTPMOD      (EDT1)                 
             MOVE  STSMOD              TO   EDTLASTMOD   (EDT1)                 
             IF    STSPMOD             =    ZERO                                
               ADD  +1                 TO   EDTEMPTY     (EDT1).                
                                                                                
           GO                          TO   160-LOOP.                           
       160-EXIT.                                                                
           EXIT.                                                                
                                                                                
      ******************************************************************        
       205-SMP-RDPRV.                                                           
           MOVE    '99'                TO   RETSMP                              
           EXEC    CICS HANDLE CONDITION    INVREQ  (205-EXIT)                  
                                            NOTFND  (205-EXIT)                  
                                            ENDFILE (205-EXIT) END-EXEC         
           EXEC    CICS READPREV            DATASET (SMPFIL)                    
                                            INTO    (SMP)                       
                                            RIDFLD  (SMPKEY)                    
                                            LENGTH  (SMPLENR)  END-EXEC         
           MOVE    '00'                TO   RETSMP.                             
       205-EXIT.                                                                
           EXIT.                                                                
                                                                                
      ******************************************************************        
       210-SMP-RDNXT.                                                           
           MOVE    '99'                TO   RETSMP                              
           EXEC    CICS HANDLE CONDITION    INVREQ  (210-EXIT)                  
                                            NOTFND  (210-EXIT)                  
                                            ENDFILE (210-EXIT) END-EXEC         
           EXEC    CICS READNEXT            DATASET (SMPFIL)                    
                                            INTO    (SMP)                       
                                            RIDFLD  (SMPKEY)                    
                                            LENGTH  (SMPLENR)  END-EXEC         
           MOVE    '00'                TO   RETSMP.                             
       210-EXIT.                                                                
           EXIT.                                                                
                                                                                
      ******************************************************************        
       215-STS-READ.                                                            
           MOVE    '99'                TO   RETSTS                              
           EXEC    CICS HANDLE CONDITION    INVREQ  (215-CONT)                  
                                            NOTFND  (215-CONT)                  
                                            ENDFILE (215-CONT) END-EXEC         
           EXEC    CICS READ                DATASET (STSFIL)                    
                                            INTO    (STS)                       
                                            RIDFLD  (STSKEY)                    
                                            LENGTH  (STSLENR)  END-EXEC         
           MOVE    '00'                TO   RETSTS.                             
       215-CONT.                                                                
           IF      RETSTS              NOT  =  '00'                             
             MOVE  SPACES              TO   STSDATAC                            
             MOVE  ZEROS               TO   STSPMOD     STSSPACE.               
       215-EXIT.                                                                
           EXIT.                                                                
                                                                                
      ******************************************************************        
       300-UPDATE.                                                              
           IF      WCMSOCURR           NOT  =  'U'                              
             GO                        TO   100-DISPLAY.                        
                                                                                
           MOVE    +1                  TO   RETERR2                     06040001
           MOVE    ZEROS               TO   MSCHLL                      06041001
           MOVE    SPACES              TO   STH                                 
           MOVE    WCMSODIST           TO   STHDIST   STHDIST1  STHDIST2        
           MOVE    WCMSOFY             TO   STHFY     STHFY1    STHFY2          
           MOVE    NEWSSN              TO   STHSSN    STHSSN1                   
           MOVE    NEWJOB              TO   STHJOB    STHJOB1                   
           MOVE    NEWSCHL             TO   STHSCHL   STHSCHL1                  
           MOVE    '99'                TO   RETSTH                              
           EXEC    CICS HANDLE CONDITION    NOTFND  (300-NEW)  END-EXEC         
           EXEC    CICS READ                DATASET (STHFIL)                    
                                            INTO    (STH)                       
                                            RIDFLD  (STHKEY)                    
                                            LENGTH  (STHLENR)  END-EXEC         
           MOVE    '00'                TO   RETSTH.                             
       300-NEW.                                                                 
           IF      RETSTH              NOT  =  '00'                             
             MOVE  ZEROS               TO   STHSALARY     STHHRLY               
                                            STHPSCHL      STHDAYS1              
                                            STHDAYS2      STHDAYS3              
                                            STHDAYS4.                           
           MOVE    STH                 TO   OTH                                 
           IF      MLASTA              =    WABEOF                              
             MOVE  ALL '_'             TO   MLASTO                              
             MOVE  WABUM               TO   MLASTA                              
             MOVE  ZEROS               TO   MLASTL                              
             MOVE  SPACES              TO   STHLAST                             
           ELSE                                                                 
             IF      MLASTL            >    ZEROS                               
               MOVE  ZEROS             TO   MLASTL                              
               MOVE  MLASTI            TO   STHLAST                             
               MOVE  WABU              TO   MLASTA                              
             ELSE                                                               
               IF      MLASTI          >    LOW-VALUES                          
                 MOVE  WABU            TO   MLASTA                              
                 MOVE  MLASTI          TO   STHLAST.                            
           IF      MFIRSTA             =    WABEOF                              
             MOVE  ALL '_'             TO   MFIRSTO                             
             MOVE  WABUM               TO   MFIRSTA                             
             MOVE  ZEROS               TO   MFIRSTL                             
             MOVE  SPACES              TO   STHFIRST                            
           ELSE                                                                 
             IF      MFIRSTL           >    ZEROS                               
               MOVE  ZEROS             TO   MFIRSTL                             
               MOVE  MFIRSTI           TO   STHFIRST                            
               MOVE  WABU              TO   MFIRSTA                             
             ELSE                                                               
               IF      MFIRSTI         >    LOW-VALUES                          
                 MOVE  WABU            TO   MFIRSTA                             
                 MOVE  MFIRSTI         TO   STHFIRST.                           
           IF      MMIA                =    WABEOF                              
             MOVE  ALL '_'             TO   MMIO                                
             MOVE  WABUM               TO   MMIA                                
             MOVE  ZEROS               TO   MMIL                                
             MOVE  SPACES              TO   STHMINIT                            
           ELSE                                                                 
             IF      MMIL              >    ZEROS                               
               MOVE  ZEROS             TO   MMIL                                
               MOVE  MMII              TO   STHMINIT                            
               MOVE  WABU              TO   MMIA                                
             ELSE                                                               
               IF      MMII            >    LOW-VALUES                          
                 MOVE  WABU            TO   MMIA                                
                 MOVE  MMII            TO   STHMINIT.                           
           IF      MTBLEA              =    WABEOF                              
             MOVE  ALL '_'             TO   MTBLEO                              
             MOVE  WABU                TO   MTBLEA                              
             MOVE  ZEROS               TO   MTBLEL                              
             MOVE  SPACES              TO   STHTABLE                            
           ELSE                                                                 
             IF      MTBLEL            >    ZEROS                               
               MOVE  ZEROS             TO   MTBLEL                              
               MOVE  MTBLEI            TO   WNUIN                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU50             TO   STHTABLE9                           
               MOVE  STHTABLE          TO   MTBLEO                              
               MOVE  WABU              TO   MTBLEA                              
             ELSE                                                               
               IF      MTBLEI          >    LOW-VALUES                          
                 MOVE  WABUN           TO   MTBLEA                              
                 MOVE  MTBLEI          TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU50           TO   STHTABLE9                           
                 MOVE  STHTABLE        TO   MTBLEO.                             
           IF    STHTABLE              =    '00000'                             
             MOVE  SPACES              TO   STHTABLE.                           
           IF      MFUNDA              =    WABEOF                              
             MOVE  ALL '_'             TO   MFUNDO                              
             MOVE  WABUM               TO   MFUNDA                              
             MOVE  ZEROS               TO   MFUNDL                              
             MOVE  SPACES              TO   STHFUND                             
           ELSE                                                                 
             IF      MFUNDL            >    ZEROS                               
               MOVE  ZEROS             TO   MFUNDL                              
               MOVE  MFUNDI            TO   STHFUND                             
               MOVE  WABU              TO   MFUNDA                              
             ELSE                                                               
               IF      MFUNDI          >    LOW-VALUES                          
                 MOVE  WABU            TO   MFUNDA                              
                 MOVE  MFUNDI          TO   STHFUND.                            
           IF      MSALA               =    WABEOF                              
             MOVE  '___,___'           TO   MSALI                               
             MOVE  WABU                TO   MSALA                               
             MOVE  ZEROS               TO   MSALL                               
             MOVE  ZEROS               TO   STHSALARY                           
           ELSE                                                                 
             IF      MSALL             >    ZEROS                               
               MOVE  ZEROS             TO   MSALL                               
               MOVE  MSALI             TO   WNUIN                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU60             TO   MSALO                               
                                            STHSALARY                           
               MOVE  WABU              TO   MSALA                               
             ELSE                                                               
               IF      MSALI           >    LOW-VALUES                          
                 MOVE  WABUN           TO   MSALA                               
                 MOVE  MSALI           TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU60           TO   MSALO                               
                                            STHSALARY.                          
           IF      MHRLYA              =    WABEOF                              
             MOVE  '___._____'         TO   MHRLYI                              
             MOVE  WABU                TO   MHRLYA                              
             MOVE  ZEROS               TO   MHRLYL                              
             MOVE  ZEROS               TO   STHHRLY                             
           ELSE                                                                 
             IF      MHRLYL            >    ZEROS                               
               MOVE  ZEROS             TO   MHRLYL                              
               MOVE  MHRLYI            TO   WNUIN                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU35             TO   MHRLYO                              
                                            STHHRLY                             
               MOVE  WABU              TO   MHRLYA                              
             ELSE                                                               
               IF      MHRLYI          >    LOW-VALUES                          
                 MOVE  WABUN           TO   MHRLYA                              
                 MOVE  MHRLYI          TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU35           TO   MHRLYO                              
                                            STHHRLY.                            
           IF      MPCTA               =    WABEOF                              
             MOVE  ALL  '_'            TO   MPCTI                               
             MOVE  WABU                TO   MPCTA                               
             MOVE  ZEROS               TO   MPCTL                               
             MOVE  ZEROS               TO   STHPSCHL                            
           ELSE                                                                 
             IF      MPCTL             >    ZEROS                               
               MOVE  ZEROS             TO   MPCTL                               
               MOVE  MPCTI             TO   WNUIN                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU30             TO   MPCTO                               
                                            WSCPCT1                             
               COMPUTE  STHPSCHL       =    WSCPCT1 / 100                       
               MOVE  WABU              TO   MPCTA                               
             ELSE                                                               
               IF      MPCTI           >    LOW-VALUES                          
                 MOVE  WABUN           TO   MPCTA                               
                 MOVE  MPCTI           TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU30           TO   MPCTO                               
                                            WSCPCT1                             
                 COMPUTE STHPSCHL      =    WSCPCT1 / 100.                      
081095     IF    STHPSCHL              =    ZEROS                               
081095       MOVE  100                 TO   MPCTO                               
081095       MOVE  1                   TO   STHPSCHL.                           
           IF      MSDAY1A             =    WABEOF                              
             MOVE  ALL  '_'            TO   MSDAY1I                             
             MOVE  WABU                TO   MSDAY1A                             
             MOVE  ZEROS               TO   MSDAY1L                             
             MOVE  ZEROS               TO   STHDAYS1                            
           ELSE                                                                 
             IF      MSDAY1L           >    ZEROS                               
               MOVE  ZEROS             TO   MSDAY1L                             
               MOVE  MSDAY1I           TO   WNUIN                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU30             TO   MSDAY1O                             
                                            STHDAYS1                            
               MOVE  WABU              TO   MSDAY1A                             
             ELSE                                                               
               IF      MSDAY1I         >    LOW-VALUES                          
                 MOVE  WABUN           TO   MSDAY1A                             
                 MOVE  MSDAY1I         TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU30           TO   MSDAY1O                             
                                            STHDAYS1.                           
           IF      MSDAY2A             =    WABEOF                              
             MOVE  ALL  '_'            TO   MSDAY2I                             
             MOVE  WABU                TO   MSDAY2A                             
             MOVE  ZEROS               TO   MSDAY2L                             
             MOVE  ZEROS               TO   STHDAYS2                            
           ELSE                                                                 
             IF      MSDAY2L           >    ZEROS                               
               MOVE  ZEROS             TO   MSDAY2L                             
               MOVE  MSDAY2I           TO   WNUIN                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU30             TO   MSDAY2O                             
                                            STHDAYS2                            
               MOVE  WABU              TO   MSDAY2A                             
             ELSE                                                               
               IF      MSDAY2I         >    LOW-VALUES                          
                 MOVE  WABUN           TO   MSDAY2A                             
                 MOVE  MSDAY2I         TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU30           TO   MSDAY2O                             
                                            STHDAYS2.                           
           IF      MSDAY3A             =    WABEOF                              
             MOVE  ALL  '_'            TO   MSDAY3I                             
             MOVE  WABU                TO   MSDAY3A                             
             MOVE  ZEROS               TO   MSDAY3L                             
             MOVE  ZEROS               TO   STHDAYS3                            
           ELSE                                                                 
             IF      MSDAY3L           >    ZEROS                               
               MOVE  ZEROS             TO   MSDAY3L                             
               MOVE  MSDAY3I           TO   WNUIN                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU30             TO   MSDAY3O                             
                                            STHDAYS3                            
               MOVE  WABU              TO   MSDAY3A                             
             ELSE                                                               
               IF      MSDAY3I         >    LOW-VALUES                          
                 MOVE  WABUN           TO   MSDAY3A                             
                 MOVE  MSDAY3I         TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU30           TO   MSDAY3O                             
                                            STHDAYS3.                           
           IF      MSDAY4A             =    WABEOF                              
             MOVE  ALL  '_'            TO   MSDAY4I                             
             MOVE  WABU                TO   MSDAY4A                             
             MOVE  ZEROS               TO   MSDAY4L                             
             MOVE  ZEROS               TO   STHDAYS4                            
           ELSE                                                                 
             IF      MSDAY4L           >    ZEROS                               
               MOVE  ZEROS             TO   MSDAY4L                             
               MOVE  MSDAY4I           TO   WNUIN                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU30             TO   MSDAY4O                             
                                            STHDAYS4                            
               MOVE  WABU              TO   MSDAY4A                             
             ELSE                                                               
               IF      MSDAY4I         >    LOW-VALUES                          
                 MOVE  WABUN           TO   MSDAY4A                             
                 MOVE  MSDAY4I         TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU30           TO   MSDAY4O                             
                                            STHDAYS4.                           
                                                                                
           SET     STH1                TO   +1.                                 
       300-LOOP.                                                                
           IF      STHB         (STH1) =    '_'                                 
             MOVE  ' '                 TO   STHB         (STH1).                
           IF      STH1                <    +144                                
             SET   STH1                UP   BY  +1                              
             GO                        TO   300-LOOP.                           
                                                                                
           IF      STHLAST             =    SPACES                              
             MOVE  ALL '_'             TO   MLASTO.                             
           IF      STHFIRST            =    SPACES                              
             MOVE  ALL '_'             TO   MFIRSTO.                            
           IF      STHMINIT            =    SPACES                              
             MOVE  ALL '_'             TO   MMIO.                               
           IF      STHTABLE            =    SPACES                              
             MOVE  ALL '_'             TO   MTBLEO.                             
           IF      STHFUND             =    SPACES                              
             MOVE  ALL '_'             TO   MFUNDO.                             
           IF      STHSALARY           =    ZEROS                               
             MOVE  '___,___'           TO   MSALI.                              
           IF      STHHRLY             =    ZEROS                               
             MOVE  '___._____'         TO   MHRLYI.                             
           IF      STHPSCHL            =    ZEROS                               
             MOVE  ALL '_'             TO   MPCTI.                              
           IF      STHDAYS1            =    ZEROS                               
             MOVE  ALL '_'             TO   MSDAY1I.                            
           IF      STHDAYS2            =    ZEROS                               
             MOVE  ALL '_'             TO   MSDAY2I.                            
           IF      STHDAYS3            =    ZEROS                               
             MOVE  ALL '_'             TO   MSDAY3I.                            
           IF      STHDAYS4            =    ZEROS                               
             MOVE  ALL '_'             TO   MSDAY4I.                            
                                                                                
           IF      STH                 =    OTH                                 
             GO                        TO   300-DETAIL.                         
           MOVE    0                   TO   RETERR2                             
           IF      RETSTH              =    '00'                                
             EXEC  CICS READ UPDATE         DATASET (STHFIL)                    
                                            INTO    (OTH)                       
                                            RIDFLD  (STHKEY)                    
                                            LENGTH  (STHLENR)  END-EXEC         
             EXEC  CICS REWRITE             DATASET (STHFIL)                    
                                            FROM    (STH)                       
                                            LENGTH  (STHLENR)  END-EXEC         
           ELSE                                                                 
             EXEC  CICS WRITE               DATASET (STHFIL)                    
                                            FROM    (STH)                       
                                            RIDFLD  (STHKEY)                    
                                            LENGTH  (STHLENR)  END-EXEC.        
                                                                                
       300-DETAIL.                                                              
           SET     MPS2   MPS3         TO   +1.                         06050000
       305-LOOP.                                                        06060000
           IF      MPS2                >    +5                          06070000
             GO                        TO   400-SATSY-EDIT.             06100000
                                                                                
           IF      MPS3                =    +1                                  
             MOVE  SPACES              TO   WSCADDLN                            
             IF   (MPSSURVL   (MPS2)   =    ZEROS)                   AND06190000
                  (MPSSURVA   (MPS2)   NOT  =  WABEOF)               AND06190000
                  (MPSMODL    (MPS2)   =    ZEROS)                   AND06210000
                  (MPSMODA    (MPS2)   NOT  =  WABEOF)               AND06210000
                  (MPSPGML    (MPS2 1) =    ZEROS)                   AND06210000
                  (MPSPGMA    (MPS2 1) NOT  =  WABEOF)               AND06210000
                  (MPSSTDTL   (MPS2 1) =    ZEROS)                   AND06210000
                  (MPSSTDTA   (MPS2 1) NOT  =  WABEOF)               AND06210000
                  (MPSPCTL    (MPS2 1) =    ZEROS)                   AND06210000
                  (MPSPCTA    (MPS2 1) NOT  =  WABEOF)               AND06210000
                  (MPSPGML    (MPS2 2) =    ZEROS)                   AND06210000
                  (MPSPGMA    (MPS2 2) NOT  =  WABEOF)               AND06210000
                  (MPSSTDTL   (MPS2 2) =    ZEROS)                   AND06210000
                  (MPSSTDTA   (MPS2 2) NOT  =  WABEOF)               AND06210000
                  (MPSPCTL    (MPS2 2) =    ZEROS)                   AND06210000
                  (MPSPCTA    (MPS2 2) NOT  =  WABEOF)               AND06210000
                  (MPSPGML    (MPS2 3) =    ZEROS)                   AND06210000
                  (MPSPGMA    (MPS2 3) NOT  =  WABEOF)               AND06210000
                  (MPSSTDTL   (MPS2 3) =    ZEROS)                   AND06210000
                  (MPSSTDTA   (MPS2 3) NOT  =  WABEOF)               AND06210000
                  (MPSPCTL    (MPS2 3) =    ZEROS)                   AND06210000
                  (MPSPCTA    (MPS2 3) NOT  =  WABEOF)               AND06210000
                  (MPSSPCL    (MPS2)   =    ZEROS)                   AND06210000
                  (MPSSPCA    (MPS2)   NOT  =  WABEOF)               AND06210000
                  (MPSPMODL   (MPS2)   =    ZEROS)                   AND06210000
                  (MPSPMODA   (MPS2)   NOT  =  WABEOF)                  06210000
               SET MPS2                UP   BY  +1                      06360000
               SET MPS3                TO   +1                          06360000
               GO                      TO   305-LOOP.                   06370000
           MOVE    WCMSODIST           TO   SMP                                 
           MOVE    WCMSOFY             TO   SMPFY                               
           MOVE    NEWSSN              TO   SMPSSN                              
           MOVE    NEWJOB              TO   SMPJOB                              
           MOVE    NEWSCHL             TO   SMPSCHL                             
           MOVE    MPSSURV      (MPS2) TO   SMPSURVEY   STSSURVEY               
           MOVE    MPSMOD       (MPS2) TO   SMPMOD      STSMOD                  
           MOVE    MPSPGM  (MPS2 MPS3) TO   SMPPGM                              
                                                                                
           SET     SMP1                TO   +1.                                 
       305-LOOP2.                                                               
           IF      SMPB         (SMP1) =    '_'                                 
             MOVE  ' '                 TO   SMPB         (SMP1).                
           IF      SMP1                <    +26                                 
             SET   SMP1                UP   BY  +1                              
             GO                        TO   305-LOOP2.                          
      ****************************************************************          
      ***  TIME/SPACE (STS) CONTENT EDITS.                         ***          
      ****************************************************************          
           IF     (SMPSURVEY           <    '1')                     OR         
                  (SMPSURVEY           >    '4')                                
             MOVE  SPACES              TO   SMPSURVEY.                          
           IF     (SMPMOD9             NOT  NUMERIC)                 OR         
                  (SMPMOD9             NOT  >  ZERO)                            
             MOVE  SPACES              TO   SMPMOD.                             
                                                                                
           IF     (SMPSURVEY           NOT  >   SPACES)              OR 06430000
                  (SMPMOD              NOT  >   SPACES)                 06430000
             MOVE  ALL '_'             TO   MPSSURV      (MPS2)         06450000
             MOVE  ALL '_'             TO   MPSMOD       (MPS2)         06460000
             MOVE  ALL '_'             TO   MPSPGM       (MPS2  1)      06460000
             MOVE  ALL '_'             TO   MPSSTDT      (MPS2  1)      06460000
             MOVE  '___._'             TO   MPSPCT       (MPS2  1)      06460000
             MOVE  ALL '_'             TO   MPSPGM       (MPS2  2)      06460000
             MOVE  ALL '_'             TO   MPSSTDT      (MPS2  2)      06460000
             MOVE  '___._'             TO   MPSPCT       (MPS2  2)      06460000
             MOVE  ALL '_'             TO   MPSPGM       (MPS2  3)      06460000
             MOVE  ALL '_'             TO   MPSSTDT      (MPS2  3)      06460000
             MOVE  '___._'             TO   MPSPCT       (MPS2  3)      06460000
             MOVE  ALL '_'             TO   MPSSPC       (MPS2)         06450000
             MOVE  ALL '_'             TO   MPSPMOD      (MPS2)         06460000
             MOVE  WABU                TO   MPSSURVA     (MPS2)         06450000
             MOVE  WABU                TO   MPSMODA      (MPS2)         06460000
             MOVE  WABU                TO   MPSPGMA      (MPS2  1)      06460000
             MOVE  WABU                TO   MPSSTDTA     (MPS2  1)      06460000
             MOVE  WABU                TO   MPSPCTA      (MPS2  1)      06460000
             MOVE  WABU                TO   MPSPGMA      (MPS2  2)      06460000
             MOVE  WABU                TO   MPSSTDTA     (MPS2  2)      06460000
             MOVE  WABU                TO   MPSPCTA      (MPS2  2)      06460000
             MOVE  WABU                TO   MPSPGMA      (MPS2  3)      06460000
             MOVE  WABU                TO   MPSSTDTA     (MPS2  3)      06460000
             MOVE  WABU                TO   MPSPCTA      (MPS2  3)      06460000
             MOVE  WABU                TO   MPSSPCA      (MPS2)         06450000
             MOVE  WABU                TO   MPSPMODA     (MPS2)         06460000
             MOVE  ZEROS               TO   MPSSURVL     (MPS2)         06450000
             MOVE  ZEROS               TO   MPSMODL      (MPS2)         06460000
             MOVE  ZEROS               TO   MPSPGML      (MPS2  1)      06460000
             MOVE  ZEROS               TO   MPSSTDTL     (MPS2  1)      06460000
             MOVE  ZEROS               TO   MPSPCTL      (MPS2  1)      06460000
             MOVE  ZEROS               TO   MPSPGML      (MPS2  2)      06460000
             MOVE  ZEROS               TO   MPSSTDTL     (MPS2  2)      06460000
             MOVE  ZEROS               TO   MPSPCTL      (MPS2  2)      06460000
             MOVE  ZEROS               TO   MPSPGML      (MPS2  3)      06460000
             MOVE  ZEROS               TO   MPSSTDTL     (MPS2  3)      06460000
             MOVE  ZEROS               TO   MPSPCTL      (MPS2  3)      06460000
             MOVE  ZEROS               TO   MPSSPCL      (MPS2)         06450000
             MOVE  ZEROS               TO   MPSPMODL     (MPS2)         06460000
             SET   MPS2                UP   BY  +1                      06360000
             SET   MPS3                TO   +1                          06360000
             GO                        TO   305-LOOP.                   06370000
           IF      SMPPGM              NOT  >  SPACES                           
             MOVE  ALL '_'             TO   MPSPGM       (MPS2  MPS3)   06460000
             MOVE  ALL '_'             TO   MPSSTDT      (MPS2  MPS3)   06460000
             MOVE  '___._'             TO   MPSPCT       (MPS2  MPS3)   06460000
             MOVE  WABU                TO   MPSPGMA      (MPS2  MPS3)   06460000
             MOVE  WABU                TO   MPSSTDTA     (MPS2  MPS3)   06460000
             MOVE  WABU                TO   MPSPCTA      (MPS2  MPS3)   06460000
             MOVE  ZEROS               TO   MPSPGML      (MPS2  MPS3)   06460000
             MOVE  ZEROS               TO   MPSSTDTL     (MPS2  MPS3)   06460000
             MOVE  ZEROS               TO   MPSPCTL      (MPS2  MPS3)   06460000
             GO                        TO   310-NXT-FIELD.                      
                                                                                
           MOVE    '99'                TO   RETSMP                      06810000
           MOVE    WABPS               TO   MPSSURVA     (MPS2)         06820000
                                            MPSMODA      (MPS2)         06820000
           MOVE    WABU                TO   MPSPGMA      (MPS2  MPS3)   06820000
           EXEC    CICS HANDLE CONDITION    NOTFND  (310-NEW)  END-EXEC 06830000
           EXEC    CICS READ                DATASET (SMPFIL)            06840000
                                            INTO    (SMP)               06850000
                                            RIDFLD  (SMPKEY)            06860000
                                            LENGTH  (SMPLENR)  END-EXEC 06870000
           MOVE    WABPS               TO   MPSPGMA      (MPS2  MPS3)   07340000
           MOVE    '00'                TO   RETSMP                      07350000
           MOVE    'N'                 TO   WSCADDLN.                           
       310-NEW.                                                         07360000
           IF      RETSMP              NOT  =  '00'                             
             MOVE  SPACES              TO   SMPDATA                             
             MOVE  ZEROS               TO   SMPSTDT   SMPPCT.                   
           MOVE    SMP                 TO   OMP                         07450000
           IF      MPSSTDTA   (MPS2 MPS3)   =    WABEOF                         
             MOVE  ALL '_'             TO   MPSSTDT        (MPS2 MPS3)          
             MOVE  WABU                TO   MPSSTDTA       (MPS2 MPS3)          
             MOVE  ZEROS               TO   SMPSTDT                             
           ELSE                                                                 
             IF      MPSSTDTL (MPS2 MPS3)   >    ZEROS                          
               MOVE  ZEROS             TO   MPSSTDTL       (MPS2 MPS3)          
               MOVE  MPSSTDT  (MPS2 MPS3)   TO   WNUIN                          
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU30             TO   MPSSTDT9       (MPS2 MPS3)          
                                            SMPSTDT                             
               MOVE  WABU              TO   MPSSTDTA       (MPS2 MPS3)          
             ELSE                                                               
               IF      MPSSTDT(MPS2 MPS3)   >    LOW-VALUES                     
                 MOVE  WABUN           TO   MPSSTDTA       (MPS2 MPS3)          
                 MOVE  MPSSTDT(MPS2 MPS3)   TO   WNUIN                          
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU30           TO   MPSSTDT9       (MPS2 MPS3)          
                                            SMPSTDT.                            
           IF      MPSPCTA    (MPS2 MPS3)   =    WABEOF                         
             MOVE  '___._'             TO   MPSPCT         (MPS2 MPS3)          
             MOVE  WABU                TO   MPSPCTA        (MPS2 MPS3)          
             MOVE  ZEROS               TO   SMPPCT                              
           ELSE                                                                 
             IF      MPSPCTL  (MPS2 MPS3)   >    ZEROS                          
               MOVE  ZEROS             TO   MPSPCTL        (MPS2 MPS3)          
               MOVE  MPSPCT   (MPS2 MPS3)   TO   WNUIN                          
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU31             TO   MPSPCT9        (MPS2 MPS3)          
                                            WSCPCT2                             
               COMPUTE  SMPPCT         =    WSCPCT2 / 100                       
               MOVE  WABU              TO   MPSPCTA        (MPS2 MPS3)          
             ELSE                                                               
               IF      MPSPCT (MPS2 MPS3)   >    LOW-VALUES                     
                 MOVE  WABUN           TO   MPSPCTA        (MPS2 MPS3)          
                 MOVE  MPSPCT (MPS2 MPS3)   TO   WNUIN                          
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU31           TO   MPSPCT9        (MPS2 MPS3)          
                                            WSCPCT2                             
                 COMPUTE  SMPPCT       =    WSCPCT2 / 100.                      
                                                                                
           IF      SMPSTDT             =    ZEROS                               
             MOVE  ALL '_'             TO   MPSSTDT        (MPS2 MPS3).         
           IF      SMPPCT              =    ZEROS                               
             MOVE  '___._'             TO   MPSPCT         (MPS2 MPS3).         
                                                                                
           IF      RETSMP              NOT  =  '00'                     09500000
             MOVE  'A'                 TO   WSCACT                      09510000
             IF    SMPSTDT             =    ZEROS                   AND 09520000
                   SMPPCT              =    ZEROS                       09530000
               MOVE  WABU              TO   MPSPGMA        (MPS2 MPS3)  09540000
               MOVE  ALL '_'           TO   MPSPGM         (MPS2 MPS3)  09550000
               MOVE  ZEROS             TO   MPSPGML        (MPS2 MPS3)  09550000
             ELSE                                                       09560000
               NEXT SENTENCE                                            09570000
           ELSE                                                         09580000
             IF    SMPSTDT             >    ZEROS                   OR  09590000
                   SMPPCT              >    ZEROS                       09600000
               MOVE  'C'               TO   WSCACT                      09610000
             ELSE                                                       09620000
               MOVE  'D'               TO   WSCACT.                     09630000
                                                                        09650000
           SET     EDT1                TO   SMPSURVEY9                          
           SET     EDT2                TO   SMPMOD9                             
113095     SET     EDT2                UP   BY  +1                              
           COMPUTE EDTPCT (EDT1 EDT2)  =    EDTPCT (EDT1 EDT2) - OMPPCT         
                                             + SMPPCT                           
                                                                                
           IF      WSCACT              NOT  =  'D'                              
             GO                        TO   310-ADD-UPD.                        
           IF      SMPPGM              NOT  =  EDTLASTPGM(EDT1  EDT2)           
             GO                        TO   310-DELETE.                         
           MOVE    SPACES              TO   EDTLASTPGM   (EDT1  EDT2)           
           EXEC    CICS HANDLE CONDITION    INVREQ  (310-ERR)                   
                                            NOTFND  (310-ERR)                   
                                            ENDFILE (310-ERR)  END-EXEC         
           MOVE    '99'                TO   RETSMP                              
           EXEC    CICS STARTBR             DATASET (SMPFIL)                    
                                            RIDFLD  (OMPKEY)   GTEQ             
                                            KEYLENGTH (SMPLENK)                 
                                            END-EXEC                            
           EXEC    CICS READPREV            DATASET (SMPFIL)                    
                                            INTO    (OMP)                       
                                            RIDFLD  (OMPKEY)                    
                                            LENGTH  (SMPLENR)  END-EXEC         
           EXEC    CICS READPREV            DATASET (SMPFIL)                    
                                            INTO    (OMP)                       
                                            RIDFLD  (OMPKEY)                    
                                            LENGTH  (SMPLENR)  END-EXEC         
           MOVE    '00'                TO   RETSMP.                             
       310-ERR.                                                                 
           IF     (RETSMP              =    '00')                   AND         
                  (OMPDIST             =    WCMSODIST)              AND         
                  (OMPFY               =    WCMSOFY)                AND         
                  (OMPSSN              =    NEWSSN)                 AND         
                  (OMPJOB              =    NEWJOB)                 AND         
                  (OMPSCHL             =    NEWSCHL)                AND         
                  (OMPSURVEY           =    SMPSURVEY)              AND         
                  (OMPMOD              =    SMPMOD)                             
             MOVE  OMPPGM              TO   EDTLASTPGM  (EDT1 EDT2)             
           ELSE                                                                 
             MOVE  SPACES              TO   EDTMODUPD   (EDT1 EDT2)             
             SUBTRACT  +1              FROM EDTNBRMOD   (EDT1)                  
                                            EDTEMPTY    (EDT1)                  
             IF    SMPMOD              =    EDTLASTMOD  (EDT1)                  
               MOVE  SPACES            TO   EDTLASTMOD  (EDT1)                  
               IF    OMPSURVEY         =    SMPSURVEY                           
                 MOVE  OMPMOD          TO   EDTLASTMOD  (EDT1).                 
           EXEC    CICS HANDLE CONDITION    INVREQ  (310-DELETE)                
                                            END-EXEC                            
           EXEC    CICS ENDBR               DATASET (SMPFIL)   END-EXEC.        
       310-DELETE.                                                              
           EXEC    CICS READ UPDATE         DATASET (SMPFIL)            10960101
                                            INTO    (SMP)               10960201
                                            RIDFLD  (SMPKEY)            10960301
                                            LENGTH  (SMPLENR)  END-EXEC 10960401
           EXEC    CICS DELETE              DATASET (SMPFIL)   END-EXEC 11010000
           MOVE    ALL '_'             TO   MPSPGM       (MPS2  MPS3)   06460000
           MOVE    ALL '_'             TO   MPSSTDT      (MPS2  MPS3)   06460000
           MOVE    '___._'             TO   MPSPCT       (MPS2  MPS3)   06460000
           MOVE    WABU                TO   MPSPGMA      (MPS2  MPS3)   06460000
           MOVE    WABU                TO   MPSSTDTA     (MPS2  MPS3)   06460000
           MOVE    WABU                TO   MPSPCTA      (MPS2  MPS3)   06460000
           MOVE    ZEROS               TO   MPSPGML      (MPS2  MPS3)   06460000
           MOVE    ZEROS               TO   MPSSTDTL     (MPS2  MPS3)   06460000
           MOVE    ZEROS               TO   MPSPCTL      (MPS2  MPS3)   06460000
           IF      RETERR2             =    +1                                  
             MOVE  ZEROS               TO   RETERR2.                            
           GO                          TO   310-NXT-FIELD.                      
       310-ADD-UPD.                                                             
           IF      SMP                 =    OMP                         10790000
             GO                        TO   310-NXT-FIELD.                      
           MOVE    WABPS               TO   MPSPGMA      (MPS2  MPS3)   10930000
           MOVE    ZEROS               TO   MPSPGML      (MPS2  MPS3)   10950000
           IF      RETERR2             NOT  =   -1                      10910000
             MOVE  ZEROS               TO   RETERR2.                    10920000
                                                                                
           IF      SMPPGM              >    EDTLASTPGM   (EDT1  EDT2)           
             MOVE  SMPPGM              TO   EDTLASTPGM   (EDT1  EDT2).          
           IF      EDTMODUPD (EDT1 EDT2) NOT  =  'Y'                            
             MOVE  'Y'                 TO   EDTMODUPD    (EDT1  EDT2)           
             ADD   +1                  TO   EDTNBRMOD    (EDT1)                 
                                            EDTEMPTY     (EDT1)                 
             IF    SMPMOD              >    EDTLASTMOD   (EDT1)                 
               MOVE  SMPMOD            TO   EDTLASTMOD   (EDT1).                
           IF     (RETSMP              NOT  =  '00')                AND         
                  (WSCADDLN            =    SPACES)                             
             MOVE  'Y'                 TO   WSCADDLN.                           
                                                                                
           IF      RETSMP              =    '00'                        10960000
             EXEC  CICS READ UPDATE         DATASET (SMPFIL)            10960101
                                            INTO    (OMP)               10960201
                                            RIDFLD  (SMPKEY)            10960301
                                            LENGTH  (SMPLENR)  END-EXEC 10960401
             EXEC  CICS REWRITE             DATASET (SMPFIL)            11010000
                                            FROM    (SMP)               11020000
                                            LENGTH  (SMPLENR)  END-EXEC 11030000
           ELSE                                                                 
             EXEC  CICS WRITE               DATASET (SMPFIL)            11051000
                                            FROM    (SMP)               11060000
                                            RIDFLD  (SMPKEY)            11070000
                                            LENGTH  (SMPLENR)  END-EXEC.11080000
                                                                        11090000
                                                                                
       310-NXT-FIELD.                                                           
           IF      MPS3                <    +3                                  
             SET   MPS3                UP   BY  +1                              
             GO                        TO   305-LOOP.                   11100000
                                                                                
           IF     (MPSPGM     (MPS2 1) =    '___')                  AND         
                  (MPSPGM     (MPS2 2) =    '___')                  AND         
                  (MPSPGM     (MPS2 3) =    '___')                              
             MOVE  ALL '_'             TO   MPSSURV      (MPS2)         06450000
             MOVE  ALL '_'             TO   MPSMOD       (MPS2)         06450000
             MOVE  ALL '_'             TO   MPSSPC       (MPS2)         06450000
             MOVE  ALL '_'             TO   MPSPMOD      (MPS2)         06460000
             MOVE  WABU                TO   MPSSURVA     (MPS2)         06450000
             MOVE  WABU                TO   MPSMODA      (MPS2)         06450000
             MOVE  WABU                TO   MPSSPCA      (MPS2)         06450000
             MOVE  WABU                TO   MPSPMODA     (MPS2)         06460000
             MOVE  ZEROS               TO   MPSSURVL     (MPS2)         06450000
             MOVE  ZEROS               TO   MPSMODL      (MPS2)         06450000
             MOVE  ZEROS               TO   MPSSPCL      (MPS2)         06450000
             MOVE  ZEROS               TO   MPSPMODL     (MPS2)         06460000
             IF    EDTMODUPD(EDT1 EDT2) =   'Y'                                 
               GO                      TO   320-NXT-LN.                         
                                                                                
           SET     UPD1                TO   +1.                                 
       310-TBL-LOOP.                                                            
           IF      UPDSURVEY    (UPD1) =    STSSURVEY               AND         
                   UPDMOD       (UPD1) =    STSMOD                              
             GO                        TO   320-NXT-LN                          
           ELSE                                                                 
             IF    UPDSURVEY    (UPD1) =    HIGH-VALUES             OR          
                   UPDMOD       (UPD1) =    HIGH-VALUES                         
               NEXT  SENTENCE                                                   
             ELSE                                                               
               IF  UPD1                <    +5                                  
                 SET  UPD1             UP   BY  +1                              
                 GO                    TO   310-TBL-LOOP.                       
                                                                                
           MOVE    WCMSODIST           TO   STSDIST                             
           MOVE    WCMSOFY             TO   STSFY                               
           MOVE    NEWSSN              TO   STSSSN                              
           MOVE    NEWJOB              TO   STSJOB                              
           MOVE    NEWSCHL             TO   STSSCHL                             
                                                                                
           SET     STS1                TO   +1.                                 
       320-LOOP.                                                                
           IF      STSB         (STS1) =    '_'                                 
             MOVE  ' '                 TO   STSB         (STS1).                
           IF      STS1                <    +23                                 
             SET   STS1                UP   BY  +1                              
             GO                        TO   320-LOOP.                           
                                                                                
           MOVE    '99'                TO   RETSTS                      06810000
           EXEC    CICS HANDLE CONDITION    NOTFND  (320-NEW)  END-EXEC 06830000
           EXEC    CICS READ                DATASET (STSFIL)            06840000
                                            INTO    (STS)               06850000
                                            RIDFLD  (STSKEY)            06860000
                                            LENGTH  (STSLENR)  END-EXEC 06870000
           MOVE    '00'                TO   RETSTS.                     07350000
       320-NEW.                                                         07360000
           IF      RETSTS              NOT  =  '00'                             
             MOVE  SPACES              TO   STSDATA                             
             MOVE  ZEROS               TO   STSPMOD   STSSPACE                  
           ELSE                                                                 
             IF    WSCADDLN            =    'Y'                                 
               MOVE  STSSPACE          TO   MPSSPC9      (MPS2)                 
               COMPUTE  WSCPCT1        =    STSPMOD  *  100                     
               MOVE  WSCPCT1           TO   MPSPMOD9     (MPS2).                
           MOVE    STS                 TO   OTS                         07450000
           IF      MPSSPCA      (MPS2) =    WABEOF                              
             MOVE  ALL '_'             TO   MPSSPC         (MPS2)               
             MOVE  WABU                TO   MPSSPCA        (MPS2)               
             MOVE  ZEROS               TO   STSSPACE                            
           ELSE                                                                 
             IF      MPSSPCL    (MPS2) >    ZEROS                               
               MOVE  ZEROS             TO   MPSSPCL        (MPS2)               
               MOVE  MPSSPC     (MPS2) TO   WNUIN                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU40             TO   MPSSPC9        (MPS2)               
                                            STSSPACE                            
               MOVE  WABU              TO   MPSSPCA        (MPS2)               
             ELSE                                                               
               IF      MPSSPC   (MPS2) >    LOW-VALUES                          
                 MOVE  WABU            TO   MPSSPCA        (MPS2)               
                 MOVE  MPSSPC   (MPS2) TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU40           TO   MPSSPC9        (MPS2)               
                                            STSSPACE.                           
           IF      MPSPMODA     (MPS2) =    WABEOF                              
             MOVE  ALL '_'             TO   MPSPMOD        (MPS2)               
             MOVE  WABU                TO   MPSPMODA       (MPS2)               
             MOVE  ZEROS               TO   STSPMOD                             
           ELSE                                                                 
             IF      MPSPMODL   (MPS2) >    ZEROS                               
               MOVE  ZEROS             TO   MPSPMODL       (MPS2)               
               MOVE  MPSPMOD    (MPS2) TO   WNUIN                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU30             TO   MPSPMOD9       (MPS2)               
                                            WSCPCT1                             
               COMPUTE  STSPMOD        =    WSCPCT1 / 100                       
               MOVE  WABU              TO   MPSPMODA       (MPS2)               
             ELSE                                                               
               IF      MPSPMOD  (MPS2) >    LOW-VALUES                          
                 MOVE  WABU            TO   MPSPMODA       (MPS2)               
                 MOVE  MPSPMOD  (MPS2) TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU30           TO   MPSPMOD9       (MPS2)               
                                            WSCPCT1                             
                 COMPUTE  STSPMOD      =    WSCPCT1 / 100.                      
                                                                                
           IF      STSSPACE            =    ZEROS                               
             MOVE  ALL '_'             TO   MPSSPC         (MPS2).              
           IF      STSPMOD             =    ZEROS                               
             MOVE  ALL '_'             TO   MPSPMOD        (MPS2).              
                                                                                
           COMPUTE EDTPMOD (EDT1)      =    EDTPMOD (EDT1) - OTSPMOD            
                                             + STSPMOD                          
                                                                                
           IF     (RETSTS              NOT  =    '00')              OR          
                  (STSSPACE            NOT  =    ZEROS)             OR          
                  (STSPMOD             NOT  =    ZEROS)                         
             GO                        TO   320-ADD-UPD.                        
                                                                                
           IF      OTSPMOD             >    ZEROS                               
             ADD   +1                  TO   EDTEMPTY       (EDT1).              
           MOVE    STSSURVEY           TO   UPDSURVEY      (UPD1)               
           MOVE    STSMOD              TO   UPDMOD         (UPD1)               
           MOVE    STSSPACE            TO   UPDSPACE       (UPD1)               
           MOVE    STSPMOD             TO   UPDPMOD        (UPD1)               
                                                                                
           EXEC    CICS READ UPDATE         DATASET (STSFIL)            10960101
                                            INTO    (STS)               10960201
                                            RIDFLD  (STSKEY)            10960301
                                            LENGTH  (STSLENR)  END-EXEC 10960401
           EXEC    CICS DELETE              DATASET (STSFIL)   END-EXEC 11010000
           MOVE    ALL '_'             TO   MPSSPC       (MPS2)         06460000
           MOVE    ALL '_'             TO   MPSPMOD      (MPS2)         06460000
           MOVE    WABU                TO   MPSSPCA      (MPS2)         06460000
           MOVE    WABU                TO   MPSPMODA     (MPS2)         06460000
           MOVE    ZEROS               TO   MPSSPCL      (MPS2)         06460000
           MOVE    ZEROS               TO   MPSPMODL     (MPS2)         06460000
           IF      RETERR2             NOT  =   -1                              
             MOVE  ZEROS               TO   RETERR2.                            
           GO                          TO   320-NXT-LN.                         
       320-ADD-UPD.                                                             
           IF      STS                 =    OTS                                 
             GO                        TO   320-NXT-LN.                         
           IF      RETERR2             NOT  =   -1                      10910000
             MOVE  ZEROS               TO   RETERR2.                    10920000
                                                                                
           IF     (RETSTS              =    '00')                   AND         
                  (OTSPMOD             =    ZEROS)                  AND         
                  (STSPMOD             >    ZEROS)                              
             SUBTRACT  +1              FROM EDTEMPTY     (EDT1).                
           IF     (RETSTS              =    '00')                   AND         
                  (OTSPMOD             >    ZEROS)                  AND         
                  (STSPMOD             =    ZEROS)                              
             ADD       +1              TO   EDTEMPTY     (EDT1).                
           IF     (RETSTS              NOT  =  '00')                AND         
                  (STSPMOD             >    ZEROS)                              
             SUBTRACT  +1              FROM EDTEMPTY     (EDT1).                
           MOVE    STSSURVEY           TO   UPDSURVEY      (UPD1)               
           MOVE    STSMOD              TO   UPDMOD         (UPD1)               
           MOVE    STSSPACE            TO   UPDSPACE       (UPD1)               
           MOVE    STSPMOD             TO   UPDPMOD        (UPD1)               
                                                                                
           IF      RETSTS              =    '00'                        10960000
             EXEC  CICS READ UPDATE         DATASET (STSFIL)            10960101
                                            INTO    (OTS)               10960201
                                            RIDFLD  (STSKEY)            10960301
                                            LENGTH  (STSLENR)  END-EXEC 10960401
             EXEC  CICS REWRITE             DATASET (STSFIL)            11010000
                                            FROM    (STS)               11020000
                                            LENGTH  (STSLENR)  END-EXEC 11030000
           ELSE                                                                 
             EXEC  CICS WRITE               DATASET (STSFIL)            11051000
                                            FROM    (STS)               11060000
                                            RIDFLD  (STSKEY)            11070000
                                            LENGTH  (STSLENR)  END-EXEC.11080000
       320-NXT-LN.                                                              
           SET     MPS2                UP   BY  +1                              
           SET     MPS3                TO   +1                                  
           GO                          TO   305-LOOP.                           
                                                                                
      ******************************************************************        
       400-SATSY-EDIT.                                                          
      ******************************************************************        
      ***  THE EDIT OF RECORDS IS BEING DONE IN A SEPERATE PASS      ***        
      ***  THRU THE SCREEN.  IN ORDER TO DO RELATIONAL EDITS THE     ***        
      ***  ENTIRE SCREEN MUST BE SCANNED TO UPDATE THE EDTTBL (THIS  ***        
      ***  IS BEING DONE IN 300 UPDATE), THEN EACH FIELD CAN BE      ***        
      ***  EDITED AGAINST THE NEW TABLE. IN ADDITION TO EDITING,THE  ***        
      ***  PROCEDURE WILL ALSO UPDATE TIME/SPACE (STS) FIELDS THAT   ***        
      ***  WERE UPDATED ON THE PANEL AND OCCUR MULTIPLE TIMES.       ***        
      ***  FOR EXAMPLE, IF SURVEY 1 MOD 01 HAS 9 PROGRAM RECORDS     ***        
      ***  IT WOULD FILL 3 DETAIL LINES.  EACH DETAIL LINE           ***        
      ***  WOULD HAVE TIME/SPACE FIELDS.  THEREFOR, ONE STS RECORD   ***        
      ***  WOULD APPEAR THREE TIMES ON THE SCREEN.  IF ONE OF THE    ***        
      ***  THREE OCCURANCES WAS UPDATED, THAT UPDATE SHOULD BE       ***        
      ***  COPIED TO THE OTHER TWO OCCURANCES TO PREVENT THE VALUE   ***        
      ***  IN THE FIELDS FROM REVERTING TO THE OLD VALUE THE NEXT    ***        
      ***  TIME THAT THE ENTER KEY IS PRESSED.                       ***        
      ******************************************************************        
           MOVE    ZEROS               TO   WSCERRPOS                           
           MOVE    WCMSODIST           TO   IOPKEY                              
           MOVE    WCMSOFY             TO   IOPFY                               
           MOVE    'IOP'               TO   IOPPREF                             
           MOVE    '99'                TO   RETCRF                              
           EXEC    CICS HANDLE CONDITION    NOTFND  (400-ERR1) END-EXEC         
           EXEC    CICS READ                DATASET (CRFFIL)                    
                                            INTO    (IOP)                       
                                            RIDFLD  (IOPKEY)                    
                                            LENGTH  (CRFLENR)  END-EXEC         
           MOVE    '00'                TO   RETCRF.                             
       400-ERR1.                                                                
           IF      RETCRF              NOT  =   '00'                            
             MOVE  SPACES              TO   IOPDATA                             
             MOVE  ZEROS               TO   IOPSEFSAL    IOPSETSAL              
                                            IOPSEMOD     IOPSEDAYS              
                                            IOPCEIND     IOPCEDIST              
                                            IOPCEFSAL    IOPCETSAL              
             MOVE  +1                  TO   IOPSECDAYS   IOPSEHDAYS             
                                            IOPSEHRS.                           
           MOVE    SPACES              TO   STH                                 
           MOVE    NEWSSN              TO   STHSSN                              
           MOVE    NEWJOB              TO   STHJOB                              
           MOVE    NEWSCHL             TO   STHSCHL                             
           MOVE    ZEROS               TO   STHSALARY     STHHRLY               
                                            STHPSCHL      STHDAYS1              
                                            STHDAYS2      STHDAYS3              
                                            STHDAYS4                            
                                                                                
           IF      MLASTA              =    WABEOF                              
             MOVE  SPACES              TO   STHLAST                             
           ELSE                                                                 
             IF      MLASTL            >    ZEROS                               
               MOVE  MLASTI            TO   STHLAST                             
             ELSE                                                               
               IF      MLASTI          >    LOW-VALUES                          
                 MOVE  MLASTI          TO   STHLAST.                            
           IF      MFIRSTA             =    WABEOF                              
             MOVE  SPACES              TO   STHFIRST                            
           ELSE                                                                 
             IF      MFIRSTL           >    ZEROS                               
               MOVE  MFIRSTI           TO   STHFIRST                            
             ELSE                                                               
               IF      MFIRSTI         >    LOW-VALUES                          
                 MOVE  MFIRSTI         TO   STHFIRST.                           
           IF      MMIA                =    WABEOF                              
             MOVE  SPACES              TO   STHMINIT                            
           ELSE                                                                 
             IF      MMIL              >    ZEROS                               
               MOVE  MMII              TO   STHMINIT                            
             ELSE                                                               
               IF      MMII            >    LOW-VALUES                          
                 MOVE  MMII            TO   STHMINIT.                           
           IF      MTBLEA              =    WABEOF                              
             MOVE  SPACES              TO   STHTABLE                            
           ELSE                                                                 
             IF      MTBLEL            >    ZEROS                               
               MOVE  MTBLEI            TO   WNUIN                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU50             TO   STHTABLE9                           
             ELSE                                                               
               IF      MTBLEI          >    LOW-VALUES                          
                 MOVE  MTBLEI          TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU50           TO   STHTABLE9.                          
           IF      MFUNDA              =    WABEOF                              
             MOVE  SPACES              TO   STHFUND                             
           ELSE                                                                 
             IF      MFUNDL            >    ZEROS                               
               MOVE  MFUNDI            TO   STHFUND                             
             ELSE                                                               
               IF      MFUNDI          >    LOW-VALUES                          
                 MOVE  MFUNDI          TO   STHFUND.                            
           IF      MSALA               =    WABEOF                              
             MOVE  ZEROS               TO   STHSALARY                           
           ELSE                                                                 
             IF      MSALL             >    ZEROS                               
               MOVE  MSALI             TO   WNUIN                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU60             TO   STHSALARY                           
             ELSE                                                               
               IF      MSALI           >    LOW-VALUES                          
                 MOVE  MSALI           TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU60           TO   STHSALARY.                          
           IF      MHRLYA              =    WABEOF                              
             MOVE  ZEROS               TO   STHHRLY                             
           ELSE                                                                 
             IF      MHRLYL            >    ZEROS                               
               MOVE  MHRLYI            TO   WNUIN                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU35             TO   STHHRLY                             
             ELSE                                                               
               IF      MHRLYI          >    LOW-VALUES                          
                 MOVE  MHRLYI          TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU35           TO   STHHRLY.                            
           IF      MPCTA               =    WABEOF                              
             MOVE  ZEROS               TO   STHPSCHL                            
           ELSE                                                                 
             IF      MPCTL             >    ZEROS                               
               MOVE  ZEROS             TO   MPCTL                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU30             TO   WSCPCT1                             
               COMPUTE  STHPSCHL       =    WSCPCT1 / 100                       
             ELSE                                                               
               IF      MPCTI           >    LOW-VALUES                          
                 MOVE  MPCTI           TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU30           TO   WSCPCT1                             
                 COMPUTE STHPSCHL      =    WSCPCT1 / 100.                      
           IF      MSDAY1A             =    WABEOF                              
             MOVE  ZEROS               TO   STHDAYS1                            
           ELSE                                                                 
             IF      MSDAY1L           >    ZEROS                               
               MOVE  MSDAY1I           TO   WNUIN                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU30             TO   STHDAYS1                            
             ELSE                                                               
               IF      MSDAY1I         >    LOW-VALUES                          
                 MOVE  MSDAY1I         TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU30           TO   STHDAYS1.                           
           IF      MSDAY2A             =    WABEOF                              
             MOVE  ZEROS               TO   STHDAYS2                            
           ELSE                                                                 
             IF      MSDAY2L           >    ZEROS                               
               MOVE  MSDAY2I           TO   WNUIN                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU30             TO   STHDAYS2                            
             ELSE                                                               
               IF      MSDAY2I         >    LOW-VALUES                          
                 MOVE  MSDAY2I         TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU30           TO   STHDAYS2.                           
           IF      MSDAY3A             =    WABEOF                              
             MOVE  ZEROS               TO   STHDAYS3                            
           ELSE                                                                 
             IF      MSDAY3L           >    ZEROS                               
               MOVE  MSDAY3I           TO   WNUIN                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU30             TO   STHDAYS3                            
             ELSE                                                               
               IF      MSDAY3I         >    LOW-VALUES                          
                 MOVE  MSDAY3I         TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU30           TO   STHDAYS3.                           
           IF      MSDAY4A             =    WABEOF                              
             MOVE  ZEROS               TO   STHDAYS4                            
           ELSE                                                                 
             IF      MSDAY4L           >    ZEROS                               
               MOVE  MSDAY4I           TO   WNUIN                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU30             TO   STHDAYS4                            
             ELSE                                                               
               IF      MSDAY4I         >    LOW-VALUES                          
                 MOVE  MSDAY4I         TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU30           TO   STHDAYS4.                           
                                                                                
           SET     STH1                TO   +1.                                 
       400-LOOP.                                                                
           IF      STHB         (STH1) =    '_'                                 
             MOVE  ' '                 TO   STHB         (STH1).                
           IF      STH1                <    +144                                
             SET   STH1                UP   BY  +1                              
             GO                        TO   400-LOOP.                           
                                                                                
      **************************************************************            
      ***  TEACHER HEADER (STH) CONTENT EDITS.                   ***            
      **************************************************************            
           IF      STHLAST             NOT  >   SPACES                          
             MOVE  WABUMB              TO   MLASTA                              
             MOVE  -1                  TO   MLASTL    WSCERRPOS                 
                                            RETERR2.                            
           MOVE    WCMSODIST           TO   TBLKEY                              
           MOVE    WCMSOFY             TO   TBLFY                               
           MOVE    'TBL'               TO   TBLPREF                             
           MOVE    STHTABLE            TO   TBLTBL                              
           MOVE    '99'                TO   RETCRF                              
           EXEC    CICS HANDLE CONDITION    NOTFND  (400-ERR2) END-EXEC         
           EXEC    CICS READ                DATASET (CRFFIL)                    
                                            INTO    (TBL)                       
                                            RIDFLD  (TBLKEY)                    
                                            LENGTH  (CRFLENR)  END-EXEC         
           MOVE    '00'                TO   RETCRF.                             
       400-ERR2.                                                                
           IF      RETCRF              NOT  =   '00'                            
             MOVE  SPACES              TO   TBLDATA                             
             MOVE  WABUMB              TO   MTBLEA                              
             MOVE  -1                  TO   MTBLEL    WSCERRPOS                 
                                            RETERR2.                            
           IF      STHFUND             NOT  =  TBLFTYPE                         
             MOVE  WABUMB              TO   MFUNDA                              
             MOVE  -1                  TO   MFUNDL    WSCERRPOS                 
                                            RETERR2.                            
           IF      STHSALARY           NOT  >  ZERO                             
             MOVE  WABUMB              TO   MSALA                               
             MOVE  -1                  TO   MSALL     WSCERRPOS                 
                                            RETERR2.                            
           IF      STHPSCHL            <    0.01                   OR           
                   STHPSCHL            >    1.00                                
             MOVE  WABUMB              TO   MPCTA                               
             MOVE  -1                  TO   MPCTL     WSCERRPOS                 
                                            RETERR2.                            
                                                                                
      **************************************************************            
      ***  TEACHER HEADER (STH) RELATIONAL EDITS.                ***            
      **************************************************************            
           MOVE    SPACES              TO   WSCSMP                              
           IF      EDTNBRMOD      (01) >    ZERO                                
             MOVE  'Y'                 TO   WSCSMP1.                            
           IF      EDTNBRMOD      (02) >    ZERO                                
             MOVE  'Y'                 TO   WSCSMP2.                            
           IF      EDTNBRMOD      (03) >    ZERO                                
             MOVE  'Y'                 TO   WSCSMP3.                            
           IF      EDTNBRMOD      (04) >    ZERO                                
             MOVE  'Y'                 TO   WSCSMP4.                            
           IF      WSCSMP              =    SPACES                              
             MOVE  WABUMB              TO   M1SURVA    M1MODA                   
                                            M1PGM1A    M1STD1A                  
                                            M1PCT1A                             
             MOVE  -1                  TO   M1SURVL   WSCERRPOS                 
                                            RETERR2.                            
           IF      STHHRLY             >    ZERO                                
             COMPUTE  WSCHOURS ROUNDED =    STHSALARY / STHHRLY                 
             COMPUTE  WSCDAYS  ROUNDED =    WSCHOURS / IOPSEHRS                 
             COMPUTE  WSCFTE   ROUNDED =    WSCDAYS / IOPSEHDAYS                
           ELSE                                                                 
             COMPUTE  WSCFTE   ROUNDED =   (STHDAYS1 + STHDAYS2 +               
                                            STHDAYS3 + STHDAYS4) /              
                                            IOPSECDAYS.                         
           IF         WSCFTE           >    ZERO                                
             COMPUTE  WSCSALARY        =    STHSALARY / WSCFTE                  
           ELSE                                                                 
             MOVE     ZEROS            TO   WSCSALARY.                          
           IF      WSCSALARY           <    IOPSEFSAL              OR           
                   WSCSALARY           >    IOPSETSAL                           
             MOVE  WABUMB              TO   MSALA                               
             MOVE  -1                  TO   MSALL     WSCERRPOS                 
                                            RETERR2.                            
           COMPUTE WSCDAYS             =   (STHDAYS1 + STHDAYS2 +               
                                            STHDAYS3 + STHDAYS4)                
           IF      WSCDAYS             >    IOPSEDAYS                           
             MOVE  WABUMB              TO   MSDAY1A   MSDAY2A                   
                                            MSDAY3A   MSDAY4A                   
             MOVE  -1                  TO   MSDAY1L   WSCERRPOS                 
                                            RETERR2.                            
           IF      WSCDAYS             =    ZEROS                  AND          
                   STHHRLY             =    ZEROS                               
             MOVE  WABUMB              TO   MHRLYA                              
                                            MSDAY1A   MSDAY2A                   
                                            MSDAY3A   MSDAY4A                   
             MOVE  -1                  TO   MHRLYL    WSCERRPOS                 
                                            RETERR2.                            
           IF      WSCDAYS             >    ZEROS                  AND          
                   STHHRLY             >    ZEROS                               
             MOVE  WABUMB              TO   MHRLYA                              
             MOVE  -1                  TO   MHRLYL    WSCERRPOS                 
                                            RETERR2                             
             IF    STHDAYS1            >    ZERO                                
               MOVE  WABUMB            TO   MSDAY1A.                            
           IF      WSCDAYS             >    ZEROS                  AND          
                   STHHRLY             >    ZEROS                               
             IF    STHDAYS2            >    ZERO                                
               MOVE  WABUMB            TO   MSDAY2A.                            
           IF      WSCDAYS             >    ZEROS                  AND          
                   STHHRLY             >    ZEROS                               
             IF    STHDAYS3            >    ZERO                                
               MOVE  WABUMB            TO   MSDAY3A.                            
           IF      WSCDAYS             >    ZEROS                  AND          
                   STHHRLY             >    ZEROS                               
             IF    STHDAYS4            >    ZERO                                
               MOVE  WABUMB            TO   MSDAY4A.                            
           IF     (STHDAYS1            >    ZEROS               AND             
                   WSCSMP1             NOT  =  'Y')                OR           
                  (STHDAYS1            =    ZEROS               AND             
                   STHHRLY             =    ZEROS               AND             
                   WSCSMP1             =    'Y')                                
             MOVE  WABUMB              TO   MSDAY1A                             
             MOVE  -1                  TO   MSDAY1L   WSCERRPOS                 
                                            RETERR2.                            
           IF     (STHDAYS2            >    ZEROS               AND             
                   WSCSMP2             NOT  =  'Y')                OR           
                  (STHDAYS2            =    ZEROS               AND             
                   STHHRLY             =    ZEROS               AND             
                   WSCSMP2             =    'Y')                                
             MOVE  WABUMB              TO   MSDAY2A                             
             MOVE  -1                  TO   MSDAY2L   WSCERRPOS                 
                                            RETERR2.                            
           IF     (STHDAYS3            >    ZEROS               AND             
                   WSCSMP3             NOT  =  'Y')                OR           
                  (STHDAYS3            =    ZEROS               AND             
                   STHHRLY             =    ZEROS               AND             
                   WSCSMP3             =    'Y')                                
             MOVE  WABUMB              TO   MSDAY3A                             
             MOVE  -1                  TO   MSDAY3L   WSCERRPOS                 
                                            RETERR2.                            
           IF     (STHDAYS4            >    ZEROS               AND             
                   WSCSMP4             NOT  =  'Y')                OR           
                  (STHDAYS4            =    ZEROS               AND             
                   STHHRLY             =    ZEROS               AND             
                   WSCSMP4             =    'Y')                                
             MOVE  WABUMB              TO   MSDAY4A                             
             MOVE  -1                  TO   MSDAY4L   WSCERRPOS                 
                                            RETERR2.                            
       400-DETAIL.                                                              
           SET     MPS2   MPS3         TO   +1.                         06050000
       405-LOOP.                                                        06060000
           IF      MPS2                >    +5                          06070000
             IF      RETERR2           <    ZEROS                       06080000
               MOVE  MSG03             TO   MMSGO                       06090000
               IF    WSCERRPOS         =    0                                   
                 MOVE  -1              TO   MSCHLL                              
                 GO                    TO   015-SEND                            
               ELSE                                                             
                 MOVE  ZERO            TO   MSCHLL                              
                 GO                    TO   015-SEND                    06100000
             ELSE                                                       06110000
               MOVE    -1              TO   MSCHLL                      06120000
               IF      RETERR2         =    +1                          06130000
                 IF    WSCDSPLY        =    'Y'                                 
                   GO                  TO   015-SEND                            
                 ELSE                                                           
                   MOVE  MSG15         TO   MMSGO                       06140000
                   GO                  TO   015-SEND                    06150000
               ELSE                                                     06160000
                 MOVE  MSG17           TO   MMSGO                       06170000
                 GO                    TO   015-SEND.                   06180000
                                                                                
           MOVE    SPACES              TO   SMP       STS                       
           MOVE    NEWSSN              TO   SMPSSN    STSSSN                    
           MOVE    NEWJOB              TO   SMPJOB    STSJOB                    
           MOVE    NEWSCHL             TO   SMPSCHL   STSSCHL                   
           MOVE    MPSSURV      (MPS2) TO   SMPSURVEY   STSSURVEY               
           MOVE    MPSMOD       (MPS2) TO   SMPMOD      STSMOD                  
           MOVE    MPSPGM  (MPS2 MPS3) TO   SMPPGM                              
           MOVE    ZEROS               TO   SMPSTDT   SMPPCT                    
                                            STSPMOD   STSSPACE                  
                                                                        07450000
                                                                                
           SET     SMP1                TO   +1.                                 
       405-LOOP2.                                                               
           IF      SMPB         (SMP1) =    '_'                                 
             MOVE  ' '                 TO   SMPB         (SMP1).                
           IF      SMP1                <    +26                                 
             SET   SMP1                UP   BY  +1                              
             GO                        TO   405-LOOP2.                          
                                                                                
           IF      SMPSURVEY           NOT  >  SPACES                OR         
                   SMPMOD              NOT  >  SPACES                           
             SET   MPS2                UP   BY  +1                              
             SET   MPS3                TO   +1                                  
             GO                        TO   405-LOOP.                           
           IF      SMPPGM              NOT  >  SPACES                           
             GO                        TO   410-NXT-FIELD.                      
                                                                                
           SET     EDT1                TO   SMPSURVEY9                          
           SET     EDT2                TO   SMPMOD9                             
113095     SET     EDT2                UP   BY  +1                              
                                                                                
           IF      MPSSTDTA   (MPS2 MPS3)   =    WABEOF                         
             MOVE  ZEROS               TO   SMPSTDT                             
           ELSE                                                                 
             IF      MPSSTDTL (MPS2 MPS3)   >    ZEROS                          
               MOVE  MPSSTDT  (MPS2 MPS3)   TO   WNUIN                          
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU30             TO   SMPSTDT                             
             ELSE                                                               
               IF      MPSSTDT(MPS2 MPS3)   >    LOW-VALUES                     
                 MOVE  MPSSTDT(MPS2 MPS3)   TO   WNUIN                          
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU30           TO   SMPSTDT.                            
           IF      MPSPCTA    (MPS2 MPS3)   =    WABEOF                         
             MOVE  ZEROS               TO   SMPPCT                              
           ELSE                                                                 
             IF      MPSPCTL  (MPS2 MPS3)   >    ZEROS                          
               MOVE  MPSPCT   (MPS2 MPS3)   TO   WNUIN                          
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU31             TO   WSCPCT2                             
               COMPUTE  SMPPCT         =    WSCPCT2 / 100                       
             ELSE                                                               
               IF      MPSPCT (MPS2 MPS3)   >    LOW-VALUES                     
                 MOVE  MPSPCT (MPS2 MPS3)   TO   WNUIN                          
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU31           TO   WSCPCT2                             
                 COMPUTE  SMPPCT       =    WSCPCT2 / 100.                      
                                                                                
      **************************************************************            
      ***  MOD/PROGRAM (SMP) CONTENT EDITS.                      ***            
      **************************************************************            
           MOVE    WCMSODIST           TO   FPGKEY                              
           MOVE    WCMSOFY             TO   FPGFY                               
           MOVE    'FPG'               TO   FPGPREF                             
           MOVE    SMPPGM              TO   FPGFPG                              
           MOVE    '99'                TO   RETCRF                              
           EXEC    CICS HANDLE CONDITION    NOTFND  (405-ERR1) END-EXEC         
           EXEC    CICS READ                DATASET (CRFFIL)                    
                                            INTO    (FPG)                       
                                            RIDFLD  (FPGKEY)                    
                                            LENGTH  (CRFLENR)  END-EXEC         
           MOVE    '00'                TO   RETCRF.                             
       405-ERR1.                                                                
           IF      RETCRF              NOT  =   '00'                            
             MOVE  WABPSB              TO   MPSPGMA   (MPS2  MPS3)              
             MOVE  -1                  TO   RETERR2.                            
                                                                                
      **************************************************************            
      ***  MOD/PROGRAM (SMP) RELATIONAL EDITS.                   ***            
      **************************************************************            
           IF      SMPSTDT             >    ZERO                   AND          
                   SMPPCT              >    ZERO                                
             MOVE  WABUMB              TO   MPSSTDTA  (MPS2  MPS3)              
                                            MPSPCTA   (MPS2  MPS3)              
             MOVE  -1                  TO   MPSSTDTL  (MPS2  MPS3)              
                                            WSCERRPOS                           
                                            RETERR2.                            
           IF      SMPSTDT             >    ZERO                   AND          
                   EDTPCT  (EDT1 EDT2) >    ZERO                                
             MOVE  WABUMB              TO   MPSSTDTA  (MPS2  MPS3)              
                                            MPSPCTA   (MPS2  MPS3)              
             MOVE  -1                  TO   MPSSTDTL  (MPS2  MPS3)              
                                            WSCERRPOS                           
                                            RETERR2.                            
           IF      SMPPGM              =    EDTLASTPGM (EDT1 EDT2) AND          
                   EDTPCT  (EDT1 EDT2) NOT  =  1                   AND          
                   EDTPCT  (EDT1 EDT2) NOT  =  ZERO                             
             MOVE  WABUMB              TO   MPSSTDTA  (MPS2  MPS3)              
                                            MPSPCTA   (MPS2  MPS3)              
             MOVE  -1                  TO   MPSSTDTL  (MPS2  MPS3)              
                                            WSCERRPOS                           
                                            RETERR2.                            
                                                                                
       410-NXT-FIELD.                                                           
           IF      MPS3                <    +3                                  
             SET   MPS3                UP   BY  +1                              
             GO                        TO   405-LOOP.                   11100000
                                                                                
           MOVE    WCMSODIST           TO   STSDIST                             
           MOVE    WCMSOFY             TO   STSFY                               
           MOVE    NEWSSN              TO   STSSSN                              
           MOVE    NEWJOB              TO   STSJOB                              
           MOVE    NEWSCHL             TO   STSSCHL                             
                                                                                
           SET     STS1                TO   +1.                                 
       420-LOOP.                                                                
           IF      STSB         (STS1) =    '_'                                 
             MOVE  ' '                 TO   STSB         (STS1).                
           IF      STS1                <    +23                                 
             SET   STS1                UP   BY  +1                              
             GO                        TO   420-LOOP.                           
                                                                                
           MOVE    SPACES              TO   STSDATA                             
           MOVE    ZEROS               TO   STSPMOD   STSSPACE                  
                                                                        07450000
           SET     UPD1                TO   +1.                                 
       420-TBL-LOOP.                                                            
           IF      UPDSURVEY    (UPD1) =    STSSURVEY               AND         
                   UPDMOD       (UPD1) =    STSMOD                              
             MOVE  UPDSPACE     (UPD1) TO   MPSSPC9     (MPS2)                  
             MOVE  UPDPMOD      (UPD1) TO   WSCPCT1                             
             COMPUTE  WSCPCT1           =   WSCPCT1  *  100                     
             MOVE  WSCPCT1             TO   MPSPMOD9    (MPS2)                  
           ELSE                                                                 
             IF    UPDSURVEY    (UPD1) =    HIGH-VALUES             OR          
                   UPDMOD       (UPD1) =    HIGH-VALUES                         
               NEXT  SENTENCE                                                   
             ELSE                                                               
               IF  UPD1                <    +5                                  
                 SET  UPD1             UP   BY  +1                              
                 GO                    TO   420-TBL-LOOP.                       
                                                                                
           IF      MPSSPCA      (MPS2) =    WABEOF                              
             MOVE  ZEROS               TO   STSSPACE                            
           ELSE                                                                 
             IF      MPSSPCL    (MPS2) >    ZEROS                               
               MOVE  MPSSPC     (MPS2) TO   WNUIN                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU40             TO   STSSPACE                            
             ELSE                                                               
               IF      MPSSPC   (MPS2) >    LOW-VALUES                          
                 MOVE  MPSSPC   (MPS2) TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU40           TO   STSSPACE.                           
           IF      MPSPMODA     (MPS2) =    WABEOF                              
             MOVE  ZEROS               TO   STSPMOD                             
           ELSE                                                                 
             IF      MPSPMODL   (MPS2) >    ZEROS                               
               MOVE  MPSPMOD    (MPS2) TO   WNUIN                               
               PERFORM 700-CONVERT     THRU 700-EXIT                            
               MOVE  WNU30             TO   WSCPCT1                             
               COMPUTE  STSPMOD        =    WSCPCT1 / 100                       
             ELSE                                                               
               IF      MPSPMOD  (MPS2) >    LOW-VALUES                          
                 MOVE  MPSPMOD  (MPS2) TO   WNUIN                               
                 PERFORM 700-CONVERT   THRU 700-EXIT                            
                 MOVE  WNU30           TO   WSCPCT1                             
                 COMPUTE  STSPMOD      =    WSCPCT1 / 100.                      
           IF      STSSPACE            =    ZEROS                               
             MOVE  ALL '_'             TO   MPSSPC         (MPS2).              
           IF      STSPMOD             =    ZEROS                               
             MOVE  ALL '_'             TO   MPSPMOD        (MPS2).              
                                                                                
      **************************************************************            
      ***  TIME/SPACE (STS) CONTENT EDITS.                       ***            
      ***  BECAUSE SURVEY AND MOD ARE PART OF THE STS AND SMP    ***            
      ***  KEY, THE EDIT OF THOSE TWO FIELDS IS BEING DONE IN    ***            
      ***  300-UPDATE.                                           ***            
      **************************************************************            
           IF      STSPMOD             >    1                                   
             MOVE  WABUMB              TO   MPSPMODA     (MPS2)                 
             MOVE  -1                  TO   MPSPMODL     (MPS2)                 
                                            WSCERRPOS                           
                                            RETERR2.                            
                                                                                
      **************************************************************            
      ***  TIME/SPACE (STS) RELATIONAL EDITS.                    ***            
      **************************************************************            
           IF      STSMOD              =    EDTLASTMOD   (EDT1)    AND          
                   EDTNBRMOD  (EDT1)   >    IOPSEMOD                            
             MOVE  WABPSB              TO   MPSSURVA     (MPS2)                 
                                            MPSMODA      (MPS2)                 
             MOVE  -1                  TO   RETERR2.                            
           IF      STSMOD              =    EDTLASTMOD   (EDT1)    AND          
                   EDTPMOD    (EDT1)   >    1                                   
             MOVE  WABUMB              TO   MPSPMODA     (MPS2)                 
             MOVE  -1                  TO   MPSPMODL     (MPS2)                 
                                            WSCERRPOS                           
                                            RETERR2.                            
           IF      STSMOD              =    EDTLASTMOD   (EDT1)    AND          
                   EDTPMOD    (EDT1)   NOT  =  1                   AND          
                   EDTEMPTY   (EDT1)   =    ZERO                                
             MOVE  WABUMB              TO   MPSPMODA     (MPS2)                 
             MOVE  -1                  TO   MPSPMODL     (MPS2)                 
                                            WSCERRPOS                           
                                            RETERR2.                            
           IF      STSMOD              =    EDTLASTMOD   (EDT1)    AND          
                   EDTPMOD    (EDT1)   =    1                      AND          
                   EDTEMPTY   (EDT1)   >    ZERO                                
             MOVE  WABUMB              TO   MPSPMODA     (MPS2)                 
             MOVE  -1                  TO   MPSPMODL     (MPS2)                 
                                            WSCERRPOS                           
                                            RETERR2.                            
       420-NXT-LN.                                                              
           SET     MPS2                UP   BY  +1                              
           SET     MPS3                TO   +1                                  
           GO                          TO   405-LOOP.                           
                                                                                
      ******************************************************************        
                                                                                
           COPY                             EWNUMBP.                            
                                                                                
      ******************************************************************        
       800-XCTL.                                                                
           IF     (EIBAID              =    DFHCLEAR)                OR         
                  (EIBAID              =    DFHPA1)                  OR         
                  (EIBAID              =    DFHPA2)                             
             MOVE  QWRMAP              TO   MPEW25O                             
             MOVE  -1                  TO   MPANELL                             
             MOVE  +10                 TO   EIBCALEN                            
             GO                        TO   015-SEND.                           
           MOVE    QWRWCM              TO   WCM                                 
           PERFORM 010-RECEIVE         THRU 010-EXIT                            
                                                                                
           IF      EIBAID              =    DFHPF1                              
             MOVE  WCMXFFR             TO   WCMXFHLD                            
             MOVE  EIBCPOSN            TO   WCMXFCRS9     WCMXFPOS9             
             MOVE  'CZ02'              TO   WCMXFTO                             
             GO                        TO   805-XCTL.                           
           IF      EIBAID              =    DFHPF4                              
             MOVE  WCMXFFR             TO   WCMXFHLD                            
             MOVE  EIBCPOSN            TO   WCMXFCRS9     WCMXFPOS9             
             MOVE  'CZ03'              TO   WCMXFTO                             
             GO                        TO   805-XCTL.                           
                                                                                
           IF      EIBAID              =    DFHPF5                              
             IF      MPSLINE      (05) =    LOW-VALUES                  11320000
               GO                      TO   100-DISPLAY                 11330000
             ELSE                                                       11340000
               IF      WCMSOCURR       NOT  =  'U'                      11350000
                 GO                    TO   300-UPDATE                  11360000
               ELSE                                                     11370000
                 MOVE  LOW-VALUES      TO   MPSLINES      QWRLINES      11380000
                 MOVE  +10             TO   EIBCALEN                    11390000
                 MOVE  ZEROS           TO   MSCHLL                              
                 MOVE  -1              TO   M1SURVL                     11400000
                 MOVE  MSG33           TO   MMSGO                       11410000
                 GO                    TO   015-SEND.                   11420000
           IF      EIBAID              =    DFHPF7                              
             GO                        TO   815-PF7.                            
           IF      EIBAID              =    DFHPF8                              
             GO                        TO   820-PF8.                            
           IF      EIBAID              =    DFHPF10                             
             GO                        TO   830-PF10.                           
                                                                                
           MOVE    QWRWCM              TO   WCM                                 
           IF      EIBAID              =    DFHPF12                             
             MOVE  SPACES              TO   WCMXFHLD                            
             MOVE  'C   '              TO   WCMXFTO                             
           ELSE                                                                 
             IF      EIBAID            =    DFHPF3                              
               MOVE  SPACES            TO   WCMXFHLD                            
               IF    (WCMXFFR          =    'CA01')                  OR         
                     (WCMXFFR          =    'CA02')                             
                 MOVE  WCMXFFR         TO   WCMXFTO                             
               ELSE                                                             
                 MOVE  'CA  '          TO   WCMXFTO                             
             ELSE                                                               
               MOVE  QWRMAP            TO   MPEW25O                             
               MOVE  +10               TO   EIBCALEN                            
               MOVE  -1                TO   MSCHLL                              
               GO                      TO   015-SEND.                           
                                                                                
       805-XCTL.                                                                
           MOVE    'C'                 TO   WCMXFTS                             
           MOVE    WCM                 TO   QWRWCM                              
           IF     (EIBCPOSN            >    +879)                    AND        
                  (EIBCPOSN            <    +1280)                              
             COMPUTE WCMXFPOS9         =    EIBCPOSN -                          
                                         (((EIBCPOSN / 80) - 11) * 80)          
           ELSE                                                                 
             COMPUTE WCMXFPOS9         =    EIBCPOSN.                           
           EXEC    CICS HANDLE CONDITION    DUPREC  (810-END)  END-EXEC         
           IF      RETQWR              NOT  =   '00'                            
             EXEC  CICS WRITE               DATASET (QWRFIL)                    
                                            FROM    (QWR)                       
                                            RIDFLD  (QWRKEY)                    
                                            LENGTH  (QWRLENR)  END-EXEC         
           ELSE                                                                 
             EXEC  CICS READ UPDATE         DATASET (QWRFIL)                    
                                            INTO    (QWRI)                      
                                            RIDFLD  (QWRKEY)                    
                                            LENGTH  (QWRLENR)  END-EXEC         
             EXEC  CICS REWRITE             DATASET (QWRFIL)                    
                                            FROM    (QWR)                       
                                            LENGTH  (QWRLENR)  END-EXEC.        
       810-END.                                                                 
           MOVE    'CA03'              TO   WCMXFFR                             
           EXEC    CICS XCTL                PROGRAM ('EW02')                    
                                            COMMAREA(WCM)                       
                                            LENGTH  (220)      END-EXEC.        
                                                                                
      ******************************************************************        
       815-PF7.                                                                 
           MOVE    QWRLNMAX            TO   WSCLNMAX                            
           MOVE    QWRLNXT             TO   WSCLNCNT                            
           IF     (QWRLNXT             >    +5)                      OR         
                  (QWRLNINC            =    +1)                                 
             MOVE  LOW-VALUES          TO   QWRLINES                            
             MOVE  +10                 TO   EIBCALEN.                           
           MOVE    -1                  TO   WSCLNINC      MSCHLL                
           MOVE    MSG13               TO   MMSGO                               
           IF     (QWRPF7              =    SPACES)                  OR         
                  (QWRPF7              NOT  >   QWRFRST)                        
             GO                        TO   015-SEND.                           
           MOVE    QWRPF7              TO   SMPKEY                              
           EXEC    CICS HANDLE CONDITION    NOTFND  (015-SEND)                  
                                            ENDFILE (015-SEND) END-EXEC         
           EXEC    CICS STARTBR             DATASET (SMPFIL)                    
                                            RIDFLD  (SMPKEY)   GTEQ             
                                            KEYLENGTH (SMPLENK)                 
                                            END-EXEC                            
           EXEC    CICS READPREV            DATASET (SMPFIL)                    
                                            INTO    (SMP)                       
                                            RIDFLD  (SMPKEY)                    
                                            LENGTH  (SMPLENR)  END-EXEC         
           IF      QWRLNINC            =    +1                                  
             MOVE  +6                  TO   WSCLNCNT                            
             MOVE  ZEROS               TO   WSCLNMAX.                           
           GO                          TO   110-OLD.                            
                                                                                
      ******************************************************************        
       820-PF8.                                                                 
           MOVE    QWRLNXT             TO   WSCLNCNT                            
           MOVE    QWRLNMAX            TO   WSCLNMAX                            
           IF     (QWRLNXT             =    ZEROS)                   OR         
                  (QWRLNINC            =    -1)                                 
             MOVE  LOW-VALUES          TO   QWRLINES                            
             MOVE  +10                 TO   EIBCALEN.                           
           MOVE    +1                  TO   WSCLNINC                            
           MOVE    -1                  TO   MSCHLL                              
           MOVE    MSG14               TO   MMSGO                               
           IF      QWRPF8              =    SPACES                              
             GO                        TO   015-SEND.                           
           MOVE    QWRPF8              TO   SMPKEY                              
           EXEC    CICS HANDLE CONDITION    NOTFND  (015-SEND)                  
                                            ENDFILE (015-SEND) END-EXEC         
           EXEC    CICS STARTBR             DATASET (SMPFIL)                    
                                            RIDFLD  (SMPKEY)   GTEQ             
                                            KEYLENGTH (SMPLENK)                 
                                            END-EXEC                            
           EXEC    CICS READNEXT            DATASET (SMPFIL)                    
                                            INTO    (SMP)                       
                                            RIDFLD  (SMPKEY)                    
                                            LENGTH  (SMPLENR)  END-EXEC         
           IF      QWRLNINC            =    -1                                  
             MOVE  ZEROS               TO   WSCLNCNT                            
             MOVE  +6                  TO   WSCLNMAX.                           
           GO                          TO   110-OLD.                            
                                                                                
      ******************************************************************        
       830-PF10.                                                                
           IF      WCMSOCURR           NOT  =  'U'                      05920000
             GO                        TO   100-DISPLAY.                05970000
           MOVE    SPACES              TO   STH                                 
           MOVE    WCMSODIST           TO   STHDIST                             
           MOVE    WCMSOFY             TO   STHFY                               
           MOVE    NEWSSN              TO   STHSSN                              
           MOVE    NEWJOB              TO   STHJOB                              
           MOVE    NEWSCHL             TO   STHSCHL                             
           MOVE    '99'                TO   RETSTH                              
           EXEC    CICS HANDLE CONDITION    NOTFND  (830-ERR)  END-EXEC         
           EXEC    CICS READ UPDATE         DATASET (STHFIL)                    
                                            INTO    (STH)                       
                                            RIDFLD  (STHKEY)                    
                                            LENGTH  (STHLENR)  END-EXEC         
           EXEC    CICS DELETE              DATASET (STHFIL)   END-EXEC         
           MOVE    '00'                TO   RETSTH.                             
       830-ERR.                                                                 
           IF      RETSTH              NOT  =  '00'                             
             MOVE  -1                  TO   MSCHLL                              
             MOVE  MSG29               TO   MMSGO                               
             GO                        TO   015-SEND.                           
                                                                                
           EXEC    CICS IGNORE CONDITION    NOTFND             END-EXEC         
           EXEC    CICS DELETE              DATASET (STSFIL)                    
                                            RIDFLD  (STHKEY)                    
                                            KEYLENGTH (20)                      
                                            GENERIC            END-EXEC         
           EXEC    CICS DELETE              DATASET (SMPFIL)                    
                                            RIDFLD  (STHKEY)                    
                                            KEYLENGTH (20)                      
                                            GENERIC            END-EXEC         
                                                                                
           MOVE    LOW-VALUES          TO   MPEW25O     QWRMAP                  
           MOVE    +10                 TO   EIBCALEN                            
           MOVE    -1                  TO   MSCHLL                              
           MOVE    MSG20               TO   MMSGO                               
           GO                          TO   015-SEND.                           
                                                                                
      ******************************************************************        
       850-CALLED.                                                              
           MOVE    WCMXFCRS9           TO   EIBCPOSN                            
           MOVE    DFHCOMMAREA         TO   WCM                                 
           IF      WCMRETCD            NOT  =   'G'                             
             GO                        TO   900-SECURITY.                       
           IF      WCMXFFR             =    'CZ02'                              
             MOVE  WCMXFHLD            TO   WCMXFFR                             
             MOVE  WCMXFCRS9           TO   EIBCPOSN                            
             MOVE  1234                TO   EIBCALEN                            
             MOVE  QWRMAP              TO   MPEW25O                             
             GO                        TO   015-SEND.                           
           IF     (WCMXFFR             =    'CZ04')                             
             COMPUTE  WSCLNCNT         =    EIBCPOSN              -             
                                            ((EIBCPOSN / 80) * 80)              
             IF   (WSCLNCNT            >    +16)                    AND         
                  (WSCLNCNT            <    +20)                                
               SET  MPS3               TO   +1                                  
             ELSE                                                               
               IF (WSCLNCNT            >    +32)                    AND         
                  (WSCLNCNT            <    +36)                                
                 SET  MPS3             TO   +2                                  
             ELSE                                                               
               IF (WSCLNCNT            >    +48)                    AND         
                  (WSCLNCNT            <    +52)                                
                 SET  MPS3             TO   +3.                                 
           IF     (WCMXFFR             =    'CZ04')                  OR         
                  (WCMXFFR             =    'CZ03')                             
             MOVE  WCMXFHLD            TO   WCMXFFR                             
             MOVE  WCMXFCRS9           TO   EIBCPOSN                            
             MOVE  1234                TO   EIBCALEN                            
             MOVE  QWRMAP              TO   MPEW25O                             
             IF      WCMXFPROM         NOT  =   SPACES                          
               IF      WCMXFPNL5       =    'SCHL '                             
                 MOVE  WCMXFPROM       TO   MSCHLO                              
                 GO                    TO   015-SEND                            
               ELSE                                                             
                 IF      WCMXFPNL5     =    'TBLE '                             
                   MOVE  WCMXFPROM     TO   MTBLEO                              
                   GO                  TO   015-SEND                            
                 ELSE                                                           
                   COMPUTE WSCLNCNT    =   (EIBCPOSN / 80) - 10                 
                   SET     MPS2        TO   WSCLNCNT                            
                   IF     (WCMXFPNL5   =    'PGM ')                  AND        
                          (MPSPGMA (MPS2  MPS3)  NOT  =  WABPS)      AND        
                          (MPSPGMA (MPS2  MPS3)  NOT  =  WABPSB)                
                     MOVE  WCMXFPROM   TO   MPSPGM       (MPS2  MPS3)           
                     GO                TO   015-SEND                            
                   ELSE                                                         
                     GO                TO   015-SEND                            
             ELSE                                                               
               GO                      TO   015-SEND.                           
           IF     (WCMXFFR             =    'CA01')                  OR         
                  (WCMXFFR             =    'CA02')                             
             MOVE  WCMXFPROM           TO   NEWKEY                              
             GO                        TO   100-DISPLAY.                        
           MOVE    LOW-VALUES          TO   MPEW25O       QWRMAP                
           MOVE    HIGH-VALUES         TO   QWRPF7        OLDKEY                
           MOVE    SPACES              TO   NEWKEY                              
           MOVE    -1                  TO   MSCHLL                              
           MOVE    MSG18               TO   MMSGO                               
           GO                          TO   015-SEND.                           
                                                                                
      ******************************************************************        
       900-SECURITY.                                                            
           MOVE    ZEROS               TO   EIBCALEN                            
           MOVE    WCMXFHLD            TO   WCMXFFR                             
           MOVE    1234                TO   EIBCALEN                            
           MOVE    +14                 TO   EIBCPOSN                            
           MOVE    QWRMAP              TO   MPEW25O                             
           MOVE    WCMXFTPNL           TO   MPANELO                             
           MOVE    WABUMB              TO   MPANELA                             
           IF      WCMRETCD            =    'S'                                 
             MOVE  MSG90               TO   MMSGO                               
           ELSE                                                                 
             IF      WCMRETCD          =    'T'                                 
               MOVE  MSG91             TO   MMSGO                               
             ELSE                                                               
               IF     (WCMRETCD        =    'U')                     OR         
                      (WCMRETCD        =    'N')                                
                 MOVE  MSG92           TO   MMSGO                               
               ELSE                                                             
                 IF      WCMRETCD      =    'D'                                 
                   MOVE  MSG93         TO   MMSGO.                              
           GO                          TO   015-SEND.                           
       901-ERROR.                                                               
           MOVE    -1                  TO   MPANELL                             
           MOVE    MSG94               TO   MMSGO                               
           GO                          TO   015-SEND.                           
       902-NOSPACE.                                                             
           MOVE    MSG95               TO   MMSGO                               
           MOVE    -1                  TO   MPANELL                             
           GO                          TO   015-SEND.                           
       903-INVREQ.                                                              
           MOVE    MSG96               TO   MMSGO                               
           MOVE    -1                  TO   MPANELL                             
           GO                          TO   015-SEND.                           
       904-NOTOPEN.                                                             
           MOVE    MSG97               TO   MMSGO                               
           MOVE    -1                  TO   MPANELL                             
           GO                          TO   015-SEND.                           
       905-DSIDERR.                                                             
           MOVE    MSG97               TO   MMSGO                               
           MOVE    -1                  TO   MPANELL                             
           GO                          TO   015-SEND.                           
           GOBACK.                                                              
