*DECK S$HELP
          PROC S$HELP;
#**       S$HELP - ALLOWS USER TO REQUEST SPECIFIEC HELP WITH QUESTION #
#                                                                      #
#      CALLING SEQUENCE -                                              #
#         S$HELP:                                                      #
#                                                                      #
#      DOES -                                                          #
#         GIVES USER GENERAL HELP BY ALLOWING THE USER TO              #
#         REQUEST SPECIFIC HELP ABOUT THE LAST QUESTION HE[SHE]        #
#         WAS ASKED                                                    #
#         S$HLP IS SET WITHIN THE DIFFERENT S$GTI__ ROUTINES AND       #
#         IS USED TO DETERMINE WHERE IN THE DIALOG "HELP" WAS TYPED.   #
#         DEPENDING ON WHAT INTEGER S$HLP IS, SPECIFIC INFORMATION     #
#         IS PRINTED TO THE USER.                                      #
#                                                                      #
  
          BEGIN 
  
          ITEM FIRSTHLP   B=TRUE; # TRUE IFF FIRST CALL                #
  
  
*CALL A 
  
*CALL QUERY$
  
  
          XDEF
              ITEM  S$HLP  I;    # DETERMINES WHAT IS PRINTED OUT      #
  
          XREF
              PROC S$PTQUE;        # PRINT THE QUERY LINES OUT TO USER #
  
CONTROL DISJOINT; 
  
CONTROL INERT;
  
CONTROL EJECT;
  
          IF FIRSTHLP  THEN 
              BEGIN 
              QUERY$LINE[1] = 
              "'Y' IS THE SAME AS 'YES' AND 'N' IS THE SAME AS 'NO'.";
              QUERY$LLINE[1] = 53;
              QUERY$LINE[2] = 
              "TYPE 'RESTART' TO GO BACK TO THE BEGINNING.";
              QUERY$LLINE[2] = 43;
              QUERY$LINE[3] = 
              "TYPE 'QUIT' TO STOP RUN."; 
              QUERY$LLINE[3] = 24;
              QUERY$NLINES = 3; 
              S$PTQUE(QUERY$);
              FIRSTHLP = FALSE; 
              END 
  
#                                                                      #
#           TEST "S$HLP" AND PRINT THE APPROPRIATE MESSAGE             #
  
#               FOR "S$HLP" BETWEEN 100 AND 149 - FROM S$GTIKD         #
#                                                                      #
  
          IF S$HLP EQ 100  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "UNLESS YOU SPECIFIED OTHERWISE, ALL INPU"; 
              C<40,39>QUERY$LINE[1] = 
                  "T FILES AND THE OUTPUT FILE ARE ASSUMED";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "TO HAVE STANDARD UNIT RECORD FORMAT SUCH"; 
              C<40,39>QUERY$LINE[2] = 
                  " AS LINES TYPED FROM A TERMINAL, LINES ";
              QUERY$LLINE[2] = 79;
              C<0,40>QUERY$LINE[3] =
                  "IN A BATCH JOB, OR LINES TO BE PRINTED O"; 
              C<40,39>QUERY$LINE[3] = 
                  "N A TERMINAL.  THESE ARE TECHNICALLY   ";
              QUERY$LLINE[3] = 79;
              C<0,40>QUERY$LINE[4] =
                  "KNOWN AS BT=C, RT=Z, FL=N WITH N NO MORE"; 
              C<40,39>QUERY$LINE[4] = 
                  " THAN 150.                             ";
              QUERY$LLINE[4] = 79;
              QUERY$NLINES = 4; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
  
          IF S$HLP EQ 105  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "IF YOU HAVE ANY FURTHER QUESTIONS ABOUT "; 
              C<40,39>QUERY$LINE[1] = 
                  "RECORD FORMATS, PLEASE CONSULT A       ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "RECORD MANAGER MANUAL.                  "; 
              C<40,39>QUERY$LINE[2] = 
                  "                                       ";
              QUERY$LLINE[2] = 79;
              QUERY$NLINES = 2; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
  
