注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

黑山老妖的博客

 
 
 

日志

 
 
关于我

主要用来存放收集的资料,几乎都是转贴的东西!感谢原作者!

网易考拉推荐

User Exits, Customer Exits, BAdI   

2008-05-05 14:06:53|  分类: ABAP |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

关键字:   User Exits, Customer Exits, BAdI    

Basic Concepts:

1. User Exits: 是系统中预留的一些空的Form/Subroutine, 获得Access key后可以在Form中写入自己的逻辑.

2. Customer Exits :

    a. FM Exits: 在FM中include customer namespace程序来提供功能扩展点

    b. Menu Exits: 在GUI status中预留+Fcode menu item, 在程序中预留对应的Handling FM Exits

    c. Screen Exits: 在Screen 中预留 Subscreen, 在程序中预留transport data to subscreen & return / retrieve data from subscreen 的 FM Exits

3. Enhancement & Enhancement Project :

    a. Enhancement: 把系统程序中的相关Customer Exits收集起来成为一个Enhancement, 一般情况是按功能和类型来收集的, 比方说几个相关的FM eixts组成一个enhancemnet, 或就一个 screen 或 menu exits 形成一个enhancement.  查看/修改 Enhancement的t-code为: SMOD

    b. Enhancement Project: 在使用Enhacement时, 要先建立一个Enhancement Project, 可以将多个Enhancement assign给一个enhancement project去管理, 对应t-code: CMOD.

4. BADI (Business Add-in), 通过面向对象的方式来提供扩展点,它支持Customer Exits所有的enhancement 类型,因目前Class中不能包含subscreen所以在用BADI enhance screen时比用Customer Exits要复杂些.相关机制请参考我以前的blog.

5. Other

User Exits与Customer Exits的区别在于User Exits的使用需要Access Key但Customer Exits不要.

FM exits在关联的Function Group中的命名规则为: EXIT_program name_nnn

Customer exits的调用方式为:

     a. FM Exits: CALL CUSTOMER-FUNCTION 'xxx' EXPORTING ... IMPORTING ...

     b. Subscreen: Call CUSTOMER-SUBSCREEN INCLUDING

How to find user exits?

Using t-code: SE93 and specify the transaction code. from here goto the main program and click on the FIND button. Specify USEREXIT and select find in main program radio button and click search... if any user exit is used, it will list all the places as in SAP if any user exit is used, a comment is been written above the user exit.

How to find customer exits?

     1. 通过一些专门的程序,见附件

    2. Search string “call customer” in the main program source code;

    3. SE80 -> Repository Infomation System -> Enhancements -> Customer Exits -> Input search condition -> Execute

    4. SE11 -> Database table: MODSAPVIEW -> Display Contents -> Input "*program name*" into Enhancement field -> Execute -> 得到的SAP extension name 即为 Customer Exits Enhancement Name

How to find BADIs?

     1. 通过一些专门的程序,见附件

     2. Search string “type ref to” in the main program source code, then check if there is BAdi used in the program;

     3. Set break-point in the method CL_EXITHANDLER=>GET_INSTANCE.

      4.  SE80 -> Repository Infomation System -> Enhancements -> Business Add-ins

Customer Exits and BADI implementation.

      1. Customer Exits: SMOD, CMOD

       2. BADI: SE18, SE19.

Attachment is an ABAP program which can find customer exits and BADIs conveniently.

  评论这张
 
阅读(160)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018