在方法内部得到错误 "Internal tables cannot be used as work areas"

get ERROR "Internal tables cannot be used as work areas" inside of method

我是 ABAP 的新手。我昨天问了一个与这个问题类似的但不同的问题。

我将 table (= table) 复制到本地 table (= localTable) 并删除其中的所有重复项,这工作正常 (前 3 行代码)

现在我想遍历此 local table 并将所有匹配数据发送到具有 INTO CORRESPONDING FIELDS OF 的结构中 - 不幸的是我总是收到以下错误:

Internal tables cannot be used as work areas.

信息:我正在方法内部工作!

这是我正在使用的代码:

DATA localTable TYPE STANDARD TABLE OF table. 
SELECT columnName FROM table INTO TABLE localTable.
  DELETE ADJACENT DUPLICATES FROM localTable COMPARING columnName.

LOOP AT localTable ASSIGNING FIELD-SYMBOL(<fs_table>).
  SELECT * FROM anotherTable as p
    WHERE p~CN1 = @localVariable
    AND p~CN2 = @<fs_table>-columnName
    INTO CORRESPONDING FIELDS OF @exportStructure "<-- Here I always get my error
  ENDSELECT.
ENDLOOP.

首先: 我读到我必须在使用命令 DELETE ADJACENT DUPLICATES FROM localTable COMPARING columnName. 之前对我的 internal table 进行排序,所以我在两者之间添加了以下代码行:

SORT localTable BY columnName ASCENDING.

其次: 我没有使用 INTO CORRESPONDING FIELDS OF TABLE APPENDING CORRESPONDING FIELDS OF TABLE 因为 INTO 会用自己覆盖每一行,所以我导出的结构中总共只有一行。

APPENDING 每当我的陈述为真时添加一个新行。