#                                                                      #
#               FOR "S$HLP" BETWEEN 150 AND 174 - FROM S$GTCOL         #
#                                                                      #
  
          IF S$HLP EQ 150  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "WHEN ASKED TO TYPE IN YOUR COLLATING SEQ"; 
              C<40,39>QUERY$LINE[1] = 
                  "UENCE PLEASE TYPE IN AS   C,C,C,C,C  OR";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "        C,C,C,                          "; 
              C<40,39>QUERY$LINE[2] = 
                  "                                       ";
              QUERY$LLINE[2] = 79;
              C<0,40>QUERY$LINE[3] =
                  "        C,C                             "; 
              C<40,39>QUERY$LINE[3] = 
                  "                                       ";
              QUERY$LLINE[3] = 79;
              C<0,40>QUERY$LINE[4] =
                  " (TYPED ON TWO LINES)                   "; 
              C<40,39>QUERY$LINE[4] = 
                  "                                       ";
              QUERY$LLINE[4] = 79;
              C<0,40>QUERY$LINE[5] =
                  "WHERE C IS A CHARACTER OR THE OCTAL VALU"; 
              C<40,39>QUERY$LINE[5] = 
                  "E OF THE CHARACTER (AS DEFINED BY THE  ";
              QUERY$LLINE[5] = 79;
              C<0,40>QUERY$LINE[6] =
                  "DISPLAY CHARACTER SET).  C CAN BE A LETT"; 
              C<40,39>QUERY$LINE[6] = 
                  "ER, A ONE-DIGIT NUMBER OR A SPECIAL    ";
              QUERY$LLINE[6] = 79;
              C<0,40>QUERY$LINE[7] =
                  "CHARACTER SUCH AS + - * ) ( .  SORT/MERG"; 
              C<40,39>QUERY$LINE[7] = 
                  "E ASSUMES A TWO-DIGIT NUMBER IS AN     ";
              QUERY$LLINE[7] = 79;
              C<0,40>QUERY$LINE[8] =
                  "OCTAL VALUE OF A CHARACTER (AS DEFINED B"; 
              C<40,39>QUERY$LINE[8] = 
                  "Y THE DISPLAY CHARACTER SET).  THE     ";
              QUERY$LLINE[8] = 79;
              C<0,40>QUERY$LINE[9] =
                  "NUMBER SHOULD NOT BE FOLLOWED BY A LETTE"; 
              C<40,39>QUERY$LINE[9] = 
                  "R ""B"".  THE COMMA MUST BE SPECIFIED BY ";
              QUERY$LLINE[9] = 79;
              C<0,40>QUERY$LINE[10] = 
                  "ITS OCTAL EQUIVENT, 56, NOT BY "","".  FOR"; 
              C<40,39>QUERY$LINE[10] =
                  " EXAMPLE: USE ""E,56,+"" NOT ""E,,,+""     ";
              QUERY$LLINE[10] = 79; 
              QUERY$NLINES = 10;
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
  
#                                                                      #
#               FOR "S$HLP" BETWEEN 175 AND 199 - FROM S$GTEQU         #
#                                                                      #
  
          IF S$HLP EQ 175  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "WHEN ASKED TO TYPE IN YOUR EQUATE SEQUEN"; 
              C<40,39>QUERY$LINE[1] = 
                  "CE(S) PLEASE ENTER USING THE FORM      ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "          C,C,C,C,C                     "; 
              C<40,39>QUERY$LINE[2] = 
                  "                                       ";
              QUERY$LLINE[2] = 79;
              C<0,40>QUERY$LINE[3] =
                  "WHERE C IS A CHARACTER OR ITS OCTAL VALU"; 
              C<40,39>QUERY$LINE[3] = 
                  "E AS E3PLAINED BEFORE.                 ";
              QUERY$NLINES = 3; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
  
