我是ABAP的新手,所以请耐心等待。
我收到了错误" IT_COMBINE"是一个没有标题行的表,因此没有名为" EBELN"。
的组件我尝试过使用"进入相应的字段"这不起作用。
我在这里提供了我的代码:http://pastebin.com/y64T2nah
答案 0 :(得分:4)
您还可以使用“FOR ALL ENTRIES IN”添加语句“SELECT”:
SELECT DISTINCT ebeln netwr werks INTO TABLE it_combine
FROM ekpo
WHERE netwr IN s_netwr. "in is only for select options
CHECK it_combine[] IS NOT INITIAL. " not empty, obligatory
SELECT ebeln lifnr ekorg bsart ekgrp
INTO TABLE it_po
FROM ekko FOR ALL ENTRIES IN it_combine
WHERE ebeln = it_combine-ebeln.
“带标题行”或其他工作区 - 不需要
另外,在OOP上下文中不能使用“with header line”。
答案 1 :(得分:3)
如果未使用标题行声明内部表,则不能直接使用内部表中的字段。
有两种方法可以更改您的代码。
你在第35行调用了字段ebeln。由于你没有在第19行中用标题行声明it_combine,你不能像这样使用it_combine-ebeln。相反,您必须声明工作区
Data wa_combine type ty_combine.
并使用第35行的工作区
Loop at it_combine into wa_combine .
select ebeln lifnr ekorg bsart ekgrp
into table it_po
from ekko
where ebeln = wa_combine-ebeln.
End Loop.
2您必须使用标题行
声明内部表格 Data it_combine type standard table of ty_combine with header line.
有关标题行和工作区的详细说明,请参阅Sap帮助文档。