SAP ABAP 编程报告
报告是以组织结构呈现数据。 许多数据库管理系统包括一个报告写入器,使您能够设计和生成报告。 SAP应用程序支持报告创建。
使用循环内的WRITE语句中的输出数据创建经典报告。 它们不包含任何子报告。 SAP还提供了一些标准报告,例如用于在客户端之间复制表的RSCLTCOP和用于显示实例参数的RSPARAM。
这些报告只包含一个屏幕作为输出。 我们可以使用各种事件,如INITIALIZATON& TOP-OF-PAGE来创建经典报告,每个事件在创建经典报告时都有自己的重要性。 这些事件中的每一个都与特定的用户操作相关联,并且只有在用户执行该操作时才会触发。
以下是描述事件和描述的表:
编号 | 事件&说明 |
---|---|
1 | INITIALIZATON在显示选择画面之前触发。 |
2 | AT SELECTION-SCREEN 在选择屏幕上处理用户输入后触发。 此事件在执行程序之前验证用户输入。 在处理用户输入之后,选择屏幕保持在活动模式。 |
3 | START-OF-SELECTION 仅在选择屏幕的处理结束后触发; 即当用户点击选择屏幕上的执行图标时。 |
4 | END-OF-SELECTION在执行START-OF-SELECTION事件中的最后一条语句之后触发。 |
5 | TOP-OF-PAGE 由第一条WRITE语句触发以在新页面上显示数据。 |
6 | END-OF-PAGE 触发以在报表的页面末尾显示文本。 请注意,此事件是创建报告时的最后一个事件,应与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
关于赛锐信息
作为SAP的资深合作伙伴,赛锐信息是一家专业提供SAP行业化管理软件解决方案的顾问公司,致力于为企业提供SAP ERP系统咨询服务、IT规划、业务流程优化、信息系统实施、行业信息系统方案开发,运营外包及售后维护等全面的服务方案。已服务1000+家不同行业、规模的大中小型企业客户。在电子高科技、汽车零部件、印刷包装、医疗器械、快消品、专业服务等行业信息化管理领域具有领导性地位。