*DECK DCUPD26 
       IDENTIFICATION DIVISION. 
       PROGRAM-ID. UPD26. 
      ******************************************* 
      * 
      *    S C H E M A   E N T R Y
      * 
      ******************************************* 
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION. 
       SOURCE-COMPUTER.  CYBER. 
       OBJECT-COMPUTER.  CYBER. 
       DATA DIVISION. 
*CALL UPDCS 
*CALL DCDWA26 
      ************************************************************************
      *    THE FOLLOWING FIELDS ARE AREAS FOR SAVING QUALIFIERS WHICH        *
      *    ARE INPUT ON THE SAME LINE AS IDENTIFIERS BUT THE BLOCKS ARE      *
      *    NOT BIG ENOUGH TO CONTAIN ALL INFORMATION.  TEMPORARY STORAGE     *
      *    IN OTHER WORDS.                                                   *
      ************************************************************************
       01  AQUAL-DETAIL.
           03  LINE-TYPE-AQUAL           PICTURE X. 
           03  FILLER                    PICTURE X(146).
       01  AQUAL4-DETAIL. 
           03  LINE-TYPE-AQUAL4          PICTURE X. 
           03  FILLER                    PICTURE X(146).
       01  BQUAL-DETAIL.
           03  LINE-TYPE-BQUAL           PICTURE X. 
           03  FILLER                    PICTURE X(146).
       01  BQUAL4-DETAIL. 
           03  LINE-TYPE-BQUAL4          PICTURE X. 
           03  FILLER                    PICTURE X(146).
*CALL DCUPDSWS
*CALL CODES 
       PROCEDURE DIVISION.
