无法CIF产品主数据

2020-09-18 19:29发布

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

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


我遇到了将产品主数据从ECC传输到APO的问题。

为弄清情况:

在ERP方面

1)在CIF设置(事务CFC9)中,"物料主数据的更改传输"标记为" 2"(立即进行BTE传输)。

2)在"消息类型的更改指针"设置(事务BD50)中,激活了" CIFMAT"消息类型。

3)通常激活更改指针的选项(事务BD61)。

在SCM端

1)增强了APOCF005,下面提供了源代码。

问题是,如果先前的物料具有删除标记,而后来在ECC侧被抬起,则此更改不会反映在APO一侧(即,在APO一侧的物料仍被视为具有删除标记,而被取消了) 在ECC端)。

我想念什么? 问题是否与不正确的设置或不正确的源代码有关?

期待您的来信,我们将不胜感激。

数据:ls_sapo_matloc类型/sapapo/matloc。
 字段符号:类型/sapapo/cif_matloc。
 字段符号:类型/sapapo/cif_matlocx。
 如果ls_sapo_matloc-lvorm ='X'。
 **如果设置了删除标志(/SAPAPO/MATLOC-LVORM =«X»)
 如果ls_sapo_matloc-beskz ='P'并且已分配。
 **如果/SAPAPO/MATLOC-BESKZ =«P»
 清除 -beskz。
 其他。
 **如果/SAPAPO/MATLOC-BESKZ <>«P»
  -beskz ='P'。
 如果已分配 -beskz ='X'。
 万一。
 万一。
 其他。
 **如果未设置删除标志(/SAPAPO/MATLOC-LVORM =«»)
 如果-方法='D'和 -loctype ='1007'。
 **如果IT_MATLOC-METHOD =«D»&IT_MATLOC-LOCTYPE =«1007»
  -beskz ='P'。
 UNASSIGN 。
 读取表it_​​matlocx
 分配
 带钥匙
 ext_matnr =  -ext_matnr
 ext_locno =  -ext_locno。
 如果已分配并且sy-subrc是INITIAL。
  -beskz ='X'。
 万一。
 其他。
 **如果IT_MATLOC-LOCTYPE <>«1007»或IT_MATLOC-METHOD <>«D»
 UNASSIGN 。
 读取表it_​​matlocx
 分配
 带钥匙
 ext_matnr =  -ext_matnr
 ext_locno =  -ext_locno。
 万一。
 万一。
 万一。




 

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

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


我遇到了将产品主数据从ECC传输到APO的问题。

为弄清情况:

在ERP方面

1)在CIF设置(事务CFC9)中,"物料主数据的更改传输"标记为" 2"(立即进行BTE传输)。

2)在"消息类型的更改指针"设置(事务BD50)中,激活了" CIFMAT"消息类型。

3)通常激活更改指针的选项(事务BD61)。

在SCM端

1)增强了APOCF005,下面提供了源代码。

问题是,如果先前的物料具有删除标记,而后来在ECC侧被抬起,则此更改不会反映在APO一侧(即,在APO一侧的物料仍被视为具有删除标记,而被取消了) 在ECC端)。

我想念什么? 问题是否与不正确的设置或不正确的源代码有关?

期待您的来信,我们将不胜感激。

数据:ls_sapo_matloc类型/sapapo/matloc。
 字段符号:类型/sapapo/cif_matloc。
 字段符号:类型/sapapo/cif_matlocx。
 如果ls_sapo_matloc-lvorm ='X'。
 **如果设置了删除标志(/SAPAPO/MATLOC-LVORM =«X»)
 如果ls_sapo_matloc-beskz ='P'并且已分配。
 **如果/SAPAPO/MATLOC-BESKZ =«P»
 清除 -beskz。
 其他。
 **如果/SAPAPO/MATLOC-BESKZ <>«P»
  -beskz ='P'。
 如果已分配 -beskz ='X'。
 万一。
 万一。
 其他。
 **如果未设置删除标志(/SAPAPO/MATLOC-LVORM =«»)
 如果-方法='D'和 -loctype ='1007'。
 **如果IT_MATLOC-METHOD =«D»&IT_MATLOC-LOCTYPE =«1007»
  -beskz ='P'。
 UNASSIGN 。
 读取表it_​​matlocx
 分配
 带钥匙
 ext_matnr =  -ext_matnr
 ext_locno =  -ext_locno。
 如果已分配并且sy-subrc是INITIAL。
  -beskz ='X'。
 万一。
 其他。
 **如果IT_MATLOC-LOCTYPE <>«1007»或IT_MATLOC-METHOD <>«D»
 UNASSIGN 。
 读取表it_​​matlocx
 分配
 带钥匙
 ext_matnr =  -ext_matnr
 ext_locno =  -ext_locno。
 万一。
 万一。
 万一。




 
付费偷看设置
发送
4条回答
宇峰科技
1楼 · 2020-09-18 20:18.采纳回答

您好Azat,

在这种情况下,我假设集成模型设置或更改指针设置可能是相关的。 (如果初始传输已到达SCM系统,并且产品已完成更新,则BADi代码应该可以。)

检查CFM5交易,如果材料仅包含在1个活动模型中,则增量转移可以选择任何更改。

此致

热烈

代楠1984
2楼-- · 2020-09-18 20:09

你好,

是的,可能是某些更改/对象未按预期进行选择,如果它们处于更活跃的模型中,请参阅SAP KBA: 533755-增量逻辑或程序RIMODINI的描述

2157641-即使已存在活动的集成模型,也如何强制进行数据传输

Gergely

能不能别闹
3楼-- · 2020-09-18 20:10

嗨Azat,

首先,尝试使用集成模型的初始负载,包括来自ERP的具有CFM9事务的产品主数据。 通过使用初始传输,您可以在ERP端过滤掉任何"更改指针原因"。

如果处理了CIF队列并且仍未在SCM端进行更改,那么您可能会开始怀疑是要检查SCM中的BADi代码。

如果通过CFM9初始传输将更改传输到SCM,则必须检查更改指针设置。

最好的问候

热烈

蓋茨
4楼-- · 2020-09-18 19:58

你好,Gergely,

如您所建议:

1)我首先创建了主动集成模型(CFM1),并出于测试目的加入了1种材料。

2)我激活并启动了集成模型(CFM2)。 主数据毫无问题地流到了APO。

3)我标记了要在ERP端删除的材料(MM06)。 更改不会自动反映在APO中,我不得不再次手动启动集成模型。

4)我删除了ERP端(MM06)的删除标记。 再次,此更改没有自动流入APO,我不得不再次手动启动集成模型。

简而言之:从ECC到APO的产品主数据的初始上传没有探针。 但是,ERP端对物料主数据的后续更改不会自动反映在APO端(尽管CFC9中用于传输的设置被标记为" 2-立即")。

这可能是什么原因? 我是否应该认为问题出在源代码上?

一周热门 更多>