关于EXIT和BADI增强的查找
EXIT出口的查找:
方法一:
第一步:通过SE30,输入TCODE(例如ME21N),执行EXCUTE,前台创建一张采购订单。点击TIMES页签,查找EXIT开头的SAP程序。


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


方法二:
第一步:通过SE37中的:MODX_FUNCTION_ACTIVE_CHECK 函数来找。
在函数的最后一行打个断点,再运行TCODE(例如ME21N),如果有增强则会跳入DEBUG界面,在DEBUG界面中,查看L_FUNCNAME字段对应的值,此值就是就是要找的出口,

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

第三步:找到合适的出口,通过TCODE-CMOD创建项目,将SMOD分配增强里,根据业务需求进行开发即可。
如果碰到增强已经属于其他项目,则可以其他项目里进行开发。
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。
不过此方法找出来的出口,不是针对某个程序的出口,而是把开发类所对应的出口全找出口,所以还要通过自己的判断找到所需求的出口
关于EXIT和BADI增强的查找的更多相关文章
- SAP 增强篇 Method1 BADI增强的查找方法
查找BADI的方法:(1)通过SE24,输入CL_EXITHANDLER,然后在方法GET_INSTANCE中设置断点,然后运行事务代码判断 exit_name的值,操作过程如下:输入se24,然后输 ...
- sap 三代出口(BADI)的查找方法
sap 三代出口(BADI)的查找方法 对于根据事务代码查找对应的BADI,网上介绍的方法很多,但总结下来无非就两种方法,在此把它记录下来,方便以后自己查阅了.(1)通过SE24,输入CL_EXITH ...
- 20170520 BADI增强学习
一.要求:Tcode:FF_5 导入数据运行时,产生财务凭证之前修改某些字段值.Exmp:FEBRE-VWEZWBKPF-XBLNRFEBEP-CHECTBSEG-ZUONR there is a b ...
- 几种sap增强的查找方法
***方法一**************************************** 通过SE30,运行TCODE后,点Evaluate后,查看运行时间分析评估:命中清单. 找以“exit”开 ...
- badi增强
对于根据事务代码查找对应的BADI,网上介绍的方法很多,但总结下来无非就两种方法,在此把它记录下来,方便以后自己查阅了. (1)通过SE24,输入CL_EXITHANDLER,然后在方法GET_INS ...
- F110 BADI增强
F110*JOB*&------------------------------------------------------------- F110 BADI FI_BSTM_MC_EXI ...
- PP生产订单的BADI增强 WORKORDER_UPDATE
METHOD if_ex_workorder_update~before_update. *---------------------->增强1 开始* "当生产订单类型为PP01时, ...
- SD 销售订单的BADI增强SD_BADI_PRICE_CHECK
METHOD if_ex_badi_sd_sales~save_document.* CALL FUNCTION 'POPUP_TO_DISPLAY_TEXT'* EXPORTING* titel = ...
- ABAP_增强点查找
*&---------------------------------------------------------------------* *& Report Z_FIND_EN ...
随机推荐
- SpringMVC配置了拦截器(interceptors)却显示不出css、js样式的解决办法
首先因为在web.xml里面配置了 <filter-mapping> <filter-name>characterEncodingFilter</filter-name& ...
- Java面向基础概述和三大特性
Java 是面向对象的高级编程语言,类和对象是 Java 程序的构成核心.围绕着 Java 类和 Java 对象,有三大基本特性:封装是 Java 类的编写规范.继承是类与类之间联系的一种形式.而多态 ...
- .net压缩文件
首先nuget安装DotNetZip 代码很少
- LESSON 4- Entropy and Asymptotic Equipartition Property
1. Entropy 2. 序列熵(无记忆,有记忆,马尔科夫) 3. Fixed-to-variable-length codes (给n个输出symbols进行变长 ...
- MYSQL删除
1.使用360卸载,并强力删除相关东东 2.清理注册表: A.HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application ...
- 文件系统之LVM 逻辑卷管理
1. LVM介绍 LVM 是 Logical Volume Manager 的简称,中文就是逻辑卷管理. 物理卷(PV,Physical Volume):就是真正的物理硬盘或分区. 卷组(VG,Vol ...
- 深入浅出-iOS程序性能优化
iOS应用是非常注重用户体验的,不光是要求界面设计合理美观,也要求各种UI的反应灵敏,我相信大家对那种一拖就卡卡卡的 TableView 应用没什么好印象.还记得12306么,那个速度,相信大家都受不 ...
- 使用Feign访问接口
添加主要依赖 使用Feign访问接口的配置,如果服务不在Eureka上,可以不加Eureka的依赖,用在FeignClient上指定url的方式访问 dependencies { compile(' ...
- 获取JVM转储文件的Java工具类
在上期文章如何获取JVM堆转储文件中,介绍了几种方法获取JVM的转储文件,其中编程方法是里面唯一一个从JVM内部获取的方法.这里就不演示了其他方法获取正在运行的应用程序的堆转储,重点放在了使用编程来获 ...
- linux下docker安装部署项目(全)
一 .系统安装 基于CentOS-7-x86_64-Minimal-1708.iso安装系统 1.2. 配置系统 1.2.1 在线更新内核版本(建议更新,旧版内核会有docker BUG) 1.2 ...

