*DECK DCUPD10 
00001  IDENTIFICATION DIVISION.                                         07/12/78
00002  PROGRAM-ID. UPD10.                                               DCUPD10 
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION. 
       SOURCE-COMPUTER. CYBER.
       OBJECT-COMPUTER. CYBER.
       DATA DIVISION. 
*CALL UPDCS 
*CALL DCDWA10 
       01  AQUAL-DETAIL.
           03  LINE-TYPE-AQUAL         PICTURE X. 
           03  AQUAL-BLOCK             PICTURE X(146).
      *    GROUP ENTRY - STRUCTURE CAT - RENAME QUALIFIERS
       01  STC-R-QUALS  REDEFINES AQUAL-DETAIL. 
           03  STC-QUAL-LINE-TYPE    PICTURE X. 
           03  STC-R-QUAL4           PICTURE X(32). 
           03  STC-R-QUAL5           PICTURE X(32). 
      *    GROUP ENTRY - STRUCTURE CAT - THRU QUALIFIERS
       01  STC-THRU-QUAL  REDEFINES AQUAL-DETAIL. 
           03  STC-T-QUAL-LINE-TYPE  PICTURE X. 
           03  STC-T-QUAL4           PICTURE X(32). 
           03  STC-T-QUAL5           PICTURE X(32). 
      *    GROUP ENTRY - STRUCTURE CAT - DEPEND QUALIFIERS
       01  STC-DEP-QUAL REDEFINES AQUAL-DETAIL. 
           03  STC-DEP-QUAL-LINE-TYPE PICTURE X.
           03  STC-DEP-QUAL3         PICTURE X(32). 
           03  STC-DEP-QUAL4         PICTURE X(32). 
           03  STC-DEP-QUAL5         PICTURE X(32). 
       01  AQUAL4-DETAIL               PICTURE X(147).
       01  BQUAL-DETAIL                PICTURE X(147).
       01  BQUAL4-DETAIL               PICTURE X(147).
*CALL DCUPDSWS
00004  01  JUST-CODES         PICTURE X(13) VALUE                          CL**2
00005      "RL0123456789/".                                                CL**2
*CALL CODES 
00010  01  KEY-CODES               PICTURE X(15) VALUE                     CL**2
00011      "DUMN0123456789/".                                              CL**2
00012  01  INC-CODES          PICTURE X(13) VALUE                          CL**2
00013      "YN0123456789/".                                                CL**2
00014  LINKAGE SECTION.                                                 DCUPD10 
00018  PROCEDURE DIVISION.                                                 CL**2
       OLD-ENTRY. 
*CALL DCUPDKW 
00021 *****************************************************             DCUPD10 
00022 *                                                                 DCUPD10 
00023 *     G R O U P   E N T R Y   E D I T I N G                       DCUPD10 
00024 *                                                                 DCUPD10 
00025 *****************************************************             DCUPD10 
00026 *                                                                 DCUPD10 
      *    SAVE GROUP ENT-ID FOR REL-TABLE
      * 
           MOVE 10 TO SAVE-ENT-TYPE.
00027 *                                                                 DCUPD10 
00028 ******************************************************            DCUPD10 
00029 *                                                                 DCUPD10 
00030 *     NAME CATEGORY                                               DCUPD10 
00031 *                                                                 DCUPD10 
00032 ******************************************************            DCUPD10 
00033  NAME-GRP-EDIT.                                                   DCUPD10 
00034      IF CAT-ID NOT EQUAL TO 200 GO TO ATTR-EDIT.                  DCUPD10 
00035 *                                                                 DCUPD10 
00036 *     NAME - DATA NAME                                            DCUPD10 
00037 *                                                                 DCUPD10 
00038  NAME-EDIT-DN.                                                    DCUPD10 
00039      IF FIELD-ID NOT EQUAL TO 05 GO TO NAME-EDIT-ID.              DCUPD10 
00040      MOVE NAME-GRP-DATA-NAME TO OLD-VALUE.                        DCUPD10 
00041      IF VAL (1) EQUAL TO "$" GO TO NAME-DEL-DN.                   DCUPD10 
00042      MOVE VAL-AREA TO NAME-GRP-DATA-NAME.                         DCUPD10 
00043      GO TO CAT-MVC-MSG-CHG.                                       DCUPD10 
00044  NAME-DEL-DN.                                                     DCUPD10 
00045      IF NAME-GRP-DATA-NAME EQUAL TO SPACES                        DCUPD10 
00046          GO TO CAT-MVC-MSG-ERR-DEL.                               DCUPD10 
00047      MOVE SPACES TO NAME-GRP-DATA-NAME.                           DCUPD10 
00048      GO TO CAT-MVC-MSG-DEL.                                       DCUPD10 
00049 *                                                                 DCUPD10 
00050 *     NAME - IDENTIFIER                                           DCUPD10 
00051 *                                                                 DCUPD10 
00052  NAME-EDIT-ID.                                                    DCUPD10 
00053      IF FIELD-ID NOT EQUAL TO 10 GO TO NAME-EDIT-SYM.             DCUPD10 
00054      MOVE NAME-GRP-IDENTIFIER TO OLD-VALUE.                       DCUPD10 
00055      IF VAL (1) EQUAL TO "$" GO TO NAME-DEL-ID.                   DCUPD10 
00056      MOVE VAL-AREA TO NAME-GRP-IDENTIFIER.                        DCUPD10 
00057      GO TO CAT-MVC-MSG-CHG.                                       DCUPD10 
00058  NAME-DEL-ID.                                                     DCUPD10 
00059      IF NAME-GRP-IDENTIFIER EQUAL TO SPACES                       DCUPD10 
00060          GO TO CAT-MVC-MSG-ERR-DEL.                               DCUPD10 
00061      MOVE SPACES TO NAME-GRP-IDENTIFIER.                          DCUPD10 
00062      GO TO CAT-MVC-MSG-DEL.                                       DCUPD10 
00063 *                                                                 DCUPD10 
00064 *     NAME - SYMBOL                                               DCUPD10 
00065 *                                                                 DCUPD10 
00066  NAME-EDIT-SYM.                                                   DCUPD10 
00067      IF FIELD-ID NOT EQUAL TO 15 GO TO NAME-EDIT-DB.              DCUPD10 
00068      MOVE NAME-GRP-SYMBOL TO OLD-VALUE.                           DCUPD10 
00069      IF VAL (1) EQUAL TO "$" GO TO NAME-DEL-SYM.                  DCUPD10 
00070      MOVE VAL-AREA TO NAME-GRP-SYMBOL.                            DCUPD10 
00071      GO TO CAT-MVC-MSG-CHG.                                          CL**2
00072  NAME-DEL-SYM.                                                    DCUPD10 
00073      IF NAME-GRP-SYMBOL EQUAL TO SPACE                            DCUPD10 
00074          GO TO CAT-MVC-MSG-ERR-DEL.                               DCUPD10 
00075      MOVE SPACES TO NAME-GRP-SYMBOL.                              DCUPD10 
00076      GO TO CAT-MVC-MSG-DEL.                                       DCUPD10 
00077 *                                                                 DCUPD10 
00078 *     NAME - DBMS NAME                                            DCUPD10 
00079 *                                                                 DCUPD10 
00080  NAME-EDIT-DB.                                                    DCUPD10 
           IF FIELD-ID NOT EQUAL TO 20 GO TO NAME-EDIT-DMS. 
