The following describes differences between PC/IXF,
used by the database manager, and Version 0 System/370 IXF, used by several
host database products:
- PC/IXF files are ASCII, rather than EBCDIC oriented. PC/IXF files
have significantly expanded code page identification, including new
code page identifiers in the H record, and the use of actual code
page values in the column descriptor records. There is also a mechanism
for marking columns of character data as FOR BIT DATA. FOR BIT DATA
columns are of special significance, because transforms which convert
a PC/IXF file format to or from any other IXF or database file format
cannot perform any code page translation on the values contained in
FOR BIT DATA columns.
- Only the machine data form is permitted; that is, the IXFTFORM
field must always contain the value M. Furthermore,
the machine data must be in PC forms; that is, the IXFTMFRM field
must contain the value PC. This means that integers,
floating point numbers, and decimal numbers in data portions of PC/IXF
data records must be in PC forms.
- Application (A) records are permitted anywhere after the H record
in a PC/IXF file. They are not counted when the value of the IXFHHCNT
field is computed.
- Every PC/IXF record begins with a record length indicator. This
is a 6-byte character representation of an integer value containing
the length, in bytes, of the PC/IXF record not including the record
length indicator itself; that is, the total record length minus 6
bytes. The purpose of the record length field is to enable PC programs
to identify record boundaries.
- To facilitate the compact storage of variable-length data, and
to avoid complex processing when a field is split into multiple records,
PC/IXF does not support Version 0 IXF X records, but does support
D record identifiers. Whenever a variable-length field or a nullable
field is the last field in a data D record, it is not necessary to
write the entire maximum length of the field to the PC/IXF file.