ALTERNATE RECORD KEY

ALTERNATE RECORD KEY 文節は、索引付きファイルの代替レコード・キー であるレコード内のデータ項目を指定します。これらの代替レコード・キーを 使用すれば、ILE COBOL プログラムは、ファイル・レコードのさまざまな論理配列 を使用して、ファイルにアクセスできます。

構文図を読む構文図をスキップする
>>-+-------------------------------------------------------------------------+-><
   '-ALTERNATE RECORD--+-----+--+----+--データ名-3--+----------------------+-'   
                       '-KEY-'  '-IS-'              '-+------+--DUPLICATES-'     
                                                      '-with-'                   

データ名-3

データ名-3 は、ALTERNATE RECORD KEY データ項目です。 これはファイルと関連するレコード記述記入項目内の固定長英数字項目と して記述しなければなりません。 またこれは、変数オカレンス・データ項目の入ったグループ項目を参照してはなりません。 データ名-3 は修飾できますが、添え字を付けてはなりません。

代替レコード・キーの長さには制限があり、バイト数でのキー長 は 2000 を超えてはなりません。 索引付きファイルに可変長レコードが入っていると、データ名-3 はそのレコ ードの最初の「x」位置に入らなければなりません。ここで、「x」はそ のファイル用に指定された最小レコード・サイズです。

EXTERNAL ファイルについては、実行単位内にあってしかも EXTERNAL ファイル と関連しているすべてのファイル記述記入項目には、次のものを指定しなければなりません。
  • データ名-3 用の同じデータ記述記入項目
  • 関連レコード内の同じ相対位置
  • 代替レコード・キーの同じ番号
  • 同じ DUPLICATES 句
IBM Extension

IBM Extension ファイルが DATABASE 装置タイプに割り当てられてい る場合は、ALTERNATE RECORD KEY データ項目 (データ名-3) は日時項目また は数字項目であっても構いません。 数字項目は、DISPLAY、COMP-1、COMP-2、COMP (COMP-3)、 COMP-4、COMP-5、PACKED-DECIMAL、または BINARY 形式の場合があります。数字項目は、外部浮動小数点データ項目にすることもできます。 ILE COBOL は、広範な日時データ項目形式をサポートしています。 これらの形式のうち、多くのものは DDS のサポート外です。 サポート外の場合、下層の DDS フィールドは文字フィールドまたは数字フィールドとして定義する必要があります。 ILE COBOL は日時項目を定義しているが下層 DDS フィールドは日時用ではない 場合は、レコード検索は下層 DDS のデータ・タイプによって判別される順序になります。 End of IBM Extension

End of IBM Extension
IBM Extension

IBM Extension キーは、ファイルの作成時に使われた照合順序で順序づけされます。 データ名-3 のデータ記述、レコード内のその相対位置、およびその長さは、ファ イルが DDS に定義されたときに使用したものと同じでなければなりません。 データ名-3 の 1 番左端の文字位置は、RECORD KEY またはその他の ALTERNATE RECORD KEY の 1 番左端の文字位置と同じであってはなりません。DUPLICATES 句が 指定されていない場合には、ALTERNATE RECORD KEY データ項目に含まれてい る値は、ファイルにあるレコードの中で固有のものでなければなりません。 代替 キー索引が一時的なものである場合、重複レコードの検索順序が、特定の順序 である保証はありません。代替キー索引が永続的なものである場合、DDS ファイル・ レベル・キーワード LIFO、FIFO、FCFO が、重複レコードの検索順序を指定 するために使用されます。 代替キー索引について詳しくは、 「IBM® Rational® Development Studio for i: ILE COBOL プログラマーの手引き」を参照してください。 End of IBM Extension

End of IBM Extension