00082      MOVE NAME-GRP-DBMS TO OLD-VALUE.                             DCUPD10 
00083      IF VAL (1) EQUAL TO "$" GO TO NAME-DEL-DB.                   DCUPD10 
00084      MOVE VAL-AREA TO NAME-GRP-DBMS.                              DCUPD10 
00085      GO TO CAT-MVC-MSG-CHG.                                       DCUPD10 
00086  NAME-DEL-DB.                                                     DCUPD10 
00087      IF NAME-GRP-DBMS EQUAL TO SPACES                             DCUPD10 
00088          GO TO CAT-MVC-MSG-ERR-DEL.                               DCUPD10 
00089      MOVE SPACES TO NAME-GRP-DBMS.                                DCUPD10 
00090      GO TO CAT-MVC-MSG-DEL.                                       DCUPD10 
      * 
      *    NAME - DMS 
      * 
       NAME-EDIT-DMS. 
           IF FIELD-ID NOT EQUAL TO 30 GO TO FLD-ERR. 
           MOVE NAME-GRP-DMS TO OLD-VALUE.
           IF VAL (1) EQUAL "$" GO TO NAME-DEL-DMS. 
           MOVE VAL-AREA TO NAME-GRP-DMS. 
           GO TO CAT-MVC-MSG-CHG. 
       NAME-DEL-DMS.
           IF NAME-GRP-DMS EQUAL SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO NAME-GRP-DMS. 
           GO TO CAT-MVC-MSG-DEL. 
00105 ******************************************************            DCUPD10 
00106 *                                                                 DCUPD10 
00107 *     ATTRIBUTE CATEGORY                                          DCUPD10 
00108 *                                                                 DCUPD10 
00109 ******************************************************            DCUPD10 
00110  ATTR-EDIT.                                                       DCUPD10 
00111      IF CAT-ID NOT EQUAL TO 210 GO TO STC-EDIT.                   DCUPD10 
00112 *                                                                 DCUPD10 
00113 *     ATTRIBUTE - LENGTH                                          DCUPD10 
00114 *                                                                 DCUPD10 
00115  ATTR-EDIT-LEN.                                                   DCUPD10 
00116      IF FIELD-ID NOT EQUAL TO 05 GO TO ATTR-EDIT-USE.             DCUPD10 
00117      MOVE ATTR-GRP-LENGTH TO OLD-VALUE.                           DCUPD10 
00118      IF VAL (1) EQUAL TO "$" GO TO ATTR-DEL-LEN.                  DCUPD10 
           MOVE "." TO NUM-EDIT.
00119      PERFORM MOVE-NUM THRU VALID-NUM-XIT.                            CL**2
           MOVE NUM-HOLD-X TO ATTR-GRP-LENGTH.
00122      GO TO CAT-MVC-MSG-CHG.                                       DCUPD10 
00123  ATTR-DEL-LEN.                                                    DCUPD10 
00124      IF ATTR-GRP-LENGTH EQUAL TO SPACES                           DCUPD10 
00125          GO TO CAT-MVC-MSG-ERR-DEL.                               DCUPD10 
00126      MOVE SPACES TO ATTR-GRP-LENGTH.                              DCUPD10 
00127      GO TO CAT-MVC-MSG-DEL.                                       DCUPD10 
00128 *                                                                 DCUPD10 
00129 *     ATTRIBUTE - USAGE                                           DCUPD10 
00130 *                                                                 DCUPD10 
00131  ATTR-EDIT-USE.                                                   DCUPD10 
00132      IF FIELD-ID NOT EQUAL TO 10 GO TO ATTR-EDIT-PIC.             DCUPD10 
00133      MOVE ATTR-GRP-FORMAT TO OLD-VALUE.                           DCUPD10 
00134      IF VAL (1) EQUAL TO "$" GO TO ATTR-DEL-USE.                  DCUPD10 
           MOVE VAL-AREA (1 : VA) TO HOLD-FORMAT. 
           MOVE FORMAT-CODES TO BIG-CODES.
           PERFORM FORMAT-VALIDATION THRU FORMAT-VALIDATION-EXIT. 
           MOVE HOLD-FORMAT TO ATTR-GRP-FORMAT. 
00138      GO TO CAT-MVC-MSG-CHG.                                       DCUPD10 
00139  ATTR-DEL-USE.                                                    DCUPD10 
00140      IF ATTR-GRP-FORMAT EQUAL TO SPACES                           DCUPD10 
00141          GO TO CAT-MVC-MSG-ERR-DEL.                               DCUPD10 
00142      MOVE SPACES TO ATTR-GRP-FORMAT.                              DCUPD10 
00143      GO TO CAT-MVC-MSG-DEL.                                       DCUPD10 
00144 *                                                                 DCUPD10 
00145 *     ATTRIBUTE - PICTURE                                         DCUPD10 
00146 *                                                                 DCUPD10 
00147  ATTR-EDIT-PIC.                                                   DCUPD10 
00148      IF FIELD-ID NOT EQUAL TO 15 GO TO ATTR-EDIT-JUST.               CL**2
00149      MOVE ATTR-GRP-PIC TO OLD-VALUE.                              DCUPD10 
00150      IF VAL (1) EQUAL TO "$" GO TO ATTR-DEL-PIC.                  DCUPD10 
00151      MOVE VAL-AREA TO ATTR-GRP-PIC.                               DCUPD10 
00152      GO TO CAT-MVC-MSG-CHG.                                       DCUPD10 
00153  ATTR-DEL-PIC.                                                    DCUPD10 
00154      IF ATTR-GRP-PIC EQUAL TO SPACES                              DCUPD10 
00155          GO TO CAT-MVC-MSG-ERR-DEL.                               DCUPD10 
00156      MOVE SPACES TO ATTR-GRP-PIC.                                 DCUPD10 
00157      GO TO CAT-MVC-MSG-DEL.                                       DCUPD10 
00158 *                                                                    CL**2
00159 *     ATTRIBUTE - JUST                                               CL**2
00160 *                                                                    CL**2
00161  ATTR-EDIT-JUST.                                                     CL**2
00162      IF FIELD-ID NOT EQUAL TO 20 GO TO ATTR-EDIT-SYNC.               CL**2
00163      MOVE ATTR-GRP-JUST TO OLD-VALUE.                                CL**2
00164      IF VAL (1) EQUAL TO "$" GO TO ATTR-DEL-JUST.                    CL**2
00165      MOVE JUST-CODES TO VALID-CODE-TABLE.                            CL**2
00166      PERFORM VALID-CODE THRU VALID-CODE-XIT.                         CL**2
00167      MOVE VAL (1) TO ATTR-GRP-JUST.                                  CL**2
00168      GO TO CAT-MVC-MSG-CHG.                                          CL**2
00169  ATTR-DEL-JUST.                                                      CL**2
00170      IF ATTR-GRP-JUST EQUAL TO SPACES                                CL**2
00171          GO TO CAT-MVC-MSG-ERR-DEL.                                  CL**2
00172      MOVE SPACES TO ATTR-GRP-JUST.                                   CL**2
00173      GO TO CAT-MVC-MSG-DEL.                                          CL**2
00174 *                                                                    CL**2
00175 *     ATTRIBUTE - SYNC                                               CL**2
00176 *                                                                    CL**2
00177  ATTR-EDIT-SYNC.                                                     CL**2
00178      IF FIELD-ID NOT EQUAL TO 25 GO TO FLD-ERR.                      CL**2
00179      MOVE ATTR-GRP-SYNC TO OLD-VALUE.                                CL**2
00180      IF VAL (1) EQUAL TO "$" GO TO ATTR-DEL-SYNC.                    CL**2
00181      MOVE SYNC-CODES TO VALID-CODE-TABLE.                            CL**2
00182      PERFORM VALID-CODE THRU VALID-CODE-XIT.                         CL**2
00183      MOVE VAL (1) TO ATTR-GRP-SYNC.                                  CL**2
00184      GO TO CAT-MVC-MSG-CHG.                                          CL**2
00185  ATTR-DEL-SYNC.                                                      CL**2
00186      IF ATTR-GRP-SYNC EQUAL TO SPACES                                CL**2
00187          GO TO CAT-MVC-MSG-ERR-DEL.                                  CL**2
00188      MOVE SPACES TO ATTR-GRP-SYNC.                                   CL**2
00189      GO TO CAT-MVC-MSG-DEL.                                          CL**2
00190 ******************************************************            DCUPD10 
00191 *                                                                 DCUPD10 
00192 *     STRUCTURE CATEGORY                                          DCUPD10 
00193 *                                                                 DCUPD10 
00194 *****************************************************             DCUPD10 
00195  STC-EDIT.                                                        DCUPD10 
00196      IF CAT-ID NOT EQUAL TO 300 GO TO CAT-ERR.                       CL**2
00197 *                                                                 DCUPD10 
00198 *     STRUCTURE - CAT NAME                                        DCUPD10 
00199 *                                                                 DCUPD10 
00200  STC-EDIT-CN.                                                     DCUPD10 
00201      IF FIELD-ID NOT EQUAL TO 05 GO TO STC-EDIT-ANO.                 CL**2
00203      MOVE STC-GRP-CNAME TO OLD-VALUE.                                CL**2
00204      IF VAL (1) EQUAL TO "$" GO TO STC-DEL-CN.                    DCUPD10 
           MOVE "A" TO CAT-LINE-TYPE. 