*CALL DCUPDKW 
      ******************************************************
      * 
      *    S C H E M A   E N T R Y
      * 
      ******************************************************
      * 
      * 
      ******************************************************
           MOVE 26 TO SAVE-ENT-TYPE.
           MOVE SPACE TO NUM-EDIT.
      * 
      *   RESPONSIBILITY CATEGORY 
      * 
       RESP-EDIT. 
           IF CAT-ID NOT EQUAL TO 140 
               GO TO NAME-SCH-EDIT. 
      * 
      *    RESPONSIBILITY - STATUS
      * 
       RESP-EDIT-STAT.
           IF FIELD-ID NOT = 05 
               GO TO RESP-EDIT-FUNC.
           MOVE RESP-SCH-STATUS TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO RESP-DEL-STAT. 
           MOVE STAT-CODES TO VALID-CODE-TABLE. 
           PERFORM VALID-CODE THRU VALID-CODE-XIT.
           MOVE VAL-AREA TO RESP-SCH-STATUS.
           GO TO CAT-MVC-MSG-CHG. 
       RESP-DEL-STAT. 
           IF RESP-SCH-STATUS = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO RESP-SCH-STATUS.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    RESPONSIBILITY - FUNCTION
      * 
       RESP-EDIT-FUNC.
           IF FIELD-ID NOT = 10 
               GO TO RESP-EDIT-DPT. 
           MOVE RESP-SCH-FUNC TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO RESP-DEL-FUNC. 
           MOVE FUNC-CODES TO VALID-CODE-TABLE. 
           PERFORM VALID-CODE THRU VALID-CODE-XIT.
           MOVE VAL-AREA TO RESP-SCH-FUNC.
           GO TO CAT-MVC-MSG-CHG. 
       RESP-DEL-FUNC. 
           IF RESP-SCH-FUNC = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO RESP-SCH-FUNC.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    RESPONSIBILITY - DEPT
      * 
       RESP-EDIT-DPT. 
           IF FIELD-ID NOT = 15 
               GO TO RESP-EDIT-PER. 
           MOVE RESP-SCH-DEPT TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO RESP-DEL-DPT.
           MOVE VAL-AREA TO RESP-SCH-DEPT.
           GO TO CAT-MVC-MSG-CHG. 
       RESP-DEL-DPT.
           IF RESP-SCH-DEPT = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO RESP-SCH-DEPT.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    RESPONSIBILITY - PERSON
      * 
       RESP-EDIT-PER. 
           IF FIELD-ID NOT = 20 
               GO TO RESP-EDIT-PHONE. 
           MOVE RESP-SCH-PERSON TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO RESP-DEL-PER.
           MOVE VAL-AREA TO RESP-SCH-PERSON.
           GO TO CAT-MVC-MSG-CHG. 
       RESP-DEL-PER.
           IF RESP-SCH-PERSON = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO RESP-SCH-PERSON.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    RESPONSIBILITY - PHONE 
      * 
       RESP-EDIT-PHONE. 
           IF FIELD-ID NOT = 25 
               GO TO RESP-EDIT-TIT. 
           MOVE RESP-SCH-PHONE TO OLD-VALUE.
           IF VAL (1) = "$" 
               GO TO RESP-DEL-PER.
           MOVE VAL-AREA TO RESP-SCH-PHONE. 
           GO TO CAT-MVC-MSG-CHG. 
       RESP-DEL-PHONE.
           IF RESP-SCH-PHONE = SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO RESP-SCH-PHONE. 
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    RESPONSIBILITY - TITLE 
      * 
       RESP-EDIT-TIT. 
           IF FIELD-ID NOT = 30 
               GO TO RESP-EDIT-MAIL.
           MOVE RESP-SCH-TITLE TO OLD-VALUE.
           IF VAL (1) = "$" 
               GO TO RESP-DEL-TIT.
           MOVE VAL-AREA TO RESP-SCH-TITLE. 
           GO TO CAT-MVC-MSG-CHG. 
       RESP-DEL-TIT.
           IF RESP-SCH-TITLE = SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE VAL-AREA TO RESP-SCH-TITLE. 
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *   RESPONSIBILITY - MAIL 
      * 
       RESP-EDIT-MAIL.
           IF FIELD-ID NOT = 35 
               GO TO RESP-EDIT-DATE.
           MOVE RESP-SCH-MAIL TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO RESP-DEL-MAIL. 
           MOVE VAL-AREA TO RESP-SCH-MAIL.
           GO TO CAT-MVC-MSG-CHG. 
       RESP-DEL-MAIL. 
           IF RESP-SCH-MAIL = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE VAL-AREA TO RESP-SCH-MAIL.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    RESPONSIBILITY - DATE
      * 
       RESP-EDIT-DATE.
           IF FIELD-ID NOT = 40 
               GO TO FLD-ERR. 
           MOVE RESP-SCH-DATE TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO RESP-DEL-DATE. 
           MOVE VAL-AREA TO RESP-SCH-DATE.
           GO TO CAT-MVC-MSG-CHG. 
       RESP-DEL-DATE. 
           IF RESP-SCH-DATE = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO RESP-SCH-DATE.
           GO TO CAT-MVC-MSG-DEL. 
      ******************************************
      * 
      *    NAME CATEGORY
      * 
      ******************************************
       NAME-SCH-EDIT. 
           IF CAT-ID NOT = 200
               GO TO STC-SCH-EDIT.
      * 
      *    NAME - SCHEMA
      * 
       NAME-EDIT-DMS. 
           IF FIELD-ID NOT = 05 
               GO TO FLD-ERR. 
           MOVE NAME-SCH-DMS TO OLD-VALUE.
           IF VAL (1) = "$" 
               GO TO NAME-DEL-DMS.
           MOVE VAL-AREA TO NAME-SCH-DMS. 
           GO TO CAT-MVC-MSG-CHG. 
       NAME-DEL-DMS.
           IF NAME-SCH-DMS = SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO NAME-SCH-DMS. 
           GO TO CAT-MVC-MSG-DEL. 
      ******************************************
      * 
      *    STRUCTURE CATEGORY 
      * 
      ******************************************
       STC-SCH-EDIT.
           IF CAT-ID NOT = 300
               GO TO MD-SCH-EDIT. 
      * 
      *    STRUCTURE - AREA NAME
      * 
       STC-EDIT-NAMES.
           IF FIELD-ID NOT = 05 
               GO TO STC-EDIT-TYPE. 
           MOVE STC-SCH-CATNAME TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO STC-DEL-CATNAME. 
           PERFORM CK-CATNAME THRU CK-CATNAME-XIT.
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE VAL-AREA TO STC-SCH-CATNAME.
           MOVE "S" TO TYPE-CATAL-NAME. 
           MOVE VAL-AREA TO NEW-CATAL-NAME. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-CATNAME. 
           IF STC-SCH-CATNAME = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO STC-SCH-CATNAME.
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    STC - NAME TYPE MAY BE "A" FOR AREA
      *    OR "S" FOR SUBSCHEMA 
      * 
       STC-EDIT-TYPE. 
           IF FIELD-ID NOT = 10 
               GO TO STC-EDIT-INC.
           MOVE STC-SCH-NAME-TYPE TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO STC-DEL-NAME-TYPE. 
           IF VAL (1) NOT = "A" AND "S" 
               MOVE "A  S  /  " TO BIG-CODES
               MOVE "B" TO CODE-ERR-SW
               GO TO VALIDATION-ERROR.
           MOVE VAL-AREA TO STC-SCH-NAME-TYPE.
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-NAME-TYPE. 
           IF STC-SCH-NAME-TYPE = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO STC-SCH-NAME-TYPE.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    STC - INCLUDE
      * 
       STC-EDIT-INC.
           IF FIELD-ID NOT = 15 
               GO TO STC-EDIT-MASTER. 
           MOVE STC-SCH-INCLUDE TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO STC-DEL-INCLUDE. 
           IF VAL (1) NOT = "Y" AND "N" 
               GO TO VALIDATION-ERROR.
           MOVE VAL-AREA TO STC-SCH-INCLUDE.
       STC-DEL-INCLUDE. 
           IF STC-SCH-INCLUDE = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO STC-SCH-INCLUDE.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    STRUCTURE - MASTER 
      * 
       STC-EDIT-MASTER. 
           IF FIELD-ID NOT = 20 
               GO TO FLD-ERR. 
           MOVE STC-SCH-MASTER TO OLD-VALUE.
           IF VAL (1) = "$" 
               GO TO STC-DEL-MASTER.
           MOVE VAL-AREA TO STC-SCH-MASTER. 
           GO TO CAT-MVC-MSG-CHG. 
       STC-DEL-MASTER.
           IF STC-SCH-MASTER = SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO STC-SCH-MASTER. 
           GO TO CAT-MVC-MSG-DEL. 
      ******************************************
      * 
      *    MDINFO CATEGORY
      * 
      ******************************************
       MD-SCH-EDIT. 
           IF CAT-ID NOT = 450
               GO TO JC-SCH-EDIT. 
      * 
      *    MDINF - SCHEMA LFN 
      * 
       MD-EDIT-LFN. 
           IF FIELD-ID NOT = 05 
               GO TO MD-EDIT-PROCLIB. 
           MOVE MD-SCH-SCHLFN TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO MD-DEL-LFN.
           MOVE "L" TO CAT-LINE-TYPE. 
           MOVE VAL-AREA TO MD-SCH-SCHLFN.
           GO TO CAT-MVC-MSG-CHG. 
       MD-DEL-LFN.
           IF MD-SCH-SCHLFN = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO MD-SCH-SCHLFN.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    MDINFO - PROCLIB 
      * 
       MD-EDIT-PROCLIB. 
           IF FIELD-ID NOT = 10 
               GO TO MD-EDIT-TRANS. 
           MOVE MD-SCH-PROCLIB TO OLD-VALUE.
           IF VAL (1) = "$" 
               GO TO MD-DEL-PROCLIB.
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE "P" TO CAT-LINE-TYPE. 
           MOVE VAL-AREA TO MD-SCH-PROCLIB. 
           MOVE "S" TO TYPE-CATAL-NAME. 
           MOVE VAL-AREA TO NEW-CATAL-NAME. 
           GO TO CAT-MVC-MSG-CHG. 
       MD-DEL-PROCLIB.
           IF MD-SCH-PROCLIB = SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO MD-SCH-PROCLIB. 
           GO TO CAT-MVC-MSG-DEL. 
  
      * 
      *    MDINFO - TRANS 
      * 
       MD-EDIT-TRANS. 
           IF FIELD-ID NOT = 15 
               GO TO MD-EDIT-RESTART. 
           MOVE MD-SCH-TRANFILE TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO MD-DEL-TRANS.
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE "T" TO CAT-LINE-TYPE. 
           MOVE VAL-AREA TO MD-SCH-TRANFILE.
           MOVE "S" TO TYPE-CATAL-NAME. 
           MOVE VAL-AREA TO NEW-CATAL-NAME. 
           GO TO CAT-MVC-MSG-CHG. 
       MD-DEL-TRANS.
           IF MD-SCH-TRANFILE = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO MD-SCH-TRANFILE.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    MDINFO - RESTART 
      * 
       MD-EDIT-RESTART .
           IF FIELD-ID NOT = 20 
               GO TO MD-EDIT-JLOG.
           MOVE MD-SCH-RESTART  TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO MD-DEL-RESTART . 
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE "R" TO CAT-LINE-TYPE. 
           MOVE VAL-AREA TO MD-SCH-RESTART .
           MOVE "S" TO TYPE-CATAL-NAME. 
           MOVE VAL-AREA TO NEW-CATAL-NAME. 
           GO TO CAT-MVC-MSG-CHG. 
       MD-DEL-RESTART . 
           IF MD-SCH-RESTART  = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO MD-SCH-RESTART .
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    MDINFO - JLOG
      * 
       MD-EDIT-JLOG . 
           IF FIELD-ID NOT = 25 
               GO TO MD-EDIT-QR.
           MOVE MD-SCH-JLOG  TO OLD-VALUE.
           IF VAL (1) = "$" 
               GO TO MD-DEL-JLOG .
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE "J" TO CAT-LINE-TYPE. 
           MOVE VAL-AREA TO MD-SCH-JLOG . 
           MOVE "S" TO TYPE-CATAL-NAME. 
           MOVE VAL-AREA TO NEW-CATAL-NAME. 
           GO TO CAT-MVC-MSG-CHG. 
       MD-DEL-JLOG .
           IF MD-SCH-JLOG  = SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO MD-SCH-JLOG . 
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    MDINFO - QR
      * 
       MD-EDIT-QR.
           IF FIELD-ID NOT = 30 
               GO TO FLD-ERR. 
           MOVE MD-SCH-QR-FILE TO OLD-VALUE.
           IF VAL (1) = "$" 
               GO TO MD-DEL-QR. 
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE "Q" TO CAT-LINE-TYPE. 
           MOVE VAL-AREA TO MD-SCH-QR-FILE. 
           MOVE "S" TO TYPE-CATAL-NAME. 
           MOVE VAL-AREA TO NEW-CATAL-NAME. 
           GO TO CAT-MVC-MSG-CHG. 
       MD-DEL-QR. 
           IF MD-SCH-QR-FILE = SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO MD-SCH-QR-FILE. 
           GO TO CAT-MVC-MSG-DEL. 
      *********************************************** 
      *    JOBCONTROL CATEGORY
      *********************************************** 
       JC-SCH-EDIT. 
           IF CAT-ID NOT = 475
               GO TO CON-SCH-EDIT.
      * 
      *    JOBCONTROL - UN
      * 
       JC-EDIT-UN.
           IF FIELD-ID NOT = 05 
               GO TO JC-EDIT-PW.
           MOVE JC-SCH-UN TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO JC-DEL-UN. 
           MOVE VAL-AREA TO JC-SCH-UN.
           GO TO CAT-MVC-MSG-CHG. 
       JC-DEL-UN. 
           IF JC-SCH-UN = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO JC-SCH-UN.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    JOBCONTROL - PW
      * 
       JC-EDIT-PW.
           IF FIELD-ID NOT = 10 
               GO TO JC-EDIT-FAMILY.
           MOVE JC-SCH-PW TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO JC-DEL-PW. 
           MOVE VAL-AREA TO JC-SCH-PW.
           GO TO CAT-MVC-MSG-CHG. 
       JC-DEL-PW. 
           IF JC-SCH-PW = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO JC-SCH-PW.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    JOBCONTROL - FAMILY
      * 
       JC-EDIT-FAMILY.
           IF FIELD-ID NOT = 15 
               GO TO JC-EDIT-ACCOUNT. 
           MOVE JC-SCH-FAMILY TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO JC-DEL-FAMILY. 
           MOVE VAL-AREA TO JC-SCH-FAMILY.
           GO TO CAT-MVC-MSG-CHG. 
       JC-DEL-FAMILY. 
           IF JC-SCH-FAMILY = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO JC-SCH-FAMILY.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    JOBCONTROL - ACCOUNT 
      * 
       JC-EDIT-ACCOUNT. 
           IF FIELD-ID NOT = 20 
               GO TO JC-EDIT-CHARGE.
           MOVE JC-SCH-ACCOUNT TO OLD-VALUE.
           IF VAL (1) = "$" 
               GO TO JC-DEL-ACCOUNT.
           MOVE VAL-AREA TO JC-SCH-ACCOUNT. 
           GO TO CAT-MVC-MSG-CHG. 
       JC-DEL-ACCOUNT.
           IF JC-SCH-ACCOUNT = SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO JC-SCH-ACCOUNT. 
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    JOBCONTROL - CHARGE
      * 
       JC-EDIT-CHARGE.
           IF FIELD-ID NOT = 25 
               GO TO JC-EDIT-DENSITY. 
           MOVE JC-SCH-CHARGE TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO JC-DEL-CHARGE. 
           MOVE VAL-AREA TO JC-SCH-CHARGE.
           GO TO CAT-MVC-MSG-CHG. 
       JC-DEL-CHARGE. 
           IF JC-SCH-CHARGE = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO JC-SCH-CHARGE.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    JOBCONTROL - DENSITY 
      * 
       JC-EDIT-DENSITY. 
           IF FIELD-ID NOT = 30 
               GO TO JC-EDIT-TAPE-TYPE. 
           MOVE JC-SCH-DENSITY TO OLD-VALUE.
           IF VAL (1) = "$" 
               GO TO JC-DEL-DENSITY.
           MOVE VAL-AREA TO JC-SCH-DENSITY. 
           GO TO CAT-MVC-MSG-CHG. 
       JC-DEL-DENSITY.
           IF JC-SCH-DENSITY = SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO JC-SCH-DENSITY. 
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    JOBCONTROL - TAPE-TYPE 
      * 
       JC-EDIT-TAPE-TYPE. 
           IF FIELD-ID NOT = 35 
               GO TO FLD-ERR. 
           MOVE JC-SCH-TAPE-TYPE TO OLD-VALUE.
           IF VAL (1) = "$" 
               GO TO JC-DEL-TAPE-TYPE.
           MOVE VAL-AREA TO JC-SCH-TAPE-TYPE. 
           GO TO CAT-MVC-MSG-CHG. 
       JC-DEL-TAPE-TYPE.
           IF JC-SCH-TAPE-TYPE = SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO JC-SCH-TAPE-TYPE. 
           GO TO CAT-MVC-MSG-DEL. 
      ******************************************
      * 
      *    CONSTRAINT CATEGORY
      * 
      ******************************************
       CON-SCH-EDIT.
           IF CAT-ID NOT = 550
               GO TO JOINS-SCH-EDIT.
      * 
      *    CONSTRAINT - CONSTRAINT NAME 
      * 
       CON-EDIT-CNAME.
           IF FIELD-ID NOT = 05 
               GO TO CON-EDIT-CATNAME.
           MOVE CON-SCH-CON-NAME TO OLD-VALUE.
           IF VAL (1) = "$" 
               GO TO CON-DEL-CNAME. 
           MOVE "N" TO CAT-LINE-TYPE. 
           MOVE VAL-AREA TO CON-SCH-CON-NAME. 
           GO TO CAT-MVC-MSG-CHG. 
       CON-DEL-CNAME. 
           IF CON-SCH-CON-NAME = SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO CON-SCH-CON-NAME. 
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    CONSTRAINT - CATNAME 
      * 
      * 
       CON-EDIT-CATNAME.
           IF FIELD-ID NOT = 10 
               GO TO CON-EDIT-ALIAS.
           MOVE CON-SCH-CATNAME TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO CON-DEL-CATNAME. 
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE "N" TO CAT-LINE-TYPE
           MOVE VAL-AREA TO CON-SCH-CATNAME.
           MOVE VAL-AREA TO SAVE-NAME.
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           GO TO CAT-MVC-MSG-CHG. 
       CON-DEL-CATNAME. 
           IF CON-SCH-CATNAME = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL
           END-IF 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO CON-SCH-CATNAME.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    CONSTRAINT - CONSTRAINT NAME ALIAS 
      * 
       CON-EDIT-ALIAS.
           IF FIELD-ID NOT = 15 
               GO TO CON-EDIT-AOFREC. 
           MOVE CON-SCH-ALIAS TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO CON-DEL-ALIAS. 
           MOVE "N" TO CAT-LINE-TYPE. 
           PERFORM MOVE-NUM THRU VALID-NUM-XIT. 
           MOVE NUM-HOLD-X TO CON-SCH-ALIAS.
           GO TO CAT-MVC-MSG-CHG. 
       CON-DEL-ALIAS. 
           IF CON-SCH-ALIAS = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO CON-SCH-ALIAS.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    CONSTRAINT - QUALIFIERS
      * 
       CON-EDIT-AOFREC. 
           IF FIELD-ID NOT = 20 
               GO TO CON-EDIT-DEPEND. 
           MOVE CON-SCH-AOFREC TO OLD-VALUE.
           IF VAL (1) = "$" 
               GO TO CON-DEL-AOFREC.
           PERFORM CK-CATNAME THRU CK-CATNAME-XIT.
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE VAL-AREA TO CON-SCH-AOFREC SAVE-NAME. 
           MOVE "N" TO CAT-LINE-TYPE. 
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           GO TO CAT-MVC-MSG-CHG. 
       CON-DEL-AOFREC.
           IF CON-SCH-AOFREC = SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO CON-SCH-AOFREC. 
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    CONSTRAINT - DEPEND
      * 
      * 
       CON-EDIT-DEPEND. 
           IF FIELD-ID NOT = 25 
               GO TO CON-EDIT-DALIAS. 
           MOVE CON-SCH-DEPEND TO OLD-VALUE.
           IF VAL (1) = "$" 
               GO TO CON-DEL-DEPEND.
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE "O" TO CAT-LINE-TYPE
           MOVE VAL-AREA TO CON-SCH-DEPEND. 
           MOVE VAL-AREA TO SAVE-NAME.
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           GO TO CAT-MVC-MSG-CHG. 
       CON-DEL-DEPEND.
           IF CON-SCH-DEPEND = SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL
           END-IF 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO CON-SCH-DEPEND. 
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    CONSTRAINT - DEPEND NAME ALIAS 
      * 
       CON-EDIT-DALIAS. 
           IF FIELD-ID NOT = 30 
               GO TO CON-EDIT-BOFREC. 
           MOVE CON-SCH-DEP-ALIAS TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO CON-DEL-DALIAS.
           MOVE "O" TO CAT-LINE-TYPE. 
           PERFORM MOVE-NUM THRU VALID-NUM-XIT. 
           MOVE NUM-HOLD-X TO CON-SCH-DEP-ALIAS.
           GO TO CAT-MVC-MSG-CHG. 
       CON-DEL-DALIAS.
           IF CON-SCH-DEP-ALIAS = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO CON-SCH-DEP-ALIAS.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    CONSTRAINT -DEPEND  QUALIFIERS 
      * 
       CON-EDIT-BOFREC. 
           IF FIELD-ID NOT = 35 
               GO TO FLD-ERR. 
           MOVE CON-SCH-DEP-BOFREC TO OLD-VALUE.
           IF VAL (1) = "$" 
               GO TO CON-DEL-BOFREC.
           PERFORM CK-CATNAME THRU CK-CATNAME-XIT.
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE VAL-AREA TO CON-SCH-DEP-BOFREC SAVE-NAME. 
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           MOVE "O" TO CAT-LINE-TYPE. 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
           GO TO CAT-MVC-MSG-CHG. 
       CON-DEL-BOFREC.
           IF CON-SCH-DEP-BOFREC = SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO CON-SCH-DEP-BOFREC. 
           GO TO CAT-MVC-MSG-DEL. 
      ******************************************************
      *    JOINS CATEGORY 
      ******************************************************
       JOINS-SCH-EDIT.
           IF CAT-ID NOT = 575
               GO TO CAT-ERR. 
      * 
      *    JOIN-RELATION NAME 
      * 
       JOIN-EDIT-RELNAME. 
           IF FIELD-ID NOT = 05 
               GO TO JOIN-EDIT-REL-ID1. 
           MOVE JOIN-SCH-NAME TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO JOIN-DEL-RELNAME.
           MOVE "A" TO CAT-LINE-TYPE. 
           MOVE VAL-AREA TO JOIN-SCH-NAME.
           GO TO CAT-MVC-MSG-CHG. 
       JOIN-DEL-RELNAME.
           IF JOIN-SCH-NAME = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO JOIN-SCH-NAME.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    JOIN - RELATION  ID
      * 
       JOIN-EDIT-REL-ID1. 
           IF FIELD-ID NOT = 10 
               GO TO JOIN-EDIT-ALY-ONE. 
           MOVE JOIN-SCH-ID1 TO OLD-VALUE.
           IF VAL (1) = "$" 
               GO TO JOIN-DEL-ID1.
           MOVE "B" TO CAT-LINE-TYPE
           PERFORM CK-CATNAME THRU CK-CATNAME-XIT.
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE VAL-AREA TO JOIN-SCH-ID1 SAVE-NAME. 
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           IF SUB-PRESENT = "Y" 
               MOVE HOLD-SUB (1) TO JOIN-SCH-ID1-SUB1 
               MOVE HOLD-SUB (2) TO JOIN-SCH-ID1-SUB2 
               MOVE HOLD-SUB (3) TO JOIN-SCH-ID1-SUB3 
           END-IF 
           GO TO CAT-MVC-MSG-CHG. 
       JOIN-DEL-ID1.
           IF JOIN-SCH-ID1 = SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO JOIN-SCH-ID1 JOIN-SCH-ID1-SUB1
               JOIN-SCH-ID1-SUB2 JOIN-SCH-ID1-SUB3
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    JOIN - ALY-1 ALIAS 
      * 
       JOIN-EDIT-ALY-ONE. 
           IF FIELD-ID NOT = 15 
               GO TO JOIN-EDIT-CQUAL1.
           MOVE JOIN-SCH-ALY-1 TO OLD-VALUE.
           IF VAL (1) = "$" 
               GO TO JOIN-DEL-ALY-ONE.
           MOVE "B" TO CAT-LINE-TYPE
           PERFORM MOVE-NUM THRU VALID-NUM-XIT. 
           MOVE NUM-HOLD-X TO JOIN-SCH-ALY-1. 
           GO TO CAT-MVC-MSG-CHG. 
       JOIN-DEL-ALY-ONE.
           IF JOIN-SCH-ALY-1 = SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO JOIN-SCH-ALY-1. 
           GO TO CAT-MVC-MSG-DEL. 
  
      * 
      *    JOIN - ID1 QUAL1 
      * 
       JOIN-EDIT-CQUAL1.
           IF FIELD-ID NOT = 20 
               GO TO JOIN-EDIT-ID2. 
           MOVE JOIN-SCH-CQUAL1 TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO JOIN-DEL-CQUAL1. 
           PERFORM CK-CATNAME THRU CK-CATNAME-XIT.
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE "B" TO CAT-LINE-TYPE
           MOVE VAL-AREA TO JOIN-SCH-CQUAL1 SAVE-NAME.
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           GO TO CAT-MVC-MSG-CHG. 
       JOIN-DEL-CQUAL1. 
           IF JOIN-SCH-CQUAL1 = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO JOIN-SCH-CQUAL1.
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    JOIN - RELATION  ID
      * 
       JOIN-EDIT-ID2. 
           IF FIELD-ID NOT = 25 
               GO TO JOIN-EDIT-ALY-TWO. 
           MOVE JOIN-SCH-ID2 TO OLD-VALUE.
           IF VAL (1) = "$" 
               GO TO JOIN-DEL-ID2.
           PERFORM CK-CATNAME THRU CK-CATNAME-XIT.
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE "C" TO CAT-LINE-TYPE
           MOVE VAL-AREA TO JOIN-SCH-ID2 SAVE-NAME. 
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           IF SUB-PRESENT = "Y" 
               MOVE HOLD-SUB (1) TO JOIN-SCH-ID2-SUB1 
               MOVE HOLD-SUB (2) TO JOIN-SCH-ID2-SUB2 
               MOVE HOLD-SUB (3) TO JOIN-SCH-ID2-SUB3 
           END-IF 
           GO TO CAT-MVC-MSG-CHG. 
       JOIN-DEL-ID2.
           IF JOIN-SCH-ID2 = SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO JOIN-SCH-ID2 JOIN-SCH-ID2-SUB1
               JOIN-SCH-ID2-SUB2 JOIN-SCH-ID2-SUB3
           GO TO CAT-MVC-MSG-DEL. 
      * 
      *    JOIN - ID2 ALIAS 
      * 
       JOIN-EDIT-ALY-TWO. 
           IF FIELD-ID NOT = 30 
               GO TO JOIN-EDIT-DQUAL1.
           MOVE JOIN-SCH-ALY-2 TO OLD-VALUE.
           IF VAL (1) = "$" 
               GO TO JOIN-DEL-ALY-ONE.
           PERFORM MOVE-NUM THRU VALID-NUM-XIT. 
           MOVE "C" TO CAT-LINE-TYPE
           MOVE NUM-HOLD-X TO JOIN-SCH-ALY-2. 
           GO TO CAT-MVC-MSG-CHG. 
       JOIN-DEL-ALY-TWO.
           IF JOIN-SCH-ALY-2 = SPACES 
               GO TO CAT-MVC-MSG-ERR-DEL. 
           MOVE SPACES TO JOIN-SCH-ALY-2. 
           GO TO CAT-MVC-MSG-DEL. 
  
      * 
      *    JOIN - ID2 QUAL1 
      * 
       JOIN-EDIT-DQUAL1.
           IF FIELD-ID NOT = 35 
               GO TO FLD-ERR. 
           MOVE JOIN-SCH-DQUAL1 TO OLD-VALUE. 
           IF VAL (1) = "$" 
               GO TO JOIN-DEL-DQUAL1. 
           PERFORM CK-CATNAME THRU CK-CATNAME-XIT.
           PERFORM CHANGE-DELETE THRU CHANGE-DELETE-EXIT. 
           MOVE "C" TO CAT-LINE-TYPE
           MOVE VAL-AREA TO JOIN-SCH-DQUAL1 SAVE-NAME.
           PERFORM SET-REL-TABLE THRU SET-REL-TABLE-EXIT. 
           GO TO CAT-MVC-MSG-CHG. 
       JOIN-DEL-DQUAL1. 
           IF JOIN-SCH-DQUAL1 = SPACES
               GO TO CAT-MVC-MSG-ERR-DEL. 
           PERFORM FIELD-DELETE THRU FIELD-DELETE-EXIT. 
           MOVE SPACES TO JOIN-SCH-DQUAL1.
           GO TO CAT-MVC-MSG-DEL. 
*CALL CPROCS
