FABGEXPF data set (Flat File)
The FABGEXPF data set contains flat records that are generated by the Export Utility. This data set is referred to as a flat file.
This data set is required when TYPE=EXPORT is specified on the PROC statement in the HISTIN data set.
This data set is a sequential data set. The record is a variable length and the maximum length is 32,752 bytes.
There are two kinds of flat records:
- Predefined flat records
- User-defined flat records
Each of the records is described in the following subsections. Restrictions and considerations are also described in the subsections.
Predefined flat records
If DUMMY is specified for the FABGRECI DD statement, or if the FABGRECI DD statement is not specified for the Export Utility FABGXEXP JCL, the flat records are generated in the predefined formats. These records are referred to as a predefined flat record.
The formats summarized in the following table are prepared by the Export Utility.
Member name | Record type | Record ID | Contents |
---|---|---|---|
FABPR001 | DB | A1 | DBD information |
FABPR002 | DSG | A2 | Data set group information -1 |
FABPR003 | DSG | A3 | Data set group information -2 |
FABPR004 | SEGMENT | A4 | Segment information -1 |
FABPR005 | SEGMENT | A5 | Segment information -2 |
FABPR006 | RAP | A6 | RAP information |
FABPR007 | POINTER | A7 | Pointer information |
To create the predefined flat record, specify the name to the MEMBER= on the PROC statement of the HISTIN data set. For an example of the HISTIN data set, see Example 5: Creating predefined flat records.
The contents of the predefined members are stored in a sample library. They are described in the same syntax rules as the flat file record definitions. The syntax rule is described in FABGRECI data set.
The predefined formats cannot be changed. If you want to change the format, see User-defined flat records.
User-defined flat records
When the FABGRECI data set is specified in the Export Utility FABGXEXP JCL, the flat records are generated in the user-defined formats. This record is referred to as a user-defined flat record.
For how to define the format, see FABGRECI data set.
Restrictions
The following restrictions are common to the predefined flat record and the user-defined flat record.
The following items are not supported by the Export Utility.
- Database
- A primary index of HIDAM or PHIDAM database
- A secondary index database
- A partitioned secondary index (PSINDEX) of HALDB
- An indirect list data set (ILDS) of HALDB
- Segment Type
- A virtual logical child segment
- Pointer Type
- Symbolic pointer
- Index pointer
- HISAM direct-address pointer
- Counter field
Note: The supported pointer types are follows:- Hierarchical Forward pointer (HF)
- Hierarchical Backward pointer (HB)
- Physical Twin Forward pointer (PTF)
- Physical Twin Backward pointer (PTB)
- Physical Parent pointer (PP)
- Logical Twin Forward pointer (LTF)
- Logical Twin Backward pointer (LTB)
- Logical Parent pointer (LP)
- Logical Child First pointer (LCF)
- Logical Child Last pointer (LCL)
- Physical Child First pointer (PCF)
- Physical Child Last pointer (PCL)
- Pointer to a data part of Variable Length Split segment (VLS)
- RBA pointer to logical parent in an extended pointer set of HALDB (ELP)
- RBA pointer to paired logical child for bidirectional logical relationships of HALDB (ELC)
Considerations
The following considerations are common to the predefined flat record and the user-defined flat record.
The sequence of flat records stored in the flat file has the following rules:
- The flat records will be sorted in the order of the database names in EBCDIC order. If there are multiple records of the same database name, the records will be in ascending order of the date.
- Within the same date, flat records will be in the order that they were specified for MEMBER= in the HISTIN control statement.
- If multiple flat records are generated from the same MEMBER, the
order of the records will differ as follows according to the record
type.
- If TYPE=PART, in EBCDIC order of partition name
- If TYPE=DSG, in ascending order of data set group
- If TYPE=SEGMENT, in ascending order of segment code
- If TYPE=POINTER, in the order that the pointers are within the segment prefix
- By using the OPTION IMSID parameter of the HISTIN control statement, you can create flat records of a specific IMSID. Note that, however, flat records cannot be sorted in the order of IMSID. They will be in the order they were stored in the History record entries, that is the order HD Pointer Checker created the entries.
Example 1: Case of a Non-HALDB
The following figure shows an example of the specification, for a non-HALDB, to generate a flat file.
//HISTIN DD *
PROC TYPE=EXPORT,
MEMBER=(MEMDB,,MEMDSG,MEMSEG,MEMPTR),DBORG=HDAM
OPTION FROM=01012021,TO=12312021
DATABASE DB=HDAMDBA
DATABASE DB=HDAMDBB
/*
FABGRECI contains the following members:
MEMDB: RECORD TYPE=DB
MEMDSG: RECORD TYPE=DSG
MEMSEG: RECORD TYPE=SEGMENT
MEMPTR: RECORD TYPE=POINTER
With this specification, flat records will be generated in the following order in a flat file:
HDAMDBA,01/01/2021 flat record generated from MEMDB
HDAMDBA,01/01/2021 DSG A flat record generated from MEMDSG
HDAMDBA,01/01/2021 DSG B flat record generated from MEMDSG
HDAMDBA,01/01/2021 Segment Code=01 segment flat record generated from MEMSEG
HDAMDBA,01/01/2021 Segment Code=02 segment flat record generated from MEMSEG
HDAMDBA,01/01/2021 Segment Code=03 segment flat record generated from MEMSEG
HDAMDBA,01/01/2021 PTF pointer flat record generated from MEMPTR
HDAMDBA,01/01/2021 PTB pointer flat record generated from MEMPTR
HDAMDBA,01/01/2021 PCF pointer flat record generated from MEMSEG
HDAMDBA,01/01/2021 PCL pointer flat record generated from MEMSEG
HDAMDBA,01/02/2021 flat record generated from MEMDB
:
:
HDAMDBB,01/01/2021 flat record generated from MEMDB
:
HDAMDBB,01/02/2021 flat record generated from MEMDB
:
Example 2: Case of a HALDB
The following figure shows an example of the specification, for a HALDB, to generate a flat file.
For HALDB, the records of DSG, SEGMENT, and POINTER types will be sorted by the partition ID, and sorted by each order.
//HISTIN DD *
PROC TYPE=EXPORT,
MEMBER=(MEMDB,MEMPART,MEMDSG,MEMSEG,MEMPTR),DBORG=PHDAM
OPTION FROM=01012021,TO=12312021
DATABASE DB=PHDAMA
DATABASE DB=PHDAMB
/*
FABGRECI contains the following members:
MEMDB: RECORD TYPE=DB
MEMPART: RECORD TYPE=PART
MEMDSG: RECORD TYPE=DSG
MEMSEG: RECORD TYPE=SEGMENT
MEMPTR: RECORD TYPE=POINTER
With this specification, flat records will be generated in the following order in a flat file:
PHDAMDBA,01/01/2021 flat record generated from MEMDB
PHDAMDBA,01/01/2021 partition id A flat record generated from MEMPART
PHDAMDBA,01/01/2021 partition id B flat record generated from MEMPART
PHDAMDBA,01/01/2021 partition id A DSG A flat record generated from MEMDSG
PHDAMDBA,01/01/2021 partition id A DSG B flat record generated from MEMDSG
PHDAMDBA,01/01/2021 partition id B DSG A flat record generated from MEMDSG
PHDAMDBA,01/01/2021 partition id B DSG B flat record generated from MEMDSG
PHDAMDBA,01/01/2021 partition id A Segment Code=01 segment flat record generated from MEMSEG
PHDAMDBA,01/01/2021 partition id A Segment Code=02 segment flat record generated from MEMSEG
PHDAMDBA,01/01/2021 partition id A Segment Code=03 segment flat record generated from MEMSEG
PHDAMDBA,01/01/2021 partition id B Segment Code=01 segment flat record generated from MEMSEG
PHDAMDBA,01/01/2021 partition id B Segment Code=02 segment flat record generated from MEMSEG
PHDAMDBA,01/01/2021 partition id B Segment Code=03 segment flat record generated from MEMSEG
PHDAMDBA,01/01/2021 partition id A PTF pointer flat record generated from MEMPTR
PHDAMDBA,01/01/2021 partition id A PTB pointer flat record generated from MEMPTR
PHDAMDBA,01/01/2021 partition id A PCF pointer flat record generated from MEMSEG
PHDAMDBA,01/01/2021 partition id A PCL pointer flat record generated from MEMSEG
PHDAMDBA,01/01/2021 partition id B PTF pointer flat record generated from MEMPTR
PHDAMDBA,01/01/2021 partition id B PTB pointer flat record generated from MEMPTR
PHDAMDBA,01/01/2021 partition id B PCF pointer flat record generated from MEMSEG
PHDAMDBA,01/01/2021 partition id B PCL pointer flat record generated from MEMSEG
PHDAMDBA,01/02/2021 flat record generated from MEMDB
:
:
PHDAMDBB,01/01/2021 flat record generated from MEMDB
:
PHDAMDBB,01/02/2021 flat record generated from MEMDB
: