通过st05跟踪,badi对应的数据表为 SXS_INTER, SXC_EXIT, SXC_CLASS 和 SXC_ATTR,而这些表都是通过视图V_EXT_IMP 和 V_EXT_ACT来查询的。

1、打开运行事务码: ST05 选择“table buffer trace”而不是常用的"SQL trace"
2、activate trace(开始跟踪)
3、运行事务码:me21n
4、创建一个采购订单,保存
5、deactivate trace(结束跟踪)
6、点击display trace,在出来的选择条件中: objects中输入:V_EXT_IMP和V_EXT_ACT;在 operations中输入“OPEN”
7、查询

通过查询的结果可以看出,视图V_EXT_IMP的BADI的接口类名字都是以IF_EX_开头的,其中IF_EX_之后的就是对应BADI接口的定义

事务代码是SE18,SE19,SE80可以查看增强点

***方法一****************************************
通过SE30,运行TCODE后,点Evaluate后,查看运行时间分析评估:命中清单。
找以“exit”开头的SAP程序,如:EXIT_SAPLIE01_007,
这个FUNCTION就是TCODE提供的一个出口。
至于如何查看这个增强是属于哪个SMOD,能够查阅 MODSAP这个表(SAP Enhancements).
***方法二****************************************
通过SE37中的:MODX_FUNCTION_ACTIVE_CHECK 函数来找,
在函数的最后一行打个断点,再运行TCODE的,如果有增强则会跳入DEBUG界面,在DEBUG界面中,查看L_FUNCNAME字段对应的值,此值就是就是要找的出口,
再去SE11中通过MODSAP来查看出口对就的是那个SMOD,
接下来就可以在CMOD中创建增强组了,把找到的增强填入,
最后根据实际的业务进行处理。
以上的两种方法是用来找第二代增强。
***方法三****************************************
找BADI的方法。
先运行SE24,查看类对象CL_EXITHANDLER, 在其方法:GET_INSTANCE的14行( CALL METHOD CL_EXITHANDLER=>GET_CLASS_NAME_BY_INTERFACE)打上一个断点。
接下来运行事务代码,当有BADI是将会被执行,这时在DEBUG模式下,会进入类CL_EXITHANDLER 的GET_INSTANCE 方法,按F6执行这个方法之后,点参数EXIT_NAME查看其对应的值,所有的方法实现都在此类对象中,此时就是我们所要找的BADI。
实现BADI的方法
进入SE19,选择Create Implementation中的Classic BADi
另一种方法(跟上面的差不多)
查找源程序,在程序中查找代码段 CL_EXITHANDLER => GET_INSTANCE
就可以找到该程序所用到的BADI。
***方法四****************************************
通过开发类找出口
以ME21N事务代码为例,进入TCODE后,选择点系统 -》状态 -》程序名称,双击后进入到程序中,再点菜单栏中的 转到 -》属性,找到开发类的名称,比如ME21N的开发类是‘ME’。
如果是打出口,则到SMOD事务代码中,点 加强边的按纽,在开发类中输入‘ME’,回车后就会显示出所有的出口。
找BADI也是同样的过程,只是到SE18中去确定BADI
不过此方法找出来的出口,不是针对某个程序的出口,而是把开发类所对应的出口全找出口,所以
还要通过自己的判断找到所需求的出口
*******************************************
增强相关函数和表格
Function:
[1].DYNP_VALUES_READ
[2]. MODX_ALL_ACTIVE_MENUENTRIES(菜单增强)
[3].MODX_FUNCTION_ACTIVE_CHECK(出口函数增强)
[4].MODX_MENUENTRY_ACTIVE_CHECK(菜单增强)
[5].MODX_SUBSCREEN_ACTIVE_CHECK(屏幕增强)

