惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Docker
月光博客
月光博客
B
Blog RSS Feed
C
Check Point Blog
WordPress大学
WordPress大学
T
Tailwind CSS Blog
GbyAI
GbyAI
H
Help Net Security
Y
Y Combinator Blog
I
InfoQ
雷峰网
雷峰网
阮一峰的网络日志
阮一峰的网络日志
小众软件
小众软件
美团技术团队
博客园 - 三生石上(FineUI控件)
MongoDB | Blog
MongoDB | Blog
Jina AI
Jina AI
A
About on SuperTechFans
G
Google Developers Blog
爱范儿
爱范儿
F
Fortinet All Blogs
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
U
Unit 42
人人都是产品经理
人人都是产品经理

博客园 - reagan

启动FM预算基金管理模块后,0L总账消失的解决办法 ABAP开发工具概述(转) ALV简单模板1 我是怎么看friends练口语的(转贴) WCF绑定类型选择(转) powerbuilder9 连接 oracle 10g pb的网络资源【转】 powerbuider11 C/S 转换为B/S 转:将可执行文件注册成系统windows服务 转:利用reportviewer与C#生成报表 使用SerialPort类设计串口通讯程序 (VS2005)[转载] VS 2005 SP1简体中文版下载地址 C# aspx 数据绑定集中 - reagan Microsoft Expression Studio 2 简体中文正式版 Access数据类型与.net OleDbType枚举类型的对应 60个数据窗口技巧 C#常用函数和方法 【转】在ASP.NET中显示进度条 【转】ADO.NET2.0新特性-异步查询
(转)找增强方法总结
reagan · 2012-08-20 · via 博客园 - reagan

以下是自己平时做增强时,总结出来的找增强的方法,分享给大家,希望对各位有所帮助.不过有些小遗憾,没有图.

***方法一****************************************

通过SE30,运行TCODE后,点Evaluate后,查看运行时间分析评估:命中清单。

找以“exit”开头的SAP程序,如:EXIT_SAPLIE01_007,

这个FUNCTION就是TCODE提供的一个出口。

至于如何查看这个增强是属于哪个SMOD,能够查阅 MODSAP这个表(SAP Enhancements).

***方法二****************************************

通过SE37中的:MODX_FUNCTION_ACTIVE_CHECK 函数来找,

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

再去SE11中通过MODSAP来查看出口对就的是那个SMOD,

接下来就可以在CMOD中创建增强组了,把找到的增强填入,

最后根据实际的业务进行处理。

以上的两种方法是用来找第二代增强。

***方法三****************************************

找BADI的方法。

先运行SE24,查看类对象CL_EXITHANDLER, 在其方法:GET_INSTANCE的14行( CALL METHOD CL_EXITHANDLER=>GET_CLASS_NAME_BY_INTERFACE)打上一个断点。

接下来运行事务代码,当有BADI是将会被执行,这时在DEBUG模式下,会进入类CL_EXITHANDLER 的GET_INSTANCE 方法,按F6执行这个方法之后,点参数EXIT_NAME查看其对应的值,所有的方法实现都在此类对象中,此时就是我们所要找的BADI。

实现BADI的方法

进入SE19,选择Create Implementation中的Classic BADi

另一种方法(跟上面的差不多)

查找源程序,在程序中查找代码段 CL_EXITHANDLER => GET_INSTANCE

就可以找到该程序所用到的BADI。

***方法四****************************************

通过开发类找出口

以ME21N事务代码为例,进入TCODE后,选择点系统 -》状态 -》程序名称,双击后进入到程序中,再点菜单栏中的 转到 -》属性,找到开发类的名称,比如ME21N的开发类是‘ME’。

如果是打出口,则到SMOD事务代码中,点 加强边的按纽,在开发类中输入‘ME’,回车后就会显示出所有的出口。

找BADI也是同样的过程,只是到SE18中去确定BADI

不过此方法找出来的出口,不是针对某个程序的出口,而是把开发类所对应的出口全找出口,所以

还要通过自己的判断找到所需求的出口

*******************************************

增强相关函数和表格

Function:

[1].DYNP_VALUES_READ

[2]. MODX_ALL_ACTIVE_MENUENTRIES(菜单增强)

[3].MODX_FUNCTION_ACTIVE_CHECK(出口函数增强)

[4].MODX_MENUENTRY_ACTIVE_CHECK(菜单增强)

[5].MODX_SUBSCREEN_ACTIVE_CHECK(屏幕增强)

转自:http://scnblogs.techweb.com.cn/shibao12/archives/12.html