00205      IF VAL-AREA NOT EQUAL TO "FILLER "                              CL**2
00206          PERFORM CK-CATNAME THRU CK-CATNAME-XIT                      CL**2
               PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT
00207          MOVE "S" TO TYPE-CATAL-NAME                                 CL**2
00208          MOVE VAL-AREA TO NEW-CATAL-NAME.                            CL**2
00209      MOVE VAL-AREA TO STC-GRP-CNAME.                                 CL**2
00210      GO TO CAT-MVC-MSG-CHG.                                       DCUPD10 
00211  STC-DEL-CN.                                                      DCUPD10 
00212      IF STC-GRP-CNAME EQUAL TO SPACES                                CL**2
00213          GO TO CAT-MVC-MSG-ERR-DEL.                               DCUPD10 
00214      IF STC-GRP-CNAME NOT EQUAL TO "FILLER "                         CL**2
               PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
00217      MOVE SPACES TO STC-GRP-CNAME.                                   CL**2
           GO TO DEL-CHECKER. 
00219 *                                                                    CL**2
00220 *     STRUCTURE - ALIAS NUMBER                                       CL**2
00221 *                                                                    CL**2
00222  STC-EDIT-ANO.                                                       CL**2
00223      IF FIELD-ID NOT EQUAL TO 10 GO TO STC-EDIT-FL.                  CL**2
00224      MOVE STC-ALY-NO TO OLD-VALUE.                                   CL**2
00225      IF VAL (1) EQUAL TO "$" GO TO STC-DEL-ANO.                      CL**2
           MOVE "A" TO CAT-LINE-TYPE. 
           MOVE SPACE TO NUM-EDIT.
00226      PERFORM MOVE-NUM THRU VALID-NUM-XIT.                            CL**2
           MOVE NUM-HOLD-X TO STC-ALY-NO. 
00229      GO TO CAT-MVC-MSG-CHG.                                          CL**2
00230  STC-DEL-ANO.                                                        CL**2
00231      IF STC-ALY-NO EQUAL TO SPACES                                   CL**2
00232          GO TO CAT-MVC-MSG-ERR-DEL.                                  CL**2
00233      MOVE SPACES TO STC-ALY-NO.                                      CL**2
           GO TO DEL-CHECKER. 
00235 *                                                                 DCUPD10 
00236 *     STRUCTURE - FILLER LENGTH                                   DCUPD10 
00237 *                                                                 DCUPD10 
00238  STC-EDIT-FL.                                                     DCUPD10 
00239       IF FIELD-ID NOT EQUAL TO 15 GO TO STC-EDIT-RED.                CL**2
00240      MOVE STC-FILL-LEN TO OLD-VALUE                               DCUPD10 
00241      IF VAL (1) EQUAL TO "$" GO TO STC-DEL-FL.                    DCUPD10 
           MOVE "A" TO CAT-LINE-TYPE. 
           MOVE SPACE TO NUM-EDIT.
00242      PERFORM MOVE-NUM THRU VALID-NUM-XIT.                            CL**2
           MOVE NUM-HOLD-X TO STC-FILL-LEN. 
00245      GO TO CAT-MVC-MSG-CHG.                                       DCUPD10 
00246  STC-DEL-FL.                                                      DCUPD10 
00247      IF STC-FILL-LEN EQUAL TO SPACES                              DCUPD10 
00248          GO TO CAT-MVC-MSG-ERR-DEL.                               DCUPD10 
00249      MOVE SPACES TO STC-FILL-LEN.                                 DCUPD10 
           GO TO DEL-CHECKER. 
00251 *                                                                 DCUPD10 
00252 *     STRUCTURE - REDEFINES                                       DCUPD10 
00253 *                                                                 DCUPD10 
00254  STC-EDIT-RED.                                                    DCUPD10 
           IF FIELD-ID NOT EQUAL TO 20
               GO TO STC-EDIT-USAGE.
00256      MOVE STC-REDEFINES TO OLD-VALUE.                             DCUPD10 
00257      IF VAL (1) EQUAL TO "$" GO TO STC-DEL-RED.                   DCUPD10 
           MOVE "A" TO CAT-LINE-TYPE. 
00258      PERFORM CK-CATNAME THRU CK-CATNAME-XIT.                         CL**2
00259      MOVE VAL-AREA TO STC-REDEFINES.                              DCUPD10 
00260      GO TO CAT-MVC-MSG-CHG.                                       DCUPD10 
00261  STC-DEL-RED.                                                     DCUPD10 
00262      IF STC-REDEFINES EQUAL TO SPACE                              DCUPD10 
00263          GO TO CAT-MVC-MSG-ERR-DEL.                               DCUPD10 
00264      MOVE SPACE TO STC-REDEFINES.                                 DCUPD10 
           GO TO DEL-CHECKER
      * 
      *    STRUCTURE - USAGE
      * 
       STC-EDIT-USAGE.
           IF FIELD-ID NOT EQUAL TO 22 GO TO STC-EDIT-RALIAS. 
           MOVE STC-USAGE TO OLD-VALUE. 
           IF VAL (1) EQUAL "$" GO TO STC-DEL-USAGE.
           MOVE "A" TO CAT-LINE-TYPE. 
           IF VAL-AREA (1 : 5) NOT EQUAL TO "COMP " AND "COMP1" 
             AND "COMP2"
               MOVE USAGE-CODES TO BIG-CODES
               MOVE VAL-AREA (1 : 3) TO HOLD-FORMAT 
               PERFORM FORMAT-VALIDATION THRU FORMAT-VALIDATION-EXIT
           END-IF 
           MOVE VAL-AREA (1 : VA) TO STC-USAGE. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-USAGE. 
           IF STC-USAGE EQUAL SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO STC-USAGE.
           GO TO DEL-CHECKER. 
      * 
      *    STRUCTURE - REDEFINE ALIAS 
      * 
       STC-EDIT-RALIAS. 
           IF FIELD-ID NOT EQUAL TO 24 GO TO STC-EDIT-FROM. 
           MOVE STC-REDEF-ALIAS TO OLD-VALUE. 
           IF VAL (1) EQUAL TO "$" GO TO STC-DEL-RALIAS.
           MOVE "A" TO CAT-LINE-TYPE
           MOVE SPACE TO NUM-EDIT.
           PERFORM MOVE-NUM THRU VALID-NUM-XIT. 
           MOVE NUM-HOLD-X TO STC-REDEF-ALIAS.
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-RALIAS.
           IF STC-REDEF-ALIAS EQUAL TO SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO STC-REDEF-ALIAS.
           GO TO DEL-CHECKER. 
00266 *                                                                 DCUPD10 
00267 *     STRUCTURE - OCCURS FROM                                     DCUPD10 
00268 *                                                                 DCUPD10 
00269  STC-EDIT-FROM.                                                   DCUPD10 
00270      IF FIELD-ID NOT EQUAL 25 GO TO STC-EDIT-TO.                     CL**2
           MOVE STC-OCC-FROM TO OLD-VALUE.
00272      IF VAL (1) EQUAL TO "$" GO TO STC-DEL-FROM.                  DCUPD10 
           MOVE "O" TO CAT-LINE-TYPE. 
           MOVE SPACE TO NUM-EDIT.
00273      PERFORM MOVE-NUM THRU VALID-NUM-XIT.                         DCUPD10 
           MOVE NUM-HOLD-X TO STC-OCC-FROM. 
00276      GO TO CAT-MVC-MSG-CHG.                                       DCUPD10 
00277  STC-DEL-FROM.                                                    DCUPD10 
           IF STC-OCC-FROM EQUAL TO SPACES
