目次
- FOR ALL ENTRIES概要
- 使い方
- 注意事項
1. FOR ALL ENTRIES概要
FOR ALL ENTRIESを追加したSELECT命令では、WHERE条件に、指定した内部テーブルの項目値を使用できるようになる。2. 使い方
サンプルコード*-----------------------------------------------------------------
*メイン内部テーブル
DATA IT_SAMPLE TYPE TA_IT_SMPLE.
*FOR ALL ENTRIES用に内部テーブルを複製
DATA IT_SAMPLE2 TYPE TA_IT_SAMPLE.
IT_SAMPLE2 = IT_SAMPLE.
*FOR ALL ENTRIS用の内部テーブルをソート
SORT IT_SAMPLE2 BY (項目名) ASCENDING.
*複製した内部テーブルから項目をキーに重複を削除
DELETE ADJACENT DUPLICATES FROM IT_SAMPLE COMPARING (項目名).
※データ抽出
IF IT_SAMPLE2 IS NOT INITIAL.
SELECT
(項目1)
(項目2)
FROM テーブル名
INTO TABLE 格納したい内部テーブル
FOR ALL ENTRIES IN IT_SAMPLE2
WHERE MAKT~MATNR = IT_SAMPLE2-(項目名)
AND SPRAS = SY-LANGU.
ENDIF.
*-----------------------------------------------------------------
3. 注意事項
①内部テーブルを直接編集しない(内部テーブルを複製する)。②複製した内部テーブルは必ずソートする(重複を削除するためにソートする必要がある)。
③重複を必ず削除する。
④データ抽出時する前に内部テーブルにデータが入っているか確認。
⑤パフォーマンス向上のためにBINARY SEARCHを使用する。
⑥ORDER BYと同時に指定することはできない。
<補足>
・BINARY SEARCHとは
二分検索のこと。
ソートテーブルの場合と同様に、キーを使用して高速に
テーブル内のレコードにアクセスすることができる。
※データがソートされている場合のみ使用可