0

FOR ALL ENTRIES itab に存在しない透過テーブルからレコードを取得したいと考えています。

デフォルトのロジックは、内部テーブルに存在するエントリを含めることですが、それらを除外したいと思います。ある種の FOR ALL ENTRIES NOT IN ステートメントが必要です。

回避策はありますか?

4

3 に答える 3

1

可能かどうかは考えていません。そのために範囲を使用します。これが適切でない場合は、loop+read table を使用できます。

于 2012-06-12T20:51:18.520 に答える
0

この問題には単純なクエリを使用できます。

このコーディングを確認してください...

TABLES : table1 , table2 .

DATA : it_table1 TYPE STANDARD TABLE OF table1 ,
   it_table2 TYPE STANDARD TABLE OF table2 ,
   wa_table1 TYPE table1 ,
   wa_table2 TYPE table2 .


 SELECT * FROM table1 INTO CORRESPONDING FIELDS OF TABLE it_table1 .


 LOOP AT it_table1 INTO wa_table1 .

        SELECT field1 FROM table2 INTO CORRESPONDING FIELDS OF TABLE it_table2 WHERE field2 = wa_table1-field1 .

    IF  sy-subrc = 0 .
        delete TABLE it_table1 FROM wa_table1 .
    ENDIF.

ENDLOOP.
于 2012-06-13T05:13:45.097 に答える