- SAP ABAP 教程
- SAP ABAP - 主页
- SAP ABAP - 概述
- SAP ABAP - 环境
- SAP ABAP - 屏幕导航
- SAP ABAP - 基本语法
- SAP ABAP - 数据类型
- SAP ABAP - 变量
- SAP ABAP - 常量和文字
- SAP ABAP - 操作员
- SAP ABAP - 循环控制
- SAP ABAP - 决策
- SAP ABAP - 字符串
- SAP ABAP - 日期和时间
- SAP ABAP - 格式化数据
- SAP ABAP - 异常处理
- SAP ABAP - 字典
- SAP ABAP - 域
- SAP ABAP - 数据元素
- SAP ABAP - 表
- SAP ABAP - 结构
- SAP ABAP - 视图
- SAP ABAP - 搜索帮助
- SAP ABAP - 锁定对象
- SAP ABAP - 模块化
- SAP ABAP - 子例程
- SAP ABAP - 宏
- SAP ABAP - 功能模块
- SAP ABAP - 包含程序
- SAP ABAP - 开放 SQL 概述
- SAP ABAP - 本机 SQL 概述
- SAP ABAP - 内部表
- SAP ABAP - 创建内部表
- ABAP - 填充内部表
- SAP ABAP - 复制内部表
- SAP ABAP - 读取内部表
- SAP ABAP - 删除内部表
- SAP ABAP - 面向对象
- SAP ABAP - 对象
- SAP ABAP - 类
- SAP ABAP - 继承
- SAP ABAP - 多态性
- SAP ABAP - 封装
- SAP ABAP - 接口
- SAP ABAP - 对象事件
- SAP ABAP - 报表编程
- SAP ABAP - 对话框编程
- SAP ABAP - 智能表单
- SAP ABAP - SAP 脚本
- SAP ABAP - 客户退出
- SAP ABAP - 用户退出
- SAP ABAP - 业务插件
- SAP ABAP - Web Dynpro
- SAP ABAP 有用资源
- SAP ABAP - 问题解答
- SAP ABAP - 快速指南
- SAP ABAP - 有用的资源
- SAP ABAP - 讨论
SAP ABAP - 报表编程
报告是以有组织的结构呈现数据。许多数据库管理系统都包含一个报告编写器,使您能够设计和生成报告。SAP 应用程序支持报告创建。
经典报告是通过使用循环内 WRITE 语句中的输出数据来创建的。它们不包含任何子报告。SAP 还提供了一些标准报告,例如用于跨客户端复制表的 RSCLTCOP 和用于显示实例参数的 RSPARAM。
这些报告仅包含一个屏幕作为输出。我们可以使用INITIALIZATON和TOP-OF-PAGE等各种事件来创建经典报表,并且每个事件在创建经典报表的过程中都有其自己的重要性。这些事件中的每一个都与特定的用户操作相关联,并且仅当用户执行该操作时才会触发。
以下是描述事件和描述的表格 -
| 编号 | 活动及描述 |
|---|---|
| 1 | 初始化 在显示选择屏幕之前触发。 |
| 2 | 在选择屏幕上 在处理选择屏幕上的用户输入后触发。该事件在执行程序之前验证用户输入。处理用户输入后,选择屏幕保持活动模式。 |
| 3 | 选择开始 仅在选择屏幕处理结束后触发;也就是说,当用户单击选择屏幕上的“执行”图标时。 |
| 4 | 选择结束 在执行 START-OF-SELECTON 事件中的最后一条语句后触发。 |
| 5 | 页面顶部 由第一个 WRITE 语句触发,在新页面上显示数据。 |
| 6 | 页尾 触发以在报表中的页面末尾显示文本。请注意,此事件是创建报告时的最后一个事件,应与 REPORT 语句的 LINE-COUNT 子句结合使用。 |
例子
让我们创建一个经典的报告。我们将通过在ABAP编辑器中使用一系列语句来显示存储在标准数据库MARA(包含一般材料数据)中的信息。
REPORT ZREPORT2
LINE-SIZE 75
LINE-COUNT 30(3)
NO STANDARD PAGE HEADING.
Tables: MARA.
TYPES: Begin of itab,
MATNR TYPE MARA-MATNR,
MBRSH TYPE MARA-MBRSH,
MEINS TYPE MARA-MEINS,
MTART TYPE MARA-MTART,
End of itab.
DATA: wa_ma TYPE itab,
it_ma TYPE STANDARD TABLE OF itab.
SELECT-OPTIONS: MATS FOR MARA-MATNR OBLIGATORY.
INITIALIZATION.
MATS-LOW = '1'.
MATS-HIGH = '500'.
APPEND MATS.
AT SELECTION-SCREEN. .
IF MATS-LOW = ' '.
MESSAGE I000(ZKMESSAGE).
ELSEIF MATS-HIGH = ' '.
MESSAGE I001(ZKMESSAGE).
ENDIF.
TOP-OF-PAGE.
WRITE:/ 'CLASSICAL REPORT CONTAINING GENERAL MATERIAL DATA
FROM THE TABLE MARA' COLOR 7.
ULINE.
WRITE:/ 'MATERIAL' COLOR 1,
24 'INDUSTRY' COLOR 2,
38 'UNITS' COLOR 3,
53 'MATERIAL TYPE' COLOR 4.
ULINE.
END-OF-PAGE.
START-OF-SELECTION.
SELECT MATNR MBRSH MEINS MTART FROM MARA
INTO TABLE it_ma WHERE MATNR IN MATS.
LOOP AT it_ma into wa_ma.
WRITE:/ wa_ma-MATNR,
25 wa_ma-MBRSH,
40 wa_ma-MEINS,
55 wa_ma-MTART.
ENDLOOP.
END-OF-SELECTION.
ULINE.
WRITE:/ 'CLASSICAL REPORT HAS BEEN CREATED' COLOR 7.
ULINE.
SKIP.
上面的代码产生以下输出,其中包含标准表 MARA 中的一般材料数据 -
