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标准程序的源代码里,可以说他们是源代码的一部分,你改了这种出口就相当于改 ...
随机推荐
- C# URL编码转换 URL转码 UrlDecode UrlEncode
using System.Web; 引用system.web. textBox2.Text = System.Web.HttpUtility.UrlDecode(textBox1.Text, Syst ...
- MySQL 索引原理以及慢查询优化
本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree ...
- mysql在group by分组后查询第二条/第三条乃至每组中任意一条数据
昨天老板让我查询项目中(众筹),没人刚发起感召后,前三笔钱的入账时间和金额,这把大哥整懵逼了,group by在某些方面是好使,但这次不能为我所用了,获取第一笔进账是简单,可以用group by 直接 ...
- Problem 1 bfs+set
$des$ 小G有一个长度为 $n$ 的 01 串 T ,其中只有 $T_S = 1$,其余位置都是 $0$.现在小G可以进行若干次以下操作:选择一个长度为 $K$ 的连续子串(K是给定的常数),翻转 ...
- python2 && python3 的 input函数
Python2.x中的input()函数input()函数让我们明确我们输入的是数字格式还是字符格式,就是我们自己要知道我们想要的是什么,数字格式直接输入,字符格式必须加上单引号或者双引号,以确定我们 ...
- bootstraptable重新加载
bootstraptable需要彻底重新加载,发现即使url等参数更新过来仍旧无效.需要调用 $("#resource_table").bootstrapTable('destro ...
- BS4库详解
from bs4 import BeautifulSoup html = """ <html><head><title>This is ...
- 已知 sqrt (2)约等于 1.414,要求不用数学库,求 sqrt (2)精确到小数点后 10 位
问题:已知 sqrt (2)约等于 1.414,要求不用数学库,求 sqrt (2)精确到小数点后 10 位. 出题人:阿里巴巴出题专家:文景/阿里云 CDN 资深技术专家. 考察点:基础算法的灵活应 ...
- 在java的Map集合中,怎样更改value的值
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/chenyao1994/article/de ...
- cropper手机使用实例
cropper手机使用实例 一.总结 一句话总结: 启示:还是要多个相关的实例交叉使用,相互印证,查漏补缺,可以更加高效和方便和节约时间 二.Cropper.js从前台到后台的完整实例应用 转自或参考 ...