SAP BAPI(Business Application Programming Interfaces)业务应用编程接口
通过基于RFC协议实现的BAPI接口,可以从应用层直接对SAP业务对象进行访问,BAPI支持同步、异步的数据通信过程。
作用:
技术:
SAP的面向对象架构通过业务组件、业务对象类型、BAPI等元素共同完成
每个SAP业务组件都提供相对独立的功能,其中包含业务对象类型、实例
业务过程或业务场景可以再一个业务组件内部或者跨模块/系统实现,跨系统的业务过程也称为分布式业务过程,其集成通过ALE技术实现。
业务对象类型是业务对象的定义和描述,面向对象架构的实现基础,也就是SAP系统中的‘类’,它封装了业务功能和数据,一个业务对象即为一个业务实体,其中不仅包含业务对象本身的数据,还包含其功能的实现,根据业务规则来组织数据和业务过程
业务对象的而整体架构包含四层:
- 最内层:SAP业务对象内核层,包含对象本身的内部数据结构及标准设定
- 整合层:包含对象的业务逻辑
- 接口层:提供该业务对象类型的外部访问接口,包括属性、方法、BAPI方法、事件等
- 访问层:支持对业务对象数据访问的具体技术,RFC/JCO等
业务对象仓库BOR,是SAP业务对象类型和相关BAPI组织中心。
接口中仅定义属性和方法的名称,但不能包含具体实现
SAP业务对象不支持多重继承,即一个业务对象类型只能制定唯一的父类型,但一个对象可以实现多个接口
业务对象类型组件:
业务对象类型的构成包括:基本数据、组件2部分
业务对象组件:SAP对象的接口、属性、方法、事件
- 接口:特殊的业务对象类型,本身不能生成对象实例
- 关键字段:唯一确定一个业务对象类型的实例
- 属性:业务对象的数据部分
- 方法:外界对业务对象进行访问的接口,BAPI是一种特殊的业务对象方法
- 事件:可通过事件触发工作流或任务
示图: