ファイル制御記述 (FCD) とは、使用中のファイルに関する情報を含むデータ領域のことです。FCD には 2 つのバージョンがあり、どちらを使用するかは COBOL 開発環境を 32 ビットと 64 ビットのどちらのオペレーティング システムで実行しているかによって決まります。これを次の表に示します。
FCD2 フォーマットおよび FCD3 フォーマットは、どちらも 32 ビットのコンパイルで使用できます。プログラムをコンパイラ指令 NOFCD3 でコンパイルする場合を除き、コピーブック XFHFCD.CPY で、FCD3 レコードが定義されます。プログラムを NOFCD3 指令でコンパイルする場合は、XFHFCD.CPY で FCD2 レコードが定義されます。FCD3 レコードは xfhfcd3.cpy ファイルで直接および無条件に定義され、FCD2 レコードは xfhfcd2.cpy ファイルで直接および無条件に定義されます。
ファイル ハンドラーを使用するには、プログラムで FCD をセットアップし、該当するフィールド (オペレーション コードによってフィールドが異なります) への入力とファイル ハンドラーの呼び出しを行います。FCD で未使用の領域や予約済みの領域は、バイナリのゼロに設定する必要があります。FCD の該当フィールドに入力すると、ファイル ハンドラーがプログラムに情報を返します。
ファイルのオープン呼び出しに使用した FCD は、それ以降そのファイルにアクセスする際にも使用する必要があります。1 つのファイルに対して複数のオープン操作を実行できますが、オープン操作ごとに別の FCD を使用する必要があります。
FCD には、レコード領域、ファイル名領域、およびキー定義ブロックへのポインター (USAGE POINTER データ項目) を含めます。