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.
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.
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. |