ABAP
学习笔记之一
一,
什么是
ABAP
:
定义:
ABAP=Advanced business application program
SAP
最初开发
ABAP/4
语言仅为内部使用,为应用程序员提供优化的工作环境。经过不断的改进和修改以满足商业领域的需要。现在,
ABAP/4
已成为
SAP
开发所有自己的应用程 序的仅有工具。
ABAP/4
是第四代支持结构化程序设计的语言。它合并了所有通常的控制结构和模块化概念。同时,它还支持面向对象的程序设计方法,这就为
ABAP
的应用开发开拓了更广阔的空间。而且,它还可以实现和其他编程语言的合成,如
VB
,
JAVA
,
C/C++
等。
二,
ABAP
的一些特性:
1.
ABAP
包括:
2.
ABAP/4
支持商业数据类型和操作。您可以用特殊日期和时间字段进行计算。 系统会自动执行必需的类型转换。
3.
ABAP/4
包含一个叫 Open SQL 的SQL子集。用 Open SQL,您可以读取和访问数据库表,与所用的数据库系统无关
4.
ABAP/4
允许您定义和调用子程序。也可以调用其他程序的子程序 。参数能够以各种方式从子程序传递或传递到子程序。
5.
ABAP/4
包含一种特殊子程序,叫做功能模块。您可以在中央库中创建和维护功能模块。在调用程序和子程序之间功能模块有一个明确定义的数据接口。它们能够以调用程序的独立模式进行分别测试。
6.
ABAP/4
报表程序用于分析数据库表中的数据。这种分析的结果可以显示在屏幕上或发送到打印机上。逻辑数据库支持报表程序。
7.
ABAP/4
将对话程序组织为包含对话模块的模块池。每个动态程序 (由一个屏 幕及其流逻辑组成的“ 动态程序” )都基于一个
ABAP/4
对话程序。流逻辑包含对
ABAP/4
对话模块的调用。
三,
和
ABAP
相关联的
SAP BASIS
结构:
SAP R/3
系统是一个典型的三层架构系统,包括:
表现层(
Presentation Layer
):这是
SAP
用户和
R/3
系统交流的接口,用户在这一层对
SAP
系统进行操作。这层将用户的命令或者操作传送给
R/3
系统,然后系统进行相应的处理后把数据返还给用户。
应用层(
A
pplication layer
):这层包括一个或者多个应用服务器和一个消息服务器。每一个应用服务器包括一系列服务以便运行应用程序。所有的服务分置在这些应用服务器之中,其实用户需要的只是其中的一个应用服务器,多个服务器之间传递信息以决定用户到底需要的是哪个服务器的服务。
数据库层(
D
atabase layer
):这里就是
SAP
系统的核心,存放了所有
SAP
系统的数据。
SAP
支持很多数据库系统,包括:
Microsoft SQL Server
,
ORACLE
,
INFORMIX
,
DB2
等主流数据库系统。
四,
ABAP
的第一个程序:
好了,看了这么多,自己都晕了,还是言归正传来做开发吧。
首先要介绍一下事务代码(
Transaction Code
)的概念:
在
SAP
中,每一个功能基本上都对应了一个事务代码,你可以输入相应的事务代码来执行相应的功能,事务代码在
SAP MENU
下面的输入框中输入。
第一个程序,
HELLO WORLD
:
1.
用
ABAP REPORT
来实现:
很简单:(
1.
进入
SAP
系统
—
〉
SE38
。
(
2.
输入程序名
z_hello,
选择
Create
。
注意:自己开发的程序一定要用
Z
或者
Y
开头,这是因为
SAP
在升级的时候不会覆盖这些程序。
(
3.
这时会弹出一个对话框,输入
TITLE
,选择
Type
为
Executable program
。
(
4.
然后又会弹出一个对话框,让你选择开发类(
Package
),如果你有自己的开发类的话,输入就可以,没有直接点下面的
Local Object
。
(
5.ABAP
编辑器出现了,输入代码:
“
WRITE: 'HELLO,WORLD!' .
”
。
(6.按Ctrl+F2:语法检查;Ctrl+F3:激活;F8:执行。
到这里,ABAP的第一个程序就写出来了,好简单!!!
2.
用
ABAP DIALOG
来实现:
比较麻烦,在这里详细的介绍怎么建立
SCREEN
,以后就不介绍了
1.
建立一个
DIALOG
程序,步骤同上,只不过在
Type
里选择
Module pool
,
假设程序名为:
Z_SCREEN
2.
执行
SE51,
在
Program
里输入程序名称:
Z_SCREEN
;
在
screen number
里输入屏幕的号码:
9000
然后点
Create
3.
在
short description
中输入你的描述:
hello world screen
4.
点
layout
,调出屏幕编辑器,建立一个标签,输入
hello world
5.
点激活,或者
Ctrl+F3
6.
执行
SE93
:建立事务代码:输入
z_hello
,点
Create
,会出现对话框,输入
short text
,选择
Program and screen
,然后输入你建立的程序名以及屏幕号,
这里是
Z_SCREEN
,
9000
7.
点保存,然后会出现对话框,选择
LOCAL Object
好了,执行
z_hello
,看到了吧,不过这个程序还没有退出的功能,后面会慢慢加上去的。