Section 3 records

Section 3 has one record for every row of every table that was in the original persistent data store data set being exported. Each row starts with a fixed portion, followed by the actual data associated with the row. The length of the column map can be obtained from the table record (DD20). Each bit in the map represents one column. A 0 for the bit position indicates that the column data is not present, while a 1 indicates that data exists in this row for the column. Immediately following the column map field is an unaligned set of 2-byte-length fields. One of these length fields exists for every variable-length column in the table. This mapping information must be used to find the starting location for any given column in the data structure. The actual data starts immediately after the last length field.

Important: The content in this section was created for and applies to the original persistent data store, referred to as PDS V1. A new PDS version (referred to as PDS V2) now exists. PDS V1 will eventually be deprecated.

If you are dealing with overlay columns, use the column offset defined in the DD30 records to determine the starting location for this type of column. Do not worry about overlaid columns with extracted data. If you want to look at the actual content of an overlaid column, you can expand the data by reinserting any missing columns and expanding all variable length columns to the maximum length before doing the mapping.

The table that follows maps the fixed portion of the data.
Table 1. Section 3 record format, exported persistent data
Field Offset Length Type Description
RecID

0

4

Char

Record ID. Contains ROW1 for column record.

Table Ident

4

4

Binary

Identifier for the table this record belongs to.

Row Length

8

4

Binary

Total length of this row.

Data Offset

12

4

Binary

Offset to start of data.

Data Length

16

4

Binary

Length of data portion of row.

Column Map

20

Varies

Binary

Column available map plus variable length fields.