5.5.1 SEARCH文
SEARCH文は,指定した条件を満足する表要素を探し,対応する指標の値がその表要素を指すようにします。
SEARCH文については,マニュアル「COBOL2002 言語 標準仕様編」 「10.8.41 SEARCH文」を参照してください。
WHEN指定がある場合の,SEARCH文の流れを次に示します。
- 流れ図
- 注※1
-
SEARCH文中に書かれたときだけ実行されます。
- 注※2
-
GO TO文のある無条件文の終了を必要としません。SEARCH文の終わりに制御が移ります。
SEARCH文の例を次に示します。
- (例)
-
多次元の表引き操作とSEARCH文
-
SEARCH文で参照する表が2次元以上の場合,各OCCURS句にINDEXED BYで,指標名を付けておく必要があります。
-
SEARCH文が変更するのは,一意名1用の指標名の値,および(VARYING指定があれば)指標名1または一意名2だけです。
-
2次元以上の表全体を表引きするには,各次元にSEARCH文を何度か実行しなければなりません。
01 TBL. 05 A OCCURS 10 ASCENDING K1 INDEXED BY IX. 10 K1 PIC X(2). 10 B OCCURS 5 DESCENDING K2 INDEXED BY JX. 20 K2 PIC 9(4). 20 C PIC X(20).
K1の値が 'AB 'で,K2の値が1950のときの表要素Cを求めるには,次のようにします。
SEARCH ALL A AT END GO TO OWARI WHEN K1(IX) = 'AB' NEXT SENTENCE. SEARCH ALL B AT END GO TO OWARI WHEN K2(IX,JX) = 1950 MOVE C(IX,JX) TO X GO TO OWARI.
-