通过BADI/用户出口创建PO时设置EKPO-BSGRU

2020-09-28 07:10发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我真的很想在创建P...

         点击此处--->   EasySAP.com群内免费提供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