00279          GO TO CAT-MVC-MSG-ERR-DEL.                               DCUPD10 
           MOVE SPACES TO STC-OCC-FROM. 
           GO TO DEL-CHECKER. 
00282 *                                                                 DCUPD10 
00283 *     STRUCTURE - OCCURS TO                                       DCUPD10 
00284 *                                                                 DCUPD10 
00285  STC-EDIT-TO.                                                     DCUPD10 
           IF FIELD-ID NOT EQUAL TO 30
               GO TO STC-EDIT-TO-ALIAS. 
           MOVE STC-OCC-TO TO OLD-VALUE.
00288      IF VAL (1) EQUAL TO "$" GO TO STC-DEL-TO.                    DCUPD10 
           MOVE "O" TO CAT-LINE-TYPE. 
      * 
      *        THIS FIELD MAY CONTAIN A NUMBER OR A CATNAME 
      *        OR A DATANAME. NO VALIDATION OF NAME IS DONE.
      * 
           IF VAL (1) IS NUMERIC
               MOVE SPACE TO NUM-EDIT 
               MOVE 4 TO FLD-LEN (FLD)
               PERFORM MOVE-NUM THRU VALID-NUM-XIT
               MOVE NUM-HOLD-X TO STC-OCC-TO-NUM
               MOVE 32 TO FLD-LEN (FLD) 
           ELSE 
               PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT
               MOVE VAL-AREA TO SAVE-NAME 
               MOVE VAL-AREA TO STC-OCC-TO
               PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT
           END-IF 
00292      GO TO CAT-MVC-MSG-CHG.                                       DCUPD10 
00293  STC-DEL-TO.                                                      DCUPD10 
           IF STC-OCC-TO EQUAL TO SPACES
00295          GO TO CAT-MVC-MSG-ERR-DEL.                               DCUPD10 
           MOVE STC-OCC-TO TO SAVE-NAME.
           MOVE "D" TO SAVE-FUNCTION. 
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           MOVE "A" TO SAVE-FUNCTION. 
           MOVE SPACES TO STC-OCC-TO. 
           GO TO DEL-CHECKER. 
      * 
      *    STRUCTURE - TO ALIAS 
      * 
       STC-EDIT-TO-ALIAS. 
           IF FIELD-ID NOT EQUAL TO 32 GO TO STC-EDIT-IBY.
           MOVE STC-OCC-TO-ALIAS TO OLD-VALUE.
           IF VAL (1) EQUAL TO "$" GO TO STC-DEL-TO-ALIAS.
           MOVE "O" TO CAT-LINE-TYPE
           MOVE SPACE TO NUM-EDIT.
           PERFORM MOVE-NUM THRU VALID-NUM-XIT. 
           MOVE NUM-HOLD-X TO STC-OCC-TO-ALIAS. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-TO-ALIAS.
           IF STC-OCC-TO-ALIAS EQUAL TO SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO STC-OCC-TO-ALIAS. 
           GO TO DEL-CHECKER. 
00298 *                                                                 DCUPD10 
00299 *     STRUCTURE - INDEXED BY                                      DCUPD10 
00300 *                                                                 DCUPD10 
00301  STC-EDIT-IBY.                                                    DCUPD10 
00302      IF FIELD-ID NOT EQUAL 35 GO TO STC-EDIT-DON.                    CL**2
00303      MOVE STC-INDEX TO OLD-VALUE.                                 DCUPD10 
00304      IF VAL (1) EQUAL TO "$" GO TO STC-DEL-IBY.                   DCUPD10 
           MOVE "I" TO CAT-LINE-TYPE. 
00305      MOVE VAL-AREA TO STC-INDEX.                                  DCUPD10 
           MOVE VAL-AREA TO SAVE-NAME.
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
00306      GO TO CAT-MVC-MSG-CHG.                                       DCUPD10 
00307  STC-DEL-IBY.                                                     DCUPD10 
00308      IF STC-INDEX EQUAL TO SPACES                                 DCUPD10 
00309          GO TO CAT-MVC-MSG-ERR-DEL.                               DCUPD10 
00310      MOVE SPACES TO STC-INDEX.                                    DCUPD10 
           GO TO DEL-CHECKER. 
00312 *                                                                 DCUPD10 
00313 *     STRUCTURE - DEPENDING ON                                    DCUPD10 
00314 *                                                                 DCUPD10 
00315  STC-EDIT-DON.                                                    DCUPD10 
           IF FIELD-ID NOT EQUAL TO 38
               GO TO STC-EDIT-DEPEND-ALIAS. 
           MOVE STC-OCC-DEPEND TO OLD-VALUE.
00318      IF VAL (1) EQUAL TO "$" GO TO STC-DEL-DON.                   DCUPD10 
           MOVE "O" TO CAT-LINE-TYPE. 
           IF STC-OCC-DEP-QUAL-COUNT EQUAL SPACES 
               MOVE ZERO TO STC-OCC-DEP-QUAL-COUNT
           ELSE 
               PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT
           END-IF 
           MOVE VAL-AREA TO STC-OCC-DEPEND. 
           MOVE VAL-AREA TO SAVE-NAME.
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
00320      GO TO CAT-MVC-MSG-CHG.                                       DCUPD10 
00321  STC-DEL-DON.                                                     DCUPD10 
           IF STC-OCC-DEPEND EQUAL SPACES 
