点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家您好,
我真的很想在创建PO时设置高级退货管理字段EKPO-BSGRU的问题。 我想创建一个返回STO。 通过ME21N手动创建退货STO时,我需要在行项目中指定物料,数量和地点并在保存之前按Enter键,将退货原因(EKPO-BSGRU)字段设置为Z **(示例:Z77)。 >
我尝试通过BADI'ME_PROCESS_PO_CUST'和'MSR_TRC'设置此值,但是这些BADI并没有帮助我。 请让我知道如何满足此要求,否则我在某处出错。
根据配置,此字段为必填字段,用户要求通过ABAP代码设置此字段。
1)当我实现process_item方法ME_PROCESS_PO_CUST时,我面临以下问题。
标准SAP不允许我们通过BADI更改原因代码,并且消息日志返回以下信息消息:
无法更改订单原因。
在进一步分析标准代码时,我发现标准SAP正在检查BSGRU字段的字段状态。
如果为"-",表示已被抑制,则将用交易产生的旧值(空白)覆盖已更改的值(Z **)。
2)当我实现接口IF_EX_MSR_TRC的MSR_TRC,GET_DEFAULT方法时,值Z **被替换为空白。
请帮助,这对于客户来说确实很紧急。 正确答案将得到奖励。
此致
Titiksha
您好 Titiksha ,
关于退货管理方案的任何更新,或者一般来说,FOR PO标头(EKKO)或PO项目(EKPO)都是有趣的情况。
我们面临类似的问题,而您在调试的深处发现的是标准代码检查中字段选择组的配置原理。 " +"/"-"等组合。有关SAP如何将某些字段视为仅显示而将某些字段视为启用输入的情况。
实际上,诀窍是在这种情况下,您不应该在BADI中编写任何代码。
将您的业务逻辑放置在EXIT中。 这应该工作得很好。 我们已经完成了许多要求(例如,覆盖退货项和用于基于某些逻辑的退货订单的确认控制)
SMOD增强功能:MM06E005
实施退出-> EXIT_SAPMM06E_016
在退出实现上方使用调用堆栈方法:VALUE'(SAPLMEPO)EKPO'分配采购订单项引用。
此致
Avik
你好Avik,
非常感谢您的帮助。 那是正确的答案。 上帝保佑! :)
此致
Titiksha
您的信息矛盾
首先您说:该字段从配置中变为强制性
,然后您说:我发现 该标准SAP正在检查BSGRU字段的字段状态。 如果它是"-",则表示被压制了。...
如何强制执行并立即被压制?
完全一样-压制制胜 强制性的-因此您一定不要怀疑来自BAdI的值不会进入数据库。
一周热门 更多>