SAP ABAP - Программирование отчетов

А reportпредставляет собой представление данных в организованной структуре. Многие системы управления базами данных включают в себя средство записи отчетов, которое позволяет создавать и создавать отчеты. Приложения SAP поддерживают создание отчетов.

Классический отчет создается с использованием выходных данных в операторе WRITE внутри цикла. Они не содержат подотчетов. SAP также предоставляет некоторые стандартные отчеты, такие как RSCLTCOP, который используется для копирования таблиц между клиентами, и RSPARAM, который используется для отображения параметров экземпляра.

Эти отчеты состоят только из одного экрана в качестве вывода. Мы можем использовать различные события, такие как INITIALIZATON и TOP-OF-PAGE, для создания классического отчета, и каждое событие имеет свою важность при создании классического отчета. Каждое из этих событий связано с определенным действием пользователя и запускается только тогда, когда пользователь выполняет это действие.

Ниже приводится таблица с описанием событий и описанием.

S.No. Описание события
1

INITIALIZATON

Срабатывает перед отображением экрана выбора.

2

AT SELECTION-SCREEN

Срабатывает после обработки ввода пользователя на экране выбора. Это событие проверяет ввод данных пользователем до выполнения программы. После обработки ввода пользователя экран выбора остается в активном режиме.

3

START-OF-SELECTION

Срабатывает только после завершения обработки экрана выбора; то есть, когда пользователь щелкает значок «Выполнить» на экране выбора.

4

END-OF-SELECTION

Запускается после выполнения последнего оператора в событии START-OF-SELECTON.

5

TOP-OF-PAGE

Запускается первым оператором WRITE для отображения данных на новой странице.

6

END-OF-PAGE

Запускается для отображения текста в конце страницы в отчете. Обратите внимание, что это событие является последним событием при создании отчета и должно быть объединено с предложением LINE-COUNT оператора REPORT.

пример

Создадим классический отчет. Мы отобразим информацию, хранящуюся в стандартной базе данных MARA (содержит общие данные материала), используя последовательность операторов в редакторе 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.

Приведенный выше код производит следующий вывод, содержащий общие данные о материалах из стандартной таблицы MARA: