ITPub博客

首页 > Linux操作系统 > Linux操作系统 > BADI and BAPI

BADI and BAPI

原创 Linux操作系统 作者:alpheren 时间:2009-04-20 17:39:09 0 删除 编辑
Content of this article come from internet!~~~~ ref for leaning only.
 
2008年11月11日 星期二 上午 10:30

SE18: BADI Definition
SE19: Implementation

BADI: Interface Class Empty, Method Empty, Use for Customer.

Method be Called:
★Define Class Load
     Class..................... definition load
★Call Method .................->XXXX

如何找出BADI:
1. BADI对象信息存储在SXS_INTER, SXC_EXIT, SXC_CLASS, SXC_ATTR四个表中。
2. 调用CL_EXITHANDLER=>GET_INSTANCEP判别对象是否存在,并返回实例。
3. ST05,监控一个TCODE,查找上述表&视图,可获得相关BADI.
4. SE18查找接口,SE19实现。->实现USER ENHANCEMENT.

或者到SPRO,在相应模块中找到相应BADI。若存在,会显示。
==============================================
创建BADI。
    1. SE18
    2. ZSA_TEST create
         ZIF_EX_SA_TEST Interface Name
         ZCL_EX_SA_TEST Class Name
    3. Save
    4. Click Interface Class builder, Defined Method.

Call BADI.
    1. Declear. Eg: DATA exit_ref TYPE REF TO zif_ex_sa_test.
    2. Call Method. CL_EXITHANDLER=>GET_INSTANCE.
    3. Then can call BADi's Methods.

Implementation.
    1. SE19
    2. ZSA_TEST_IMPLEMENTATION create
    3. Save.
    4. Click Method to Class builder.
    5. Active

 
 
 

明天去KT BAPI.. K啥玩意啊。。

网上搜点资料看看吧。。以下均为搜得:

Business Application Programming Interface - BAPI

1.BAPI – business application programming interface
2.它实际上是一种特殊的Remote Function Modules (RFC)是为了提供使用外部程序来进行交易活动
3.它提供的基于企业目标(Business Object) 技术的接口应用界面
4.SAP采用了Object-oriented技术,逻辑定义了SAP R/3系统的所有功能目标,并且将所有的目标(Objects) 和BAPIs存储于企业目标库BOR(Business Objects Repository).
5.SAP R/3 企业目标的目标类型(Object Type) 相当于目标设计语言中类(Class) 的概念,其定义结构由以下几部分组成:基本数据,接口界面,键(Key Fields),方法(Methods),特征(Attributes),事件(Events)

--如何创建BAPI程序
1.定义BAPI Structure (Structure不能在BAPI中重复使用,因为一旦BAPI被释放,其Structure被冻结)
2.创建FUNCTION MODULE
每个BAPI必须有自己的Function Group,Function Group属性必须为RFC
3.创建Business Object
4.使用BAPI WIZARD创建API Method
这样BAPI可以被外部程序调用
5.Function Module符合BOR Method
4.释放BAPI Function Module,
释放Business Object Type,
释放BAPI作为BOR的一种Method

      BAPI业务应用程序接口(Business Application Programming Interface,简称BAPI)是面向对象程序设计方法中的一组程序接口。它允许程序员通过SAP将第三方软件整合成R/3专有产品。为了完成一些特殊的商业任务,如上传交易数据等,R/3系统中内置了BAPI。

      业务应用程序接口BAPI是一个标准化的开放接口。有了BAPI,用户可以通过测览器、Exchange电子邮件来使用ERP系统,用户可以将这些软件模块与非ERP软件混合匹配使用。

      用户可以按需求单独更新某一个模块,而没有必要为了增强某一个功能对系统进行全面升级。用户用逐个模块更新的办法增强系统的功能,而不必更换整个系统。

      BAPI技术对 ERP软件的开发商说来是非常重大的进步。从MRPII到ERP,系统功能越来越多,一个软件公司无论多么强大,也无法独自开发包括企业全部专业的全部管理功能的软件。在技术上必须有能力把第三方软件接在自己的核心软件上。SAP的BAPI和Oracle应用的30多个API能够使自己的软件具有“无限”的扩展能力。

      BAPI是SAP提供的基于业务对象的函数,关键是它们处理的对象是R/3的业务相关business object),比如单据类销售订单,组织:公司等,它们是一系列实体。RFC则是一种系统间通讯的方式(Remote Funciton Call),一个男人可能同时也是一个老人,一个BAPI函数往往能是一个RFC函数(我不知道是不是所有BAPI都可以有基于RFC技术来调用,但是至少也可以说大部分吧,VB里面用BAPI,就是因为这个BAPI函数具有RFC的特性)

创建BAPI程序的步骤

1.定义BAPI Structure (Structure不能在BAPI中重复使用,因为一旦BAPI被释放,其Structure被冻结)T-CODESE11

2.创建FUNCTION MODULET-CODESE37

每个BAPI必须有自己的Function GroupFunction Group属性必须为RFC

3.创建Business Object(T-CODESWO1)

4.使用BAPI WIZARD创建API Method (T-CODE:SWO1:Utilities--API methods--methods)

这样BAPI可以被外部程序调用

5.Function Module符合BOR Method

4.释放BAPI Function Module,

释放Business Object Type,(先释放对象类型在释放对象类型下的组件)

释放BAPI作为BOR的一种Method

创建BAPI注意事项

1. 要注意 Function Module 要释放了之后, 在SWO1中才可以把 method设为 reaslse. 到se37中, Function Module ---> release ---> release.

2. 添加方法: swo1中, 把鼠标选中在Method上,然后点Create,输入Function的名字, Function加入到了Method中之后,双击这个method,进入method的属性,然后在"ABAP"选项卡中选择API. 然后释放Object和组件.

3. 改变 Object 和 component的状态: edit ----> change release status ---> .......

4. 然后 "产生" 就可以了.

5. SOW1中创建对象的时候,必须要用package才可以,不然对象是不可传送的.

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/99072/viewspace-591047/,如需转载,请注明出处,否则将追究法律责任。

上一篇: BADI开发示例
请登录后发表评论 登录
全部评论

注册时间:2008-08-01

  • 博文量
    95
  • 访问量
    129982