您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > SAP_BC417_课程中文自学笔记
SAPBC417课程中文自学笔记强晟2007年12月6日v1.0E-mail:qiangsheng@gmail.comBlog:(by强晟qiangsheng@gmail.com)BC417:BAPIDevelopmentforAccessingSAPComponents2前言•随着SAP的发展和软件开发技术的发展,ABAP开始引进面向对象的概念,BAPI则是在这个转换过程中融合了面向过程和面向对象两种开发方式的产物。•为了兼容过去的开发方式,SAP把BAPI的方法调用组织在函数组和函数模块中,使用传统的面向过程的ABAP可以调用这些函数模块来完成BAPI的功能。同时,BAPI以业务对象的面目出现,将逐渐转变成可以被面向对象的ABAP或者Java调用的对象。同时,它还具有远程函数调用的能力,可以被其他的软件开发语言在其他平台上调用。它已经逐渐成为SAP开发的主流技术。强晟2007年11月9日SAP学习笔记系列(by强晟qiangsheng@gmail.com)BC417:BAPIDevelopmentforAccessingSAPComponents3目录•第一单元:介绍•第二单元:BAPI基础•第三单元:创建一个RFC函数模块•第四单元:业务对象•第五单元:数据库更新•第六单元:BAPI调用•第七单元:增强和修正•第八单元:使用ALE和IDOC的BAPI•第九单元:集中数据传输•附录:新的BAPI项目实施SAP学习笔记系列(by强晟qiangsheng@gmail.com)BC417:BAPIDevelopmentforAccessingSAPComponents4课程说明•课程目标–创建、维护和使用BAPI•学习本课程后应该可以–说明BAPI开发的四个阶段:分析、设计、测试和实现–设计和维护BAPI–查找或创建业务对象–增强SAP提供的BAPI–执行对BAPI的外部调用SAP学习笔记系列(by强晟qiangsheng@gmail.com)BC417:BAPIDevelopmentforAccessingSAPComponents5第一单元:介绍•学习本单元后应该可以–说明SAP业务框架–定义业务对象和列出它们的组件–说明BAPI的意图和基本功能–说明业务场景–列出场景的阶段和它们的意图–说明BAPI的事务模型–列出事务步骤和它们的时间点–找出和访问BAPI开发中用到的工具–使用可用工具来找出现存BAPI–列出与BAPI及其组件相关的命名规范SAP学习笔记系列(by强晟qiangsheng@gmail.com)BC417:BAPIDevelopmentforAccessingSAPComponents6第一单元:介绍•单元内容–介绍BAPI的概念和使用–介绍业务场景–介绍BAPI事务模型–介绍工具和命名规范–练习:查找和测试一个现有BAPISAP学习笔记系列(by强晟qiangsheng@gmail.com)BC417:BAPIDevelopmentforAccessingSAPComponents7第一单元:介绍第一课:介绍BAPI的概念和使用•本课概览–SAP创建了业务框架,让SAP组件之间以及SAP和非SAP组件之间能够实现技术集成和交换业务数据。业务框架的一个主要组件就是业务应用程序接口(BAPI),它能够表示出组件边界的可视化接口,而属性则把组件集成在一起。–这种集成可以包含本地网络内的组件或者通过互联网相互连接的组件。BAPI允许在业务层的集成,而不是技术层。这为连接提供了非常好的可伸缩性和对于未知通讯技术的独立性。SAP学习笔记系列(by强晟qiangsheng@gmail.com)BC417:BAPIDevelopmentforAccessingSAPComponents8第一单元:介绍第一课:介绍BAPI的概念和使用•本课目标–说明SAP业务框架–定义业务对象并列举它们的组件–说明某个BAPI的意图和基本功能•业务示例–在今天的业务环境中,对业务信息的即时性和精确性要求比以往更加紧迫。仅仅知道信息存在在组织内部某地已经不够了——它必须是简明的、精确的,并且以便于使用的形式快速获取。此外,这个信息资源的用户可能会分散在世界各地,并且操作着与保存数据系统不同的其他系统。可访问性就成为一个主要的业务课题。SAP学习笔记系列(by强晟qiangsheng@gmail.com)BC417:BAPIDevelopmentforAccessingSAPComponents9第一单元:介绍第一课:介绍BAPI的概念和使用•业务框架–SAPR/3业务框架提供了一个基于R/3中功能性应用组件(业务组件)和对象模型的结构。业务框架允许客户和合作伙伴把他们自己的组件连接到R/3系统。面向对象技术和对象模型的使用降低了整个系统的复杂性。–业务框架架构提供了开发SAP业务组件的基础。集成和通讯架构可以表示如下:SAPR/3ApplicationLinkEnabling(ALE)应用组件业务对象BAPIBAPIBAPI分布的业务处理业务处理的集成服务和业务对象的分布RemoteFunctionCall(RFC)(D)COMCORBA通讯服务SAP学习笔记系列(by强晟qiangsheng@gmail.com)BC417:BAPIDevelopmentforAccessingSAPComponents10第一单元:介绍第一课:介绍BAPI的概念和使用•业务框架的组成–SAP业务框架的基本组件如下:–业务组件SAP业务组件提供了自主的业务功能和一致的业务对象。例如,业务对象Employee和Applicant被分配给业务组件HumanResource。业务处理或者在业务组件内部实现,或者跨多个组件实现(分布式业务处理)。–业务对象R/3系统面向对象的结构基于业务对象。他们封装了业务数据和功能,并且定义了业务组件的功能范围和边界。SAP学习笔记系列(by强晟qiangsheng@gmail.com)BC417:BAPIDevelopmentforAccessingSAPComponents11第一单元:介绍第一课:介绍BAPI的概念和使用•业务框架的组成(续)–业务应用开发接口(BAPI)BAPI是业务对象的接口,BAPI跟业务对象一起从业务层定义和说明了接口标准。–集成服务,应用连接使能(ALE)ALE集成服务允许业务处理在不同R/3系统或非R/3系统上执行的集成。这个使用了ALE分布式模型的服务基于业务对象在系统范围上的分布。–通讯服务这些都是通讯技术,例如,分布式组件对象模型(DCOM)和远程函数调用(RFC),它们使用业务框架来访问BAPI。SAP学习笔记系列(by强晟qiangsheng@gmail.com)BC417:BAPIDevelopmentforAccessingSAPComponents12第一单元:介绍第一课:介绍BAPI的概念和使用•SAP业务对象(1)–业务对象技术和业务对象编程都基于业务对象的概念。例如,真实世界的对象,一个员工或者一份销售订单,在业务应用系统(如R/3系统)中都被模型化为业务对象。这个建模过程从定义业务对象类型开始。–业务对象类型,在SAPR/3系统表示一个业务实体,包含了这个实体的功能(以方法的形式出现)和数据(以属性的形式出现)。业务对象类型的实现细节则对用户隐藏了。业务对象类型通过已经定义好的功能(方法)来访问。这就被称为封装。SAP学习笔记系列(by强晟qiangsheng@gmail.com)BC417:BAPIDevelopmentforAccessingSAPComponents13第一单元:介绍第一课:介绍BAPI的概念和使用•SAP业务对象(2)–业务对象类型用来把SAPR/3系统拆分成小的特定单元。由于降低了复杂性,系统的结构也因而改善了。–业务对象类型构成了SAPR/3系统的数据和功能的入口点。在业务对象类型层,非SAP系统和各种SAP业务组件都可以互相通讯。–业务对象类型SalesOrder表现为某个客户对公司的请求,具体包括在某个特定时间点提供一定数量的物料或者在某个时间点履行服务。一个特定的销售订单由它的销售凭证号来标识。该业务对象类型包含了一个销售订单的所有必要信息:售达方、销售组织、凭证日期、净重、销售金额和分发凭证。SAP学习笔记系列(by强晟qiangsheng@gmail.com)BC417:BAPIDevelopmentforAccessingSAPComponents14第一单元:介绍第一课:介绍BAPI的概念和使用•SAP业务对象(3)–一个业务对象类型应该可以理解为一个业务概念和它在SAPR/3系统中的实现概念。业务对象类型这个术语对应于面向对象编程语言中的术语——类。–业务对象类型的某个特定的发生,例如实际存储在系统中的一个销售订单,必须要跟业务对象类型本身区分开来。这个特定发生被称作一个实例(面向对象编程语言中的常规术语)或者一个业务对象。–编号为102的销售订单是业务对象类型SalesOrder的一个实例。这个销售订单由它的销售和分发文档号102来标识。这个对象通过它的属性来描述,包括售达方、销售组织、凭证日期等等。SAP学习笔记系列(by强晟qiangsheng@gmail.com)BC417:BAPIDevelopmentforAccessingSAPComponents15第一单元:介绍第一课:介绍BAPI的概念和使用•SAP业务对象(4)–业务对象类型的结构下图描绘了业务对象类型的概念:业务对象核心完整性接口访问通过:内部结构特殊化一致性条件(对象特性)业务规则(环境特性)属性BAPI,方法时间Internet(HTTP)COM/DCOMCORBAABAP(RFC)SAP学习笔记系列(by强晟qiangsheng@gmail.com)BC417:BAPIDevelopmentforAccessingSAPComponents16第一单元:介绍第一课:介绍BAPI的概念和使用•SAP业务对象(5)–上图中包含一些重要的事项:•业务对象类型的核心描述了内部对象结构,换句话说就是它的数据和这些数据的结构。•约束是确保一个对象一致性的规则(例如,对于不同的最低销售数量可以分配不同的价格条件)。•业务规则要求一个对象必须遵守基本规则,确保对象在它的环境中保持内在的一致性(例如,一个销售组织只能销售给存在这业务关系信息的客户)。•接口提供了访问业务对象类型的预定义的方法,它们可以是公共属性,方法/BAPI和事件。•对象可以通过COM/DCOM或者CORBA(通用对象请求代理架构)来访问。在ABAP应用中,业务对象可以被远程函数调用(RFC)访问。SAP学习笔记系列(by强晟qiangsheng@gmail.com)BC417:BAPIDevelopmentforAccessingSAPComponents17第一单元:介绍第一课:介绍BAPI的概念和使用•SAP业务对象(6)–定义和实现一个对象类型业务对象类型在业务对象知识库(BOR)中描述,具有下列特性:对象类型基本数据接口键字段属性方法事件程序字段引用虚拟属性对象引用同步异步事务码函数模块报表ABAP代码API方法关系属性SAP学习笔记系列(by强晟qiangsheng@gmail.com)BC417:BAPIDevelopmentforAccessingSAPComponents18第一单元:介绍第一课:介绍BAPI的概念和使用•SAP业务对象(7)–对业务对象特性的说明•基本数据包含有助记忆的对象名字,对象类型的技术名称,它的名称(有意义的说明),它的短描述,发布状态,缺省方法,缺省属性,以及包含了它的实现的程序名。•接口提供了一个对象预定义的接口(属性、方法、事件)。接口类型通常不包含实现。•键字段唯一标识一个对象。•属性表现对象的性质和特征。•方法封装了R/3的功能,可以
本文标题:SAP_BC417_课程中文自学笔记
链接地址:https://www.777doc.com/doc-13673 .html