#                                                                      #
#               FOR "S$HLP" BETWEEN 200 AND 249 - FROM S$GTIIN         #
#                                                                      #
  
          IF S$HLP EQ 200  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "USER-SUPPLIED PROCEDURES, REFERED TO AS "; 
              C<40,39>QUERY$LINE[1] = 
                  "OWNCODE ROUTINES, MAY BE EXECUTED AT   ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "CERTAIN POINTS WITHIN SORT/MERGE. THEY A"; 
              C<40,39>QUERY$LINE[2] = 
                  "RE USED FOR SPECIAL PROCESSING OF INPUT";
              QUERY$LLINE[2] = 79;
              C<0,40>QUERY$LINE[3] =
                  "RECORDS, INPUT FILES, OUTPUT RECORDS, OU"; 
              C<40,39>QUERY$LINE[3] = 
                  "TPUT FILES AND RECORDS WITH EQUAL KEYS.";
              QUERY$LLINE[3] = 79;
              C<0,40>QUERY$LINE[4] =
                  "THERE ARE 5 TYPES OF OWNCODE ROUTINES: O"; 
              C<40,39>QUERY$LINE[4] = 
                  "WN1, OWN2, OWN3, OWN4 AND OWN5.  THESE ";
              QUERY$LLINE[4] = 79;
              C<0,40>QUERY$LINE[5] =
                  "ROUTINES ARE COMPLETELY OPTIONAL AND NEE"; 
              C<40,39>QUERY$LINE[5] = 
                  "D NOT BE USED.  FOR FURTHER INFORMATION";
              QUERY$LLINE[5] = 79;
              C<0,40>QUERY$LINE[6] =
                  "CONSULT A SORT/MERGE MANUAL.            "; 
              C<40,39>QUERY$LINE[6] = 
                  "                                       ";
              QUERY$LLINE[6] = 79;
              QUERY$NLINES = 6; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
          IF S$HLP EQ 201  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "THE OWN1 ROUTINE CAN BE USED TO PROCESS "; 
              C<40,39>QUERY$LINE[1] = 
                  "INPUT RECORDS.  A DETAILED DESCRIPTION ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "OF THIS OWNCODE ROUTINE IS IN THE SORT/M"; 
              C<40,39>QUERY$LINE[2] = 
                  "ERGE REFERENCE MANUAL.                 ";
              QUERY$LLINE[2] = 79;
              QUERY$NLINES = 2; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
          IF S$HLP EQ 202  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "THE OWN2 ROUTINE CAN BE USED TO PROCESS "; 
              C<40,39>QUERY$LINE[1] = 
                  "INPUT FILES.  A DETAILED DESCRIPTION   ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "OF THIS OWNCODE ROUTINE IS IN THE SORT/M"; 
              C<40,39>QUERY$LINE[2] = 
                  "ERGE REFERENCE MANUAL.                 ";
              QUERY$LLINE[2] = 79;
              QUERY$NLINES = 2; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
          IF S$HLP EQ 203  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "THE OWN3 ROUTINE CAN BE USED TO PROCESS "; 
              C<40,39>QUERY$LINE[1] = 
                  "OUTPUT RECORDS.  A DETAILED DESCRIPTION";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "OF THIS OWNCODE ROUTINE IS IN THE SORT/M"; 
              C<40,39>QUERY$LINE[2] = 
                  "ERGE REFERENCE MANUAL.                 ";
              QUERY$LLINE[2] = 79;
              QUERY$NLINES = 2; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
          IF S$HLP EQ 204  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "THE OWN4 ROUTINE CAN BE USED TO PROCESS "; 
              C<40,39>QUERY$LINE[1] = 
                  "OUTPUT FILES.  A DETAILED DESCRIPTION  ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "OF THIS OWNCODE ROUTINE IS IN THE SORT/M"; 
              C<40,39>QUERY$LINE[2] = 
                  "ERGE REFERENCE MANUAL.                 ";
              QUERY$LLINE[2] = 79;
              QUERY$NLINES = 2; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
          IF S$HLP EQ 205  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "THE OWN5 ROUTINE CAN BE USED TO PROCESS "; 
              C<40,39>QUERY$LINE[1] = 
                  "RECORDS WITH EQUAL KEYS.  A DETAILED   ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "DESCRIPTION OF THIS ROUTINE IS IN       "; 
              C<40,39>QUERY$LINE[2] = 
                  "THE SORT/MERGE REFERENCE MANUAL.       ";
              QUERY$LLINE[2] = 79;
              QUERY$NLINES = 2; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
          IF S$HLP EQ 210  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "FOR SORT TO ACCESS YOUR OWNCODE ROUTINE("; 
              C<40,39>QUERY$LINE[1] = 
                  "S) THEY MUST BE IN A LOCAL FILE.  IF   ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "THEY ARE NOT THEN TYPE ""QUIT"" AND MAKE T"; 
              C<40,39>QUERY$LINE[2] = 
                  "HEM LOCAL.  IF YOU DON'T HAVE ANY      ";
              QUERY$LLINE[2] = 79;
              C<0,40>QUERY$LINE[3] =
                  "OWNCODE ROUTINES THEN TYPE ""RESTART"".   "; 
              C<40,39>QUERY$LINE[3] = 
                  "                                       ";
              QUERY$LLINE[3] = 79;
              QUERY$NLINES = 3; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
          IF S$HLP EQ 220  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "YOU MAY USE ANY NUMBER OF INPUT FILES DU"; 
              C<40,39>QUERY$LINE[1] = 
                  "RING SORT(MERGE), OR YOU MAY HAVE      ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "NO INPUT FILE AND USE OWNCODE ROUTINES. "; 
              C<40,39>QUERY$LINE[2] = 
                  "                                       ";
              QUERY$LLINE[2] = 79;
              QUERY$NLINES = 2; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
          IF S$HLP EQ 225  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "THE NAME OF YOUR INPUT FILE IS THE NAME "; 
              C<40,39>QUERY$LINE[1] = 
                  "OF THE LOCAL FILE THAT CONTAINS THE    ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "INPUT DATA YOU WANT TO BE SORTED OR MERG"; 
              C<40,39>QUERY$LINE[2] = 
                  "ED.                                    ";
              QUERY$LLINE[2] = 79;
              QUERY$NLINES = 2; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
  
