*DECK S$ANSKS 
          PROC S$ANSKS(QUERY$,KEYNAME, KTSW); 
#**       S$ANSKS -  GET KEYTYPE NAME, SET KTSW INDEX                  #
#                                                                      #
#     CALLING SEQUENCE-                                                #
#         S$ANSKS(QUERY$, KEYNAME, KTSW):                              #
#                                                                      #
#     GIVEN-                                                           #
#         QUERY$ = QUERY AS TO THE NAME OF THE KEY TYPE                #
#         KEYNAME = NAME OF THE KEY TYPES.                             #
#                                                                      #
#     DOES-                                                            #
#         QUERY AS TO THE NAME OF THE KEY TYPE                         #
  
          BEGIN 
  
*CALL A 
  
*CALL LINE$ 
  
*CALL QUERY$
*CALL KT$ 
  
          XREF
              BEGIN 
              PROC  S$GTANS;
              PROC  S$PUTLN;
              END 
  
          ITEM  KEYNAME      C(12);    # NAME OF KEY TYPES             #
          ITEM  KTSW         I;        # INDEX TO SWITCH KTSW$         #
          ITEM  I            I; 
          ITEM  REASKQ       B;        # REASK QUESTION                #
  
CONTROL DISJOINT; 
  
CONTROL INERT;
  
CONTROL EJECT;
  
PUTLINE:  
  
          FOR I=1 STEP 1 UNTIL QUERY$NLINES  DO 
              BEGIN 
              LINE$LINE = QUERY$LINE[I];
              LINE$LENGTH = QUERY$LLINE[I]; 
              S$PUTLN(LINE$); 
              END 
  
          S$GTANS(LINE$,REASKQ);
  
          IF REASKQ  THEN 
              GOTO PUTLINE; 
  
          KEYNAME = LINE$LINE;
  
          IF KEYNAME EQ "BINARY"
            OR KEYNAME EQ "BINARY_BITS" THEN
              KTSW =  KT$T"LOGICAL";
          ELSE
          IF KEYNAME EQ "INTEGER" 
            OR KEYNAME EQ "INTEGER_BITS" THEN 
              KTSW = KT$T"INTEGER"; 
          ELSE
          IF KEYNAME EQ "NUMERIC_FS" THEN 
              KTSW = KT$T"NUMERICFS"; 
          ELSE
          IF KEYNAME EQ "NUMERIC_NS" THEN 
              KTSW = KT$T"NUMERICNS"; 
          ELSE
          IF KEYNAME EQ "NUMERIC_LO" THEN 
              KTSW = KT$T"NUMERICLO"; 
          ELSE
          IF KEYNAME EQ "NUMERIC_LS" THEN 
              KTSW = KT$T"NUMERICLS"; 
          ELSE
          IF KEYNAME EQ "NUMERIC_TO" THEN 
              KTSW = KT$T"NUMERICTO"; 
          ELSE
          IF KEYNAME EQ "NUMERIC_TS" THEN 
              KTSW = KT$T"NUMERICTS"; 
          ELSE
          IF KEYNAME EQ "REAL" THEN 
              KTSW = KT$T"FLOAT"; 
          ELSE
          IF KEYNAME NQ " " THEN
              KTSW = KT$T"DISPLAY"; 
          ELSE
              KTSW = 0; 
  
          END # S$ANSKS # 
          TERM
