SAP ABAP - 概述


ABAP 代表高级业务应用程序编程,是一种 4GL(第四代)语言。目前,它与 Java 一起被定位为 SAP 应用服务器编程的主要语言。

我们先从SAP系统的高层架构开始。典型 SAP 系统的 3 层客户端/服务器架构如下所示。

三层客户端/服务器架构

表示由可用于控制 SAP 系统的任何输入设备组成。这可以是网络浏览器、移动设备等。所有的中央处理都发生在应用程序服务器中。应用程序服务器本身不仅仅是一个系统,而且可以是处理系统的多个实例。服务器与数据库层通信,数据库层通常保存在单独的服务器上,主要是出于性能原因和安全性考虑。通信发生在系统的每一层之间,从表示层到数据库,然后备份链。

- ABAP 程序在应用程序服务器级别运行。软件的技术分发与其物理位置无关。这意味着基本上所有三个级别都可以安装在一台计算机上,或者每个级别都可以安装在不同的计算机或服务器上。

ABAP 程序驻留在 SAP 数据库内。它们在运行时系统的控制下执行,该运行时系统是 SAP 内核的一部分。运行时系统处理所有ABAP语句,控制流程逻辑并响应用户事件。

因此,与 C++ 和 Java 不同,ABAP 程序不存储在单独的外部文件中。在数据库内部,ABAP 代码以两种形式存在 -

  • 可以使用ABAP工作台工具查看和编辑的源代码。

  • 生成的代码,它是二进制表示形式。如果您熟悉 Java,则此生成的代码在某种程度上可与 Java 字节代码相比较。

运行时系统可以被认为是一个虚拟机,类似于Java虚拟机。ABAP 运行时系统的一个关键组件是数据库接口,它将独立于数据库的语句 (Open SQL) 转换为底层数据库可以理解的语句 (Native SQL)。SAP 可以与多种数据库配合使用,并且同一个 ABAP 程序可以在所有这些数据库上运行。