V3R1 より前の DDM ファイルの使用
バージョン 3 リリース 1.0 より前の DDM ファイルを使用している場合には、READE または READPE 命令、SETLL についての EQ 標識、またはレコード・アドレス・ファイルによる限界内順次処理の際には、データ管理レベルでのキーの比較は行われません。 READE または READPE 命令、SETLL についての EQ 標識、あるいは限界内順次処理のときには、代わりに *HEX 照合順序を使用してキーの比較が行われます。
ファイルに与えられたキーと 2 つ以上の検索引数が一致してしまう DDS 機能を使うと、
予想と異なる結果になることがあります。例えば、ABSVAL を数字キーに使うと、ファイルの中で 1 の値を持つキーに対して、
-1 と 1 の両方の検索引数が一致してしまいます。16 進数の照合順序を使うと、-1 の
検索引数は 1 の値を持つ実際のキーには一致しません。 キー比較を異なるものにする DDS 機能の
いくつかは以下のとおりです。
- ファイルに指定された ALTSEQ
- キー・フィールドでの ABSVAL、ZONE、UNSIGNED、または DIGIT キーワード
- 可変長、日付、時刻、またはタイム・スタンプのキー・フィールド
- ファイルの SRTSEQ が *HEX でない
- ALWNULL(*USRCTL) が作成コマンドに指定され、レコードまたは検索引数のキーに null がある (これは外部記述ファイルにのみ適用され ます)
さらに、数値フィールドの符号がシステムの要求するものと異なる場合にも、 キー比較で異なる結果が生じます。
READE または READPE 命令、SETLL についての EQ
標識、あるいはレコード・アドレス・ファイルによる限界内順次処理の際に、V3R1 より前の DDM
ファイルでデータ管理レベルでのキーの比較が行われない時には、最初の時点で通知メッセージ
(RNI2002) が出されます。
注: レコードが見つからない可能性のある
入出力命令 (SETLL、CHAIN、SETGT、
READE、READPE) のパフォーマンスは、
バージョン 3 リリース 1.0 より前と同等のものより低下します。