ILE COBOL 解説書

+----------------------------------IBM 拡張----------------------------------+

EXTERNALLY-DESCRIBED-KEY

予約語 EXTERNALLY-DESCRIBED-KEY は、このファイルのキーが DDS で外部記述されているものであることを指定できます。 キーは、このファイルの FD で、COPY ステートメント、DDS、DD、DDSR、または DDR 形式によりコピーされるレコード形式により決定されます。

キーは、各形式ごとに、バッファー内の異なるオフセットから開始できます。 この状況では、ランダム READ または START ステートメントを使って、あるレコード形式から別のレコード形式へ変更するときは注意しなければなりません。 キーは、ファイルのランダム・アクセスで使用される形式のレコード形式で正しいオフセットに置かねばなりません。 希望のレコードのキーが最後のレコード読み取りの一部であったデータに基づく場合、予期しない結果が起こることがあります。 これは、キー・フィールドへのデータの移動が、オーバーラップ・フィールドに影響を与えるためです。

ある形式内のキーは、複数の、不連続 (隣接しない) フィールドから作ることができます。 ファイルについて FD 内でコピーされるそれらのレコード形式のみが、FORMAT 句により参照されます。 ファイル内で定義されているある形式が参照されても、その形式がプログラムにコピーされていない場合、キーはコピーされた最初のレコード形式に定義されるキー・フィールドを用いて作られます。 これにより予期しない結果が起こる可能性があります。

キーの一部が論理ファイルの中で (独立した宣言項目ではなく) 連結項目のエレメントとしてのみ宣言されている場合には、CONCAT 操作の結果を可変長項目にしてはなりません。

予約語 EXTERNALLY-DESCRIBED-KEY を、ALTERNATE RECORD KEY 文 節で指定することはできません。

+------------------------------End of IBM 拡張-------------------------------+


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]