9 Replies Latest reply: Apr 19, 2010 11:46 AM by Suhas Saha RSS

How to use dynamic internal table with FOR ALL ENTRIES

Suhas Saha
Currently Being Moderated

Hello SDNers,

 

I am having a dynamic internal table & want to use FOR ALL ENTRIES(FAE) using this dyn. table.

 

This works fine for me:

 

       

IF <lt_tmp> IS NOT INITIAL. "<lt_tmp> is my dyn. internal table
        SELECT field1 field2
          FROM TABLE ztable
          INTO TABLE itab "Itab is a static table
          FOR ALL ENTRIES IN <lt_tmp>
          WHERE (lv_dynwhere). "lv_dynwhere -> dynamic where clause
      ENDIF.

 

SAP documentation says:

"The logical expression sql_cond of the WHERE condition can be comprised of several logical expressions using AND and OR. However, if FOR ALL ENTRIES is specified, there must be at least one comparison with a column of the internal table itab that can be specified statically or dynamically. "

 

How do we specify the column of the internal table dynamically ? Can we do something like this:

 

       

IF <lt_tmp> IS NOT INITIAL. "<lt_tmp> is my dyn. internal table
        SELECT field1 field2
          FROM TABLE
          INTO TABLE itab "Itab is a static table
          FOR ALL ENTRIES IN <lt_tmp>
          WHERE key_field1 = (dynamic token for column1 of <lt_tmp>)
                       key_field2 = (dynamic token for column2 of <lt_tmp>)
      ENDIF.

      ENDIF.

 

Let me know if i am not clear about my requirement.

 

BR,

Suhas

Actions