*DECK DB$SR89 
USETEXT MD10CTX 
USETEXT UTMPTTX 
USETEXT MDBCMTX 
      PROC DB$SR89; 
      BEGIN 
 #
* *   DB$SR89 - VERIFY THAT VERSION IS IN VDT    PAGE  1
* *   J. G. SERPA                                DATE  10/15/80 
* 
* DC  PURPOSE 
* 
*     VERIFY THAT THE VERSION NAME WHOSE NAME IS IN VERSNAM EXISTS IN 
*     THE VDT.
* 
* DC   ENTRY CONDITIONS 
* 
*     VERSNAM CONTAINS THE NAME OF VERSION IN QUESTION. 
* 
* DC  EXIT CONDITIONS 
* 
*     IF THE VERSION EXISTS, VERSORD CONTAINS THE ORDINAL OF THE VERSION
*     IN THE VERSION DIRECTORY AND EXIT IS TO DB$YES. IF THE VERSION
*     DOES NOT EXIST, EXIT IS TO DB$NO. 
* 
* DC  CALLING ROUTINES
* 
*     MODSET - MODIFY SCHEMA ENTRY (WITHIN DB$SNTX -SYNGEN-)
* 
* DC  CALLED ROUTINES 
* 
# 
      XREF PROC DB$NO;             # SYNTAX TABLE DRIVER -NO- RETURN   #
      XREF PROC DB$YES;            # SYNTAX TABLE DRIVER -YES- RETURN  #
# 
* DC  NON-LOCAL VARIABLES MODIFIED
* 
*     VERSORD IN THE (1,0) COMMON 
* 
* DC  DESCRIPTION 
* 
*     POSITION THE VERSION DIRECTORY TABLE ARRAY (VERSDIR). THEN SEARCH 
*     THE VDT FOR A VERSION NAME WHICH MATCHES THE ONE IN VERSNAM.
*     IF A MATCH IS FOUND, EXIT IS TO DB$YES. IF NO MATCH IS FOUND, 
*     EXIT IS TO DB$NO. 
* 
 #
  
      BASED ARRAY VERSDIR [0:0] S(DFMDVDEN);  # VERSION DIRECTORY TABLE#
        BEGIN 
*CALL MDVDTDCLS              VERSION DIRECTORY TABLE
        END 
  
      ITEM I;                      # DUMMY INDEX VARIABLE              #
      CONTROL EJECT;
  
      P<VERSDIR> = VERDIRBP + 1;   # POSITION VERSION DIRECTORY TABLE  #
      FOR I = 0 STEP 1       # SEARCH THE VDT FOR A MATCH              #
        UNTIL VERSCNT - 1 
      DO
        BEGIN 
        IF MDVDTNAME[I] EQ VERSNAM     # IF MATCH FOUND                #
        THEN
          BEGIN 
          VERSORD = I + 1;         # STORE VERSION ORDINAL             #
          DB$YES;                  # EXIT - VERSION FOUND              #
  
          END 
        END 
      DB$NO;                       # EXIT - DIAGNOSTIC WILL BE ISSUED  #
  
      END 
      TERM
