SAP ABAP - Lập trình báo cáo

A reportlà một bản trình bày dữ liệu trong một cấu trúc có tổ chức. Nhiều hệ thống quản lý cơ sở dữ liệu bao gồm trình viết báo cáo cho phép bạn thiết kế và tạo báo cáo. Các ứng dụng SAP hỗ trợ tạo báo cáo.

Một báo cáo cổ điển được tạo bằng cách sử dụng dữ liệu đầu ra trong câu lệnh WRITE bên trong một vòng lặp. Chúng không chứa bất kỳ báo cáo phụ nào. SAP cũng cung cấp một số báo cáo tiêu chuẩn như RSCLTCOP được sử dụng để sao chép bảng giữa các máy khách và RSPARAM được sử dụng để hiển thị các tham số phiên bản.

Các báo cáo này chỉ bao gồm một màn hình làm đầu ra. Chúng tôi có thể sử dụng các sự kiện khác nhau như INITIALIZATON & TOP-OF-PAGE để tạo báo cáo cổ điển và mỗi sự kiện có tầm quan trọng riêng trong quá trình tạo báo cáo cổ điển. Mỗi sự kiện này được liên kết với một hành động cụ thể của người dùng và chỉ được kích hoạt khi người dùng thực hiện hành động đó.

Sau đây là bảng mô tả các sự kiện và mô tả:

Không. Sự kiện & Mô tả
1

INITIALIZATON

Được kích hoạt trước khi hiển thị màn hình lựa chọn.

2

AT SELECTION-SCREEN

Được kích hoạt sau khi xử lý đầu vào của người dùng trên màn hình lựa chọn. Sự kiện này xác minh đầu vào của người dùng trước khi thực hiện chương trình. Sau khi xử lý đầu vào của người dùng, màn hình lựa chọn vẫn ở chế độ hoạt động.

3

START-OF-SELECTION

Chỉ được kích hoạt sau khi quá trình xử lý màn hình lựa chọn kết thúc; nghĩa là khi người dùng nhấp vào biểu tượng Execute trên màn hình lựa chọn.

4

END-OF-SELECTION

Được kích hoạt sau khi câu lệnh cuối cùng trong sự kiện START-OF-SELECTON được thực thi.

5

TOP-OF-PAGE

Được kích hoạt bởi câu lệnh WRITE đầu tiên để hiển thị dữ liệu trên một trang mới.

6

END-OF-PAGE

Được kích hoạt để hiển thị văn bản ở cuối trang trong báo cáo. Lưu ý rằng sự kiện này là sự kiện cuối cùng trong khi tạo báo cáo và phải được kết hợp với mệnh đề LINE-COUNT của câu lệnh REPORT.

Thí dụ

Hãy tạo một báo cáo cổ điển. Chúng tôi sẽ hiển thị thông tin được lưu trữ trong cơ sở dữ liệu chuẩn MARA (chứa dữ liệu vật liệu chung) bằng cách sử dụng một chuỗi các câu lệnh trong trình soạn thảo ABAP.

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.

Đoạn mã trên tạo ra kết quả sau chứa dữ liệu vật liệu chung từ bảng tiêu chuẩn MARA -