*DECK DB$SR30 
USETEXT MD10CTX 
USETEXT SCANTXT 
      PROC DB$SR30; 
      BEGIN 
 #
* *   DB$SR30 - STORE UNIT LIMIT                 PAGE  1
* *   J. G. SERPA                                DATE  07/26/80 
* *   R. M. PAPPE                                DATE  09/11/80 
* 
* DC  PURPOSE 
* 
*     STORE THE UNIT LIMIT. 
* 
* DC  ENTRY CONDITIONS
* 
*     CURWORD CONTAINS THE UNIT LIMIT IN DISPLAY CODE.
*     DB$CLNG CONTAINS THE LENGTH OF THE LIMIT FIELD IN CHARACTERS. 
* 
* DC  EXIT CONDITIONS 
* 
*     UNIT LIMIT HAS BEEN STORED INTO TEMPORARY CELL UNITLIM. 
*     IF THE LIMIT IS INVALID (E.G. LT 1 OR GT 63) RETURN IS TO DB$NO.
*     OTHERWISE RETURN IS DB$YES. 
* 
* DC  CALLING ROUTINES
* 
*     DB$SNTX - SYNTAX CRACKER (SYNGEN) 
* 
* DC  CALLED ROUTINES 
* 
# 
      XREF
        BEGIN 
        FUNC DB$CBIN U;      # CONVERT DISPLAY CODE TO BINARY FORMAT   #
        PROC DB$NO;          # SYNTAX TABLE DRIVER -NO- RETURN         #
        PROC DB$YES;         # SYNTAX TABLE DRIVER -YES- RETURN        #
        END 
# 
* 
* DC  NON-LOCAL VARIABLES MODIFIED
* 
*     NONE
* 
* DC  DESCRIPTION 
* 
*     CALL DB$CBIN TO CONVERT THE LIMIT VALUE WHICH IS STORED IN CURWORD
*     TO BINARY FORMAT. IF IT IS LESS THAN 1, OR GREATER THAN 63, RETURN
*     TO DB$NO. ELSE, RETURN TO DB$YES. 
* 
 #
  
      CONTROL EJECT;
#     B E G I N       E X E C U T A B L E       C O D E                #
  
      UNITLIM = DB$CBIN(CURWORD[0],DB$CLNG,10); 
      IF UNITLIM GR 0 
        AND UNITLIM LQ 63 
        THEN
          BEGIN 
          DB$YES; 
  
          END 
      DB$NO;
  
      END 
      TERM
