ALTERNATE RECORD KEY 文節は、索引付きファイルの代替レコード・キー であるレコード内のデータ項目を指定します。これらの代替レコード・キーを 使用すれば、ILE COBOL プログラムは、ファイル・レコードのさまざまな論理配列 を使用して、ファイルにアクセスできます。
>>-+-------------------------------------------------------------------------+->< '-ALTERNATE RECORD--+-----+--+----+--データ名-3--+----------------------+-' '-KEY-' '-IS-' '-+------+--DUPLICATES-' '-with-'
データ名-3 は、ALTERNATE RECORD KEY データ項目です。 これはファイルと関連するレコード記述記入項目内の固定長英数字項目と して記述しなければなりません。 またこれは、変数オカレンス・データ項目の入ったグループ項目を参照してはなりません。 データ名-3 は修飾できますが、添え字を付けてはなりません。
代替レコード・キーの長さには制限があり、バイト数でのキー長 は 2000 を超えてはなりません。 索引付きファイルに可変長レコードが入っていると、データ名-3 はそのレコ ードの最初の「x」位置に入らなければなりません。ここで、「x」はそ のファイル用に指定された最小レコード・サイズです。
EXTERNAL ファイルについては、実行単位内にあってしかも EXTERNAL ファイル と関連しているすべてのファイル記述記入項目には、次のものを指定しなければなりません。
+----------------------------------IBM 拡張----------------------------------+
ファイルが DATABASE 装置タイプに割り当てられてい る場合は、ALTERNATE RECORD KEY データ項目 (データ名-3) は日時項目また は数字項目であっても構いません。 数字項目は、DISPLAY、COMP-1、COMP-2、COMP (COMP-3)、 COMP-4、PACKED-DECIMAL、または BINARY 形式の場合があります。数字項目は、外部浮動小数点データ項目にすることもできます。 ILE COBOL は、広範な日時データ項目形式をサポートしています。 これらの形式のうち、多くのものは DDS のサポート外です。 サポート外の場合、下層の DDS フィールドは文字フィールドまたは数字フィールドとして定義する必要があります。 ILE COBOL は日時項目を定義しているが下層 DDS フィールドは日時用ではない 場合は、レコード検索は下層 DDS のデータ・タイプによって判別される順序になります。
+------------------------------End of IBM 拡張-------------------------------+
+----------------------------------IBM 拡張----------------------------------+
キーは、ファイルの作成時に使われた照合順序で順序づけされます。 データ名-3 のデータ記述、レコード内のその相対位置、およびその長さは、ファ イルが DDS に定義されたときに使用したものと同じでなければなりません。 データ名-3 の 1 番左端の文字位置は、RECORD KEY またはその他の ALTERNATE RECORD KEY の 1 番左端の文字位置と同じであってはなりません。DUPLICATES 句が 指定されていない場合には、ALTERNATE RECORD KEY データ項目に含まれてい る値は、ファイルにあるレコードの中で固有のものでなければなりません。 代替 キー索引が一時的なものである場合、重複レコードの検索順序が、特定の順序 である保証はありません。代替キー索引が永続的なものである場合、DDS ファイル・ レベル・キーワード LIFO、FIFO、FCFO が、重複レコードの検索順序を指定 するために使用されます。 代替キー検索について詳しくは、「WebSphere Development Studio: ILE COBOL プログラマーの手引き」を参照してください。
+------------------------------End of IBM 拡張-------------------------------+