内部表的 MOVE-CORRESPONDING?
MOVE-CORRESPONDING for internal tables?
我想要 MOVE
个字段,从 itab1
到 itab2
,基于它们的 字段名称 。我试过以下:
CLEAR itab2.
MOVE-CORRESPONDING itab1 TO itab2.
这是可行的,但前提是 FIELDS
被命名为相等。
现在我想做类似的事情:
CLEAR itab2.
MOVE-CORRESPONDING itab1-field1 TO itab2-field2.
MOVE-CORRESPONDING itab1-field3 TO itab2-field4.
等等..但每次我尝试这样做时都会出现以下错误"itab1-field1" is not a structure or an internal table.
我也试过这样写MOVE-CORRESPONDING <itab1>-field1
但是这个也不行
我怎样才能达到我想要的?感谢您尝试帮助我..
从 ABAP 7.4 开始,可以使用 CORRESPONDING ... MAPPING 语句完成:
itab_target = CORRESPONDING #( itab_source
MAPPING field2 = field1
field4 = field3 ).
目标将基于源,其中字段具有相同的名称,否则将使用 MAPPING(目标字段 2 将是源字段 1,等等)这也适用于结构和内部表。
我想要 MOVE
个字段,从 itab1
到 itab2
,基于它们的 字段名称 。我试过以下:
CLEAR itab2.
MOVE-CORRESPONDING itab1 TO itab2.
这是可行的,但前提是 FIELDS
被命名为相等。
现在我想做类似的事情:
CLEAR itab2.
MOVE-CORRESPONDING itab1-field1 TO itab2-field2.
MOVE-CORRESPONDING itab1-field3 TO itab2-field4.
等等..但每次我尝试这样做时都会出现以下错误"itab1-field1" is not a structure or an internal table.
我也试过这样写MOVE-CORRESPONDING <itab1>-field1
但是这个也不行
我怎样才能达到我想要的?感谢您尝试帮助我..
从 ABAP 7.4 开始,可以使用 CORRESPONDING ... MAPPING 语句完成:
itab_target = CORRESPONDING #( itab_source
MAPPING field2 = field1
field4 = field3 ).
目标将基于源,其中字段具有相同的名称,否则将使用 MAPPING(目标字段 2 将是源字段 1,等等)这也适用于结构和内部表。