ABAP增强查找方法

上传人:206****923 文档编号:37520615 上传时间:2018-04-17 格式:DOCX 页数:7 大小:18.54KB
返回 下载 相关 举报
ABAP增强查找方法_第1页
第1页 / 共7页
ABAP增强查找方法_第2页
第2页 / 共7页
ABAP增强查找方法_第3页
第3页 / 共7页
ABAP增强查找方法_第4页
第4页 / 共7页
ABAP增强查找方法_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《ABAP增强查找方法》由会员分享,可在线阅读,更多相关《ABAP增强查找方法(7页珍藏版)》请在金锄头文库上搜索。

1、AP 增强已经发展过几代了,可参考 SAP 标准教材 BC425 和 BC427。简单的说 SAP 的用户出口总共有四代: 1、第一代、第一代 基于源代码的增强。基于源代码的增强。SAP 提供一个空代码的子过程,在这个子过程中用户可以添加自己的代码,控制自己的需求。这类增强都需要修改 sap 的标准代码。 示例:USEREXIT. in SAPMV45A 源代码增强以子程序形式发布,在 SAP 的发行版本中,使用PERFORM 调用这些子程序,它们在发布时都是空的,集中在一些文件名倒数第二个字符 为 Z 的包含程序中。用户增强时,应首先到service marketplace 申请对象键,然后

2、才能修改这些子程序,这些子程序可以使用程序中所有的全局数据。屏幕增强以客户屏幕形式发布,它们包含在标准程序中,没有什么特别规律。这种源代码增强和屏幕增强的说明可以从事务码 spro 后台配置中相关模块的路径里面找到。同时使用的针对数据表的增强是 append structure,可以在事务码se11 中打开透明表,点击应用工具栏最右边的那个 append structure按钮就能为数据表追加新的字段。2、第二代、第二代 基于函数模块的增强。基于函数模块的增强。SAP 提供的是 CUSTOMER-FUNCTION,它是通过 SMOD 和 CMOD 完成实现。源代码增强以函数模块形式发布,在 S

3、AP 的发行版本中,使用 CALL CUSTOMER-FUNCTION 调用这些函数模块,它们在发布时只有一句代码 INCLUDE xxxxxxx。用户增强时,无需申请对象键,直接双击这个包含,然后回车,就可以创建相关的包含文件,编写相应的代码了。这些函数模块中只能使用接口中 传递的参数,不能使用调用程序的全局变量。屏幕增强也包含在函数模块所属的函数组中。针对数据表的增强是 CI_ 结构,这些结构以 .INCLUDE 结构的形式包含在 SAP 发布的数据表中,用户可以通过向这些结构中添加字段而对数据表进行增强。上述这类增强通过事务码 SMOD 进行维护,CMOD 进行实现。SMOD中的一个增强

4、可以包含上述的源代码、屏幕和表结构增强,按照较容易理解的逻辑结构来管理这些增强,使用相对更加便利。3、第三代、第三代 基于面向对象概念的增强。基于面向对象概念的增强。SAP 提供的第三代的用户出口就是 BADI,它使用类、接口及方法等面向对象的概念,采用一种使用面向对象的方法来进行 SAP 增强,他的调用方式是 CALL METHOD (instance), (相关的 TCODE 是 SE18 和SE19) ,可以通过 EXIT_HANDLER 这个单词查找 BADI。BAdI(Business Add-Ins) ,源代码增强以接口形式发布,在 SAP 的发行版本中,也是通过接口的方法调用来使

5、用。用户增强时,实际是实现一个(或多个)基于这个 接口的实现类。由于接口可以有多个实现类,所以对一个增强可以有多种不同的源代码,它们通过过滤器应用于不同的业务场景。这种增强使用事务码 SE18 创建、SE19 实现。4、第四代:Switch Framework。SAP 从 NetWeaver 7.0 以后推出的新增强体系,它对 BAdI 做出了改进,改叫新 BAdI 了。还新增 Enhancement Spot 和 Enhancement Section 以及隐式增强点的概念,基本可以在面向对象的程序里实现处处皆可增强的最高境界。寻找增强的四个方法:方法一、利用方法一、利用 TCODE 寻找增

