可変長ファイルと固定長ファイル

可変長ファイルは、長さの接頭部を使用する、つまり、そのファイルにあるレコードの長さを識別する接頭部を持つことができます。レコードごとに、レコードの長さを示すフィールドがあります。レコードに長さ情報を入れる場合、その長さ情報は各レコードの接頭部になり、2 バイトの長さ接頭部を含む 16 ビットの 2 進数でなければなりません。長さの情報が入っている接頭部の付いたファイルを識別するには、fileformat=recordというキーワードと値を使用します。

可変長ファイルは、長さ情報が入った接頭部の代わりに、レコードの終わりを示すセパレーターまたは区切り文字を使用することもできます。区切り文字までのすべてのバイト (区切り文字は含まない) がレコードの部分と見なされます。他のシステムとの互換性のための、line2afp コマンドのデフォルトのレコードセパレーターは、X'0A' です。

InfoPrint Managerは最初の6バイトを読み取り、すべてのASCII文字(コードポイントX'00'からX'7F')を確認し、ファイルにASCIIまたはEBCDICのエンコーディングを決定します。非 ASCII 文字が何も見つからなかった場合、行データ変換プログラムはそのファイルが ASCII の改行文字 X'0A' を使っていると見なします。それ以外の場合は、変換は、ファイルが EBCDIC 改行文字 X'25' を使用していると見なします。入力ファイルによって行データ変換が間違った方向へ導かれる可能性もあるため、変換プログラムでのファイルの処理方法を決定する一連の規則が確立されています。

データタイプ 改行文字
すべてEBCDIC EBCDIC X'25'
すべてEBCDIC ASCII X'0D0A'またはX'0A'(注を参照)
すべてASCII EBCDIC X'25'(注を参照)
すべてASCII ASCII X'0D0A' または X'0A'
注意: 以下の組み合わせは、実際には存在しないコードセットを示す文字列の接頭部がファイルの場合にだけ可能です。
  • ASCII改行を持つEBCDICデータの場合は、ファイルの最初の7バイトにX'0320202020200A'を使用します。
  • EBCDIC改行を持つASCIIデータの場合は、ファイルの最初の7バイトにX'03404040404025'を使用します。