*DECK S$AHELP 
          PROC S$AHELP; 
#**       S$GTIOU -  DETERMINES WHETHER INTERACTIVE USER WANTS HELP    #
#                                                                      #
#     CALLING SEQUENCE-                                                #
#         S$AHELP(LINE$):                                              #
#                                                                      #
#     GIVEN-                                                           #
#         LINE$ = LINE OF INFORMATION IN RESPONSE TO QUERY             #
#     DOES- ASKS INTERACTIVE USER IF HELP IS NEEDED AND IF NEEDED IS   #
#           GIVEN VIA HELPER.                                          #
          BEGIN 
  
*CALL A 
  
*CALL LINE$ 
  
          XREF
              BEGIN 
              PROC  S$GTRES;           # GETS A LINE FROM I/U          #
              PROC  S$HELP;            # GIVES USER HELP               #
              PROC  S$QUIT;            # QUITS SORT/MERGE              #
              PROC  S$PUTLN;           # PUT LINE OUT TO USER          #
              END 
          ITEM  ERRCOUNT     I=0 ;     # NO. OF BAD RESP. CAUSING HELP #
  
CONTROL DISJOINT; 
  
CONTROL INERT;
  
CONTROL EJECT;
  
          ERRCOUNT = ERRCOUNT + 1;
          IF ERRCOUNT GR 20  THEN 
              BEGIN 
              LINE$LINE = 
    " EXCESSIVE NUMBER OF IMPROPER RESPONSES.  SORT/MERGE IS QUITTING.";
              LINE$LENGTH = 65; 
              S$PUTLN(LINE$); 
              S$QUIT; 
              END 
  
  
          LINE$LINE = "DO YOU WANT HELP ";
          LINE$LENGTH = 17; 
          S$PUTLN(LINE$); 
  
# GET RESPONSE TO QUERY OF HELP WANTED OR NEEDED                       #
  
          S$GTRES(LINE$); 
          IF LINE$LINE EQ "NO" OR LINE$LINE EQ "N" THEN 
#***#         RETURN; 
          LINE$LINE = 
             "SINCE YOU DID NOT SAY ""NO"" YOU ARE GOING TO BE HELPED.";
          LINE$LENGTH = 56; 
          S$PUTLN(LINE$); 
          S$HELP; 
#***#     RETURN; 
          END # S$AHELP # 
          TERM
