对于根据事务代码查找对应的BADI,网上介绍的方法很多,但总结下来无非就两种方法,在此把它记录下来,方便以后自己查阅了。 (1)通过SE24,输入CL_EXITHANDLER,然后在方法GET_INSTANCE中设置断点,然后运行事务代码判断 exit_name的值,操作过程如下: 输入se24,然后输入cl_exithandler
进去双击get_instance设置断点查看exit_name的值:
在
CALL METHOD CL_EXITHANDLER=>GET_CLASS_NAME_BY_INTERFACE 處設置斷點,如果要查看ME21N這個事務代碼的增強點時,可以直接在另外一個窗口運行ME21N,exit_name對應的就是增強的名稱!!
(2)通过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接口的定义。
if ($ != jQuery) { $ = jQuery.noConflict(); } var isLogined = false; var cb_blogId = 45610; var cb_entryId = 1878206; var cb_blogApp = "yanluckly"; var cb_blogUserGuid = "fbf8460b-63cf-dd11-9e4d-001cf0cd104b"; var cb_entryCreatedDate = '2010/11/16 9:47:00';