MOVE-CORRESPONDING-工作区域和内部表的行为不同

2020-08-20 11:48发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我的疑问是,当我在...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家您好,

我的疑问是,当我在任何工作区域上使用关键字MOVE-CORRESPONDING时,它会按预期工作,即以相似的名称填充字段,而对其他字段没有任何影响,则可以填充或空白,这并不重要。 但是,当我对内部表使用相同的关键字时,它将替换目标表中与第一个表不匹配的数据。 这是故意还是错误?

例如

选择bukrs monat

FROM BKPF

INTO TABLE lt_bkpf

...............

SELECT rburks rldnr docln ryear

FROM acdoca

INTO lt_acdoca

在............

类型:ty_tab开头,

bukrs类型bukrs,

monat类型monat,

rbukrs类型的bukrs,

rldnr类型fins_legder,

docln类型docln6

ryear类型gjahr_pos,

ty_tab结束。

数据:lt_tab ty_tab类型表,

wa_tab类型ty_tab。

**如果我用不了,表格将被完美填充

在it_bkpf上闭环......

将它停在it_acdoca上

对应wa_bkpf移动到wa_tab。

对应wa_acdoca移动到wa_tab。

将wa_tab附加到it_tab。

ENDLOOP。

ENDLOOP。

**如果我不使用LOOP进行操作,它将用内部表中不存在的空白替换列

将it_bkpf移动到it_tab。

将it_acdoca移动到it_tab。

it_tab =对应#(it_bkpf)

it_tab =对应#(it_acdoca)

**两者的结果相同。

1)当it_bkpf在内部表中移动时

1)当it_acdoca在内部表中移动并替换it_bkpf的列(BUKRS和MONAT)

我犯了什么错误,或者这是应该如何表现的?

感谢和问候

拉吉特

(19.0 kB)
4条回答
spaceman01
2020-08-20 12:12

感谢您的答复。 我看不到以这种方式构建它的好处,但这似乎是故意的。

我唯一的理由是,当MOVE-CORRESPONDING不替换结构(工作区域)中的值时,为什么要在内部表中替换它。

@ Marco-我尝试过"保持目标线"-它在BKPF下附加了ACDOCA的所有行,这不是我的要求。 " BASE(base)"也将替换数据。

一周热门 更多>