SEARCH ALL を使用して二分探索を行う場合、開始する前に指標を設定する必要はありません。 指標は常に、OCCURS 節内の最初の指標名と関連付けられるものです。この指標は、探索の効率を最大にするために、実行中に変わります。
SEARCH ALL ステートメントを使用してテーブルを探索するには、テーブルで OCCURS 節の ASCENDING または DESCENDING KEY 句 (あるいはその両方) を指定する必要があり、 また ASCENDING および DESCENDING KEY 句で指定されたキーに基づいて既に順序付けられている必要があります。
SEARCH ALL ステートメントの WHEN 句では、テーブルの ASCENDING または DESCENDING KEY 句で指定されているキーをテストできますが、前に現れている すべてのキー (ある場合) をテストする必要があります。 テストは等価条件でなければならず、WHEN 句ではキー (テーブルに関連した最初の指標名で添え字が付けられている) かまたはキーに関連した条件名を指定する必要があります。 WHEN 条件は、論理連結語として AND のみを使用した複数の単純条件から形成した複合条件であっても構いません。
それぞれのキーとその比較の対象はデータ項目の比較規則に従って、互換性がなければなりません。ただし、キーを国別リテラルまたは ID と比較する場合、キーは国別データ項目にする必要があることに注意してください。
関連タスク
テーブルの定義 (OCCURS)
関連参照
SEARCH ステートメント (Enterprise COBOL 言語解説書)
一般比較条件 (Enterprise COBOL 言語解説書)