BADI SMOD_APOCF005代码不会更新产品主数据

2020-09-13 16:20发布

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

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


你好乡亲,

我正在尝试更新BADI中的APO产品主版本

具有以下代码的SMOD_APOCF005,但它不会更新某些字段,例如

REORD_METHOD和

TARGET_METHOD,随着MTVFP的更新。

我错过了什么吗?

方法IF_EX_SMOD_APOCF005〜EXIT_/SAPAPO/SAPLCIF_PROD_001。


数据:ls_matlocx类型/SAPAPO/CIF_MATLOCX。


数据:ls_matloc类型/SAPAPO/CIF_MATLOC。 >
在it_matloc处循环进入ls_matloc,其中ext_locno ='1000'。

如果ls_matloc-EXT_LOCNO ='1000'并且ls_matloc-EXT_MATNR ='P-102'。


LS_MATLOC-REORD_METHOD ='2'。
LS_MATLOC-TARGET_METHOD ='5'。
LS_MATLOC-MTVFP ='Z2'。

从LS_MATLOC修改IT_MATLOC。


清除ls_matloc。

ENDIF。

结束循环。

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

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


你好乡亲,

我正在尝试更新BADI中的APO产品主版本

具有以下代码的SMOD_APOCF005,但它不会更新某些字段,例如

REORD_METHOD和

TARGET_METHOD,随着MTVFP的更新。

我错过了什么吗?

方法IF_EX_SMOD_APOCF005〜EXIT_/SAPAPO/SAPLCIF_PROD_001。


数据:ls_matlocx类型/SAPAPO/CIF_MATLOCX。


数据:ls_matloc类型/SAPAPO/CIF_MATLOC。 >
在it_matloc处循环进入ls_matloc,其中ext_locno ='1000'。

如果ls_matloc-EXT_LOCNO ='1000'并且ls_matloc-EXT_MATNR ='P-102'。


LS_MATLOC-REORD_METHOD ='2'。
LS_MATLOC-TARGET_METHOD ='5'。
LS_MATLOC-MTVFP ='Z2'。

从LS_MATLOC修改IT_MATLOC。


清除ls_matloc。

ENDIF。

结束循环。

付费偷看设置
发送
4条回答
追夢秋陽
1楼-- · 2020-09-13 16:45

使用TRANSPORTING comp1 comp2...。使用MODIFY语句-请参阅文档-链接

您可以尝试使用字段符号,而不用修改循环的ITAB

 *声明字段符号
 在it_matloc INTO 处循环播放,ext_locno ='1000'。
                                      AND ext_matnr ='P-102'。
        -reord_method ='2'。
        -target_method ='5'。
        -mtvfp ='Z2'。
  ENDLOOP。

xfwsx85
2楼-- · 2020-09-13 16:44

我认为也许您也必须将数据设置为it_matlocx。 查看此博客是否有帮助:

https://blogs.sap.com/ 2014/07/18/apo-snp-master-data-automation /

Doze时光
3楼-- · 2020-09-13 16:41

请更正代码,我是新手。

FIELD-SYMBOLS:类型/SAPAPO/CIF_MATLOC。
在it_matloc分配处循环哪里ext_locno ='1000'和ext_matnr ='P-102'。
如果sy-subrc是INITIAL 。
-reord_method ='2'。
-target_method ='5'。
-mtvfp ='Z2'。
ENDIF。

> ENDLOOP。

它不适用于产品母版。 它正在调试模式下工作。

SAP砖家
4楼-- · 2020-09-13 16:50

我不确定您的意思对产品母版无效。 顺便说一下,我已经更新了我的答案,而且我们也不需要循环来更新字段。 我们只能使用MODIFY语句。

 *用值填充工作区
 ls_matloc-record_method ='2'。
 ls_matloc-target_method ='5'。
 ls_matloc-mtvfp ='Z2'。
 从ls_matloc传输it_matloc修改record_method target_method mtvfp
                                        其中ext_locno ='1000'并且ext_matnr ='P-102'。
 

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...

相关问答