打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
SAP增强实施步骤-三代增强BADI技术
userphoto

2023.05.16 广东

关注

SAP R/3 4.0之前 ABAP完全是面向过程的语言,面向对象的编程技术是在SAP R/3 4.0后版本中逐渐改造增加进去的,至目前ABAP已基本包含了面向对象的所有技术,所以完全可以说ABAP是面向对象的编程语言,虽然目前ABAP面向过程编程方法仍可以解决业务中大部分需求,但未来面向对象技术应用在SAP中一定会越来越多.下面要介绍的BADI增强就是使用面向对象技术来实现的。

SAP三代增强BADI实施步骤:
BADI技术具体原理不在这里介绍,百度上应该非常多这方面资料,大家可以百度下找下相关资料看看。
下面介绍下具体实施步骤:
步骤1:查找增强点,即要找到对应事务码的BADI的名称和它的方法,它的方法也就所谓的增强点,写增强代码的地方.
先运行SE24,查看类对象CL_EXITHANDLER, 在其方法:GET_INSTANCE的14行( CALL METHOD CL_EXITHANDLER=>GET_CLASS_NAME_BY_INTERFACE)打上一个断点。




退出或另开页面,输入需要查询是否存在badi的事务码,比如你想查询MIGO,就输入MIGO,按正常操作步骤执行MIGO,可以找到那一步存在badi . 下面以SAP官方提供的学习BADI的程序为例来说明如何实施badi增强,此程序对应TCODE 为bc425_chng00

接下来运行事务代码,当有BADI时将会被执行,这时在DEBUG模式下,会进入类CL_EXITHANDLER 的GET_INSTANCE 方法,按F6执行这个方法之后,点参数EXIT_NAME查看其对应的值,所有的方法实现都在此类对象中,此时就是我们所要找的BADI

点击修改后,因为这步骤后存在badi,系统进入如下debug调试界面


通过上面步骤,我们找出了这个TCODE对应的badi名称BC425_00FLIGHT2, 这个是其中之一,现以这个BADI为例说明,如何实施BADI增强.

步骤2:实施BADI增强. BADI其实是使用面向对象语言的接口技术,增强其实就是实现BADI接口的方法。

进入SE19,选择Create Implementation中的Classic BADi


双击GET_DATA

双击PUT_DATA

增强代码写完后激活

一般BADI增强(非屏幕和菜单增强),完成这些步骤,激活后算完成了.

本例BAID 是屏幕增强,即需要在TCODE对应的程序界面增加附加屏幕,比如上面TCODE未实施屏幕增强前显示如下,
现在需要在红色框中增加一个自己设计的屏幕,显示一些其他参数或供用户输入一些信息.

下面步骤介绍如何增加附加屏幕

回到上面6步骤界面如下

上图2个栏位应该输入什么? 因为是屏幕增强,这里要求设计一个子屏幕。屏幕增强还需进行如下步骤进行操作

输入se80进入如下界面


回车后进入如下


记下这个屏幕号,后面步骤要用到.


保存,返回

双击 get_instance.创建如下程序

双击 get_data.创建如下程序

双击put_data.创建如下程序




回到最前面的疑问处,如下栏位输入上面31步骤记下的程序名 和 17步骤创建的子屏幕编号0500

完成后最后点击激活,完成此BADI的屏幕增强。

再次执行TCODE 下面是效果:

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
如何处理消费SAP ABAP Web Service时遇到的Unauthorized错误
SAP中寻找增强的实现方法
增强方式、方法总结
SAP几则常用的BASIS技巧整理(转)
SAP采购订单抬头、行项目屏…
常用SAP系统变量
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服