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-CODE :SE11 )
2.创建FUNCTION MODULE (T-CODE :SE37 )
每个BAPI必须有自己的Function Group,Function Group属性必须为RFC
3.创建Business Object(T-CODE :SWO1)
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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/99072/viewspace-591047/