SAP - 程序设计语言 (ABAP)



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

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

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

  • 报表
  • 模块池编程
  • 接口
  • 表单
  • 数据转换
  • 用户出口 & BADI

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

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

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

ABAP 工作台

SAP 使用 ABAP 工作台开发标准和自定义应用程序软件。ABAP 工作台还用于创建字典对象。它包含以下组件:

  • ABAP 编辑器 用于维护程序。

  • ABAP 字典 用于维护字典对象。

  • 资源库浏览器 用于显示包中组件的分层结构。

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

  • 屏幕绘制器 用于维护在线程序的屏幕组件。

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

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

  • 函数构建器,允许创建和维护函数组和函数模块。

  • 数据建模器,支持图形建模的工具。

  • 工作台组织器,维护多个开发项目并管理其分发。

ABAP Workbench

注意 - ABAP 工作台以前被称为 ABAP/4 开发工作台。

报表

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

  • 经典报表不允许用户交互;因此,基本列表包含大量信息,用户经常需要对其进行排序才能找到相关数据。

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

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

Ad-Hoc 查询提供三种不同的报表:

  • 基本列表 - 简单报表。

  • 统计 - 包含平均值、百分比等统计函数的报表。

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

用于访问 Ad-hoc 查询的事务代码:

  • SQ01 - 维护查询

  • SQ02 - 显示 InfoSet

  • SQ03 - 维护用户组

数据录入

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

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

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

打印

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

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

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

用户触发打印流程后,打印请求将发送到打印池服务器,该服务器包含处理所需的对话和打印池工作流程。

通用编程

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

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

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

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

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

广告