*DECK TCLFN 
USETEXT TNUMOPT 
      PROC TCLFN; 
      BEGIN 
      CONTROL STEXT;
          DEF    MAXCATAL#50#; #MAX SIZE OF RECORDS IN CATALOG FILE#
      # THE ARRAY  LFNS CONTAINS THE FILE NAMES AND REPORT NAMES MOST 
        RECENTLY USED IN THE DIRECTIVES.  IT IS SET BY THE ROUTINE
        CHKLFN, USING THE VALUE OF CP1A AS A SUBSCRIPT: 
        DEC 1  OCT 1   REPORT NAME IN FORMAT DIRECTIVE
            2      2                  PREFACE 
            3      3                  SUMMARY 
            4      4                  PREVIEW 
            5      5                  ALTER 
           6      6     PREPARE AND COMPILE                              XXXX 
            7      7                  ERASE 
            8     10   FILE NAME FOLLOWING IN KEYWORD 
            9     11                       FROM 
           10     12                       UPON 
           11     13                       ON 
           12     14                       OF 
           13     15                       DESCRIBE DIRECTIVE 
           14     16                        SORT
           15     17  REPORT NAME FOLLOWING REPORT KEYWORD
           16-20  20-24   RESERVED FOR FUTURE EXPANSION 
      # 
          DEF    IFOR#1#;          # FORMAT INDEX # 
          DEF    IPRF#2#;          # PREFACE INDEX #
          DEF    ISUM#3#;          # SUMMARY INDEX #
          DEF    IPRV#4#;          # PREVIEW INDEX #
          DEF    IALT#5#;          # ALTER INDEX #
              DEF IPRE#6#;    #PREPARE AND COMPILE INDEX#                XXXX 
          DEF    IERA#7#;          # ERASE INDEX #
          DEF    IIN#8#;           # IN  INDEX #
          DEF    IFRO#9#;          # FROM INDEX # 
          DEF    IUPO#10#;         # UPON IND(X # 
          DEF    ION#11#;          # ON  INDEX #
                                   # CODE NUMBERS OF RM FUNCTIONS      #
          DEF CGET   #0#; 
          DEF CGETN  #1#; 
          DEF CPUT   #2#; 
          DEF DEL    #3#; 
          DEF STARTT  #4#;
          DEF OPEN   #5#; 
          DEF CLOSE  #6#; 
          DEF REW    #7#; 
          DEF SKIPB  #8#; 
          DEF    IOF#12#;          # OF  INDEX #
          DEF    IDES#13#;         # DESCRIBE INDEX # 
          DEF    ISOR#14#;         # SORT INDEX # 
          DEF    IREP#15#;         # REPORT INDEX # 
      COMMON CLFN;
        BEGIN 
          ARRAY LFNS[0:20] P(2);
                 ITEM ILFN   C(0,0,10), 
                      ILFNLG I(1,0,60);    # LFN LENGTH IN CHARACTERS  #
          ITEM LFNINDEX;  #SUBSCRIPT INTO CLFN.  CONTAINS THE CP1A VALUE
                          OF THE MOST RECENT KEYWORD PRECEDING A FILE 
                          NAME.   SET BY SAVCP1A.                      #
      # THE FOLLOWING ARRAYS AND ITEMS ARE USED TO PERFORM I/O WITH 
          THE CATALOG OF SESSIONS AND REPORTS.   #
          ARRAY CATAFIT [0] S(LFIT);  #FIT FOR CATALOG FILE            # CLFN 
        BEGIN                                                            CLFN 
        ITEM CATAFITES    U(13,33,09); #ERROR STATUS                   # CLFN 
        ITEM CATAFITKA    U(24,42,18); # ADDRESS OF KEY                #
        ITEM CATAFITKP    U(31,16,04); # KEY POSITION                  #
        ITEM CATAFITMKL   U(16,33,09); # MAJOR KEY LENGTH              #
        ITEM CATAFITMRL   U(12,00,24); #MAXIMUM RECORD LENGTH          #
        ITEM CATAFITRL    U(11,00,24); # RECORD LENGTH                 #
        ITEM CATAFITWSA   U(15,42,18); # WORKING STORAGE AREA          #
        END                                                              CLFN 
          ITEM PERMI B; #PERMISSION TO WRITE IN CATALOG#
          ITEM PFCATAL B;  #CATALOG IS PERMANENT FILE OR NOT# 
          ITEM HIGHKEY C(10);          #HIGHEST KEY ACCEPTABLE IN GETN.#
          ITEM LOWKEY C(10);           #LOWEST KEY ACCEPTABLE IN GET.  #
          ITEM MAJORKEYLEN;            #LENGTH IN CHARS OF KEY FOR GET.#
          ARRAY RPTFIT [0] S(LFIT);  #FIT FOR REPORT FILE              # CLFN 
        BEGIN                                                            CHANGES
        ITEM RPTFITES     U(13,33,09);  #ERROR STATUS                  # CHANGES
        END                                                              CHANGES
                                   END    #END OF COMMON CLFN#
      END 
      TERM
