SAP-编程语言(ABAP)


本章概述了 ABAP——SAP 中用于开发业务应用程序支持和开发的编程语言。

ABAP(高级业务应用程序编程)

ABAP是一种运行在SAP ABAP运行时环境中的编程语言,由SAP创建和使用,用于开发应用程序,包括:

  • 报告
  • 模块池编程
  • 接口
  • 形式
  • 数据转换
  • 用户退出和 BADI

R/3 的所有应用程序甚至部分基础系统都是用ABAP 开发的。

ABAP 是一种事件驱动的编程语言。用户操作和系统事件控制应用程序的执行。

ABAP 也称为 ABAP/4。ABAP/4中的“4”代表“第四代语言”或4GL。

ABAP工作台

SAP 使用 ABAP Workbench 来开发标准和自定义应用程序软件。ABAP Workbench 还用于创建字典对象。它由以下组件组成 -

  • ABAP Editor用于维护程序。

  • ABAP Dictionary用于维护 Dictionary 对象。

  • 存储库浏览器用于显示包中组件的层次结构。

  • Menu Painter用于开发图形用户界面,包括菜单栏和工具栏。

  • Screen Painter用于维护在线程序的屏幕组件。

  • 存储库信息系统包含有关开发和运行时对象的信息,例如数据模型、字典类型和表结构、程序和函数。

  • 测试和分析工具,例如语法检查和调试器。

  • Function Builder,允许创建和维护功能组和功能模块。

  • Data Modeler,一个支持图形建模的工具。

  • Workbench Organizer,维护多个开发项目并管理它们的分发。

ABAP工作台

- ABAP 工作台曾经被称为 ABAP/4 开发工作台。

报告

报告程序生成列表,可分为经典报告和交互式报告。

  • 传统报告不允许用户交互;因此,基本列表包含用户必须经常排序才能找到相关数据的大量信息。

  • 交互式报告允许用户进行交互;因此,用户可以通过选择相关数据并请求更多信息来生成基本列表的二级详细列表。

  • SAP Query 或 Ad-hoc Query 或 InfoSet Query是一种允许最终用户根据需求根据 SAP 系统中不同的输入和输出参数设计不同的查询的工具。这是人力资源模块中主要使用的报告工具之一,用于从关系数据库中提取数据。InfoSet Query 适用于 SAP R/3 系统所有领域的报告。

即席查询提供三种不同类型的报告 -

  • 基本列表- 简单的报告。

  • 统计- 具有统计功能的报告,例如平均值、百分比等。

  • 排名列表- 用于分析报告。

用于访问临时查询的事务代码 -

  • SQ01 - 维护查询

  • SQ02 - 显示信息集

  • SQ03 - 维护用户组

数据输入

在最终用户开始处理业务流程以进行分析和报告之前,必须先填充 SAP 数据库。根据要传输的复杂性和数据量,可以使用各种方法在各个阶段将数据传输到系统中。

数据可以从 SAP 传输到 SAP 或从 SAP 传输到非 SAP 系统(旧系统)。数据也可以通过手动输入进行传输。用于数据传输的工具如下 -

  • BDC(批量数据通信)
  • IDOC(中间文档)
  • LSMW(遗留系统迁移工作台)
  • 通过上传保存数据的 .txt 或 Excel 文件进行接口
  • 使用交易代码手动输入数据

印刷

SAP 生成各种文档,例如采购订单、销售订单、发票、工资单等。您可以在需要时打印这些文档。下图显示了 SAP 系统中打印过程的工作原理。

SAP 系统需要不同类型的打印方法,例如 -

  • 本地打印
  • 远程打印(网络)
  • 前端打印(适用于 Windows 的 SAP GUI)
  • 前端打印(适用于 HTML 的 SAP GUI)
前端打印

用户触发打印进程后,打印请求被发送到spool服务器,其中包含处理所需的dialog和spool工作进程。

通用编程

可以使用 R/3 系统的功能以交互方式编写程序。程序可以在线执行,也可以在后台执行。还可以安排后台作业以特定的时间间隔运行。

通用编程
  • 模块池编程(或在线编程)涉及模块池(ABAP 模块的集合)和一个或多个屏幕的创建。这些模块在程序执行期间由屏幕处理器调用。

  • 批量输入处理用于确保数据安全传输到 SAP 系统中。此过程是向 SAP 系统自动、受保护的数据传输,该系统在填充 SAP 数据库时使用 SAP 事务来验证数据。

  • ABAP 包含符合 CPI-C 标准(通用程序接口 - 通信)的语句。这些用于编程通信程序。

  • ABAP 可以读取和写入顺序数据集。