无法使用BAdI ME_PROCESS_PO_CUST在PO中添加合作伙伴功能

2020-09-15 03:46发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我想根据某些情况在PO的...

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

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


你好

我想根据某些情况在PO的合作伙伴标签中添加合作伙伴功能CR。 在创建PO(即T代码ME21N)期间需要此操作。

我实现了BAdI ME_PROCESS_PO_CUST,并在方法PROCESS_HEADER中编写了代码。 我使用FM MM_READ_PARTNERS从缓冲区中获取伙伴,并使用FM MM_MAINTAIN_PARTNERS添加了伙伴函数。

执行此BAdI后,我可以在"合作伙伴"选项卡中看到我的合作伙伴功能,但该功能不被接受。 如下所示:


当我保存它时,伙伴功能消失了,并且没有保存在采购订单中。

我已经浏览了许多有关此主题的SCN博客,并尝试了不同的方法,但未能实现目标。 请让我知道我是否想念任何东西。

谢谢

单位

(21.9 kB)
7条回答
风早神人
2020-09-15 04:29

大家好,

下面是我编写的代码。 如果有的话,请问您能帮忙找些

刷新gt_ekpa []。

呼叫功能'MM_READ_PARTNERS'
导出
应用程序='P'
表格
X_EKPA = gt_ekpa。

从t161中选择单个pargr

到lv_pargr
在哪里bsart EQ ls_header-bsart
和bstyp EQ ls_header-bstyp。

请检查lv_pargr是否为INITIAL。


刷新gt_mmpa []。
在gt_ekpa中循环gs_ekpa 。

清除gs_mmpa。

将gs_ekpa移动到gs_mmpa。
追加gs_mmpa到gt_mmpa。
endloop。

如果不是gt_ekpa是初始的。 >清除gs_mmpa1。
将表gt_mmpa读入gs_mmpa1,键为parvw ='WL'
lifn2 ='ABCD0004'。
如果sy-subrc <> 0.
gs_mmpa-parvw ='WL'。
gs_mmpa-lifn2 ='ABCD0004'。
将gs_mmpa附加到gt_mmpa。
endif。

endif。

如果不是gt_mmpa是初始的。
CALL FUNCTION' MM_MAINTAIN_PARTNERS'
导出
应用程序='P'
EBELN = ls_header-ebeln
BSTYP = ls_header-bstyp
EKORG = ls_header-ekorg
LIFNR = ls_header-lifnr
pargr = lv_pargr
* SCREEN_INVISIBLE ='X'
TABLES
X_MMPA = gt_mmpa。

endif。
endif。

致谢

Shekhar

一周热门 更多>