*DECK DCSYNG
PROC DCSYNG 
*CALL SCSYNCOM
+ 
ABRTDDL              ,   CALLS ROUTINE TO ABORT DDL 
CHCDEND              ,   CHECK IF COMP OR DECOMP SPECIFIED
CHCDEND1             ,   CHECK IF BOTH COMP AND DECOMP WERE SPECIFIED 
CHCDFLAG             ,   CHECKS IF C/D CLAUSE PREVIOUSLY SPECIFIED
CHKAREA              ,   CHECK NO DATA CTL FOR THIS AREA
CHKCONKY             ,   FINISH CONCATENATED KEY PROCESSING 
CHKDNAME             ,   VALIDATION CHECKS DURING CONCATENATED KEY
                         PROCESSING 
CHKIMBD              ,   CHECK IF KEY IS IMBEDDED 
CHKNEMK              ,   SINCE CDCS DOES NOT SUPPORT NON-EMBEDDED, DIAG 
                         212 IS ISSUED IF KEY IS NOT DEFINED IN RECORD. 
CHKORG               ,   CHECK FILE ORGANIZATION
CHPRCNM              ,   CHECK PROC NAME FOR USING CLAUSE 
CKSYSFG              ,   CHECK IF SYSTEM SPECIFIED IN COMP/DCMP CLAUSE
DCAINIT              ,   INITIALIZE DATA CONTROL AREA CLASE 
DCINIT               ,   INITIALIZE DATA CONTROL - BEGINNING
DNRDSC               ,   READ SCHEMA FOR DATANAME IN RECORD CO
ENDOVL               ,   FINISH ALL DATA CONTROL PROCESSING 
HASHCKY              ,   CALL HASH FOR CONCATENATED KEY DEFINITION
HASHRA               ,   CALL HASH FOR AREA REF 
HASHRI               ,   CALL HASH FOR DATANAME REF 
HASHRR               ,   CALL HASH FOR RECORD REF 
KEYINIT              ,   INITIALIZE CONCATENATED KEY PROCESSING 
LITRCON              ,   CONVERT RECORD CODE LITERAL
READFIT              ,   READ FIT FOR AREA FROM ZDF 
RECINIT              ,   INITIALIZE RECORD CODE 
RECNAME              ,   SET QUAL NAME FOR HASH 
SAVNAME              ,   SAVE DATANAME FOR QUALIFICATION
SETALTK              ,   SET ALTERNATE KEY FLAG 
SETCDTBL             ,   STORE VALUES IN COMP/DECOMP TABLE
SETCSTRN             ,   SET FLAG --- CONSTRAINTS PRESENT                FIRST
SETRELTN             ,   SET FLAG---RELATION ENTRY PRESENT
SETSERT             SETS UP CALL TO ROUTINE THAT COMPUTES THE SUB-ENTRY 
                    LENGTH. RETURN IS TO STDNO. 
STARNM               ,   STORE AREA NAME
STCDFLAG             ,   SETS FLAG INDICATING COMP/DCMP CLAUSE SPECIFIED
STCMPFG              ,   SETS FLAG FOR COMPRESSION
STDCMPFG             ,   SETS FLAG FOR DECOMPRESSION
STDNBY               ,   STORE DATANAME FOR BY CLAUSE 
STDUFIR              ,   SET FIRST FLAG FOR DUPLICATES
STDUIND              ,   SET INDEXED FLAG FOR DUPLICATES
STDUNOT              ,   SET NOT FLAG FOR DUPLICATES
STIMKEY              ,   STORE IMBEDDED KEY VALUES
STIMKT1              ,    TEST IMBED KEY ITEM TYPE
STIMKT2              ,    TEST DATANAME IN REC IN THIS AREA 
STIMKT4               ,  # CHECK KL FOR AK FILE  #
STINTB               ,   STORE INTEGER FOR RECORD CODE PROC 
STKEYNAM             ,   STORE CONCATENATED KEY-NAME
STNIKEY              ,   STORE NON-IMBEDDED KEY VALUES
STNIK2               ,   CHECK FIT PARAMS FOR NON-IMBED KEY 
STOSEQ               ,             # SET COLLATING SEQUENCE FIELD      #
STOLITB              ,   STORE LITERAL FOR REC CODE BY
STOPRNM              ,   STORE PROC NAME FOR KEY USING
STORECB              ,   STORE RECORD FOR REC CODE BY 
STRCBPR              ,   STORE PROC NAME FOR REC CODE BY
STSYSFG              ,   SET FLAG TO INDICATE SYSTEM PROCEDURE
STVAL                ,   STORE COUNT OF RECORD CODE  VALUES 
TSDUP                ,   TEST DUPLICATES OPTIONS
TSBYLIT              ,  TEST UNIQUE LITERALS FOR BY DNAME REC CODE
TSBYPRO              ,   TEST PROC PHRASE FOR RECORDCODE
TSBYREC              ,   TEST DNAME PHRASE FOR RECORDCODE 
TSDNLEN              ,  TEST REC CODE DNAME LT 240 CHARS
TSKEY                ,   TEST CONDITIONS FOR ALL KEYS 
TSRECCD              ,   TEST RECORDCODE FOR AREA 
TSVAL                ,   TEST FOR RECORD CODE VALUE FIRST TME 
+ 
:CONTROL:05  *DCINIT
           +EOT  +EOF  07 
        /  *ENDOVL
       :07  +SNW   $.   D108   SKIPF
         /  DCANAME 
