SAP R/3系统三层架构&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系统,然后系统进行相应的处理后把数据返还给用户。
应用层(Application layer):这层包括一个或者多个应用服务器和一个消息服务器。每一个应用服务器包括一系列服务以便运行应用程序。所有的服务分置在这些应用服务器之中,其实用户需要的只是其中的一个应用服务器,多个服务器之间传递信息以决定用户到底需要的是哪个服务器的服务。
数据库层(Database 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:执行。