sap ABAP开发入门到进阶

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SAP-A BAP 开发入门到进阶

基础篇 - 以简短的篇幅介绍最基本的语法

增强篇 - 介绍了常用的ABAP技术

希望此书对想从事ABAP开发的读者有相当帮助。

一.基础篇

1.什么是ABAP ?

了解一下ABAP的发展历史是必要的,ABAP产生的最初的目的是用以生成简单打印报表程序,我们知道SAP最初是为解决财务实时数据处理问题

的,ABAP(Advanced Business Application Programming->高级业务应用编程语言)现在用于编写SAP AG的几乎全部产品源代码.

严格地讲,ABAP/4不仅仅是一个开发工具,而且是一套完整的client/server开发环境,这很好理解,微软的Visiual Studio是一开发环境,VB,VC++等是开发工

具.ABAP开发环境包含支持程序开发的一些函数和包等.

如图1-1,是SAP开发环境的一个三层架构的例图,三层(多层)的概念也不新鲜,比如在安装SAP时也可将DB instance安在一台server, Central instance在另一台所谓的Application server(我想这应是相关SAP基础系统包括各种应用程序所在),而通常客户端安装的SAP Logon Front End,SAP会话管理器等是所谓的表示层,它通过TCP/IP,SAP演示协议或RFC和应用服务器进行数据传输,用户看到的只是处理后的数据返回.

和Delphi的三层逻辑相近,在应用层包含多个组件象ABAP开发平台,身份验证,系统管理维护等用以处理会话,更新,排队,网关,数据层处理native 和Open SQL等(这是从内部机制方面看),SAP各模块应用的业务逻辑都在应用层被处理(从用户角度)然后结果被返回.

图1-2是SAP Logon的一个截图,[1]表示应用服务器(通常企业为了节省成本和方便管理可能会将应用服务器和数据库安装在同一起),[2]System number,举个实例,开发和测试服务共用一台服务器,开发使用system number00,而测试使用system number 01,通过system number逻辑地将一台physical server逻辑地分成了两台application server.

学习ABAP并不难,有人说SAP系统重在管理思想,不在技术,通常对有编程经验的读者不用任何培训参考一些相关资料就可立即上手.

简单介绍下ABAP/4的一些特征:

1.和SAP紧密结合,尤其在开发报表方面,坦率地讲,除了和SAP集成的好处,.我定

认为ABAP在报表开发上比Crystal report Tool要高效简单.

2.和VB一样 ,ABAP是解释形的,如读者精通VB,学习ABAP应该豪不费力,倒是既

然SAP是企业管理解决方案,ABAPer必须对企业管理流程熟悉.

解释性的另一好处是可以很好跟踪程序逻辑(使用/H),这对了解业务逻辑的实和追踪错误很有效. 和VB不同的是,VB跟踪时允许程序运行指针随意往回或往全拉而ABAP程序去不行, 但是ABAP程序允许在运行时修改变量的值,这是编译程序不能做到的. 当然通常编译比解释执行的速度会更快.

ABAP程序执行并不直接读取源代码,而是执行内部经过“生成”的描述,对于ABAP/4字典的修改激活后将触发内部描述的重新生成,如程序并没激活就执行原版本,或者出现错误(程序没激活可能造成ABAP Dumping ABAP).

3.在对数据库处理方面,除了可直接执行SQL(使用native sql,缺点是错误处理很难

控制,相当于有开发环境将SQL 语句直接传给DB去执行),SAP在ABAP开发环境层还提供了一套Open SQL访问底层数据库.

4. 程序员都知道Windows平台下开发都支持事件驱动,Windows系统本身也支持

事件驱动,ABAP也提供了事件驱动,这表现在Dialog编程方面,但是ABAP在此方面并不强,而且相对讲也比较难于掌握(在后面会讨论).

5.基于面向对象的风靡,ABAP在此方面也有相当反应,在SAP强大的软件包中提供

了大量可重复使用的程序,读者也可定义类并使用它快速建立新的对象.

6.类似Java,ABAP开发的程序能运行于任何操作系统(Java有Java虚拟机,ABAP

也有ABAP processor),多种数据库(比如在ABAP字典中实现了透明表对各种底层数据库表的映射,这样在ABAP层看到的透明表就和具体数据库无关),各种网络系统.

图1-3是一个ABAP开发和运行环境的图例.

1 使用C|C++建立ABAP 开发工具,数亿行ABAP source code组成SAP AG多个产品.

姑且不论国内ERP产品设计在解决企业流程上的局限性,在大多数国外的ERP产品中我们都可看到结合自身ERP自带的开发工具,在技术上这也是落后人家.所以建

2.ABAP开发环境的建立

掌握基本的ABAP开发环境对ABAPer是有益的,似乎多数ABAPer对底层并不感兴趣,

3.获得Access Key .

4.ABAP workbench和ABAP dictionary

5.第一个程序-Hello World.

如何进行ABAP开发呢?本节使用老套的做法,介绍如何建立一个”Hello World”的ABAP程序, 为了让读者尽快掌握ABAP开发熟悉ABAP开发环境是必须的,请看图1.5-1.

6.ABAP语法简介

数据类型

控制流程

文本摘要

输出格式

程序调试

7.Open SQL和Native SQL

8.内表和工作区

9.使用字段符号

10.模块化程序

11.文件处理

12.簇数据库和逻辑数据库

13.消息和错误处理

尽管消息这词还用在其他地方比如PO,SO打印传真等所谓的output message(请看ABAP百夜谈),系统出现异常,在这里消息只谈在程序运行逻辑异常处理时的消息.

1定义消息(参考图7-7).

使用Tcode SE91可自定义包含多消息号的消息类,在图7-7中就定义了一个消息类ZFIMSG,同时消息号017 中使用了俩&消息变量

相关文档
最新文档