KEY 句が指定されている場合には、比較に使用されるキー・データ項目はデータ名です。
KEY 句が指定されていない場合、ファイル位置標識は、RECORD KEY データ項目に入っている値と等しいキーを持つレコードに設定されます。
START ステートメントが正常に実行された場合には、データ名-1 の関連付 けられている RECORD KEY または ALTERNATE RECORD KEY が、後続の READ ステートメント の参照キーになります。
KEY 句が指定されている場合、比較に使用される検索引数はデータ名-1 であり、次のいずれかにすることができます。
このデータ項目は、修飾または参照変更できます。キーそのものを使用しない場合は、 左端の文字位置に参照変更開始位置を加算した位置が、キー・フィールドの左端の文字位置に対応していなければなりません。
ファイル位置標識は、ファイル内で比較を満たすレコード・キーを持つ、ある形式の最初のレコードに設定されます。 比較するオペランドの長さが同じでない場合には、 長い方のフィールドの右側が短いフィールドの長さに合わせて切り捨てられたかのように比較が実行されます。 PROGRAM COLLATING SEQUENCE 文節が指定されても無効になる点を除き、 他の数字比較および非数字比較のすべての規則が適用されます。
+----------------------------------IBM 拡張----------------------------------+
RECORD KEY IS EXTERNALLY-DESCRIBED-KEY を指定したファイルの場合は、次のような追加の考慮事項が適用されます。
FORMAT 句の指定 | KEY 句 | ||
---|---|---|---|
一連のデータ名 | 省略 | EXTERNALLY-DESCRIBED-KEY | |
可 | A、B | C、D | C、B |
不可 | A、E | F、G | F、E |
+------------------------------End of IBM 拡張-------------------------------+
KEY 句が指定されていない場合には、EQUAL TO 比較に使用されるキー・データ項目は基本 RECORD KEY です。
ファイル位置標識は、比較を満たすキー・フィールドを持つ、ファイル内の最初のレコードに設定されます。 比較するオペランドの長さが同じでない場合には、 長い方のフィールドの右側が短いフィールドの長さに合わせて切り捨てられたかのように比較が実行されます。 PROGRAM COLLATING SEQUENCE 文節が指定されても無効になる点を除き、 他の数字比較および非数字比較のすべての規則が適用されます。
START ステートメントが正常に実行された場合には、 データ名-1 の関連付けられている RECORD KEY が、後続の READ ステートメントの参照キーになります。
START ステートメントの実行が失敗すると、参照キーが未定義になります。
+----------------------------------IBM 拡張----------------------------------+
装置タイプ DATABASE の索引付きファイルの場合、
比較の意味は、ファイル用に定義されたレコード域内のキー・フィールドのタイプの影響を受けることがあります。
このシステムでのキー・フィールドは、複数フィールドとして定義することができ、それぞれのフィールドは昇順または降順にすることができます。
システムは、レコード・キーに入っている値と DDS
内で指定された形式と順序に基づいて、 レコードについての順序
(キー順アクセス・パス) を確立します。 START
ステートメントが処理される際には、要求は次のように解釈されます。
COBOL 比較 | システムの結果 |
---|---|
GREATER THAN | AFTER |
NOT LESS THAN | EQUAL TO または AFTER |
たとえば、GREATER THAN という比較を用いてステートメントが処理される場合は、START ステートメントによって指定された検索引数の後の最初のレコードを見つけるために、 順序付けられたレコードの検索が行われます。 ファイルが降順キーで順序付けられた場合、ファイル位置標識は、指定されたキーより小さく、 かつ、START ステートメントに指定されたキーよりも大きくないキーを持つレコードを指します。
+------------------------------End of IBM 拡張-------------------------------+