SAP ABAP 教程

17 Mar 2025 | 6 分钟阅读
SAP ABAP Tutorial

ABAP 是第四代编程语言,也是 SAP 的技术模块,用于开发与 SAP 相关的应用程序。 借助 ABAP,可以根据需求自定义 SAP。 现在,它与 Java 一起用作 SAP 应用程序服务器的主要编程语言。

我们的 ABAP 教程解释了 ABAP 的关键概念,例如 ABAP 工作台、ABAP 字典ABAP 编辑器、内表、对象、类、运算符、变量等。 它专为希望熟悉 SAP ABAP 技术的初学者设计,因为它从基础知识开始,然后转向复杂的主题。 它也适用于想要提高 ABAP 编程和开发技能的专业人士。

什么是 ABAP?

  • ABAP 代表 高级业务应用程序编程。 它是一种高级编程语言,由 SAP AG 软件公司开发和维护,用于开发 SAP 应用程序。
  • ABAP 是 SAP ERP 软件中使用的核心编程语言。 由于它是第四代语言,因此也称为 ABAP/4
  • ABAP 语言的语法非常简单,与 COBOL 非常相似。
  • ABAP 最初是为了生成 SAP R/2 报表而开发的。 SAP R/2 用于使公司能够开发大型机业务应用程序,这些应用程序主要用于财务会计和物料管理。
  • 它支持逻辑数据库的概念,用于实现从基本数据库级别的高级抽象。
    SAP ABAP Tutorial
  • 非程序员无法直接使用 ABAP 语言,因为它需要编程技能才能使用,但程序员可以轻松学习它。
  • 要创建 ABAP 程序,必须具备关系数据库设计和面向对象概念的知识。
  • 可以通过在 SAP GUI 的命令字段中输入的事务代码来执行 ABAP。
  • 如今,它与 JAVA 一起用于对 SAP NetWeaver 应用程序服务器进行编程。 应用程序服务器是 NetWeaver 平台的一部分,用于开发各种 SAP 应用程序。

为什么要学习 ABAP?

以下是一些解释学习 ABAP 原因的理由

  • ABAP 是 SAP R/3 平台中使用的核心语言。
  • 作为一种编程语言,ABAP 易于学习,它提供了编程的过程和面向对象的概念。
  • 它是 ABAP 开发人员开发各种 SAP 应用程序所使用的主要技术。
  • ABAP 提供了各种重要功能,例如数据共享、异常处理、数据持久性、启用增强功能等
  • 开发人员可以使用 ABAP 语言对 ERP 系统的应用程序进行任何更改。
  • SAP 功能模块是用 ABAP 语言编写的。

SAP 内核中 ABAP 的过程

我们可以通过使用 SAP 的 3 层架构来理解 SAP 中 ABAP 的过程。 考虑下图

SAP ABAP Tutorial

ABAP 应用程序服务器位于 SAP 架构的应用程序层上。 应用程序层是 SAP 架构中最重要的组件,因为 ABAP 程序在该层中执行,并且它与两个层通信。

应用程序服务器负责解释 ABAP/4 程序。 ABAP 程序可以在表示服务器上启动,但只能在应用程序服务器上执行。

每个 ABAP 程序都存储在数据库层的 SAP 数据库表中,这与其他 C 或 Java 不同,后者的程序存储在其他大型文件中。

SAP 数据库以两种形式存储程序,分别是源代码生成的代码。 源代码可以通过工作台编辑工具(例如 ABAP 编辑器)查看和编辑,生成的代码是源代码的二进制表示形式。

ABAP 运行时环境

ABAP 运行时环境是 SAP 内核的一部分,所有 ABAP 代码都在运行时环境的控制下进行处理。 由于它负责执行 ABAP 语句,控制流逻辑以及响应事件,因此我们可以将其与 Java 虚拟机或 JVM 进行比较。

考虑下图以了解 ABAP 程序的不同处理块的处理

SAP ABAP Tutorial

数据库接口是 ABAP 运行时系统的重要组成部分之一。 它负责将独立于数据库的 ABAP 语句(Open SQL)转换为基础 DBMS(Native SQL)。ABAP 程序与 RDBMS 的所有通信都由数据库接口处理。

ABAP 程序

ABAP 程序是可执行单元或库,可为其他程序提供可重用代码。 这些程序在 SAP NetWeaver 应用程序服务器上执行。ABAP 程序包含多个可以在源代码中以任何顺序出现的处理块。

