XXX is a table without a header line and therefore has no component called “EBELN”

一笑奈何 提交于 2020-04-15 17:20:48

问题


I'm getting the syntax error:

"IT_COMBINE" is a table without a header line and therefore has no component called "EBELN".

I have tried using "into corresponding fields" and that does not work.

My code:

  19   Data it_combine type standard table of ty_combine.
  ...
  32    select ebeln lifnr ekorg bsart ekgrp
  33      into table it_po
  34       from ekko
  35         where ebeln = it_combine-ebeln. " <=== SYNTAX ERROR
  ...   

回答1:


You can not use the fields in internal tables directly if you did not declare your internal table with header line.

There are 2 possibilities to change your code.

  1. You have called field ebeln in line no 35. Since you did not declare it_combine with header line in line no 19, you can not use it_combine-ebeln like this. Instead you have to declare Work Area

    Data wa_combine type ty_combine. 
    

and use the work area in line no 35 as

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 You have to declare your internal table with header line

 Data it_combine type standard table of ty_combine with header line.

Refer to the Sap help document for breif description about header line and work area.




回答2:


You can also use the addition "FOR ALL ENTRIES IN" for statement "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.

"with header line" or additional work area - not need

Also, using "with header line" impossible in the OOP context.



来源:https://stackoverflow.com/questions/11874121/xxx-is-a-table-without-a-header-line-and-therefore-has-no-component-called-ebel

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!