BADI是SAP的第三代用户出口,采用了面向对象的方式,据说在4.6A版本之后才引入的BADI。
网上流传找BADI的方法不少,
1、在se24中,显示
CL_EXITHANDLER,打开get_instance方法,设置断点,运行一个tcode,看一下exit_name的值,这就是传说的BADI。
2、se37 查看SXV_GET_CLIF_BY_NAME,设置断点,查看name的值。
以上两个是设置断点的方法,网络上说的比较多,好像很好用似的,其实不然,SAP太灵活了,或者说比较乱,有些TCODE用上述方法根本找不到。
也许这也是SAP的高明之处。
兵无常势,水无常形,所以法无定法。
下面介绍另一个查找BADI的方法,我用着挺好用的。
3、使用st05查找BADI
1)ST05,选择SQL trace、buffer trace,然后activate trace
2)运行TCODE
3)deactivate trace
4)display trace,显示display trace的对话框,在表的栏位上加上• V_EXT_IMP和 V_EXT_ACT
5)查看以IF_EX_开头的字符串,这是interface class 的名字,IF_EX_后面的就是BADI。例如IF_EX_EQUI_UPDATE