*DECK TAREATB 
      PROC TAREATB; 
      BEGIN 
      CONTROL STEXT;
  
      DEF AT$FITOFFSET #32#;       # LOC(AT$AFITPOS)-P<AREA$TABLE>     #
  
      BASED ARRAY  AREA$TABLE;
  
        BEGIN 
        ITEM  AT$FORWARD    U(00,42,18);    # FORWARD POINTER TO THE   #
                                            # NEXT ENTRY IN THE STRING.#
                                            # IF ZERO THIS IS THE LAST #
                                            # ENTRY IN THE STRING.     #
  
        ITEM  AT$MIPID      U(00,06,18);    # GROUP-ID FOR MIP  TEMP   #
  
        ITEM  AT$MIPPTR     U(00,24,18);    # POINTER TO THE TEMP CORE #
  
        ITEM  AT$AREAORD    U(01,00,12);    # AREA ORDINAL IF CDCS,    #
                                            # ELSE ZERO                #
  
        ITEM  AT$BACKWARD   U(01,42,18);    # BACKWARD POINTER TO THE  #
                                            # LAST ENTRY OF THE STRING.#
                                            # IF ZERO THIS IS THE      #
                                            # FIRST ENTRY IN THE LIST. #
  
        ITEM  AT$GROUPID    U(02,00,60);    # THIS IS THE GROUP-ID OF  #
                                            # THIS SET AS ASSIGNED BY  #
                                            # CMM                      #
  
        ITEM  AT$INDFDB     U(03,06,09);    # RELATIVE POINTER TO THE  #
                                            # INDEX FDB IF PRESENT     #
  
        ITEM  AT$LOGFDB     U(03,15,09);    # RELATIVE POINTER TO THE  #
                                            # LOG FILE FDB IF PRESENT  #
  
        ITEM  AT$DBPROC     U(03,24,09);    # RELATIVE POINTER TO THE  #
                                            # DATA BASE PROCEDURES IF  #
                                            # THEY ARE PRESENT         #
  
        ITEM  AT$COLSEQ     U(03,33,09);    # RELATIVE POINTER TO THE  #
                                            # COLLATING SEQUENCE       #
  
        ITEM  AT$SBSCNAME   U(03,42,09);    # REL PTR TO SUBSCHEMA NAME#
  
        ITEM  AT$NEXTFREE   U(03,51,09);    # RELATIVE POINTER TO      #
                                            # LWA + 1 OF TABLE         #
  
        ITEM  AT$SCNAME     U(04,15,09);    # REL PTR TO SCHEMA NAME   #
  
        ITEM  AT$RLMLSTENT  I(04,24,18);    # RELATIVE ADDRESS OF      #
                                            # REALM ENTRY WITHIN REALM #
                                            # RELATION LIST            #
  
        ITEM  AT$RLMLSTADR  I(04,42,18);    # WA OF REALM/RELATION LIST#
  
  
        ITEM  AT$HASHLOC    U(05,06,18);    # ABSOLUTE POINTER TO THE  #
                                            # HASH TABLE               #
  
        ITEM  AT$BGSTRNG    U(05,24,18);    # ABSOLUTE POINTER TO THE  #
                                            # STRING OF BACK GROUND    #
                                            # IMAGES                   #
  
        ITEM  AT$RECWA      U(05,42,18);    # WORD ADDR OF FIRST RECORD#
                                            # ENTRY IN THE AREA        #
  
        ITEM AT$AKEYPPTR    U(06,06,18);    # ABS POINTER TO LIST OF   #
                                            # STARTING POSITIONS AND   #
                                            # LENGTHS OF ALL SYMBOLIC  #
                                            # ALTERNATE KEYS           #
  
        ITEM  AT$AREAWA     U(06,24,18);    # WORD ADDRESS OF AREA     #
                                            # INFORMATION IN SUBSCHEMA #
  
        ITEM  AT$FITLOG     I(06,42,18);    # ADDR OF AREA FIT FOR LOG #
  
        ITEM  AT$VERILOC    I(07,06,18);    # ADDRESS OF VERIFY TABLE  #
  
        ITEM  AT$VERLEN     I(07,24,18);    # LENGTH OF VERIFY DISPLAY #
  
        ITEM  AT$VERGRPID   I(07,42,18);    # CMM GROUP ID             #
  
        ITEM  AT$VERWORD    I(07,00,60);    # WORD OF VERIFY INFORMATIO#
  
  
        ITEM  AT$KEYEXCL    B(08,01,01);    # KEY EXCLUDED FROM RECORD #
  
        ITEM  AT$CURRKEY    U(08,06,09);    # RELATIVE POINTER TO THE  #
                                            # CURRENT KEY AREA         #
  
        ITEM  AT$MRL         U(08,24,18);   # MAXIMUM RECORD LENGTH OF #
                                            # ALL RECORD DESCRIPTIONS  #
  
        ITEM  AT$PKEYDPTR   I(08,42,18);    # ABS PTR TO PRIMARY KEY   #
                                            # DESCRIPTION TABLE        #
  
        ITEM  AT$BGIMAGE    U(09,42,18);    # CM ADDR OF BACKGROUND IMA#
  
        ITEM  AT$BOOLFLAGS  U(10,00,60);    # BOOLEAN FLAGS            #
        ITEM  AT$TEMPA      B(10,00,01);    # TEMPORARY AREA FLAG      #
        ITEM  AT$LOGB       B(10,01,01);    # LOG BEFORE FLAG          #
        ITEM  AT$LOGA       B(10,02,01);    # LOG AFTER  FLAG          #
        ITEM  AT$LOGT       B(10,03,01);    # LOG TRANS  FLAG          #
        ITEM  AT$SORTSEQ    B(10,04,01);    # SORTED SEQ FILE          #
        ITEM  AT$DBPSRH     B(10,05,01);    # FLAG FOR EXISTENCE OF AN #
                                            # ON"SEARCH" DBP. IF TRUE, #
                                            # DBP-S WILL PERFORM ALL   #
                                            # I/O FOR THIS AREA.       #
  
        ITEM  AT$DBPUPD     B(10,06,01);    # FLAG FOR EXISTENCE OF AN #
                                            # ON"UPDATE" DBP. IF THIS  #
                                            # FLAG IS FALSE AND        #
                                            # AT$DBPSRH IS TRUE, NO    #
                                            # UPDATES CAN BE PERFORMED #
                                            # ON THE AREA SINCE THE    #
                                            # NECESSARY DBP DOES NOT   #
                                            # EXIST.                   #
  
        ITEM  AT$DUPFIRST   B(10,07,01);    # *DUPLICATES ARE FIRST*   #
  
        ITEM  AT$DBPCLOSE   B(10,08,01);    # TRUE WHILE ON CLOSE DBP  #
                                            # IS EXECUTING             #
  
        ITEM  AT$SSQDESC    B(10,09,01);    # SSQ DESCENDING FLAG      #
  
        ITEM  AT$DBPOC      B(10,10,01);    # TRUE IF ON"OPEN" DBP     #
                                            # CALLED. FALSE IF         #
                                            # ON"CLOSE" DBP CALLED.    #
  
        ITEM  AT$INPUTKEY   B(10,11,01);    # TRUE IF PRIVACY KEY FOR  #
                                            # INPUT HAS BEEN SPECIFIED #
  
        ITEM  AT$OUTPUTKEY  B(10,13,01);    # TRUE IF PRIVACY KEY FOR  #
                                            # OUTPUT HAS BEEN SPECIFIED#
  
        ITEM  AT$ACCESS     I(11,42,18);    # PTR TO AREA ACCESS KEY(S)#
  
        ITEM  AT$PATHFLAGS  U(12,00,60);    # BIT PATH FLAGS           #
  
        ITEM  AT$AFDBLENG   U(13,00,06);    # LENGTH IN CHARACTERS OF  #
                                            # AREA FDB NAME            #
  
        ITEM  AT$AFDBPOS    U(14,00,60);    # AREA FDB POSITION 18 WORD#
  
        ITEM  AT$AFDB$NAME  C(14,00,40);    # AREA FDB NAME IF AREA TBL#
                                            # IF SUBSCHEMA TABLE,      #
                                            # SUBSCHEMA LIBRARY NAME IF#
                                            # SPECIFIED, ELSE SUBSCHEMA#
                                            # NAME                     #
  
        ITEM  AT$AFITPOS    U(32,00,60);    # FWA OF AREA FIT  35 WORDS#
        ITEM  AT$FITES      U(45,33,09);    # ERROR STATUS             #
        ITEM  AT$FITFO      U(43,39,03);    # FILE ORGANIZATION        #
        END 
  
  
  
      BASED ARRAY KEY$TBL [1:1] S(3);  # KEY AND RECORD DESCRIPTION TBL#
                                       # 1 IS MINIMUM INDEX            #
  
        BEGIN 
  
        ITEM KT$ITEMORD    U(00,00,15);  #ITEM ORDINAL IF CDCS, ELSE 0 #
  
        ITEM KT$TYPE       U(00,15,06);  #KEY TYPE  0 = ALPHANUMERIC   #
                                         #          1 = NUMERIC        #
                                         #          2 = INTEGER        #
                                         #          3 = COMP-1         #
                                         #          4 = COMP-2,FLOATING#
                                         #          5 = DOUBLE         #
                                         #          6 = COMPLEX        #
  
        ITEM KT$LENGTH     U(00,21,09);  #KEY LENGTH IN CHARACTERS     #
  
        ITEM KT$CPOS       U(00,30,06);  #CHARACTER POSITION OF KEY IN #
                                         #WORD POINTED TO BY KT$WPOS   #
  
        ITEM KT$DPTLOC     I(00,36,06);  #CHAR POS OF POINT RELATIVE   #
                                         #TO THE END OF THE FIELD      #
                                         #>0 = POINT TO LEFT           #
                                         #<0 = POINT TO RIGHT          #
  
        ITEM KT$WPOS       I(00,42,18);  #WORD POSITION OF KEY IN RECRD#
  
        ITEM KT$PICLEN     U(01,00,09);  #KEY PICTURE LENGTH           #
                                         #INCLUDING INSERTS IN CHARS   #
  
        ITEM KT$ACTKEYLNG  U(01,09,09);  #KEY LENGTH AS CRM SEES IT FOR#
                                         #ACTUAL KEY FILES             #
  
        ITEM KT$ACTKEYPOS  U(01,18,06);  #CHARACTER POSITION OF KEY AS #
                                         #CRM SEES IT IN THE WORD      #
                                         #POINTED TO BY KT$WPOS FOR    #
                                         #ACTUAL KEY FILES             #
  
        ITEM KT$SBRCDORD   U(01,27,15);  #SUBSCHEMA RECORD ORDINAL,    #
                                         #NUMBERED 1 TO N FOR ENTIRE   #
                                         #SUBSCHEMA IN CONTRAST TO     #
                                         #*RECDORD* USED TO INDEX INTO #
                                         #KEYTBL WHICH IS NUMBERED 1   #
                                         #TO M FOR EACH AREA.          #
  
        ITEM KT$RECNAM     I(01,42,18);  #WORD ADDRESS OF RECORD       #
                                         #DESCRIPTION IN SUBSCHEMA     #
  
        ITEM KT$OVERPUN    B(02,00,01);  #TRUE IF SIGN OVERPUNCH       #
  
        ITEM KT$SCLEN      U(02,33,09);  #SCHEMA KEY LENGTH IN CHARS   #
  
        ITEM KT$RECLENC    U(02,42,18);  #RECORD LENGTH IN CHARACTERS  #
        END 
  
  
  
  
  
      BASED ARRAY ALTKEYPOS;
  
        BEGIN 
  
        ITEM AK$RECDORD    U(00,00,12);  #RECORD ORDINAL OF ALTERNATE  #
                                         #KEY IF CDCS, ELSE ZERO       #
  
        ITEM AK$ITEMORD    U(00,12,15);  #ITEM ORDINAL OF ALTERNATE KEY#
                                         #IF CDCS, ELSE ZERO           #
  
        ITEM AK$BWP        I(00,27,18);  #WORD POSITION OF ALTRNATE KEY#
  
        ITEM AK$BCP        U(00,45,06);  #CHARACTER POSITION OF KEY IN #
                                         #WORD POINTED TO BY AK$BWP    #
  
        ITEM AK$SIZE       U(00,51,09);  #KEY LENGTH IN CHARACTERS     #
  
        ITEM AK$FULLWORD   I(00,00,60);  #AK$FULLWORD[9] = POINTER TO  #
                                         #NEXT BLOCK                   #
        END 
  
  
      BASED ARRAY CATABLE;               # VALUES NEEDED TO KEY        #
                                         # CATALOG FOR PRIVACY         #
        BEGIN 
        ITEM CAT$NAM       C(00,00,30);  # CATALOG NAME                #
        ITEM CAT$NAML      C(00,00,07);  # CATALOG LOCAL FILE NAME     #
        ITEM CAT$INPKEY    B(03,00,01);  # TRUE IF CATALOG ALREADY     #
                                         # KEYED ON INPUT              #
        ITEM CAT$OUTPKEY   B(03,01,01);  # TRUE IF CATALOG ALREADY     #
                                         # KEYED ON OUTPUT             #
        ITEM CAT$LENG      U(03,55,05);  # LENGTH IN CHARS OF CAT$NAM  #
        ITEM CAT$KEYIN     C(04,00,30);  # CATALOG ACCESS KEY ON INPUT #
        ITEM CAT$KEYOUT    C(07,00,30);  # CATALOG ACCESS KEY ON OUTPUT#
        END 
  
      END 
      TERM
