BAPI_SALESORDER_CHANGE无法处理消息类型W

2020-08-18 15:21发布

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

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


嗨,

我尝试使用 BAPI_SALESORDER_CHANGE 更新销售订单附加数据B中的自定义字段。 BAPI调用 USEREXIT_CHECK_VBAP 。 此用户出口对定制字段进行验证,并在验证失败时返回消息类型W。 BAPI立即出错并终止了程序(就像消息类型A)。

为什么BAPI不处理消息类型W?

感谢您的帮助。 谢谢。

最好的问候

多米尼克

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

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


嗨,

我尝试使用 BAPI_SALESORDER_CHANGE 更新销售订单附加数据B中的自定义字段。 BAPI调用 USEREXIT_CHECK_VBAP 。 此用户出口对定制字段进行验证,并在验证失败时返回消息类型W。 BAPI立即出错并终止了程序(就像消息类型A)。

为什么BAPI不处理消息类型W?

感谢您的帮助。 谢谢。

最好的问候

多米尼克

付费偷看设置
发送
8条回答
hongfeng1314
1楼 · 2020-08-18 15:36.采纳回答

可以通过在EXCEPTIONS列表中指定ERROR_MESSAGE来更改功能模块中的错误处理。 通常,您仅应使用异常处理方法(在功能模块内使用MESSAGE ... RAISING或RAISE语句)来调用功能模块中的消息。

当您使用ERROR_MESSAGE时,系统将按以下方式处理被调用的消息,而无需进行显式处理:

将忽略类型为S,I和W的消息(但如果在后台运行程序,则将其输入日志中)。

类型为E和A的消息导致功能模块终止,就像已触发ERROR_MESSAGE异常(SY-SUBRC设置为r E)一样。

将以下内容放入您的BAPI:

 通话功能'BAPI_SALESORDER_CHANGE'
           ......
       例外情况
         error_message =1。"这将捕获错误消息。
 
Nir深蓝
2楼-- · 2020-08-18 15:57

嗨,Dominic,

用户出口的工作方式是从屏幕读取数据。例如,如果是VA02,则来自屏幕字段的数据将传递到用户出口,然后进行验证。

但是,当涉及到BAPI时,它不与屏幕链接或用户出口。 因此,它不知道如何完成验证。

因此解决方案是,请勿尝试更改用户出口。 但是在将数据传递到BAPI之前,您必须处理相同的事情。

在将数据传递到BAPI之前,您需要执行相同的验证。

TDW。

一周热门 更多>