SAP – 编程语言(ABAP)
SAP – 编程语言(ABAP)
本章概述了 ABAP——SAP 中用于开发业务应用程序支持和开发的编程语言。
ABAP(高级业务应用程序编程)
ABAP 是一种在 SAP ABAP 运行时环境中运行的编程语言,由 SAP 创建并用于开发应用程序,包括:
- 报告
- 模块池编程
- 接口
- 形式
- 数据转换
- 用户退出和 BADI
R/3 的所有应用程序,甚至其基础系统的一部分都是在 ABAP 中开发的。
ABAP 是一种事件驱动的编程语言。用户操作和系统事件控制应用程序的执行。
ABAP 也称为 ABAP/4。ABAP/4 中的“4”代表“第四代语言”或 4GL。
ABAP工作台
SAP 使用 ABAP 工作台开发标准和自定义应用程序软件。ABAP 工作台也用于创建字典对象。它由以下组件组成 –
-
ABAP Editor用于维护程序。
-
ABAP Dictionary用于维护 Dictionary 对象。
-
Repository Browser用于显示包中组件的层次结构。
-
Menu Painter用于开发图形用户界面,包括菜单栏和工具栏。
-
Screen Painter用于维护在线程序的屏幕组件。
-
存储库信息系统包含有关开发和运行时对象的信息,例如数据模型、字典类型和表结构、程序和函数。
-
测试和分析工具,例如语法检查和调试器。
-
Function Builder,它允许创建和维护功能组和功能模块。
-
Data Modeler,一种支持图形建模的工具。
-
Workbench Organizer,它维护多个开发项目并管理它们的分布。
注– ABAP 工作台曾经被称为 ABAP/4 开发工作台。
报告
报表程序生成列表,可分为经典报表和交互式报表。
-
传统报表不允许用户交互;因此,基本列表包含大量信息,用户必须经常对这些信息进行分类才能找到相关数据。
-
交互式报告允许用户进行交互;因此,用户可以通过选择相关数据并请求更多信息来生成基本列表的二级详细列表。
-
SAP Query 或 Ad-hoc Query 或 InfoSet Query是一种工具,它允许最终用户根据需求在 SAP 系统中根据不同的输入和输出参数设计不同的查询。这是 HR 模块中主要用于从关系数据库中提取数据的报告工具之一。InfoSet Query 适用于 SAP R/3 系统所有领域的报告。
Ad-Hoc 查询提供三种不同类型的报告 –
-
基本列表– 简单的报告。
-
统计– 具有统计功能的报告,如平均值、百分比等。
-
排名列表– 用于分析报告。
用于访问临时查询的事务代码 –
-
SQ01 – 维护查询
-
SQ02 – 显示信息集
-
SQ03 – 维护用户组
数据输入
必须先填充 SAP 数据库,然后最终用户才能开始处理业务流程以进行分析和报告。根据要传输的复杂性和数据量,使用各种方法在各个阶段将数据传输到系统中。
数据可以从 SAP 传输到 SAP 或 SAP 到非 SAP 系统(遗留系统)。数据也可以通过手动输入进行传输。用于数据传输的工具如下 –
- BDC(批量数据通信)
- IDOC(中间文件)
- LSMW(旧系统迁移工作台)
- 通过上传保存数据的 .txt 或 Excel 文件的接口
- 使用事务代码手动输入数据
印刷
SAP 生成各种文档,例如采购订单、销售订单、发票、工资单等。您可以在需要时打印这些文档。下图显示了打印过程在 SAP 系统中的工作方式。
SAP系统中需要不同种类的打印方法,例如 –
- 本地打印
- 远程打印(网络)
- 前端打印(适用于 Windows 的 SAP GUI)
- 前端打印(用于 HTML 的 SAP GUI)
用户触发打印流程后,将打印请求发送到后台处理服务器,其中包含处理所需的对话和后台处理工作流程。
通用编程
可以使用 R/3 系统的功能以交互方式编写程序。程序既可以在线执行,也可以在后台执行。还可以安排后台作业以特定时间间隔运行。
-
模块池编程(或在线编程)涉及创建模块池(ABAP 模块的集合)和一个或多个屏幕。这些模块在程序执行期间由屏幕处理器调用。
-
批量输入处理用于确保将数据安全传输到 SAP 系统。这个过程是一个自动的、受保护的数据传输到 SAP 系统,它使用 SAP 事务来验证填充 SAP 数据库的数据。
-
ABAP 包含符合 CPI-C 标准(通用程序接口 – 通信)的语句。这些用于编程通信程序。
-
ABAP 可以读写顺序数据集。