*DECK EXDIAG
  PROC EXDIAG(DIAGNUM);     #    ***    E X D I A G      ***           #
#**********************************************************************#
#   TAKES THE LOCATION OF DESIRED DIAGNOSTIC AND USES THAT NUMBER      #
#   TO PRINT OUT THE REQUIRED ERROR MESSAGES FOR EXHIBIT               #
#**********************************************************************#
    BEGIN 
      XREF  PROC DDLPRNT; 
      XREF ITEM ERRCNTR;
      ARRAY DIAGBUF[10] S(5);  BEGIN
          ITEM DIAGSYN C(0,0,50) =
             [" ***400** ALL OR ENTRY NAME EXPECTED,NOT SPECIFIED", 
              " ***401** UNKNOWN ENTRY NAME                     ",
              " ***402** MISSING KEYWORD IN EXHIBIT SYNTAX      ",
              " ***403** INVALID/MISSING SCHEMA NAME            ",
              " ***404** RELATION ENTRIES MISSING IN SCHEMA     ",
              " ***405** CONSTRAINT ENTRIES MISSING IN SCHEMA   ",       AU 
              " ***406** PRIVACY OPTION NOT AVAILABLE    ", 
              " ***407** SHOULD NOT GET HERE                ",];
            END 
      ITEM DIAGNUM;            # CONTAINS ADDRESS OF DIAGNOSTIC NUMBER #
      BASED ARRAY DIAGPTR[0];  # POINTS TO DIAGNUM TO STORE CONTENTS   #
        ITEM DPTR I(0,0,60);  # INTO DPTR FOR PRINTING OUT MESSAGES  #
            P<DIAGPTR> = LOC(DIAGNUM);
      ERRCNTR = ERRCNTR + 1;
            DPTR[0] = DPTR[0] - 400;   # MAKES DIAGPTR USABLE BY DIAGSY#
            DDLPRNT (DIAGSYN[DPTR[0]],50);
     RETURN;
      END 
  TERM; 
