【SAP ABAP系列】ABAP MESSAGE xxxx RAISING xxxx解析

2020-11-13 18:13:07 浏览数 (1)

以下部分内容转自官网

一般来说,功能模块中的异常通过RAISE EXCEPTION来处理。这将设置一个返回代码,并返回给调用程序。 例如,让我们考虑一个函数模块SXXXX的示例,它将创建一个参考采购申请的采购订单。此功能模块的导入参数是采购申请编号,导出参数是此处创建的采购订单编号。假设在创建PR之后,材料从一个植物移动到另一个植物。现在在PO创建期间,由于这种不匹配,PO将不会被创建。

在正常情况下,如果有任何不匹配,我们通常使用RAISE EXCEPTION XXXX。这将停止函数模块进一步处理,并返回到调用程序,只有返回代码。但调用程序永远不会知道导致此错误的材料编号。 现在,我们将使用以下语句代替使用RAISE EXCEPTION提出异常:

MESSAGE E309(06)with'xxx' XXXX。 使用上面的语句类似于RAISE EXCEPTION的用法,除了以下两种情况:

1、如果对函数模块的调用不处理EXCEPTIONS,则发出消息(在这种情况下,发出错误消息)

2、如果调用程序处理异常,则不发出任何消息。 调用程序将在标准消息变量SY-MSGID,SY-MSGV1和其他中具有消息详细信息。

0 人点赞