*DECK SM5SEQR 
          PROC SM5SEQR(BOOL); 
#**       SM5SEQR - SPECIFY THE ORDER OF THE REMAINING CHARACTERS      #
#                                                                      #
#      CALLING SEQUENCE -                                              #
#         CALL SM5SEQR(BOOLEAN)                                        #
#                                                                      #
#      GIVEN -                                                         #
#         BOOLEAN = 'YES' OR 'NO'                                      #
#                                                                      #
#      DOES -                                                          #
#         CALL S$SEQX TO DO THE FOLLOWING:                             #
#            CHECK THAT SEQR HAS NOT BEEN CALLED ALREADY FOR THIS SEQ. #
#            SETS FLAG 'SEQRFLG' SHOWING THAT SM5SEQR HAS BEEN CALLED  #
#            CHECK TO MAKE SURE THAT SM5SEQN HAS BEEN CALLED, IF NOT   #
#               THEN AN ERROR IS ISSUED                                #
#         CHECK THAT THE PARAMETER VALUE GIVEN IS 'YES' OR 'NO', ISSUE #
#            AN ERROR IF ANY OTHER VALUE IS GIVEN                      #
#         SETS RP$SEQVAL = -1 IF BOOL = 'YES'                          #
#                                                                      #
  
          BEGIN 
  
*CALL A 
  
*CALL E$
  
*CALL RP$ 
  
*CALL STATUS$ 
  
*CALL CSTYP 
  
*CALL SQ$ 
  
  
          ITEM GROUP; 
          ITEM BOOL   C(10);
          ITEM CALLTYP S:CSTYP;             # USED BY S$SEQX           #
          ITEM  NAMESTRING    C(10);
  
          XREF
              BEGIN 
              PROC  S$BFILL;           # BLANK FILL PARAMETER          #
              PROC S$ERROR; 
              PROC S$SEQX;              # KEEPS TRACK OF SM5SEQX CALLS #
              PROC S$SVREL;             # STORES RAW PARAMETERS        #
              FUNC S$INSEQ   B;         # TRUE IFF SEQ. OF SEQ_CALLS OK#
              END 
  
CONTROL EJECT;
  
          IF NOT S$INSEQ(SQ$"SM5SEQ")   THEN
              BEGIN 
              S$ERROR(E$110);       # CALL OUT OF SEQUENCE             #
#***#         RETURN; 
              END 
  
          CALLTYP = CSTYP"SEQR";
          S$SEQX(CALLTYP, GROUP, 0, NAMESTRING);
          S$BFILL(BOOL);
  
#           LOOK AT THE PARAMETER VALUE ITSELF                         #
  
          IF C<0,2>BOOL EQ "NO"  THEN 
#***#         RETURN;                      # W/OUT SETTING RP$SEQVAL   #
  
          ELSE
          IF C<0,3>BOOL EQ "YES" OR 
             C<0,1>BOOL EQ "Y" THEN 
              BEGIN 
#                   SET RP$VALUE = -1 FOR RP$SEQVAL AND RETURN         #
  
              RP$GROUP = GROUP; 
              RP$TYPE = RP$T"SEQVAL"; 
              RP$VALUE = -1;
              S$SVREL(RP$); 
              END 
  
          ELSE  # THE VALUE OF 'BOOL' IS NOT 'YES' OR 'NO'             #
              BEGIN 
              S$ERROR(E$92);  # VALUES ALLOWED FOR SEQA AND SEQR       #
#                PARAMETER ARE YES AND NO                              #
              STATUS$NORML = FALSE; 
#***#         RETURN; 
              END 
  
          END  # OF SM5SEQR # 
          TERM