6、强(第二代的增强)寻找增强(第二代的增强) 执行一个程序(源代码后附) ,在选择屏幕处输入你所需要增强的程序 TCODE,执行後,就会出现一个列表,那里就有关于如何增强这个的绝大部分 SMOD 增强。 点击进去,本人手动寻找需要的增强。 这是第二代增强! 方法二、利用系统函数寻找方法二、利用系统函数寻找 MODX_FUNCTION_ACTIVE_CHECK , 在这个 FUNCTION 的代码最后添加一个断点。执行需要增强的TCODE,如果有增强,就会自动跳入 DEBUG 界面。在 DEBUG 界面,查看 f_tab 字段,这里面所显示的 Smod 就是关于这个 TCODE 所有的增强项目的列

7、表。这些增强都是属于 EXIT_XXXXXX_XXX 这种形式。至于如何查看这个增强是属于哪个 SMOD,查阅 MODSAP 这个表(SAP Enhancements). 这是第二代增强。还有一些 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(屏幕增强) 这些的使用方法和上述的一样,能够针对各种情

8、况寻找增强。方法三、从程序代码中找方法三、从程序代码中找对于第一代增强,可以用以下方法查找增强: 在需要增强的程序里面,打开 SYSTEMstatus,双击进入PROGRAM,打开欲增强的程序,点击工具栏上的“Display Object List”按钮,选择 Subroutines,查找以“UserExit”开头的子程序,根据子程序前面的注释文档来查找用户出口, 由描述来确定合适的 需要增强的 FORM。对于第二代增强,可以用以下方法查找增强 用户增强通常包括下面 3 类,顾名思义,就是增强 SAP 的可能没有提供的功能(通过后台配置也不能实现). 1.E Enhancement exits

9、 :就是常说 User_exit (用户出口) 使用 SE37 搜索 EXIT*的函数大都是做 exit 用的,通常里面预包含了一个 Z 开头 的程序. SE16 查询 TFDIR(函数表)输入 EXIT*也可. 2.C GUI codes( GUI 接口增强) 3. S Subscreens (屏幕增强) Enhancement 在表 MODSAP 可看到,而 TFDIR 字段 MAND(值为 C 表示此出口函数被激活).使用 SMOD(CMOD)当然可激活 exit function,有时候一时难以查询到相关 Enhancement 时可使用下面程序将出口函数激活. REPORT Zact

10、exitfun . data ztfdir like tfdir . * select single * from tfdir into ztfdir * where FUNCNAME = * EXIT_SAPMM06E_013. * ztfdir-MAND = C . * update tfdir from ztfdir. * 将 EXIT_SAPMM06E_013 换成实际所需 exit 函数名 update tfdir set MAND = C. where FUNcname = EXIT_SAPMM06E_013. *当然也可 SE16:MODSAP 表 enhancement 输入E

11、XIT_SAPMM06E_013 然后得到 enhancement name MM06E005 后使用 SMOD 测试激活 exit 函数.Table: 1. TFDIR-function module table 2. MODSAP-sap enhancement table 3. TSDIR-Dynpro Areas CALL CUSTOMER SUBSCREEN(屏幕增强) 4. CUATEXTS- GUI Interface: Menu Texts Changed(GUI 菜单文本增强)*注意,为了确保一个出口被真正应用,必须同时激活相关程序(SE38)和出口函数(SMOD|CMOD,

12、反正就是要保证 tfdir-mandt=C,用程序也可. 方法四、针对方法四、针对 BADI 的增强的增强 . 1、badi 对象的消息存储在 SXS_INTER, SXC_EXIT, SXC_CLASS 和SXC_ATTR 这四个表中。 2、sap 程序都会调用 cl_exithandler=get_instance 来判断对象能否具有,并前往实例;其实 get_instance 就是对上述几个表和他们的视图(V_EXT_IMP 和 V_EXT_ACT)进行查询和搜索。 因此可以通过SE24- CL_EXITHANDLE-方法 GET_INSTANCE 设置断点,获取相关的BADI。3、基于这个机理,用 ST05 来监控一个 TCODE 来跟踪,然后选择查找有关上述几个表和视图的操做,就可获得相关 BADI。 4、se18 查找接口,se19 实现接口就能够实现用户增强。方法五、通过方法五、通过 SPRO 后台配置相关模块下的菜单查找,此处的增强后台配置相关模块下的菜单查找,此处的增强组件有比较详细的说明组件有比较详细的说明

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号