:DCANAME :10  +EOT   +EOF  12 
       :11  *TSRECCD              D211
       :13  *ENDOVL    SKIPRL 
       :12  $AREA                 25
         /  *DCAINIT
            -NAME  -IS
            +NAME                 D129  20
        /  *SAVNAME 
           *HASHRA
            *STARNM               D127  20
        /  *CHKAREA               D216  20
         /  *READFIT    20
       :15  DCRCODE 
            DCCOMP
            DCSEQ 
            DCKEY  20 
         /  15
       :20  $.   D108   22
         /   *TSRECCD             D211
         /  10
       :22  +EOT  SKIPF  +EOT  12 
         /  13
       :25  $CONSTRAINT           27                                     FIRST
         /  *SETCSTRN             11                                     AD 
       :27  $RELATION             D111   20                              FIRST
         /  *SETRELTN             11
:DCKEY :01  $KEY  NO
         /  08
       :05  *SETSERT   $KEY   07
         /  08
       :07  *TSKEY                D215  NO
         /  YES 
       :08  *CHKORG 
         /  $IDENTIFIER    09 
         /  DCKYCON    NO 
         /  12
       :09  -IS    $ALTERNATE    10 
         /  *SETALTK              D139  NO
       :10  +NAME                 D145  NO
         /  *SAVNAME    $OF    $IN    11
         /  +NAME                 D106  NO
         /  *RECNAME
       :11  *HASHRI 
            *CHKIMBD  13
       :12  *STIMKEY    D282
         /  *STIMKT1              D283  NO
         /  *STIMKT2              D212  NO
         /  *STIMKT4              D256  NO
         /  14
       :13  *CHKNEMK              D212  NO     # CDCS DOES NOT SUPPORT #
                                               # NON-EMBEDDED KEY      #
         /  *STNIKEY              D208  NO
         /  *STNIK2               D224  NO
       :14  $USING    15
         /  +NAME                 D119  NO
         /  *CHPRCNM              D146  NO
         /  *STOPRNM              D147  NO
       :15  $DUPLICATES    05 
         /  -ARE  $NOT    20
         /  *STDUNOT      30
       :20  $FIRST      25
         /  *STDUFIR      33
         /  30
       :25  $INDEXED    30
         /  *STDUIND      33
       :30  *TSDUP                D152
         /  -ALLOWED   05 
       :33                        D153  NO
:DCKYCON :05   -IS    $ALTERNATE    10
         /  *SETALTK
       :10  +NAME    D330    NO 
         /  *SAVNAME
            *HASHCKY
            *KEYINIT
            *STKEYNAM    D331    NO 
         /  $<    D332    NO
       :15  +NAME    25 
         /  *SAVNAME
            $OF    $IN    20
         /  +NAME    D106    NO 
         /  *RECNAME
       :20  *HASHRI 
            *CHKDNAME    NO 
         /  15
       :25  $>    D332    NO
         /  *CHKCONKY    NO 
         /  YES 
:DCSEQ  :05  $SEQUENCE    NO
         /  -IS 
            $ASCII
            $COBOL
            $DISPLAY         D160      NO 
            /   *STOSEQ         YES 
  
:DCRCODE:05  $RECORD    NO
         /  $CODE                 D172  NO
         /  *RECINIT              D213  NO
         /  -IS  $BY  40
         /  +NAME                 D196  NO
         /  *SAVNAME  $OF  $IN  10
         /  +NAME                 D106  NO
         /  *RECNAME
       :10  *HASHRI 
            *DNRDSC               D197  NO
         /  *STDNBY               D198  NO
        /  *TSDNLEN               D217  NO
       :20  $VALUE    25
         /  *STVAL    30
       :25  *TSVAL                D199  NO
         /  *TSBYREC              D214  NO
         /  *TSBYLIT           D116  NO 
         /  *SETSERT   YES
       :30  -FOR  +NAME           D106  NO
         /  *SAVNAME
         /  *HASHRR 
            *STORECB              D202  NO
         /  -IS  +LIT             D203  NO
            /  *LITRCON        D253  YES
         /  *STOLITB              D204  NO
         /  20
       :40  $PROCEDURE            D205  NO
         /  +NAME                 D146  NO
         /  *STRCBPR              D146  NO
       :50  $VALUE    55
         /  *STVAL   60 
       :55  *TSVAL                D199  NO
         /  *TSBYPRO              D209  NO
         /  *SETSERT   YES
       :60  -FOR  +NAME           D106  NO
         /  *SAVNAME
         /  *HASHRR 
            *STORECB              D202  NO
         /  -IS  +INT             D206  NO
         /  *STINTB               D207  NO
         /  50
:DCCOMP :05  -FOR 
            $COMPRESSION  10
         /  *STCMPFG   D340 
         /  $DECOMPRESSION  25
         /  *STDCMPFG     D341
         /  25
       :10  $DECOMPRESSION   40 
         /  *STDCMPFG    D341 
         /  $COMPRESSION   25 
         /  *STCMPFG    D340
       :25  *CHCDFLAG   D345
         /  -USE
            $SYSTEM    30 
         /  *STSYSFG    D342
         /  05
       :30  $PROCEDURE  *STCDFLAG  D344  NO 
         /  *CKSYSFG    D342
         /  +NAME  *STCDFLAG  D119  NO
         /  *CHPRCNM    D146
         /  *SETCDTBL 
         /  05
       :40  *CHCDEND  NO
         /  *CHCDFLAG  NO 
         /  *STCDFLAG 
         /  *CHCDEND1  D343 
         /  YES 
:SKIPF :05  D200
       :10  +EOT  15
         /  *ENDOVL 
       :15  $.  +SNW  10
        /                         D195  NO
:SKIPRL:05  D327
       :10  +EOT    +SNC    10
         /  D296    *ABRTDDL
END 