从SAP中查找BADI相关推荐

  1. 什么是BADI,如何从SAP中查找BADI?

    什么是BADI,如何从SAP中查找BADI?   Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. ...

  2. SAP中寻找增强的实现方法

    SAP中寻找增强的实现方法 SAP 增强已经发展过几代了,可参考 SAP 标准教材 BC425 和 BC427.简单的说SAP的用户出口总共有四代: 1.第一代  基于源代码的增强. SAP提供一个空 ...

  3. SAP 中如何寻找增强

    自开发程序查找增强:ZGET_ZQ;ZFIND 参考链接: http://www.cnblogs.com/huangjianisgood/archive/2012/10/10/2717713.html ...

  4. SAP第三代增强——BADI解读

    BAdI是SAP在标准程序中,为客户自定义逻辑所预留的接口(属于第三代增强),在技术本质上是一个interface,通过实现类的向上继承,完成用户逻辑的调用. 操作BAdI的事务代码: SE18:定义 ...

  5. 外行假装内行,我也来谈谈SAP BAPI和BADI

    外行假装内行,我也来谈谈SAP BAPI和BADI A, 什么是BAPI? BAPI是business application programming interface的缩写,是面向对象程序设计方法 ...

  6. ABAP中查找代码的标准程序

    RPR_ABAP_SOURCE_SCAN 可以用于搜索SAP中的程序代码,一般使用时填写开发类.程序名及需要查找的字符串即可,选择屏幕布局和功能很简单,熟悉ABAP代码的人一看就明白了,不多解释了,使 ...

  7. sap中泰国有预扣税设置吗_泰国餐厅密度细分:带有K-means聚类的python

    sap中泰国有预扣税设置吗 Hi! I am Tung, and this is my first stories for my weekend project. What inspired this ...

  8. SAP中总账科目行项目不显示的处理方法

    如下图,查询总账科目行项目是财务常规操作.某科目在事务FBL3N中提示不可能显示行项目 在SAP社区查找了一下资料,提取一段相关问题的描述如下: A precondition for using th ...

  9. SAP中复制创建采购申请的过程

    如主题,类似采用参照或复制方式创建在办公软件中的是很常用的功能和方法.本身也只是操作上的问题.笔者刚好遇到,所以就记录下来. SAP中有时采购申请者可以会将关键字段填错,而又无法更改.如下图订单,创建 ...

最新文章

  1. 强人工智能基本问题:全局控制与自组织
  2. Notepad++ 更改和定制主题
  3. CentOS单机安装k8s并部署.NET 6程序
  4. quick time不可用_那些校园中“不可言说”的鄙视链
  5. 漫步数理统计三十二——中心极限定理
  6. python的作用域分别有几种_python 作用域知识点整理
  7. Appium之开发计算器自动化测试脚本Demo
  8. C# 计算一点绕另一点旋转一定角度后新点的坐标
  9. 最完整Android Studio插件整理 (转)
  10. 2019年Python数据挖掘就业前景前瞻
  11. python图像风格迁移_Python 超简单实现9种图像风格迁移
  12. 智课雅思词汇---十六、前缀hyper和hypo是反义词
  13. 《别做正常的傻瓜》的一些读书心得
  14. 使用虹软SDK实现离线人脸识别(局域网)
  15. 华为机试题:HJ108 求最小公倍数(python)
  16. HTML入门---慕课网
  17. 计算机管理创建扩展分区,win7系统怎么创建磁盘管理扩展分区
  18. 基于sklearn随机森林算法对鸢尾花数据进行分类
  19. 对 VIIRS/NPP 夜光数据的解读
  20. STM32学习 基于STM32F103C8t6

热门文章

  1. 爱点击ICLK.US增持畅移,深度协同催生更多增长机会
  2. Java Web(day05) —— 请求和响应
  3. Mastercam 2017 图形阵列(矩形阵列与环形阵列)
  4. 基于QT实现的图元拖曳、定点滚轮旋转和缩放
  5. 安装软件和驱动程序需要微软数字签名无法安装?数字签名和数字证书区别
  6. [含论文+源码等]基于HTML5,DIV CSS实现的宠物狗个性化服务网站前端(静态网页毕业设计)web前端毕设
  7. Windows安全事件日志中的事件编号与描述
  8. 2016年关总结 让爱更有力量
  9. 浙大版《python程序设计》第2章课后习题
  10. Android屏幕压力,Android将逆袭桌面,微软压力巨大