Block header

Do not change the instructions that define the block header unless you want to put extra information in the extended header in each prime block (see Optimizing the database design). You can do this after the standard z/TPFDF header field.

Figure 1 shows a block header for a DSECT that uses fixed-length or variable-length LRECs and that uses 4-byte file addresses (DBDEF macro HDR parameter specifies 4BYTEFA).
Figure 1. Instructions in a DSECT macro to define the file header with 4-byte file addresses
***********************************************************************
*        STANDARD TPFDF HEADER                                        *
***********************************************************************
SAM3HDR&CG1 DS  CL16         STANDARD FILE HEADER
            DS  CL10         STANDARD TPFDF HEADER
SAM3VAR&CG1 EQU *            START OF VARIABLE USER-AREA
SAM3HDL&CG1 EQU SAM3VAR&CG1-SAM3HDR&CG1  HEADER-LENGTH UP TO SAM3VAR
For z/TPFDF files using 8-byte file addresses (DBDEF macro HDR parameter specifies 8BYTEFA), the block header for the DSECT is shown by Figure 2.
Figure 2. Instructions in a DSECT Macro to define the file header with 8-byte file addresses
***********************************************************************
*        STANDARD TPFDF HEADER                                        *
***********************************************************************
SAM3HDR&CG1 DS  CL32         STANDARD FILE HEADER
            DS  CL16         STANDARD TPFDF HEADER
SAM3VAR&CG1 EQU *            START OF VARIABLE USER-AREA
SAM3HDL&CG1 EQU SAM3VAR&CG1-SAM3HDR&CG1  HEADER-LENGTH UP TO SAM3VAR

For files that are being migrated to FARF6, see the FARF6 support for z/TPFDF.