00323          GO TO CAT-MVC-MSG-ERR-DEL.                               DCUPD10 
           MOVE STC-OCC-DEPEND TO SAVE-NAME.
           MOVE "D" TO SAVE-FUNCTION. 
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           MOVE 1 TO NUM-LINES. 
           MOVE "A" TO SAVE-FUNCTION. 
           MOVE SPACES TO STC-OCC-DEPEND. 
      * 
      *    IF THIS BLOCK IS EMPTY BUT THERE 
      *    WERE QUALIFIERS REQUIRING MULTIPLE 
      *    BLOCKS, WRITE OUT THE EMPTY BLOCK
      *    ELSE DELETE ENTIRE BLOCK 
      * 
           IF STC-OCC-DEP-QUAL-COUNT GREATER THAN 2 
               GO TO CAT-MVC-MSG-DEL
           ELSE 
               GO TO DEL-CHECKER
           END-IF 
      * 
      *    STRUCTURE - DEPEND ALIAS 
      * 
       STC-EDIT-DEPEND-ALIAS. 
           IF FIELD-ID NOT EQUAL TO 39 GO TO STC-EDIT-DQUAL1. 
           MOVE STC-OCC-DEP-ALIAS TO OLD-VALUE. 
           IF VAL (1) EQUAL TO "$" GO TO STC-DEL-DEP-ALIAS. 
           MOVE "O" TO CAT-LINE-TYPE
           MOVE SPACE TO NUM-EDIT.
           PERFORM MOVE-NUM THRU VALID-NUM-XIT. 
           MOVE NUM-HOLD-X TO STC-OCC-DEP-ALIAS.
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-DEP-ALIAS. 
           IF STC-OCC-DEP-ALIAS EQUAL TO SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO STC-OCC-DEP-ALIAS.
      *    IF THIS BLOCK IS EMPTY BUT THERE 
      *    WERE QUALIFIERS REQUIRING MULTIPLE 
      *    BLOCKS, WRITE OUT THE EMPTY BLOCK
      *    ELSE DELETE ENTIRE BLOCK 
      * 
           IF STC-OCC-DEP-QUAL-COUNT GREATER THAN 2 
               GO TO CAT-MVC-MSG-DEL
           ELSE 
               GO TO DEL-CHECKER
           END-IF 
           GO TO DEL-CHECKER. 
      * 
      *    STRUCTURE - DEPEND QUALIFIER 1 
      * 
       STC-EDIT-DQUAL1. 
           IF FIELD-ID NOT EQUAL TO 40
               GO TO STC-EDIT-DQUAL2. 
           MOVE STC-OCC-DEP-QUAL1 TO OLD-VALUE. 
           IF VAL (1) EQUAL "$" 
               GO TO STC-DEL-DQUAL1.
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE "O" TO CAT-LINE-TYPE. 
           IF STC-OCC-DEP-QUAL1 EQUAL SPACES
               ADD 1 TO STC-OCC-DEP-QUAL-COUNT
           END-IF 
           MOVE VAL-AREA TO STC-OCC-DEP-QUAL1 SAVE-NAME 
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-DQUAL1.
           IF STC-OCC-DEP-QUAL1 EQUAL SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO STC-OCC-DEP-QUAL1.
      * 
      *    IF THIS BLOCK IS EMPTY BUT THERE 
      *    WERE QUALIFIERS REQUIRING MULTIPLE 
      *    BLOCKS, WRITE OUT THE EMPTY BLOCK
      *    ELSE DELETE ENTIRE BLOCK 
      * 
           IF STC-OCC-DEP-QUAL-COUNT GREATER THAN 2 
               GO TO CAT-MVC-MSG-DEL
           ELSE 
               GO TO DEL-CHECKER
           END-IF 
      * 
      *    STRUCTURE - DEPEND QUALIFIER 2 
      * 
       STC-EDIT-DQUAL2. 
           IF FIELD-ID NOT EQUAL TO 41
               GO TO STC-EDIT-DQUAL3. 
           MOVE STC-OCC-DEP-QUAL2 TO OLD-VALUE. 
           IF VAL (1) EQUAL "$" 
               GO TO STC-DEL-DQUAL2.
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE "O" TO CAT-LINE-TYPE. 
           IF STC-OCC-DEP-QUAL2 EQUAL SPACES
               ADD 1 TO STC-OCC-DEP-QUAL-COUNT
           END-IF 
           MOVE VAL-AREA TO STC-OCC-DEP-QUAL2 SAVE-NAME 
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-DQUAL2.
           IF STC-OCC-DEP-QUAL2 EQUAL SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO STC-OCC-DEP-QUAL2.
      * 
      *    IF THIS BLOCK IS EMPTY BUT THERE 
      *    WERE QUALIFIERS REQUIRING MULTIPLE 
      *    BLOCKS, WRITE OUT THE EMPTY BLOCK
      *    ELSE DELETE ENTIRE BLOCK 
      * 
           IF STC-OCC-DEP-QUAL-COUNT GREATER THAN 2 
               GO TO CAT-MVC-MSG-DEL
           ELSE 
               GO TO DEL-CHECKER
           END-IF 
      * 
      *    STRUCTURE - DEPEND QUALIFIER 3 
      * 
       STC-EDIT-DQUAL3. 
           IF FIELD-ID NOT EQUAL TO 42
               GO TO STC-EDIT-DQUAL4. 
           IF ADD-CHG EQUAL TO "C"
             AND LINE-TYPE-AQUAL NOT EQUAL "D"
             AND STC-OCC-DEP-QUAL-COUNT GREATER THAN 2
               MOVE "B" TO FUNC 
               PERFORM GET-NEXT-BLOCK THRU GET-NEXT-BLOCK-EXIT
               IF LINE-TYPE-AQUAL NOT EQUAL TO "D"
                   GO TO CAT-MVC-MSG-ERR-DEL
               END-IF 
           END-IF 
           MOVE STC-DEP-QUAL3 TO OLD-VALUE. 
           MOVE 1 TO NUM-LINES. 
           IF VAL (1) EQUAL "$" 
               GO TO STC-DEL-DQUAL3.
           IF STC-DEP-QUAL3 EQUAL TO SPACES 
               ADD 1 TO STC-OCC-DEP-QUAL-COUNT
           ELSE 
               PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT
           END-IF 
           MOVE VAL-AREA TO STC-DEP-QUAL3 SAVE-NAME 
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           MOVE "D" TO LINE-TYPE-AQUAL. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-DQUAL3.
           IF STC-DEP-QUAL3 EQUAL SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE 1 TO NUM-LINES. 
           MOVE SPACES TO STC-DEP-QUAL3.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    STRUCTURE - DEPEND QUALIFIER 4 
      * 
       STC-EDIT-DQUAL4. 
           IF FIELD-ID NOT EQUAL TO 43
               GO TO STC-EDIT-DQUAL5. 
           IF ADD-CHG EQUAL TO "C"
             AND LINE-TYPE-AQUAL NOT EQUAL "D"
             AND STC-OCC-DEP-QUAL-COUNT GREATER THAN 2
               MOVE "B" TO FUNC 
               PERFORM GET-NEXT-BLOCK THRU GET-NEXT-BLOCK-EXIT
               IF LINE-TYPE-AQUAL NOT EQUAL TO "D"
                   GO TO CAT-MVC-MSG-ERR-DEL
               END-IF 
           END-IF 
           MOVE STC-DEP-QUAL4 TO OLD-VALUE. 
           MOVE 1 TO NUM-LINES. 
           IF VAL (1) EQUAL "$" 
               GO TO STC-DEL-DQUAL4.
           IF STC-DEP-QUAL4 EQUAL TO SPACES 
               ADD 1 TO STC-OCC-DEP-QUAL-COUNT
           ELSE 
               PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT
           END-IF 
           MOVE VAL-AREA TO STC-DEP-QUAL4 SAVE-NAME 
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           MOVE "D" TO LINE-TYPE-AQUAL. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-DQUAL4.
           IF STC-DEP-QUAL4 EQUAL SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE 1 TO NUM-LINES. 
           MOVE SPACES TO STC-DEP-QUAL4.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    STRUCTURE - DEPEND QUALIFIER 5 
      * 
       STC-EDIT-DQUAL5. 
           IF FIELD-ID NOT EQUAL TO 44
               GO TO STC-EDIT-KEY.
           IF ADD-CHG EQUAL TO "C"
             AND LINE-TYPE-AQUAL NOT EQUAL "D"
             AND STC-OCC-DEP-QUAL-COUNT GREATER THAN 2
               MOVE "B" TO FUNC 
               PERFORM GET-NEXT-BLOCK THRU GET-NEXT-BLOCK-EXIT
               IF LINE-TYPE-AQUAL NOT EQUAL TO "D"
                   GO TO CAT-MVC-MSG-ERR-DEL
               END-IF 
           END-IF 
           MOVE STC-DEP-QUAL5 TO OLD-VALUE. 
           MOVE 1 TO NUM-LINES. 
           IF VAL (1) EQUAL "$" 
               GO TO STC-DEL-DQUAL5.
           IF STC-DEP-QUAL5 EQUAL TO SPACES 
               ADD 1 TO STC-OCC-DEP-QUAL-COUNT
           ELSE 
               PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT
           END-IF 
           MOVE VAL-AREA TO STC-DEP-QUAL5 SAVE-NAME 
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           MOVE "D" TO LINE-TYPE-AQUAL. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-DQUAL5.
           IF STC-DEP-QUAL5 EQUAL SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE 1 TO NUM-LINES. 
           MOVE SPACES TO STC-DEP-QUAL5.
           GO TO CAT-MVC-MSG-DEL. 
00326 *                                                                 DCUPD10 
00327 *     STRUCTURE - KEY FIELD                                       DCUPD10 
00328 *                                                                 DCUPD10 
00329  STC-EDIT-KEY.                                                    DCUPD10 
00330      IF FIELD-ID NOT EQUAL 45 GO TO STC-EDIT-INC.                    CL**2
           MOVE STC-GRP-KEY TO OLD-VALUE. 
           MOVE "A" TO CAT-LINE-TYPE. 
00332      IF VAL (1) EQUAL TO "$" GO TO STC-DEL-KEY.                   DCUPD10 
00333      MOVE KEY-CODES TO VALID-CODE-TABLE.                          DCUPD10 
00334      PERFORM VALID-CODE THRU VALID-CODE-XIT.                      DCUPD10 
           MOVE VAL (1) TO STC-GRP-KEY. 
00336      GO TO CAT-MVC-MSG-CHG.                                       DCUPD10 
00337  STC-DEL-KEY.                                                     DCUPD10 
           IF STC-GRP-KEY EQUAL SPACES
00339          GO TO CAT-MVC-MSG-ERR-DEL.                               DCUPD10 
           MOVE SPACES TO STC-GRP-KEY.
           GO TO DEL-CHECKER. 
