好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

SAP BAPI介绍.docx

34页
  • 卖家[上传人]:油条
  • 文档编号:13438627
  • 上传时间:2017-10-24
  • 文档格式:DOCX
  • 文档大小:1.02MB
  • / 34 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • BAPI:Business Application Programming Interfaces,业务应用编程接口,作用:1、在 SAP 内部组件及非 SAP 组件之间的技术整合2、业务数据交换3、SAP 通过该标准接口把整个系统链接为一个整体4、BAPI 是 SAP 中心组件 R/3 和 ECC 和 BW 系统入口之一技术:1、基于 RFC 技术实现2、BAPI 提供的整合扩展到了业务层面3、外部程序可以通过 BAPI 访问 SAP 系统中的业务对象、数据、应用Business Object BO SAP 业务对象代表的是实际世界的对象,比如一个采购订单、一个物料数据,包含业务数据,并描述了完整的业务过程SAP 的面向对象架构通过业务组件、业务对象类型、BAPI 等元素共同完成每个 SAP 业务组件都提供相对独立的功能,其中包含业务对象类型、实例业务过程或业务场景可以再一个业务组件内部或者跨模块/系统实现,跨系统的业务过程也称为分布式业务过程,其集成通过 ALE 技术实现业务对象类型是业务对象的定义和描述,面向对象架构的实现基础,也就是SAP 系统中的‘类’,它封装了业务功能和数据,一个业务对象即为一个业务实体,其中不仅包含业务对象本身的数据,还包含其功能的实现,根绝业务规则来组织数据和业务过程业务对象的而整体架构包含四层: 最内层 SAP 业务对象内核层,包含对象本身的内部数据结构及标准设定 整合层,包含对象的业务逻辑 接口层,提供该业务对象类型的外部访问接口,包括属性、方法、 BAPI 方法、事件等 外部访问层,支持对业务对象数据访问的具体技术, RFC\JCo\NCo 等业务对象仓库 BOR,是 SAP 业务对象类型和相关 BAPI 组织中心。

      业务对象仓库浏览器的事务代码是 SW03业务对象在业务对象浏览器中定义,业务对象创建器 SWO1接口中仅定义属性和方法的名称,但不能包含具体实现SAP 业务对象不支持多重继承,即一个业务对象类型只能制定唯一的父类型,但一个对象可以实现多个接口业务对象类型组件:业务对象类型的构成包括:基本数据、组件 2 部分业务对象组件:SAP 对象的接口、属性、方法、事件 接口:特殊的业务对象类型,本身不能生成对象实例 关键字段:唯一确定一个业务对象类型的实例 属性:业务对象的数据部分 方法:外界对业务对象进行访问的接口,BAPI 是一种特殊的业务对象方法 事件:可通过事件触发工作流或任务通过 T-CODESWO1 来浏览业务对象类型的组件返回,双击方法 GETDETAIL 对话:是否包含用户交互对话同步:不设置则为异步,在工作流中,异步方法创建的任务必须包含至少一个终止事件返回结果:设定方法将返回一个参数作为结果,在结果类型中设定值列表,只有同步方法才能设定返回结果独立实例:不关联到特定物料的操作返回点【参数】返回点 弹出代码 SAP BAPIBAPI 是在 BOR 中味 SAP 业务对象类型或接口类型定义的特殊方法,通过 RFC支持的 ABAP 功能模块实现,和业务对象关联的 RFM 也称为 BAPI 功能模块,俗称 BAPIBAPI 支持同步、异步 的数据通信过程通过基于 RFC 协议实现的 BAPI 接口,可以从应用层直接对 SAP 业务对象进行访问BAPI 不存在表现层 ,调用 BAPI 的第三方负责显示传入 BAPI 或 BAPI 返回数据BAPI 建立在 RFC 协议基础上,外部语言需要进行 RFC 调用,即通过外部 RFC接口来调用 BAPI通过 SAP 业务连接器,还支持从 Internet 直接访问 BAPI,可以从 BAPI 调用中创建 XML 文档,或者将入站 XML 文档转换为 BAPI 调用,实现 SAP 到Internet 集成集成: 集成 SAP 系统中已存在的业务应用及组件 集成已实施的 SAP R/3、ECC、其他 SAP 系统 集成外部应用与 SAP 系统 网络应用集成,(SAP 业务连接器和互联网应用组件) BAPI 作为系统业务数据导入、导出方式之一,应用于数据传输、ALE 数据分布过程 BAPI 查找: 从业务对象创建器查看 BAPIT-CODE:SWO1显示-方法绿色对号标记,表示该方法时通过 BAPI 实现的BAPI 方法实现方式是 API function,对应一个 BAPI 功能模块双击 FM 名称  通过 BAPI 浏览器查找 BAPIT-CODE: BAPI 许多业务对象类型都包含:GETLIST\ GETDETAIL\CREATEFROMDATABAPI 对应的功能模块命名规则 BAPI__ T-CODE: SE37 BAPI 事务模型: ACID 原则 完整性 一致性 独立性 持久性BAPI 内部则通常不包含 COMMIT WORK 和 ROLLBACK WORK多个 BAPI 操作需要遵循原则: 有更新、修改、删除一个业务对象实例,则对实例进行另外读取的操作的BAPI 只能访问上一个 COMMIT WORK 执行后的最新数据 不允许在一个 LUW 中创建一个新实例,然后就修改它 可以创建多个相同对象类型的不同实例在 BAPI 内部, 数据库更新操作必须通过同步或异步更新过程实现BAPI 内部也不触发新的 LUW内部程序代码不包含CALL TRANSACTIONSUBMIT REPORTSUBMIE REPORT AND RETURNBAPI 事务中的数据库提交和回滚: 必须通过调用 SAP 标准业务对象 BapiService 的 BAPI 方法bapiservice.transactioncommit 和 bapiservice.transactionrollback 实现 RFM:bapi_transaction_commit 和 bapi_transaction_rollback 实现在外部调用 bapiservice.transactioncommi 方法前,外部程序调用 BAPI 并不触发数据库提交,RFC 一旦建立,即外部程序登陆 SAP 系统后,就一直保持BAPI 调用: 本地调用BAPI 功能模块不包含异常处理参数,同过输出参数 RETURN 返回,该参数参照 BAPIRETURN、BAPIRETURN1、BAPIRET1 、BAPIRET2、BAPIRET2_FIX 远程调用BAPI: Business Application Programming InterfacesBAPI 主要用于 SAP 系统与非 SAP 系统之间的信息通讯. BAPI 主要是基于 RFC 技术实现的.Business Object 业务对象在 SAP 系统中, Business Object 代表了现实世界的对象, 例如采购订单,物料数据,职员等等.Business Object 可以在系统内以及系统外部进行通信,通过调用 BAPI, 或通过互联网Portal,Java,.NET 等技术进行通信.Business Object Type 业务对象类型Business Object type 是对 Business Object 的定义和描述.其中 Business Object 包含四个层次1. 内核层(kernel layer) , 包含了内部的数据和定义, 例如:员工号,员工姓名.2. 整合层(integrity layer),包含了一些业务规则以及限制, 例如: 员工号的格式, 员工的性别必须为 男或女.3. 接口层(interface layer),包含属性,普通方法,BAPI 方法 以及事件. 这些方法相当于对象的行为,它们可以改变 Business Object 的状态.4. 访问层(Access layer), 定义了对 Business Object 访问的具体技术, 例如:RFC,JCo,Nco.Business Object repository BOR 业务对象仓库相当于 Business Object type 和相关 BAPI 的组织中心. T-code : SWO3.Business Object type components 业务对象类型组件Business Object type 的构成包含基本数据和组件两部分.数据包括其本身的技术细节: 例如, 父类, 默认属性的方法.业务对象类型组件包括1. 接口(interface):本身不能实例化,但可以作为其它对象类型的组件, 其属性和方法或事件会自动添加到业务对象类型中.2. 关键字段(key field):用于唯一确定一个业务对象类型的实例,通常是数据库的主键.3. 属性(attribute):业务对象的数据部分, 可以是数据表中的字段,运行的值(又称虚拟属性, virtual attribute) 或指向其它业务对象的指针(对象引用, object reference).对象引用多用于工作流设计过程.4. 方法(method):用于操作业务对象属性,可以通过调用事务,function module, report 或 ABAP 代码来完成, 方法是外界对业务对象进行访问的接口,BAPI 是一中特殊的业务对象方法5. 事件(event):定义了 SAP 系统中与该业务对象相关的某种兴废,通常是状态的改变.事件通常与工作流相关联.SAP BAPIBAPI 是 BOR 中为 SAP 业务对象类型或接口类型定义的特殊方法,通过 RFC 支持的 ABAP function module (RFM)实现.BAPI 可以与 Java,C,C++,VB,CORBA,COM/DCOM 等语言或标准进行通信.BAPI 中的 return 参数BAPI 需要支持事务 RFC 调用,所以不能包含异常处理参数. 成功调用以及出错信息通过特定输出参数 RETURN 返回.该类型可以参照 BAPIRETURN,BAPIRETURN1,BAPIRET1, BAPIRET2, BAPIRET1_FIX.其结构为Type 消息类型 S E W IID 消息类别Number 消息编号Message 消息文本Message_V1, Message_V2, Message_V3, Message_V4 等消息变量Business object 设计创建包含如下步骤1. 业务模型的建立和数据结构的创建.2. 创建业务对象,添加关键字,属性,方法等组件3. 通过功能模块,BAPI 或 SAP 事务等方式实现业务对象的方法具体步骤1. 通过 SE11 创建数据库表. 要设定为 Display/Mantenace Allowed2. 通过 SWO1 创建 Business object type3. 业务对象及组件共有四种状态1) Modeled ,已建模 业务对象和组件已经创建,但没有程序实现其功能2) Implemented, 已实现,业务对象和组件的程序已经创建,但还没有完成3) Released, 已发布,程序代码完成,该对象及组件可以使用4) Obsolete, 已废弃,该对象不应继。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.