使用FOR获取不同的值 - ABAP

时间:2016-07-20 10:21:59

标签: for-loop abap

如何从内部表中检索不同的值?

现在,我正在使用SORT和DELETE ADJACENT DUPLICATES来获得我需要的东西,但我想改进这些选择。

3 个答案:

答案 0 :(得分:1)

COLLECT也会产生不同的值

DATA: lt_collect like table of lt_source-some_field.
LOOP AT lt_source INTO ls_source. 
  COLLECT ls_source-some_field INTO lt_collect. 
ENDLOOP.
* lt_collect has distinct values of lt_source-some_field

答案 1 :(得分:0)

要明确EBELN您需要做的只是

SELECT DISTINCT ebeln
  FROM ekpo
  INTO TABLE lt_distinct_ebeln
  WHERE (your_where_condition).

这就是全部。

答案 2 :(得分:0)

一个选项是创建一个循环并选择值何时更改。为了使其按照您的提示工作,必须按照您要查找的字段对表进行排序。

loop at GT_TABLE into WA_TABLE.
  on change FIELD.
    *Operation
  endon.
endloop.

另一个选择是使用相同但使用AT。为了使AT工作,表格左边的AT声明中的字段选择值必须相同。

loop at GT_TABLE into WA_TABLE.
  at new WA_TABLE-FIELD.
    *Operation
  endat.
endloop.