00342 *                                                                 DCUPD10 
00343 *     STRUCTURE - DBD INCLUDE                                     DCUPD10 
00344 *                                                                 DCUPD10 
00345  STC-EDIT-INC.                                                    DCUPD10 
00346      IF FIELD-ID NOT EQUAL 50 GO TO STC-EDIT-GSEQ.                   CL**2
00347      MOVE STC-DBD-INC TO OLD-VALUE.                               DCUPD10 
00348      IF VAL (1) EQUAL TO "$" GO TO STC-DEL-INC.                   DCUPD10 
           MOVE "A" TO CAT-LINE-TYPE. 
00349      MOVE INC-CODES TO VALID-CODE-TABLE.                             CL**2
00350      PERFORM VALID-CODE THRU VALID-CODE-XIT.                         CL**2
00351      MOVE VAL (1) TO STC-DBD-INC.                                 DCUPD10 
00352      GO TO CAT-MVC-MSG-CHG.                                       DCUPD10 
00353  STC-DEL-INC.                                                     DCUPD10 
00354      IF STC-DBD-INC EQUAL TO SPACES                               DCUPD10 
00355          GO TO CAT-MVC-MSG-ERR-DEL.                               DCUPD10 
00356      MOVE SPACE TO STC-DBD-INC.                                   DCUPD10 
           GO TO DEL-CHECKER. 
00358 *                                                                 DCUPD10 
00359 *     STRUCTURE - PRO TEST GEN SEQ                                DCUPD10 
00360 *                                                                 DCUPD10 
00361  STC-EDIT-GSEQ.                                                   DCUPD10 
           IF FIELD-ID NOT EQUAL TO 55 GO TO STC-EDIT-KNAME.
00363      MOVE STC-PT-GENSEQ TO OLD-VALUE.                             DCUPD10 
00364      IF VAL (1) EQUAL TO "$" GO TO STC-DEL-GSEQ.                  DCUPD10 
           MOVE "A" TO CAT-LINE-TYPE. 
           MOVE SPACE TO NUM-EDIT.
           MOVE SPACE TO NUM-EDIT.
           MOVE "A" TO CAT-LINE-TYPE. 
00365      PERFORM MOVE-NUM THRU VALID-NUM-XIT.                         DCUPD10 
           MOVE NUM-HOLD-X TO STC-PT-GENSEQ.
