SAP 增强篇 Method1 BADI增强的查找方法
查找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增强的查找方法的更多相关文章
- sap 三代出口(BADI)的查找方法
sap 三代出口(BADI)的查找方法 对于根据事务代码查找对应的BADI,网上介绍的方法很多,但总结下来无非就两种方法,在此把它记录下来,方便以后自己查阅了.(1)通过SE24,输入CL_EXITH ...
- 增强篇6 CMOD增强删除
CMOD实施了一个增强,但是不需要了,怎么删除呢? 要删除PPCO0005 这个增强,进入编辑状态,发现没有删除按钮, 把PPCO0005 这项删除掉 敲回车,厉害了,他又回来了,所以在这里是没法删 ...
- 几种sap增强的查找方法
***方法一**************************************** 通过SE30,运行TCODE后,点Evaluate后,查看运行时间分析评估:命中清单. 找以“exit”开 ...
- 关于EXIT和BADI增强的查找
EXIT出口的查找: 方法一: 第一步:通过SE30,输入TCODE(例如ME21N),执行EXCUTE,前台创建一张采购订单.点击TIMES页签,查找EXIT开头的SAP程序. 第二步:这些fun ...
- SAP翔子_增强篇索引
序号 描述 SAP翔子_增强篇0 增强篇0 SAP的多种增强方式 SAP翔子_增强篇1 增强篇1 PO保存增强 SAP翔子_增强篇2 增强篇2 生产订单屏幕增强 SAP翔子_增强篇3 增强篇3 SAP ...
- [SAP ABAP开发技术总结]增强Enhancement
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- SAP S4/HANA BP屏幕增强添加自定义字段(BDT方式)
喜欢博主的读者也许会意识到,这是本博客中第一篇有关屏幕增强的文章.之前没有总结过相关的东西,除了因为相关经验有限之外,我个人也是不喜欢所谓dynpro编程的,它有许多“潜规则”一样的东西要记住,想要运 ...
- 基于SAP Kyma的订单编排增强介绍
尽管有一万个舍不得,2018年还是无可挽回地离我们远去了. 唯有SAP成都研究院的同事和我去年在网络上留下的这些痕迹,能证明2018年我们曾经很认真地去度过每一天: SAP成都研究院2018年总共87 ...
- SAP增强 和VA01相关增强点介绍
-转 sap寻找用户出口方法 sap的用户出口总共有三代: 一.User EXIT 第一代的用户出口,它们include在SAP标准程序的源代码里,可以说他们是源代码的一部分,你改了这种出口就相当于改 ...
随机推荐
- GITHUB下载ANDRIOD源码
1 git clone https://android.googlesource.com/device/common.git 2 git clone https://android.googlesou ...
- 大小端示例-arm c51
大小端系列文章https://blog.csdn.net/liming0931/article/details/100016425 MDK(Keil5,STM32F407)C语言: #include ...
- commons-dbutils 字段名称转换,支持驼峰字段名
你能遇到的问题,只要是普遍存在的,大家都会遇到,那么,就一定有现成的解决方案. 在阅读 commons-dbutils 的文档时, BeanHandler 的第二个参数可以达到这个目的.只需传入一个实 ...
- [Svelte 3] Render HTML directly into a component in Svelte 3
Disclaimer: please use this feature carefully. <script> let stringToRender = "<h1>H ...
- php 数组的计算
数组是我们最常用到的类型,那如何计算某个一维数组的个数呢.其实我们可以用到我们之前学过的数学函数里面的一个:count(). 我们来看看count函数的用法: int count ( mixed $变 ...
- jsp实现大文件上传分片上传断点续传
1,项目调研 因为需要研究下断点上传的问题.找了很久终于找到一个比较好的项目. 在GoogleCode上面,代码弄下来超级不方便,还是配置hosts才好,把代码重新上传到了github上面. http ...
- Linux下的Memcache安装 和 安装Memcache的PHP扩展
一.首先安装服务端memcached 1.下载libevent与memcache软件包. 下载memcached: wget http://memcached.org/latestwget http: ...
- COGS 2687 讨厌整除的小明
二次联通门 : COGS 2687 讨厌整除的小明 /* cogs 2687 讨厌整除的小明 打表出奇迹.. 考场时看了一下样例就感觉有非常鬼畜的做法.. 手搞几组数据做法就出来了... 2333 * ...
- 机器学习---用python实现朴素贝叶斯算法(Machine Learning Naive Bayes Algorithm Application)
在<机器学习---朴素贝叶斯分类器(Machine Learning Naive Bayes Classifier)>一文中,我们介绍了朴素贝叶斯分类器的原理.现在,让我们来实践一下. 在 ...
- 洛谷P2324 [SCOI2005] 骑士精神
题目 方法很多,最经典的是用搜索的算法,也就是\(IDA*\)算法搜索. \(IDA*\)算法是每次规定一个搜索深度,并在搜索的时候限制该搜索深度,从而达到把深搜的优点和广搜的优点结合起来优化时间的一 ...