ABAP 中的每个程序都有其类型,该类型指定该程序的运行方式。 ABAP 程序主要有两种类型,分别是

  • 可执行程序:可执行程序可以直接运行,也可以通过输入程序名称直接启动。 这些分为两种类型
    • 报告
    • 模块池
  • 不可执行程序:不可执行程序无法直接运行。 这些程序包含只能由其他应用程序使用的源代码。 这些类型如下:
    • 接口池
    • 包含程序
    • 功能组
    • 子例程池
    • 对象类
    • 类池

注意:ABAP 程序将在后面的章节中进行说明。

ABAP 中的事务/事务代码

在 SAP 中执行程序称为事务。 SAP 系统为 SAP 中发生的所有事务提供特定的四字符代码,这些代码称为事务代码TCode

可以通过在 SAP 屏幕的命令字段中输入事务代码来直接执行任何 ABAP 程序。

在 ABAP 编程中,可以使用语句 CALL TRANSACTIONLEAVE TO TRANSACTION 以编程方式调用事务。 以下是 ABAP 中使用的一些重要 TCode 的列表

事务代码用于
SE11ABAP/4 字典
SE38ABAP 编辑器/ ABAP 程序开发
SE41菜单画笔
SE51屏幕画笔
SE80ABAP 开发工作台
SE91维护消息
ABAPHELP关键字文档

注意:所有事务代码都可以在 SAP 系统中的 TSTCT 表中找到。

ABAP 开发环境

开发环境是我们可以开发基于 ABAP 的应用程序的地方,并且有两种方法可以在 ABAP 中开发任何应用程序。 这些方法是

  • ABAP 工作台
  • ABAP 开发工具

ABAP 工作台

它是 SAP ABAP 系统的一部分,其中包含用于在 ABAP 程序中进行编辑的各种工具。 可以使用 SAP GUI 访问它。 下面给出了 ABAP 工作台的一些重要工具

  • ABAP 编辑器:用于编辑报表或为应用程序对象编写源代码。
  • ABAP 字典:主要用于访问 SAP 中的数据库表
  • 菜单画笔:用于自定义用户界面,例如菜单栏、工具栏等
  • 屏幕画笔:它类似于菜单画笔,但用于自定义设计屏幕。
  • 函数生成器:用于函数模块
  • 类生成器:用于访问 ABAP 对象、类和接口

ABAP 开发工具

ABAP 开发工具或 ADT 用于在 Eclipse 平台上运行 ABAP,因此也称为“Eclipse 中的 ABAP”。 ADT 提供了各种插件来在 Eclipse 上开发 ABAP 应用程序。

ABAP 的历史

ABAP 是 SAP 系统的核心编程语言,它最初是由德国 SAP AG 公司于 1980 年开发的。 这种语言最初是为在 SAP R/2 系统中开发报表而设计的,这使得大型公司能够为 MM(物料管理)和 FI(财务会计)构建大型机业务应用程序。 多年来,SAP 为 ABAP 添加了各种新功能,例如 ABAP 对象、ADT 等。

以下是 ABAP 开发中的一些里程碑

  • 1980 年首次开发为第四代语言,主要用于 SAP R/2 系统中的报表。
  • 1990 年,SAP 推出了 ABAP 的面向对象扩展,并将其称为 ABAP 对象。
  • 2006 年发布了 ABAP 7.0 版本,其中包含开关框架功能。
  • 2012 年发布了一个新版本,该版本提供了表表达式。
  • 2015 年,ABAP 发布了 7.50 版本的新版本,该版本开始支持 Open SQL 表达式。
  • 2017年,版本7.52发布,其中包含内部表的虚拟排序功能。
  • 2019年,版本7.54发布,其中包含各种功能,例如响应信息、业务服务、更新中的授权检查等

前提条件

在学习ABAP之前,您必须具备任何面向对象编程语言(例如C++、Java等)的基础知识,这样您才能轻松理解ABAP编程。

您还应该对数据库相关概念(例如PL/SQL)有一个基本的了解。

目标受众

我们的ABAP教程旨在帮助初学者和专业人士。

问题

我们向您保证,在学习我们的ABAP教程时,您不会遇到任何困难。但如果本教程中存在任何错误,请在联系表格中发布问题或错误,以便我们改进。