コンテンツフレーム起動

標準テーブルでのバイナリ検索 文書を SAP ライブラリストラクチャに組み込む

デフォルトキー以外のキーを使用して標準テーブルからエントリを読み込む場合は、通常のライナー検索の代わりにバイナリ検索を使用することができます。バイナリ検索を使用するには、対応する READ 命令に BINARY SEARCH オプションを含めます。

READ TABLE <itab> WITH KEY <k1> = <f1>...<kn> = <fn> <result>
                                                       BINARY SEARCH.

標準テーブルは、指定した検索キーによって昇順でソートする必要があります。BINARY SEARCH オプションを使用すると、ソートテーブルの場合と同等の速さで標準テーブルのエントリにそのテーブルのキーを使用してアクセスすることができます。

例

REPORT demo_int_tables_read_index_bin.

DATA: BEGIN OF line,
        col1 TYPE i,
        col2 TYPE i,
      END OF line.

DATA itab LIKE STANDARD TABLE OF line.

DO 4 TIMES.
   line-col1 = sy-index.
   line-col2 = sy-index ** 2.
  APPEND line TO itab.

ENDDO.

SORT itab BY col2.

READ TABLE itab WITH KEY col2 = 16 INTO line BINARY SEARCH.

WRITE: 'SY-SUBRC =', sy-subrc.

出力は以下のようになります。

SY-SUBRC =    0

標準テーブルに平方数の一覧が書き込まれ、項目 COL2 の昇順でソートされます。READ 命令では、バイナリ検索によって COL2 の値が 16 の行がテーブルで検索されます。

 

 

 

コンテンツフレーム終了