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

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

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

香港服务器_oracle数据库日志_促销

2021-07-19 17:52 出处:欧普曼云计算 人气: 评论(0

参见blog:ABAP异常类ZCX\u RETURN3

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

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

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

该类称为ZCX_RETURN2。它有许多方法来处理各种程序错误,比如SY-SUBRC、SY-MSGID/MSGNO和各种op-BAPIRETURN类型。它还包含对相关博客的引用,用于快速添加错误处理代码的代码模板。

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

BAPI错误SE91消息错误

因此,下面的两个示例将说明如何工作。

示例1:引发BAPI错误

例如,您调用一个BAPI函数模块例程,该例程返回类型为BAPIRET2的BAPI返回表。

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

方法CREATE\u BY \u BAPIRET2 \u table将实例化ZCX\u RETURN2.

如果LT\u RETURN包含一个或多个E、A或X类型的消息,则CREATE\u BY\u BAPIRET2\u TABLE方法将创建一个实例。

实例化调用后,大数据是干嘛的,将检查LX\u RETURN是否有实例。如果是这样,则会引发异常对象。

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

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

如果系统变量(SY)MSGID、MSGNO和MSGVn尚未填充,则程序员必须使用如本例中所示的MESSAGE语句填充。

方法CREATE_by_system_MESSAGE现在将实例化ZCX_RETURN2类。

类ZCX\u RETURN2将所有类型的消息转换为自己的属性内部表GT\u RETURN,类型为BAPIRET2\u T.

它有许多实例化类的方法。

对于检索数据,使用GET方法:

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

实例化异常类是使用该类的关键。通过公共静态方法以不同的方式实例化这个类。因此它有许多所谓的工厂方法。

对于每个实例化方法,都会创建一个代码模板,因此您可以快速复制和粘贴它来实现代码。

工厂方法是:

博客文章:ABAP Exception Class ZCX\u RETURN2–Raise code templates

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

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

下载

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

安装ZCX\u RETURN2类

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

为类ZCX\u RETURN2确定或创建ABAP包。创建一个新类:ZCX\u RETURN2。复制并粘贴ZCX\u RETURN2.abap文件的代码。

为类ZCX\u RETURN2确定或创建一个abap包。在SE80类中创建:ZCX\u RETURN2。超级类:CX\u STATIC\u CHECKDescription:RETURN2异常类指令生成:PublicClass类型:异常类将消息类的消息作为异常文本:关闭最终:OFFPackage:ZCA\u域激活类。菜单:转到->部分->公共部分。定义部分将文件ZCX\u RETURN2的定义部分复制粘贴到SE80编辑器中实施部分。双击每个方法,复制并粘贴ABAP代码。使用左边的面板(浏览器视图)导航到下一个方法。

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

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

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

已经是版本2,因此名称中的2。与版本1相比,方法的命名得到了改进,通过创建实例的一致性对代码进行了重构,淘客大玩家,从而简化了程序。

ABAP BAPI BO类生成器仍然使用一个名为ZCX\u RETURN的旧版本。

分享给小伙伴们:
本文标签: 香港服务器oracle数据库日志促销

相关文章

评论

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

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

评论列表