代码改变世界

转载:【增强】SAP增强以及使用Function Model Exit

2012-10-19 14:59  VincentMK  阅读(340)  评论(0编辑  收藏  举报

作者:edison_tc

我心目中的大神。

致敬!

博客地址:http://scnblogs.techweb.com.cn/tcsapbw/

SAP 增强简介

在SAP ABAP中,其中很大一部分工作是关于增强enhancement之类的工作,这也是在所难免的,毕竟“萝卜白菜各有所爱”,相同的business于不同的公司可能会有不同的solution。同时,作为SAP,虽然能够尽量努力要求自己去满足不断变化的社会需求(所以我们的SAP系统,从自己接触的几个版本,无论是R/3、ECC、BW、CRM等都是在不断的增强),但是,正如人无完人的道理一样,客户的需求实在是太多太”奇怪”,所以,SAP 增强对于我们ABAP developer来说,是一项必需能熟练使用的skill,也是对项目对客户负责全面地提供solution的一项保证。

目前的版本来说,SAP增强主要有如: Function model exit、Menu exit、Screen exit、BADI等。SAP有一项专门enhancement的training隶属于BC系列。

本文暂就自己总结的Function model Exit作例。

Function Model Exit简介

Function model exit,也是我们平常最常听到以及最常使用的“出口”。一般而言,我们对一个SAP现正在run的业务进行一些customizing大部分是属于这一范畴(当然,作为ABAP developer,我们不能视EXIT为万能,在做EXIT开始之前,需要知道是否现存的模块中的customizing是否满足,这需要我们Developer具有一定的业务知识,如果无consultant在旁的话)。

使用Function Model Exit

以下使用一个例程详细地记述FM exit的过程。作为测试,不给出具体的需求,仅要求对Tcode: MIGO进行增强。

1.查找FM Exit

我们要对MIGO进行增强。

找到MIGO的程序名:System–>Status:

127

可以得到:

224

SE80中去global搜索,以Call Customer-function作为Key word:

317

结果:

412

OK,得出它要用到的FM Exit : EXIT_SAPLMIGO_001(名称的组成: exit_程序名_得到的ID)。

510

现在去寻找该FM Exit所对应的enhancement name:

Tcode: SMOD

(注意,展开all selection)

然后利用我们的FM Exit去搜索:

69

 

结果:

76

得到了enhancement name: MBCF0006

点击进去我们可以发现:

83

MIGO中的这个FM Exit是用来控制wbs的。

2.创建enhancement Project

(1) Tcode: CMOD创建project

注意:如果在本系统中,已有他人/或者自己 已经创建并激活过了该exit,那么我们不能再创建并激活它了。所以,我们一般的操作是:为防止这种情况,我们会集中管理exit的task,然后,在实现代码中进行处理(如添加user指明who作了哪些工作)。

91

点击Create:

10

点击Enhancemnet Assignment:

1110

(2) 对enhancement进行实现

128

进入我们的FM Exit: EXIT_SAPLMIGO_001

使用Display –>Edit

它的FM Group: XMBC

131

Import:

141

Export:无

Changing:

151

Source:

161

增强这个include,双击:

171

Yes来Create:

181

3.激活enhancement Project

点击激活:

191

最后我们的enhancement project:

20

4.测试enhancement Project

MIGO进入,并尝试一次post。

注意

这里因为必须要对具有WBS的行项目才能做该enhancement。SAPLMIGO中代码

如下:

2110

而Q就是代表着project的类型。

要做这个测试,我们需要在MIGO选择special Movement type为’Q‘:我们可以使用PS模块中先创建如WBS,然后再与MM模块的PO等联系,再来测试。

这是一个业务流程,有兴趣可以尝试去操作。

这里,关于FM Exit知识技术告一段落。当然,更深入学习,可以参照相关SAP文档。