*DECK C$DMSUB 
          IDENT  C$DMSUB
          SST 
          COMMENT  ISSUE CDCS -INVOKE- CALL FROM SUB-PROGRAM
          B1=1
          ENTRY  C.DMSUB
*                ISSUE THE CDCS -INVOKE- CALL FROM A (NON-MAIN) SUB-
*                COMPILED PROGRAM 
*                ON ENTRY B4=RELATIONS/QUALIFIERS TABLE ADDRESS 
*                         B5=RELATIONS/AREAS TABLE ADDRESS
*                         B6=ADDRESS OF BLOCK OF OTHER -INVOKE- PARAMTRS
*                            WORD 0 THRU 2 - NAME OF SUB-SCHEMA 
 CDCS1    IFEQ   OP.DCS,OP.DCS1 
*                            WORD 3 - NAME OF FILE CONTAINING SS
*                            WORD 4 - PROGRAM ID
*                            WORD 5 - TIME/DATE OF SS COMPILAT+ON 
*                            WORD 6 THRU N - CDCS -FILE USAGE- TABLE
 CDCS1    ENDIF 
 CDCS2    IFEQ   OP.DCS,OP.DCS2 
*                            WORD 3 THRU 5 - NAME OF SCHEMA 
*                            WORD 6 - PROGRAM ID
*                            WORD 7 - TIME/DATE OF SS COMPILATION 
*                            WORD 8 THRU N - CDCS FILE USAGE TABLE
 CDCS2    ENDIF 
*                         X6==XDM$OP2 IF PROGRAM DOES AN -OPEN OUTPUT-
*                            ON A CDCS I/O MIP FILE 
*                           =0 OTHERWISE
 C.DMSUB  BSS    1
 CDCS     IFNE   OP.DCS,OP.NO 
 CDCS1    IFEQ   OP.DCS,OP.DCS1 
          ZR     X6,C.DMSUB1 JUMP IF NO -OPEN OUTPUT- ON MIP FILE 
          SA5    =XC.DMOP2   SET UP INSTRUCTION TO -RJ =XDM$OP2-
          LX6    30 
          BX6    X5+X6
          SA6    A5 
 CDCS1    ENDIF 
 C.DMSUB1 BSS    0
          SX6    B5          SAVE ADDRESS OF RELATIONS/AREAS TABLE FOR
          SA6    =XC.RELTL    SUBSEQUENT CDCS RELATION READS
          SX6    B6          BUILD INVOKE PARAMETER LIST
          SA6    =XC.DMPAR   SS NAME
          SX7    B6+3        SS FILE IF CDCS1, SCHEMA NAME IF CDCS2 
          SA7    A6+B1
 CDCS2    IFEQ   OP.DCS,OP.DCS1 
          SX7    X7+B1       PROGRAM ID 
 CDCS2    ELSE
          SX7    X7+3        PROGRAM ID 
 CDCS2    ENDIF 
          SA7    A7+B1
          SX7    X7+B1       TIME/DATE OF SS COMPILATION
          SA7    A7+B1
          SX7    X7+B1       CDCS FILE USAGE TABLE
          SA7    A7+B1
          SX7    B4          RELATIONS/QUALIFIERS TABLE 
          SA7    A7+B1
*         LINES CL51505.11,13 WERE DELETED
*         THESE LINES SKIPPED THE BELOW LINES IF C.RUSAG HAD PREVIOUSLY 
*         BEEN SET.  UNFORTUNATELY, C.RUSAG COULD HAVE BEEN SET BY A
*         CALL FROM A SUBPROGRAM IN AN FDL CAPSULE, AND THE CAPSULE 
*         LATER UNLOADED.  SINCE THE TABLE IS THE SAME FOR A PARTICULAR 
*         SCHEMA IT IS FINE TO POINT TO THE CURRENT TABLE EACH TIME.
          SA7    =XC.RUSAG   ELSE POINT TO TABLE IN THIS SUBROUTINE 
 TEXISTS  SA1    A6 
 CDCS2    IFEQ   OP.DCS,OP.DCS1 
          RJ     =XDM$SUBU   CDCS -INVOKE- CALL 
 CDCS2    ELSE
          RJ     =XDB$INVS   CDCS2 -INVOKE- CALL
 CDCS2    ENDIF 
          SB1    1           RESTORE B1 
          SX6    B1 
          SA6    =XC.CDCS    SET FLAG "0 TO INDICATE RUN USES CDCS
          EQ     C.DMSUB
 CDCS     ENDIF 
          END 
