查找BADI的方法:
(1)通过SE24,输入CL_EXITHANDLER,然后在方法GET_INSTANCE中设置断点,然后运行事务代码判断 exit_name的值,
操作过程如下:
输入se24,然后输入cl_exithandler

找到 GET_INSTANCE 方法,双击get_instance设置断点查看exit_name的值:

示例:  我们要找PO保存的增强,可以用哪个BADI ?
前台输入 ME21N,进入断点, EXIT_NAME = ME_GUI_PO_CUST

F8 , EXIT_NAME = GOS_SRV_SELECT

F8 , EXIT_NAME = BADI_LAYER

F8 下一步, EXIT_NAME  =  ME_TAX_FROM_ADDRESS,没往下走一步都有响应的BADI

还是直接测试到 保存的时候,填好数据,点击保存;

在类CL_EXITHANDLER的断点里没有停下,原因是:我刚才为了走完,直接到保存的时候再看 EXIT_NAME ,把断点删除了;

OK 再试一次,这回记得在保存之前的一步,再设置断点:
进入断点了;这次  EXIT_NAME   =   ME_INFOREC_SEND

我再点击了3次F8 ,得到预期结果:EXIT_NAME  =  ME_PURCHDOC_POSTED  

以前我也没怎么这么正经的取跟BADI ,都是网上找找或者找前辈请教,现在看来,这里面是有很多学问的

再下一步是这个

然后运行完:

再用方式

(2) 通过st05跟踪 找BADI

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接口的定义。

PO经常用到的BADI: ME_PROCESS_PO_CUST  ; ME_PURCHDOC_POSTED

因为 ME_PROCESS_PO 仅能在 SAP 内部实施,如果要使用,要做相应的隐式增强(这个有机会可以研究

还遇到这个例子,也是仅能内部实施,而且没有 _CUST

这个BADI 勾上仅可SAP内部使用了,我想用这个  有办法吗

这种BADI 直接使用不了,要去查看他有没有实施类,在实施类里做隐式增强

注意:sap的实现类你是不能跳过的,你要看下sap的实施类有没有被调用。然后在增强

SAP 增强篇 Method1 BADI增强的查找方法的更多相关文章

  1. sap 三代出口(BADI)的查找方法

    sap 三代出口(BADI)的查找方法 对于根据事务代码查找对应的BADI,网上介绍的方法很多,但总结下来无非就两种方法,在此把它记录下来,方便以后自己查阅了.(1)通过SE24,输入CL_EXITH ...

  2. 增强篇6 CMOD增强删除

    CMOD实施了一个增强,但是不需要了,怎么删除呢? 要删除PPCO0005 这个增强,进入编辑状态,发现没有删除按钮,  把PPCO0005 这项删除掉 敲回车,厉害了,他又回来了,所以在这里是没法删 ...

  3. 几种sap增强的查找方法

    ***方法一**************************************** 通过SE30,运行TCODE后,点Evaluate后,查看运行时间分析评估:命中清单. 找以“exit”开 ...

  4. 关于EXIT和BADI增强的查找

    EXIT出口的查找: 方法一: 第一步:通过SE30,输入TCODE(例如ME21N),执行EXCUTE,前台创建一张采购订单.点击TIMES页签,查找EXIT开头的SAP程序.  第二步:这些fun ...

  5. SAP翔子_增强篇索引

    序号 描述 SAP翔子_增强篇0 增强篇0 SAP的多种增强方式 SAP翔子_增强篇1 增强篇1 PO保存增强 SAP翔子_增强篇2 增强篇2 生产订单屏幕增强 SAP翔子_增强篇3 增强篇3 SAP ...

  6. [SAP ABAP开发技术总结]增强Enhancement

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  7. SAP S4/HANA BP屏幕增强添加自定义字段(BDT方式)

    喜欢博主的读者也许会意识到,这是本博客中第一篇有关屏幕增强的文章.之前没有总结过相关的东西,除了因为相关经验有限之外,我个人也是不喜欢所谓dynpro编程的,它有许多“潜规则”一样的东西要记住,想要运 ...

  8. 基于SAP Kyma的订单编排增强介绍

    尽管有一万个舍不得,2018年还是无可挽回地离我们远去了. 唯有SAP成都研究院的同事和我去年在网络上留下的这些痕迹,能证明2018年我们曾经很认真地去度过每一天: SAP成都研究院2018年总共87 ...

  9. SAP增强 和VA01相关增强点介绍

    -转 sap寻找用户出口方法 sap的用户出口总共有三代: 一.User EXIT 第一代的用户出口,它们include在SAP标准程序的源代码里,可以说他们是源代码的一部分,你改了这种出口就相当于改 ...

随机推荐

  1. (Python) SOAP Web Service (HTTP POST)

    功能很强大,可惜只有试用 https://www.example-code.com/python/soap_web_service.asp

  2. noi.ac #46 最长上升子序列

    \(des\) 长度为 \(n\) 的序列 \(A\),从中删去恰好 \(k\) 个元素(右边的元素往左边移动),记 \(cnt\) 为新 序列中 \(Ai = i\) 的元素个数(即权值与下标相同的 ...

  3. 【转】浅析Linux中的零拷贝技术

    本文探讨Linux中主要的几种零拷贝技术以及零拷贝技术适用的场景.为了迅速建立起零拷贝的概念,我们拿一个常用的场景进行引入: 引文## 在写一个服务端程序时(Web Server或者文件服务器),文件 ...

  4. [golang]Go内嵌静态资源go-bindata的安装及使用

    使用 Go 开发应用的时候,有时会遇到需要读取静态资源的情况.比如开发 Web 应用,程序需要加载模板文件生成输出的 HTML.在程序部署的时候,除了发布应用可执行文件外,还需要发布依赖的静态资源文件 ...

  5. go type别名和定义类型区别

    package main import ( "fmt" ) type person struct { age int name string } func (p person)te ...

  6. 深入理解JVM虚拟机12:JVM性能管理神器VisualVM介绍与实战

    一.VisualVM是什么? VisualVM是一款免费的JAVA虚拟机图形化监控分析工具. 1.  拥有图形化的监控界面.    2. 提供本地.远程的JVM监控分析功能.    3. 是一款免费的 ...

  7. 小福bbs-冲刺日志(第三天)

    [小福bbs-冲刺日志(第三天)] 这个作业属于哪个课程 班级链接 这个作业要求在哪里 作业要求的链接 团队名称 小福bbs 这个作业的目标 前端交付部分页面给后端 ,后端开始完成部分功能 作业的正文 ...

  8. 【转】php7+IIS 配置环境(windows环境)

    继php7+apache2.4 配置环境(window环境)后,由于B2C项目准备上线:特此小编在阿里云上搭建PHP7环境,为此特写上搭建过程希望正处于搭建php7+IIS(windows环境)中的朋 ...

  9. 如何将eclipse项目导入到idea

    intellij idea中文资料网上比较少,对于eclipse的项目如何导入intellij idea也没有完整的说明,本人在这里整理下,方便更多人加入到intellij idea的阵容里. 直接上 ...

  10. https://pingcap.com/blog-cn/flame-graph/

    https://pingcap.com/blog-cn/flame-graph/ 因为 TiKV 是自己内部使用了 jemalloc,并没有用系统的 malloc,所以我们不能直接用 perf 来探查 ...