#                                                                      #
#               FOR "S$HLP" BETWEEN 250 AND 299 - FROM S$GTIOU         #
#                                                                      #
  
          IF S$HLP EQ 250  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "YOUR SORTED OR MERGED DATA CAN GO TO A L"; 
              C<40,39>QUERY$LINE[1] = 
                  "OCAL (OUTPUT) FILE OF YOUR CHOICE.     ";
              QUERY$LLINE[1] = 79;
              QUERY$NLINES = 1; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
  
#                                                                      #
#               FOR "S$HLP" BETWEEN 300 AND 399 - FROM S$GTIKY         #
#                                                                      #
  
          IF S$HLP EQ 300  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "IF ANY ADDITIONAL INFORMATION IS NEEDED "; 
              C<40,39>QUERY$LINE[1] = 
                  "THAN WHAT FOLLOWS, THEN                ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "CONSULT A SORT5/MERGE MANUAL.           "; 
              C<40,39>QUERY$LINE[2] = 
                  "                                       ";
              QUERY$LLINE[2] = 79;
              QUERY$NLINES = 2; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
          IF S$HLP EQ 305  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "THERE ARE OTHER PREDEFINED COLLATING SEQ"; 
              C<40,39>QUERY$LINE[1] = 
                  "UENCES THAT CAN BE USED AS KEY TYPES.  ";
              QUERY$LLINE[1] = 79;
              QUERY$NLINES = 1; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
          IF S$HLP EQ 310  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "THIS INTERACTIVE DIALOG ALLOWS YOU TO MA"; 
              C<40,39>QUERY$LINE[1] = 
                  "NUALLY DEFINE YOUR OWN COLLATING       ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "SEQUENCES TO BE USED INSTEAD OF ONE THAT"; 
              C<40,39>QUERY$LINE[2] = 
                  " IS PREDEFINED.                        ";
              QUERY$LLINE[2] = 79;
              QUERY$NLINES = 2; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
          IF S$HLP EQ 315  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "YOUR RECORDS CONTAIN FIELDS (PORTIONS) O"; 
              C<40,39>QUERY$LINE[1] = 
                  "F DATA.  THESE FIELDS CAN CONTAIN DATA ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "THAT IS TO BE TREATED AS CHARACTER OR AS"; 
              C<40,39>QUERY$LINE[2] = 
                  " NUMERIC INFORMATION.  THERE ARE       ";
              QUERY$LLINE[2] = 79;
              C<0,40>QUERY$LINE[3] =
                  "SEVERAL SPECIAL WAYS TO HANDLE BOTH KIND"; 
              C<40,39>QUERY$LINE[3] = 
                  "S OF DATA.  WHICH PREDEFINED KEY TYPES ";
              QUERY$LLINE[3] = 79;
              C<0,40>QUERY$LINE[4] =
                  "YOU CAN USE FOR A PARTICULAR FIELD DEPEN"; 
              C<40,39>QUERY$LINE[4] = 
                  "D ON THE KIND OF DATA IN THE FIELD.    ";
              QUERY$LLINE[4] = 79;
              QUERY$NLINES = 4; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
          IF S$HLP EQ 320  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "YOU CAN DEFINE AND USE AS MANY COLLATING"; 
              C<40,39>QUERY$LINE[1] = 
                  " SEQUENCES AS YOU WANT.  THIS          ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "INTERACTIVE DIALOG WILL ASK YOU TO TYPE "; 
              C<40,39>QUERY$LINE[2] = 
                  "NOT ONLY THE NAME YOU WANT TO          ";
              QUERY$LLINE[2] = 79;
              C<0,40>QUERY$LINE[3] =
                  "REFERENCE EACH BY, BUT ALSO WILL ASK YOU"; 
              C<40,39>QUERY$LINE[3] = 
                  " TO MANUALLY TYPE IN THE COLLATING SEQ.";
              QUERY$LLINE[3] = 79;
              QUERY$NLINES = 3; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
          IF S$HLP EQ 325  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "FOR EXAMPLE:  WITHIN THE SAME COLLATING "; 
              C<40,39>QUERY$LINE[1] = 
                  "SEQUENCE, YOU CAN EQUATE A,F, AND Z    ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "TO HAVE THE SAME ORDER FOR COMPARISION; "; 
              C<40,39>QUERY$LINE[2] = 
                  " AND B AND Q TO HAVE THE SAME ORDER,ETC";
              QUERY$LLINE[2] = 79;
              QUERY$NLINES = 2; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
          IF S$HLP EQ 330  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "FOR EXAMPLE:  IF YOU EQUATED A,F,AND Z, "; 
              C<40,39>QUERY$LINE[1] = 
                  "AND EQUATED B AND Q THEN               ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "YOU WOULD HAVE TWO EQUATE SEQUENCES.    "; 
              C<40,39>QUERY$LINE[2] = 
                  "                                       ";
              QUERY$LLINE[2] = 79;
              QUERY$NLINES = 2; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
          IF S$HLP EQ 335  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "EACH EQUATE SEQUENCE THAT YOU DEFINE IS "; 
              C<40,39>QUERY$LINE[1] = 
                  "AN ATTRIBUTE OF ONE OF YOUR COLLATING  ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "SEQUENCES YOU TYPED IN ABOVE.           "; 
              C<40,39>QUERY$LINE[2] = 
                  "                                       ";
              QUERY$LLINE[2] = 79;
              QUERY$NLINES = 2; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
          IF S$HLP EQ 340  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "VALID KEY TYPE NAMES ARE ANY STANDARD CH"; 
              C<40,39>QUERY$LINE[1] = 
                  "ARACTER OR NUMERIC COLLATING SEQUENCE  ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "NAME (SUCH AS DISPLAY OR NUMERIC_LS); OR"; 
              C<40,39>QUERY$LINE[2] = 
                  " ANY USER-DEFINED COLLATING SEQUENCE   ";
              QUERY$LLINE[2] = 79;
              C<0,40>QUERY$LINE[3] =
                  "NAME YOU MANUALLY TYPED IN ABOVE.       "; 
              C<40,39>QUERY$LINE[3] = 
                  "                                       ";
              QUERY$LLINE[3] = 79;
              QUERY$NLINES = 3; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
          IF S$HLP EQ 350  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "EACH RECORD OF INPUT DATA MUST BE SORTED"; 
              C<40,39>QUERY$LINE[1] = 
                  " BY COMPARING PARTICULAR FIELD(S).     ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "EACH FIELD MUST HAVE A KEY TYPE (COLLATI"; 
              C<40,39>QUERY$LINE[2] = 
                  "NG SEQUENCE NAME), A STARTING (LEFT-   ";
              QUERY$LLINE[2] = 79;
              C<0,40>QUERY$LINE[3] =
                  "MOST) POSTION WITHIN THE RECORD, AND AN "; 
              C<40,39>QUERY$LINE[3] = 
                  "ENDING (RIGHT-MOST) POSITION.          ";
              QUERY$LLINE[3] = 79;
              QUERY$NLINES = 3; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
          IF S$HLP EQ 360  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "ASCENDING ORDER IMPLIES THAT THE FIELD W"; 
              C<40,39>QUERY$LINE[1] = 
                  "ILL BE SORTED IN THE NORMAL ORDER -    ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "FROM THE BEGINNING OF THE COLLATING SEQU"; 
              C<40,39>QUERY$LINE[2] = 
                  "ENCE HAVING THE HIGHEST PRIORITY TO THE";
              QUERY$LLINE[2] = 79;
              C<0,40>QUERY$LINE[3] =
                  "END HAVING THE LOWEST PRIORITY.  IF YOU "; 
              C<40,39>QUERY$LINE[3] = 
                  "NOT CHOOSE ASCENDING ORDER, YOU'LL     ";
              QUERY$LLINE[3] = 79;
              C<0,40>QUERY$LINE[4] =
                  "GET DESCENDING ORDER, WHICH IS THE EXACT"; 
              C<40,39>QUERY$LINE[4] = 
                  " REVERSE.                              ";
              QUERY$LLINE[4] = 79;
              QUERY$NLINES = 4; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
          IF S$HLP EQ 365  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "IF YOU CHOOSE TO RETAIN THE ORDER OF THE"; 
              C<40,39>QUERY$LINE[1] = 
                  " RECORDS THAT HAVE EQUIVALENT KEY FIELD";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "VALUES, SORT DOES MORE INTERNAL BOOKWORK"; 
              C<40,39>QUERY$LINE[2] = 
                  " WHICH TAKES MORE TIME AND MEMORY.  BUT";
              QUERY$LLINE[2] = 79;
              C<0,40>QUERY$LINE[3] =
                  "IF YOU DO NOT CHOOSE TO RETAIN THE ORIGI"; 
              C<40,39>QUERY$LINE[3] = 
                  "NAL ORDER, SORT CAN NOT PROMISE THAT   ";
              QUERY$LLINE[3] = 79;
              C<0,40>QUERY$LINE[4] =
                  "THE OUTPUT ORDER OF RECORDS WITH EQUIVAL"; 
              C<40,39>QUERY$LINE[4] = 
                  "ENT KEY FIELDS WILL BE THE SAME AS THE ";
              QUERY$LLINE[4] = 79;
              C<0,40>QUERY$LINE[5] =
                  "ORDER IN WHICH THEY WERE READ.         ";
              C<40,39>QUERY$LINE[5] = 
                  "                                       ";
              QUERY$LLINE[5] = 79;
              QUERY$NLINES = 5; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
  
#                                                                      #
#               FOR "S$HLP" BETWEEN 400 AND 499 - FROM S$GTISM         #
#                                                                      #
  
#                                                                      #
#               FOR "S$HLP" BETWEEN 500 AND 549 - FROM S$GTIMI         #
#                                                                      #
  
#                                                                      #
#               FOR "S$HLP" BETWEEN 550 AND 599 - FROM S$GTINR         #
#                                                                      #
          IF S$HLP EQ 550  THEN 
              BEGIN 
              C<0,40>QUERY$LINE[1] =
                  "YOUR ESTIMATE IS JUST A GUESS, UNLESS YO"; 
              C<40,39>QUERY$LINE[1] = 
                  "U KNOW, OF HOW MANY INPUT RECORDS YOU  ";
              QUERY$LLINE[1] = 79;
              C<0,40>QUERY$LINE[2] =
                  "WILL BE GIVING SORT/MERGE.              "; 
              C<40,39>QUERY$LINE[2] = 
                  "                                       ";
              QUERY$LLINE[2] = 79;
              QUERY$NLINES = 2; 
              S$PTQUE(QUERY$);
#***#         RETURN; 
              END 
  
#***#     RETURN; 
  
  
          END # OF S$HELP # 
          TERM
