gtpp1m0jProgram Development Support Reference

DRIL Record Layout

When you create a DRIL record, the DS statement following the record name determines the record size according to the number in column 19. The statement will have this format:

MACRO
WAOAA        record name (must be 5 bytes)
DS        OCLx

where x (column 19) is one of the following.

 1 
indicates a 381-byte record

 2 
indicates a 1055-byte record

 3 
indicates a 1000-byte record

 4 
indicates a 4095-byte record.

Columns 59 through 72 play an important role in defining records for the data record information library (DRIL). Table 1 defines the meaning of these columns.

Table 1. Column Layout of a DRIL Record

Column Types & Bytes Description
59 CL1
  • The maximum number of consecutive file addresses that exist starting at the displacement expressed in column 60.
  • If this column is blank, a zero is assumed.

60 CL1
  • The displacement of the first file address.
  • Use the letters A-Z to represent the decimal numbers 1-26.
  • If this column is blank, a zero is assumed.

61 CL1
  • The maximum number of consecutive file addresses that exist starting at the displacement expressed in column 62.
  • If this column is blank, a zero is assumed.

62 CL1
  • The displacement of the first file address.
  • Use the letters A-Z to represent the decimal numbers 1-26.
  • If this column is blank, a zero is assumed.

63 CL1
  • The control type, represented by one of the following.

    Character
    Meaning

     
    Normal field

     1 
    Subfield

     2 
    Slot field
  • A normal field is a field that can only be addressed by using its label.
  • A subfield is a field contained within a larger field.
  • A slot field is a field that contains subfields. Therefore, the entire field can be addressed by using the label of the slot field or only part of the field can be addressed by using one of the subfield labels.

64-65 CL2
  • The repetition interval or slot length, that is, the interval at which this item repeats itself.
  • If 08 is in columns 64-65, then this field is repeated every 8 bytes.

66-68 CL3
  • The maximum number of slots for each physical record. This is related to the repetition interval. The number in this column designates how many times this field can be repeated.

69 CL1
  • The field type, represented by one of the following.

    Character
    Meaning

     
    No special checking

     a 
    Alphabetic field

     n 
    Spare field

     c 
    Numeric field

     h 
    Pointer H field

     i 
    Pointer I field

     j 
    Pointer J field

     k 
    Pointer K field

     l 
    Pointer L field

     m 
    Pointer M field
  • The character in this column identifies the field type and causes a check to be made to ensure that only the specified type is used in this field. For example, a C in this column indicates that only numeric characters should be used in this field.

70 CL1
  • This field must be blank.

71 CL1
  • The field address indicator, denoting where the referenced file address is located.

    Character
    Meaning

     
    Not in a file address field.

     1 
    In a normal file address field.

     2 
    In a slot or subfield file.

Example of a DRIL Record

The following code is an example of a DRIL record used in the TPF 4.1 system. This representative macro illustrates how columns 59-72 are used. A particular line is referenced by the number in parenthesis to the left of that line. A scale was placed in the code to assist in viewing the card columns.

             MACRO                         VERSION=21
             BL0RP
             DS    0CL2    1055 BYTE REC
(1) BL0BID   DS    H       RECORD ID = BL                               A
    BL0RST   DS    H       # OF RESTARTS
    BL0SQC   DS    F       SEQUENCE # OF THIS BLOCK
    BL0CTN   DS    H       # OF ITEMS IN THIS BLOCK
    *                      (BYTE COUNT)
    BL0AGP   DS    H        ACTIVE GROUP FOR RESTART
    BL0ORD   DS    F        LOWEST COMPLETED ORDINAL NUMBER
    *                       FOR RESTART
    BL0RIO   DS    X        ACTIVE DESCRIPTOR ORDINAL NUMBER
    *                       FOR RESTART
    BL0SPA   DS    CL7      SPARE
    BL0SSN   DS    CL4      SYMBOLIC SUBSYSTEM NAME
    BL0SSU   DS    CL4      SYMBOLIC SUBSYSTEM USER NAME
             DS    0F
    |...+....1....+....2....+....3....+....4....+....5....+....6....+....7..
(2) BL0ITM   DS    0CL20                                      1D1L220052  2
    *                        SEEK ITEM
(3) BL0SID   DS    H           SEEK ID                            120052A
(4) BL0SRC   DS    H           SEEK RCC                           120052
(5) BL0SFA   DS    F           SEEK ADDRESS                   1   120052  2
    *                        REFERENCE-FROM ITEM
(6) BL0RID   DS    H           REFERENCE-FROM ID                  120052A
(7) BL0RCC   DS    H           REFERENCE-FROM RCC                 120052
(8) BL0RFA   DS    F           REFERENCE-FROM ADDRESS         1   120052  2
    *                        MISCELLANEOUS
(9) BL0TYP   DS    X           REF-FROM IS FIXED/POOL             120052
(10)BL0ERR   DS    X           ERROR INDICATORS                   120052
(11)BL0SPR   DS    XL2         SPARE                              120052N
             DS    50XL20      50 MORE ITEMS
    BL0LST   DS    XL3         END OF RECORD INDICATOR                  N
             ORG   BL0BID
    BL9ITM   DS    XL20
             ORG   BL9ITM
    BL9SID   DS    H
    BL9SRC   DS    H
    BL9SFA   DS    F
    BL9RID   DS    H
    BL9RCC   DS    H
    BL9RFA   DS    F
    BL9TYP   DS    X
    BL9ERR   DS    X
    BL9SPR   DS    XL2
             DS    50XL20
             MEND

Line (1)

The A in column 69 indicates that the field type is alphabetic. Though a character in this column is not necessary, it specifies that a check will occur to ensure that only alphabetic characters are used in this field. Therefore, if you were to code an E6 in the BL0BID field, an error would occur.

Line (2)

This line is examined column by column.

Number
Meaning

 59 
The 1 indicates that there is one file address located at the displacement given in column 60.

 60 
The D is the displacement of the file address. The file address is located four bytes from this field. (This is because D is the fourth letter of the alphabet.) Notice that BL0SID starts 0 bytes away from BL0ITM; BL0SRC starts 2 bytes away; and, BL0SFA starts 4 bytes away. Therefore, BL0SFA must contain an address.

 61 and 62 
These two columns function in the same way as columns 59 and 60. Columns 61 and 62 indicate that there is one file address with a displacement of 12. This is at label BL0RFA.

 63 
The 2 means that this is a slot field.

 64 and 65 
The 20 is the slot length or the number of bytes that this slot occupies.

 66-68 
The 052 signifies that this field can be repeated up to 52 times.

 69 
This field is blank; therefore, the field type will not be checked.

 70 
This field must be blank.

 71 
The 2 indicates that the referenced file addresses are within subfields.

Lines 3-11

Lines 3-11 each contain 120052 in columns 63-68. As previously detailed, the 20052 denotes that this field is repeated every 20 bytes for a maximum 52 times. The 1 means that this is a subfield (and is used, for example, in item type cards such as ENTIT). In line 3, the A in column 69 signifies that a check is performed to ensure that only alphabetic characters are used in this field. In line 5, the 1 in column 59 means that one file address is located at the displacement given in column 60. Since column 60 is blank, a default value of 0 is used. This means that the file address is located in this field. The 2 in column 71 means that this is a file address in a subfield.