将工作区转换为内部表类型的行

mj1*_*829 0 sql sap abap

我收到此语法错误:

“ WA_1”不能转换为“ IT_1”的线路类型

我试图显示内部表中的内容,如下所示:

REPORT  ZSAM.

DATA: ITable Type ZMUAZ_STRUCTURE OCCURS 10,
      IT_1 Type ZSTRUCT1 OCCURS 10,
      IT_2 Type ZSTRUCT2 OCCURS 10,
      WA_1 like IT_1,
      WA_2 like IT_2,
      WA_3 like ITable.

WRITE: 'vbeln', 'vtweg', 'posnr', 'matnrr','vrkme'.

select vbeln audat netwr waerk vkorg vtweg from VBAK into corresponding fields of Table IT_1.

LOOP AT IT_1 INTO WA_1.

write: /  WA_1-vbeln, WA_1-audat, WA_1-netwr, WA_1-waerk, WA_1-vkorg, WA_1-vtweg.

endloop.
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决此错误?

Józ*_*zai 6

wa_1被声明为内部表(而不是工作区)。最简单的解决方案是使用以下命令完成声明LINE OF

... wa_1 LIKE LINE OF it_1,
Run Code Online (Sandbox Code Playgroud)

但是,像您一样声明内部表和工作区域OCCURS已过时,其现代等效项是STANDARD TABLE OF

DATA: it_1 TYPE STANDARD TABLE OF zstruct1,
      wa_1 TYPE zstruct1.
Run Code Online (Sandbox Code Playgroud)