点击此处---> 群内免费提供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)
我自己解决了。
即使伙伴函数是CR,我也必须在代码中将SP传递给parvw。 我不知道为什么,但这为我解决了!
您是对的,TPAUM是,我不在系统上,请在接下来的3周内对它说再见 几个小时前。
我假设您想要BAdI,因为您仅根据特定条件希望该合作伙伴。
但是问题是:您是否可以在ME21N中像这样分配合作伙伴角色和合作伙伴编号,而无需BAdI限制呢?
如果没有,那么肯定是您的合作伙伴确定定制不完整。
如果是,则可能是您将伙伴编号移到了错误的字段中。 Dynpro只有1个字段,而后面的主数据表有3个不同的字段。
不幸的是,我们不知道CR的角色是什么,在定制中它是如何定义的,以及它是供应商,个人还是联系人,什么是854。
是 ,我确实有允许CR的自定义功能,就像我手动添加它一样。
嗨,Punit
我也有相同的要求,但应该来自PR,即来自ME59N。 我添加了正确的合作伙伴功能和供应商编号。 但是我无法获得理想的结果。 未添加合作伙伴功能。 您能否请粘贴代码
致谢
Shekhar
嗨,Mahesh,
您的代码似乎很完美,但是有一些称为伙伴功能的语言转换。
因此,如果您在表TPAUM中签到,您将找到伙伴功能WL的语言特定(EN)伙伴功能。 应该是GS。 在代码中传递GS而不是WL并尝试。 它应该起作用,至少对我有用。
谢谢
Punit
大家好,
下面是我编写的代码。 如果有的话,请问您能帮忙找些
刷新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
一周热门 更多>