内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

亚马逊云_四大数据库_免费领

2021-07-18 12:54 出处:欧普曼云计算 人气: 评论(0

作为一个ABAP程序员,我们必须编写面向对象代码(又称OO代码)。因此,对于异常/错误处理,我们需要使用异常类,云服务器主机,而不是使用SY-SUBRC和BAPIRETURN数据等旧的错误处理过程方法。

但是,我们经常需要调用bapi,或者不太喜欢的其他函数模块或表单例程。在新的OO代码中,我们必须处理过程错误并将其转换为OO异常。

几年前,我开始创建一个异常类来处理所有类型的过程错误消息(旧的过程和新的OO消息),并将其与良好的旧SAP消息(T:SE91)相结合。

这个类被称为ZCX\u RETURN3。

基于各种BAPI返回结构和BAPIRET2、BAPIRET1、BAPIRETURN等表类型创建异常类实例。基于SY-MSGID/SY-MSGNO中的当前消息创建异常类实例。基于CALL事务语句中的BDC消息创建异常类实例。基于普通OO异常类实例创建异常类实例,云服务器哪里好,并将其与sapse91消息相结合。新的:ZCX\u RETURN3可以在abap7.50语法中使用,用于通过消息引发异常。例子:引发异常类型zcx\u return3消息e058"1""2""3""4"新的:类定义中的"ABSTRACT"语句可以被激活来强制继承这个类。

ZCX_RETURN2是以前的版本。根据ZCX\u RETURN2博客上的评论,我将其重新设计为ZCX\u RETURN3。重要的变化是,它现在支持新的raiseexception…[USING]消息语句,并且删除了静态实例创建方法(工厂方法),以促进为专用异常类继承此类,而不是将此类用作通用异常类。

在这篇博文中解释了它的工作原理。它还包含对相关博客的引用,用于快速添加错误处理代码的代码模板。

可能最常用的异常类实例化用于:

BAPI错误SE91消息错误

因此下面的两个例子将说明这是如何工作的。这些例子是基于实例化ZCX\u RETURN3,但也可以创建ZCX\u RETURN3的子类。

示例1:引发BAPI错误

例如,什么是淘客,您调用一个BAPI函数模块例程,该例程返回BAPIRET2类型的BAPI返回表。

返回表变量LT\u return将接收来自BAPI的错误消息。

类ZCX\u RETURN3将被实例化或ZCX\u RETURN3.

方法ADD\u BAPIRET2\u TABLE将消息添加到异常对象。

如果LT\u RETURN包含一个或多个类型为E、A或X的消息,则方法HAS\u messages()将返回ABAP\u TRUE。

例2:引发SAP和自定义消息

功能模块、表单例程和ABAP语句可以填充SY-SUBRC。如果值0,则发生错误。

使用新的7.50语法。RAISE EXCEPTION TYPE with MESSAGE将从表T100中检索消息,并在一条语句中将其作为异常进行提升。

类ZCX\u RETURN3有许多添加方法,物联网协议,用于添加不同类型的错误类型并将它们转换为自己的属性内部表GT\u RETURN类型BAPIRET2\u T。

用于检索数据,请使用获取方法:

如果消息~获取文本获取第一个错误的消息文本。如果有消息,请获取长文本获取第一个错误的T:SE91的长文本。获取\u BAPIRET2 \u STRUC获取GT\u RETURN的第一个错误。获取\u BAPIRET2 \u表从GT\U RETURN表中获取所有错误。

可以使用新的7.50 RAISE EXCEPTION with MESSAGE进行提升,也可以通过添加BAPI RETURN数据和其他消息来进行提升。

请参阅:

博客文章:ABAP EXCEPTION Class ZCX\U RETURN3–RAISE代码模板

这可以用于不同的目的,大数据数据采集,如ABAP程序/报告、ABAP网关、,ABAP代理、IDocs和RFC功能模块

博客文章:ABAP异常类ZCX\u RETURN3–捕获代码模板

下载

从github下载文件ZCX\u RETURN3.ABAP:https://github.com/alwinvandeput/zcx\u返回3为类ZCX\u RETURN3创建或确定ABAP包。

安装ZCX\u RETURN3类

这是首选方法,因为在Eclipse中,所有代码都可以一次复制和粘贴。

为类ZCX\u RETURN3确定或创建ABAP包。创建一个新类:ZCX\u RETURN3。复制并粘贴ZCX\u RETURN3\u 750.abap文件的代码。对于ABAP部分->公共部分。定义部分将文件ZCX\u RETURN3的定义部分复制粘贴到SE80编辑器中实施部分。双击每个方法,复制并粘贴ABAP代码。使用左边的面板(浏览器视图)导航到下一个方法。

不允许再创建新的程序例程,除非出于技术原因需要。例如,

tRFC、qRFC、远程启用或更新任务可能需要功能模块。不允许使用新窗体例程。不允许使用新宏。允许ABAP程序事件,因为它们是出于技术原因而需要的。

在过程例程中,只允许调用方法并捕获这些方法的OO异常。不允许引发OO异常

已经是版本3,因此名称中的3。与版本1相比,方法的命名得到了改进,通过创建实例的一致性重构了代码,从而简化了代码。与版本2相比,静态工厂方法被删除,并已适用于7.50 RAISE异常,并显示消息。

ABAP BAPI BO类生成器仍使用名为ZCX_RETURN的旧版本。

分享给小伙伴们:
本文标签: 亚马逊四大数据库免费

相关文章

评论

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

签名: 验证码: 点击我更换图片

评论列表