*DECK SM5SEQA 
          PROC SM5SEQA(BOOL); 
#**       SM5SEQA - SPECIFY THE ORDER OF THE REMAINING CHARACTERS      #
#                                                                      #
#      CALLING SEQUENCE -                                              #
#         CALL SM5SEQA(BOOLEAN)                                        #
#                                                                      #
#      GIVEN -                                                         #
#         BOOLEAN = 'YES' OR 'NO'                                      #
#                                                                      #
#      DOES -                                                          #
#         CALL S$SEQX TO DO THE FOLLOWING:                             #
#            CHECK THAT SEQA HAS NOT BEEN CALLED ALREADY FOR THIS SEQ. #
#            SETS FLAG 'SEQAFLG' SHOWING THAT SM5SEQA 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                      #
#         SET RP$TYPE = RP$T"SEQA" 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);    # NOT USED HERE                 #
  
          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"SEQA";
          S$SEQX(CALLTYP,GROUP,0,NAMESTRING);    # 4TH PARAM NOT USED # 
          S$BFILL(BOOL);
  
#           LOOK AT THE PARAMETER VALUE ITSELF                         #
  
          IF C<0,2>BOOL EQ "NO"  THEN 
#***#         RETURN; 
  
          ELSE
          IF C<0,3>BOOL EQ "YES" OR 
             C<0,1>BOOL EQ "Y" THEN 
              BEGIN 
#               SET RP$TYPE AND THEN RETURN                            #
  
              RP$GROUP = GROUP; 
              RP$TYPE = RP$T"SEQA"; 
  
#               NO VALUE NEEDS TO BE SET                               #
  
              S$SVREL(RP$); 
              END 
  
          ELSE  # THE VALUE OF 'BOOL' IS NOT 'YES' OR 'NO'             #
              BEGIN 
              S$ERROR(E$92);  # VALUES ALLOWED FOR SEQR AND SEQA       #
#                PARAMETER ARE YES AND NO                              #
              STATUS$NORML = FALSE; 
#***#         RETURN; 
              END 
  
          END  # OF SM5SEQA # 
          TERM
