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

黑山老妖的博客

 
 
 

日志

 
 
关于我

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

SAP ABAP/4 BADI 入门篇   

2007-04-16 10:31:14|  分类: ABAP |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

以上一个是BADI的定义, 那么什么是BADI呢, 说土点就是现在你定义个接口类,但是这个接口

类有一些方法,但是这些方法都是空的,这些方法也有都自己的IMPORTING ,EXPORTING,

CHANING参数.但是这些方法没有被实现, 而你却还要在自己当前写的程序中去调用这个

没有被实现的方法, 这里就出现了一堆问题,   

 

http://blog.csdn.net/opparts/archive/2005/08/17/456467.aspx

 

为什么要调用它?

为什么这个BADI是空的?

为什么要做这样的一个空的东西?

下面将回答这些问题, 因为比较偷懒所以没找到比较好的例子, 以下是一个SAP的业务场景:

      SALES ORDER的ITEM数据行的DETAIL信息, SAP系统给客户留了一个BADI, 这个

BADI被系统的标准程序调用过, 显示一个SUBSCREEN, 里面包含一些信息, 如下:

 

1、关于增强的简单介绍
1.1 SMOD包含具体的增强,而CMOD是包含一组SMOD编写的增强. 
1.2 User exits (Function module exits)是sap提供出口,它的命名规则如下:
EXIT_<program name><3 digit suffix> 
示例:
sd的VA01事务,对应的程序是SAPMV45A ,你会在程序里查到(用CALL CUSTOMER-FUNCTION字符串)如下代码:
CALL CUSTOMER-FUNCTION '003'
  exporting
    xvbak   = vbak
    xvbuk   = vbuk
    xkomk   = tkomk
  importing
    lvf_subrc = lvf_subrc
  tables
    xvbfa = xvbfa
    xvbap = xvbap
    xvbup = xvbup.
则exit calls function module的名称就是: EXIT_SAPMV45A_003


2、先试用SMOD建立一个SAP增强
2.1、选择一个增强,如:SDVFX001 ,点击修改,进入sap增强维护屏幕;
2.2、点击“组件”按钮,进入组件维护屏;
2.3、将光标移到“功能模块名”,输入模块名,如:EXIT_SAPLV60B_001;
2.4、选择“代码修改”按钮进入函数模块;
2.5、双击函数模块的包含单元,进入包含单元加入自定义代码并激活保存;

3、使用CMOD建立增强项目
3.1、输入自定义的项目名,点击“创建”;
3.2、进入增强项目,选择“配置增强”,进入增强配置屏幕;
3.3、输入增强名如:SDVFX001
3.4、保存,并退出;

4、使用CMOD将增强项目激活,便大工告成。



 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1150258

  评论这张
 
阅读(511)| 评论(0)
推荐 转载

历史上的今天

评论

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

页脚

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