关于EXIT和BADI加强的查找

EXIT出口的查找:函数

方法一:spa

第一步:经过SE30,输入TCODE(例如ME21N),执行EXCUTE,前台建立一张采购订单。点击TIMES页签,查找EXIT开头的SAP程序。code


 

 

 第二步:这些function就是tcode提供的一个出口,能够经过SE11查询MODSAP表,查看该出口属于哪个SMOD。对象


 

 

 

 

 

方法二:blog

第一步:经过SE37中的:MODX_FUNCTION_ACTIVE_CHECK 函数来找。事务

在函数的最后一行打个断点,再运行TCODE(例如ME21N),若是有加强则会跳入DEBUG界面,在DEBUG界面中,查看L_FUNCNAME字段对应的值,此值就是就是要找的出口,开发


 

 

 

  第二步:这些function就是tcode提供的一个出口,能够经过SE11查询MODSAP表,查看该出口属于哪个SMOD。io

 

 

第三步:找到合适的出口,经过TCODE-CMOD建立项目,将SMOD分配加强里,根据业务需求进行开发便可。function

若是碰到加强已经属于其余项目,则能够其余项目里进行开发。程序


BADI的查找:

 

 

第一步:执行TCODE-SE24,查看类对象CL_EXITHANDLER,。

在其方法:GET_INSTANCE的14行( CALL METHOD CL_EXITHANDLER=>GET_CLASS_NAME_BY_INTERFACE)打上一个断点。

 

 

第二步:接下来运行事务代码例如(ME21N),当有BADI是将会被执行,这时在DEBUG模式下,

会进入类CL_EXITHANDLER 的GET_INSTANCE 方法,按F6执行这个方法以后,点参数EXIT_NAME查看其对应的值,全部的方法实现都在此类对象中,此时就是咱们所要找的BADI。


第三步:进入SE19,选择Create Implementation中的Classic BADI


利用开发类找加强。

第一步:以ME21N事务代码为例,进入TCODE后,选择点系统 ->状态 ->双击事务代码->程序名称,

双击后进入到程序中,再点菜单栏中的 转到 ->属性,找到开发类的名称,好比ME21N的开发类是‘ME’。

 

 

 

 第二步:

若是是找出口,则到SMOD事务代码中,点 增强边的按纽,在开发类中输入‘ME’,回车后就会显示出全部的出口。
找BADI也是一样的过程,只是到SE18中去肯定BADI。
不过此方法找出来的出口,不是针对某个程序的出口,而是把开发类所对应的出口全找出口,因此还要经过本身的判断找到所需求的出口
相关文章
相关标签/搜索