00368      GO TO CAT-MVC-MSG-CHG.                                       DCUPD10 
00369  STC-DEL-GSEQ.                                                    DCUPD10 
00370      IF STC-PT-GENSEQ EQUAL TO SPACES                             DCUPD10 
00371          GO TO CAT-MVC-MSG-ERR-DEL.                               DCUPD10 
00372      MOVE SPACES TO STC-PT-GENSEQ.                                DCUPD10 
           GO TO DEL-CHECKER. 
      * 
      *    STRUCTURE - OCCURS KEY NAME
      * 
       STC-EDIT-KNAME.
           IF FIELD-ID NOT EQUAL TO 60 GO TO STC-EDIT-OCC-KEY-ALIAS.
           MOVE STC-OCC-KEY TO OLD-VALUE. 
           IF VAL (1) EQUAL TO "$" GO TO STC-DEL-KNAME. 
           MOVE "K" TO CAT-LINE-TYPE
           PERFORM CK-CATNAME THRU CK-CATNAME-XIT.
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE VAL-AREA TO STC-OCC-KEY  SAVE-NAME
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-KNAME. 
           IF STC-OCC-KEY EQUAL TO SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO STC-OCC-KEY.
           GO TO DEL-CHECKER. 
      * 
      *    STRUCTURE - KEYNAME ALIAS
      * 
       STC-EDIT-OCC-KEY-ALIAS.
           IF FIELD-ID NOT EQUAL TO 65 GO TO STC-EDIT-KORDER. 
           MOVE STC-OCC-KEY-ALIAS TO OLD-VALUE. 
           IF VAL (1) EQUAL TO "$" GO TO STC-DEL-OCC-KEY-ALIAS. 
           MOVE "K" TO CAT-LINE-TYPE
           MOVE SPACE TO NUM-EDIT.
           PERFORM MOVE-NUM THRU VALID-NUM-XIT. 
           MOVE NUM-HOLD-X TO STC-OCC-KEY-ALIAS.
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-OCC-KEY-ALIAS. 
           IF STC-OCC-KEY-ALIAS EQUAL TO SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO STC-OCC-KEY-ALIAS.
           GO TO DEL-CHECKER. 
      * 
      *    STRUCTURE - OCCURS KEY ORDER 
      * 
       STC-EDIT-KORDER. 
           IF FIELD-ID NOT EQUAL TO 70
               GO TO STC-EDIT-RENAME. 
           MOVE STC-OCC-KEYORDER TO OLD-VALUE.
           IF VAL (1) EQUAL TO SPACES 
               GO TO STC-DEL-KORDER.
           IF VAL (1) NOT EQUAL "A" AND "D" 
               MOVE "A  D  /  " TO BIG-CODES
               MOVE "B" TO CODE-ERR-SW
               GO TO VALIDATION-ERROR.
           MOVE VAL (1) TO STC-OCC-KEYORDER.
           MOVE "K" TO CAT-LINE-TYPE. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-KORDER.
           IF STC-OCC-KEYORDER EQUAL SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO STC-OCC-KEYORDER. 
           GO TO DEL-CHECKER. 
      * 
      *    STRUCTURE - RENAMES
      * 
       STC-EDIT-RENAME. 
           IF FIELD-ID NOT EQUAL TO 75 GO TO STC-EDIT-RENAME-ALIAS. 
           MOVE STC-RENAME TO OLD-VALUE.
           IF VAL (1) EQUAL TO "$" GO TO STC-DEL-RENAME.
           PERFORM CK-CATNAME THRU CK-CATNAME-XIT.
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE "R" TO CAT-LINE-TYPE. 
           IF STC-R-QUAL-COUNT EQUAL SPACES 
               MOVE ZERO TO STC-R-QUAL-COUNT
           END-IF 
           MOVE VAL-AREA TO STC-RENAME SAVE-NAME. 
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-RENAME.
           IF STC-RENAME EQUAL SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO STC-RENAME. 
      * 
      *    IF THIS BLOCK IS EMPTY BUT THERE 
      *    WERE QUALIFIERS REQUIRING MULTIPLE 
      *    BLOCKS, WRITE OUT THE EMPTY BLOCK
      *    ELSE DELETE ENTIRE BLOCK 
      * 
           IF STC-R-QUAL-COUNT GREATER THAN 3 
               GO TO CAT-MVC-MSG-DEL
           ELSE 
               GO TO DEL-CHECKER
           END-IF 
      * 
      *    STRUCTURE - RENAME ALIAS 
      * 
       STC-EDIT-RENAME-ALIAS. 
           IF FIELD-ID NOT EQUAL TO 76 GO TO STC-EDIT-RQUAL1. 
           MOVE STC-RNAME-ALIAS TO OLD-VALUE. 
           IF VAL (1) EQUAL TO "$" GO TO STC-DEL-RENAME-ALIAS.
           MOVE "R" TO CAT-LINE-TYPE
           MOVE SPACE TO NUM-EDIT.
           PERFORM MOVE-NUM THRU VALID-NUM-XIT. 
           MOVE NUM-HOLD-X TO STC-RNAME-ALIAS.
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-RENAME-ALIAS.
           IF STC-RNAME-ALIAS EQUAL TO SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO STC-RNAME-ALIAS.
      * 
      *    IF THIS BLOCK IS EMPTY BUT THERE 
      *    WERE QUALIFIERS REQUIRING MULTIPLE 
      *    BLOCKS, WRITE OUT THE EMPTY BLOCK
      *    ELSE DELETE ENTIRE BLOCK 
      * 
           IF STC-R-QUAL-COUNT GREATER THAN 3 
               GO TO CAT-MVC-MSG-DEL
           ELSE 
               GO TO DEL-CHECKER
           END-IF 
      * 
      *    STRUCTURE - RENAME QUALIFIER 1 
      * 
       STC-EDIT-RQUAL1. 
           IF FIELD-ID NOT EQUAL TO 77
               GO TO STC-EDIT-RQUAL2. 
           MOVE STC-R-QUAL1 TO OLD-VALUE. 
           IF VAL (1) EQUAL "$" 
               GO TO STC-DEL-RQUAL1.
           MOVE "R" TO CAT-LINE-TYPE. 
           IF STC-R-QUAL1 EQUAL SPACES
               ADD 1 TO STC-R-QUAL-COUNT
           END-IF 
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE VAL-AREA TO STC-R-QUAL1 SAVE-NAME 
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-RQUAL1.
           IF STC-R-QUAL1 EQUAL SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO STC-R-QUAL1.
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
      * 
      *    IF THIS BLOCK IS EMPTY BUT THERE 
      *    WERE QUALIFIERS REQUIRING MULTIPLE 
      *    BLOCKS, WRITE OUT THE EMPTY BLOCK
      *    ELSE DELETE ENTIRE BLOCK 
      * 
           IF STC-R-QUAL-COUNT GREATER THAN 3 
               GO TO CAT-MVC-MSG-DEL
           ELSE 
               GO TO DEL-CHECKER
           END-IF 
      * 
      *    STRUCTURE - RENAME QUALIFIER 2 
      * 
       STC-EDIT-RQUAL2. 
           IF FIELD-ID NOT EQUAL TO 79
               GO TO STC-EDIT-RQUAL3. 
           MOVE STC-R-QUAL2 TO OLD-VALUE. 
           IF VAL (1) EQUAL "$" 
               GO TO STC-DEL-RQUAL2.
           MOVE "R" TO CAT-LINE-TYPE. 
           IF STC-R-QUAL2 EQUAL SPACES
               ADD 1 TO STC-R-QUAL-COUNT
           END-IF 
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE VAL-AREA TO STC-R-QUAL2 SAVE-NAME.
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-RQUAL2.
           IF STC-R-QUAL2 EQUAL SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO STC-R-QUAL2.
      * 
      *    IF THIS BLOCK IS EMPTY BUT THERE 
      *    WERE QUALIFIERS REQUIRING MULTIPLE 
      *    BLOCKS, WRITE OUT THE EMPTY BLOCK
      *    ELSE DELETE ENTIRE BLOCK 
      * 
           IF STC-R-QUAL-COUNT GREATER THAN 3 
               GO TO CAT-MVC-MSG-DEL
           ELSE 
               GO TO DEL-CHECKER
           END-IF 
      * 
      *    STRUCTURE - RENAME QUALIFIER 3 
      * 
       STC-EDIT-RQUAL3. 
           IF FIELD-ID NOT EQUAL TO 81
               GO TO STC-EDIT-RQUAL4. 
           MOVE STC-R-QUAL3 TO OLD-VALUE. 
           IF VAL (1) EQUAL "$" 
               GO TO STC-DEL-RQUAL3.
           IF STC-R-QUAL3 EQUAL SPACES
               ADD 1 TO STC-R-QUAL-COUNT
           END-IF 
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE VAL-AREA TO STC-R-QUAL3 SAVE-NAME.
           MOVE "R" TO CAT-LINE-TYPE. 
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-RQUAL3.
           IF STC-R-QUAL3 EQUAL SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO STC-R-QUAL3.
      * 
      *    IF THIS BLOCK IS EMPTY BUT THERE 
      *    WERE QUALIFIERS REQUIRING MULTIPLE 
      *    BLOCKS, WRITE OUT THE EMPTY BLOCK
      *    ELSE DELETE ENTIRE BLOCK 
      * 
           IF STC-R-QUAL-COUNT GREATER THAN 3 
               GO TO CAT-MVC-MSG-DEL
           ELSE 
               GO TO DEL-CHECKER
           END-IF 
      * 
      *    STRUCTURE - RENAME QUALIFIER 4 
      * 
       STC-EDIT-RQUAL4. 
           IF FIELD-ID NOT EQUAL TO 83
               GO TO STC-EDIT-RQUAL5. 
           IF ADD-CHG EQUAL TO "C"
             AND LINE-TYPE-AQUAL NOT EQUAL "Q"
             AND STC-R-QUAL-COUNT GREATER THAN 3
               MOVE "B" TO FUNC 
               PERFORM GET-NEXT-BLOCK THRU GET-NEXT-BLOCK-EXIT
               IF LINE-TYPE-AQUAL NOT EQUAL TO "Q"
                   GO TO CAT-MVC-MSG-ERR-DEL
               END-IF 
           END-IF 
           MOVE STC-R-QUAL4 TO OLD-VALUE. 
           IF VAL (1) EQUAL "$" 
               GO TO STC-DEL-RQUAL4.
           IF STC-R-QUAL4 EQUAL TO SPACES 
               ADD 1 TO STC-R-QUAL-COUNT
           ELSE 
               PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT
           END-IF 
           MOVE VAL-AREA TO STC-R-QUAL4 SAVE-NAME.
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           MOVE "Q" TO LINE-TYPE-AQUAL. 
           MOVE 1 TO NUM-LINES. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-RQUAL4.
           IF STC-R-QUAL4 EQUAL SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE 1 TO NUM-LINES. 
           MOVE SPACES TO STC-R-QUAL4.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    STRUCTURE - RENAME QUALIFIER 5 
      * 
       STC-EDIT-RQUAL5. 
           IF FIELD-ID NOT EQUAL TO 85
               GO TO STC-EDIT-THRU. 
           IF ADD-CHG EQUAL TO "C"
             AND LINE-TYPE-AQUAL NOT EQUAL "Q"
             AND STC-R-QUAL-COUNT GREATER THAN 3
               MOVE "B" TO FUNC 
               PERFORM GET-NEXT-BLOCK THRU GET-NEXT-BLOCK-EXIT
               IF LINE-TYPE-AQUAL NOT EQUAL TO "Q"
                   GO TO CAT-MVC-MSG-ERR-DEL
               END-IF 
           END-IF 
           MOVE STC-R-QUAL5 TO OLD-VALUE. 
           IF VAL (1) EQUAL "$" 
               GO TO STC-DEL-RQUAL5.
           IF STC-R-QUAL5 EQUAL TO SPACES 
               ADD 1 TO STC-R-QUAL-COUNT
           ELSE 
               PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT
           END-IF 
           MOVE VAL-AREA TO STC-R-QUAL5 SAVE-NAME.
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           MOVE "Q" TO LINE-TYPE-AQUAL. 
           MOVE 1 TO NUM-LINES. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-RQUAL5.
           IF STC-R-QUAL5 EQUAL SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE 1 TO NUM-LINES. 
           MOVE SPACES TO STC-R-QUAL5.
           GO TO DEL-CHECKER. 
      * 
      *        STRUCTURE - THRU 
      * 
       STC-EDIT-THRU. 
           IF FIELD-ID NOT EQUAL TO 87
               GO TO STC-EDIT-THRU-ALIAS. 
           MOVE STC-THRU TO OLD-VALUE.
           IF VAL (1) EQUAL TO "$" GO TO STC-DEL-THRU.
           MOVE "T" TO CAT-LINE-TYPE. 
           IF STC-T-QUAL-COUNT EQUAL SPACES 
               MOVE ZERO TO STC-T-QUAL-COUNT
           END-IF 
           PERFORM CK-CATNAME THRU CK-CATNAME-XIT.
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE VAL-AREA TO STC-THRU SAVE-NAME. 
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-THRU.
           IF STC-THRU EQUAL SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO STC-THRU. 
      * 
      *    IF THIS BLOCK IS EMPTY BUT THERE 
      *    WERE QUALIFIERS REQUIRING MULTIPLE 
      *    BLOCKS, WRITE OUT THE EMPTY BLOCK
      *    ELSE DELETE ENTIRE BLOCK 
      * 
           IF STC-T-QUAL-COUNT GREATER THAN 3 
               GO TO CAT-MVC-MSG-DEL
           ELSE 
               GO TO DEL-CHECKER
           END-IF 
      * 
      *    STRUCTURE - THRU ALIAS 
      * 
       STC-EDIT-THRU-ALIAS. 
           IF FIELD-ID NOT EQUAL TO 88 GO TO STC-EDIT-TQUAL1. 
           MOVE STC-THRU-ALIAS TO OLD-VALUE.
           IF VAL (1) EQUAL TO "$" GO TO STC-DEL-THRU-ALIAS.
           MOVE "T" TO CAT-LINE-TYPE
           MOVE SPACE TO NUM-EDIT.
           PERFORM MOVE-NUM THRU VALID-NUM-XIT. 
           MOVE NUM-HOLD-X TO STC-THRU-ALIAS. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-THRU-ALIAS.
           IF STC-THRU-ALIAS EQUAL TO SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO STC-THRU-ALIAS. 
      * 
      *    IF THIS BLOCK IS EMPTY BUT THERE 
      *    WERE QUALIFIERS REQUIRING MULTIPLE 
      *    BLOCKS, WRITE OUT THE EMPTY BLOCK
      *    ELSE DELETE ENTIRE BLOCK 
      * 
           IF STC-T-QUAL-COUNT GREATER THAN 3 
               GO TO CAT-MVC-MSG-DEL
           ELSE 
               GO TO DEL-CHECKER
           END-IF 
      * 
      *    STRUCTURE - THRU QUALIFIER 1 
      * 
       STC-EDIT-TQUAL1. 
           IF FIELD-ID NOT EQUAL TO 89
               GO TO STC-EDIT-TQUAL2. 
           MOVE STC-T-QUAL1 TO OLD-VALUE. 
           IF VAL (1) EQUAL "$" 
               GO TO STC-DEL-TQUAL1.
           MOVE "T" TO CAT-LINE-TYPE. 
           IF STC-T-QUAL1 EQUAL SPACES
               ADD 1 TO STC-T-QUAL-COUNT
           END-IF 
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE VAL-AREA TO STC-T-QUAL1 SAVE-NAME.
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-TQUAL1.
           IF STC-T-QUAL1 EQUAL SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO STC-T-QUAL1.
      * 
      *    IF THIS BLOCK IS EMPTY BUT THERE 
      *    WERE QUALIFIERS REQUIRING MULTIPLE 
      *    BLOCKS, WRITE OUT THE EMPTY BLOCK
      *    ELSE DELETE ENTIRE BLOCK 
      * 
           IF STC-T-QUAL-COUNT GREATER THAN 3 
               GO TO CAT-MVC-MSG-DEL
           ELSE 
               GO TO DEL-CHECKER
           END-IF 
      * 
      *    STRUCTURE - THRU QUALIFIER 2 
      * 
       STC-EDIT-TQUAL2. 
           IF FIELD-ID NOT EQUAL TO 91
               GO TO STC-EDIT-TQUAL3. 
           MOVE STC-T-QUAL2 TO OLD-VALUE. 
           IF VAL (1) EQUAL "$" 
               GO TO STC-DEL-TQUAL2.
           MOVE "T" TO CAT-LINE-TYPE. 
           IF STC-T-QUAL2 EQUAL SPACES
               ADD 1 TO STC-T-QUAL-COUNT
           END-IF 
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE VAL-AREA TO STC-T-QUAL2 SAVE-NAME.
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-TQUAL2.
           IF STC-T-QUAL2 EQUAL SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO STC-T-QUAL2.
      * 
      *    IF THIS BLOCK IS EMPTY BUT THERE 
      *    WERE QUALIFIERS REQUIRING MULTIPLE 
      *    BLOCKS, WRITE OUT THE EMPTY BLOCK
      *    ELSE DELETE ENTIRE BLOCK 
      * 
           IF STC-T-QUAL-COUNT GREATER THAN 3 
               GO TO CAT-MVC-MSG-DEL
           ELSE 
               GO TO DEL-CHECKER
           END-IF 
      * 
      *    STRUCTURE - THRU QUALIFIER 3 
      * 
       STC-EDIT-TQUAL3. 
           IF FIELD-ID NOT EQUAL TO 93
               GO TO STC-EDIT-TQUAL4. 
           MOVE STC-T-QUAL3 TO OLD-VALUE. 
           IF VAL (1) EQUAL "$" 
               GO TO STC-DEL-TQUAL3.
           MOVE "T" TO CAT-LINE-TYPE. 
           IF STC-T-QUAL3 EQUAL SPACES
               ADD 1 TO STC-T-QUAL-COUNT
           END-IF 
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE VAL-AREA TO STC-T-QUAL3 SAVE-NAME.
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-TQUAL3.
           IF STC-T-QUAL3 EQUAL SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO STC-T-QUAL3.
      * 
      *    IF THIS BLOCK IS EMPTY BUT THERE 
      *    WERE QUALIFIERS REQUIRING MULTIPLE 
      *    BLOCKS, WRITE OUT THE EMPTY BLOCK
      *    ELSE DELETE ENTIRE BLOCK 
      * 
           IF STC-T-QUAL-COUNT GREATER THAN 3 
               GO TO CAT-MVC-MSG-DEL
           ELSE 
               GO TO DEL-CHECKER
           END-IF 
      * 
      *    STRUCTURE - THRU QUALIFIER 4 
      * 
       STC-EDIT-TQUAL4. 
           IF FIELD-ID NOT EQUAL TO 95
               GO TO STC-EDIT-TQUAL5. 
           IF ADD-CHG EQUAL TO "C"
             AND LINE-TYPE-AQUAL NOT EQUAL TO "2" 
             AND STC-T-QUAL-COUNT GREATER THAN 3
               MOVE "B" TO FUNC 
               PERFORM GET-NEXT-BLOCK THRU GET-NEXT-BLOCK-EXIT
               IF LINE-TYPE-AQUAL NOT EQUAL TO "2"
                   GO TO CAT-MVC-MSG-ERR-DEL
               END-IF 
           END-IF 
           MOVE STC-T-QUAL4 TO OLD-VALUE. 
           IF VAL (1) EQUAL "$" 
               GO TO STC-DEL-TQUAL4.
           IF STC-T-QUAL4 EQUAL TO SPACES 
               ADD 1 TO STC-T-QUAL-COUNT
           ELSE 
               PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT
           END-IF 
           MOVE VAL-AREA TO STC-T-QUAL4 SAVE-NAME.
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           MOVE 1 TO NUM-LINES. 
           MOVE "2" TO LINE-TYPE-AQUAL. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-TQUAL4.
           IF STC-T-QUAL4 EQUAL SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE 1 TO NUM-LINES. 
           MOVE SPACES TO STC-T-QUAL4.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    STRUCTURE - THRU QUALIFIER 5 
      * 
       STC-EDIT-TQUAL5. 
           IF FIELD-ID NOT EQUAL TO 85
               GO TO STC-EDIT-THRU. 
           IF ADD-CHG EQUAL TO "C"
             AND LINE-TYPE-AQUAL NOT EQUAL TO "2" 
             AND STC-T-QUAL-COUNT GREATER THAN 3
               MOVE "B" TO FUNC 
               PERFORM GET-NEXT-BLOCK THRU GET-NEXT-BLOCK-EXIT
               IF LINE-TYPE-AQUAL NOT EQUAL TO "2"
                   GO TO CAT-MVC-MSG-ERR-DEL
               END-IF 
           END-IF 
           MOVE STC-T-QUAL5 TO OLD-VALUE. 
           IF VAL (1) EQUAL "$" 
               GO TO STC-DEL-TQUAL5.
           IF STC-T-QUAL5 EQUAL TO SPACES 
               ADD 1 TO STC-T-QUAL-COUNT
           ELSE 
               PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT
           END-IF 
           MOVE VAL-AREA TO STC-T-QUAL5 SAVE-NAME.
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           MOVE "2" TO LINE-TYPE-AQUAL. 
           MOVE 1 TO NUM-LINES. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-TQUAL5.
           IF STC-T-QUAL5 EQUAL SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE 1 TO NUM-LINES. 
           MOVE SPACES TO STC-T-QUAL5.
           GO TO CAT-MVC-MSG-DEL. 
*CALL CPROCS
