*COMDECK KEYLITM
#----------------------------------------------------------------------#
#                                                                      #
#     K E Y L I T M                                                    #
#                                                                      #
# THIS PROC COMPUTES THE KEY-LIT VALUE AND GETS THE RECORD.            #
#----------------------------------------------------------------------#
      PROC KEYLITM (RC);
      BEGIN 
      ITEM RC;
      FILEPASS = FALSE; 
      P<KEY> = P<AREA$TABLE> + AT$CURRKEY[0]; 
      BASTABIND = B<0,18>KEYLIT;
      BASCPTR = B<42,18>KEYLIT; 
      P<BASICTABLE> = BASCPTR;
      P<CONVPARAM> = BASCADDR[BASTABIND]; 
      LOCNTO[0] = P<KEY>; 
      TOLOCN[0] = 0;
      CTOCHAR[0] = 0; 
      IF KT$TYPE[1] NQ 7           # IF NOT LOGICAL                    #
      THEN
        BEGIN 
        LOCNTO[0] = LOC(ATTRIB) - 1;
        ATTRCLS[0] = KT$TYPE[1];
        ATTRWP[0] = P<KEY>; 
        ATTRBP[0] = 0;
        ATTRSIZE[0] = KT$LENGTH[1]; 
        ATTDPTLC[0] = KT$DPTLOC[1];  # CHAR POSITION OF DECIMAL POINT  #
        END 
      CONVERT(CONVPARAM, RC);                                            CTL30
      IF RC NQ 0                                                         CTL30
      THEN                                                               CTL30
        BEGIN                                                            CTL30
        DIAG(805);                                                       CTL30
        END                                                              CTL30
                                                                         CTL30
      IF BASCODE[BASTABIND] NQ INSTCODE THEN
        BEGIN 
        GETIO;                                                           CTL30
        IF DIAGNO NQ 0 THEN RC = 1; 
        ELSE
          BEGIN 
          IF FILEDKI               # IF FILE HAS DUP PRIMARY KEYS      #
          THEN
            BEGIN 
            FOR DUMMY = 0 STEP 1
              UNTIL LKEYWD - 1
            DO
              BEGIN 
              DKIKEYWD[DUMMY] = IKEY[DUMMY];  # SAVE VALUE OF PRIM KEY #
              END 
            GETDKI = TRUE;         # TELL GETIO TO GET DUPS            #
            END 
          END 
        END 
      RETURN; 
      END 
