Large logical records

z/TPFDF large logical records (LLRs) allow you to define and use logical records (LRECs) that have more data than can fit in a 4 KB z/TPFDF block. The z/TPFDF product supports two types of LLRs.

Type-1 LLRs support LRECs that fit in as many as three 4 KB blocks and type-2 LLRs support LRECs that require more than three blocks.

The maximum size for an LLR on your system is specified by the customizable #LLRMLR equate in the ACPDBE macro. For any particular file, you can override this value and use a higher or lower maximum LLR value by specifying the MAXLLR parameter on the DBDEF macro. The minimum size for both the MAXLLR parameter and the #LLRMLR equate is 4096.

Note:
  1. LLRs can only be variable-length LRECs; they cannot be fixed-length or extended LRECs.
  2. Packing should be inhibited if a file contains LLRs that are deleted or replaced during recoup processing.
An LLR is made up of the following three types of file blocks:
Main Large LREC (MLL)
The MLL is contained in the first block of an LLR and contains the following information:
  1. LLR header, which contains control information that is not available to the application program
  2. LLR data, which contains the following:
    1. Length of LLR data in this block
    2. Primary key
    3. The first part of the application data.
Large LREC Data Block (LLDB)
An LLR data block contains a z/TPF header and application data that cannot fit in the MLL. There can be as many as two LLDBs for a type-1 LLR and as many LLDBs as necessary for type-2 LLRs.
Large LREC Index Block (LLIB)
An LLR index block is used only for type-2 LLRs. This block contains a z/TPF header and file pointers to the LLDBs that contain the type-2 LLR data. z/TPFDF builds as many LLIBs as required to point to the LLDBs needed for the type-2 LLR.