在方法内部得到错误 "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 每当我的陈述为真时添加一个新行。
我是 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 每当我的陈述为真时添加一个新行。