Отчеты ИВЛ в SAP Учебное пособие — Средство просмотра списков ABAP
Обычными желаемыми функциями любого отчета являются «выравнивание столбцов», сортировка, фильтрация, промежуточные итоги, итоги и т. д. Чтобы реализовать их с нуля, необходимо приложить немало усилий по кодированию. Чтобы избежать этого, мы можем использовать концепцию под названием ABAP List Viewer (ALV).
Каждый из этих отчетов содержит функциональные модули которые помогают добиться желаемого результата без особых усилий. Давайте рассмотрим их подробно –
Простой отчет
Важные функциональные модули в этих докладе являются -
- Reuse_alv_fieldcatalog_merge
- Reuse_alv_list_display
- Reuse_alv_events_get
- Reuse_alv_grid_display
- Reuse_alv_commentary_write
REUSE_ALV_FIELDCATALOG_MERGE
Этот функциональный модуль используется для заполнения каталога полей, который необходим для отображения данных в ALV.
Если выходные данные взяты из одной таблицы словаря и выбраны все столбцы, то нам не нужно создавать исключительно каталог полей. Достаточно указать имя таблицы в качестве параметра (I_structure_name) в REUSE_ALV_LIST_DISPLAY. Но в других случаях нам нужно его создать.
Примечание. Каталог полей можно заполнить вручную, заполнив все необходимые данные во внутренней таблице.
Важными параметрами являются:
1. Экспорт:
- I_program_name: идентификатор отчета
- I_internal_tabname: внутренняя таблица вывода.
- I_inclname: включить или имя отчета, в котором обрабатываются все динамические формы.
2. Изменение
- ct_fieldcat: внутренний стол с типом SLIS_T_FIELDCAT_ALV, который объявлен в пуле типов SLIS.
REUSE_ALV_LIST_DISPLAY
Это функциональный модуль, который печатает данные.
Важные параметры:
1. Экспорт:
- I_callback_program: идентификатор отчета
- I_bypassing_buffer: 'X'
- I_buffer_active: ''
- I_callback_pf_status_set: процедура, в которой пользователь может установить свой собственный статус pf или изменить функциональность существующего статуса pf.
- I_callback_user_command: процедура, в которой обрабатываются коды функций.
- I_structure name: имя словарной таблицы.
- Is_Layout: структура для установки макета отчета.
- It_fieldcat: внутренняя таблица со списком всех полей и их атрибутов, которые должны быть напечатаны (эта таблица может заполняться функцией автоматически)
- It_events: внутренняя таблица со списком всех возможных событий ALV и соответствующими им именами форм.
2. Таблицы:
- а. t_outtab: внутренняя таблица с данными для вывода
REUSE_ALV_EVENTS_GET:
Возвращает таблицу возможных событий для типа списка.
1. Импорт:
Et_Events:Таблица событий возвращается со всеми возможными событиями CALLBACK для указанного типа списка (столбец «ИМЯ»). Чтобы события обрабатывались обратным вызовом, их поле «ФОРМА» должно быть заполнено. Если поле инициализировано, событие игнорируется. Запись может быть прочитана из таблицы событий, поле «ФОРМА» заполнено, а запись изменена с использованием констант из пула типов SLIS.
2. Экспорт:
I_list_type: 0 = простой список REUSE_ALV_LIST_DISPLAY
1 = иерархически-последовательный список REUSE_ALV_HIERSEQ_LIST_DISPLAY
2 = простой черный список REUSE_ALV_BLOCK_LIST_APPEND
3 = иерархически-последовательный список блоков REUSE_ALV_BLOCK_LIST_HS_APPEND
REUSE_ALV_GRID_DISPLAY
Новая функция из версии ABAP4.6 для отображения результатов в сетке, а не в предварительном просмотре.
Параметры: такие же, как reuse_alv_list_display.
Примечание. Grid не может обрабатывать большие объемы. Такие функции, как сортировка, прокрутка вниз, потребляют много ресурсов/времени, если объем отображаемых данных велик. Не существует четкого определения, согласно которому, если объем данных равен X, следует использовать список или сетку, но разработчик должен принять решение, основываясь на своем опыте. Если не уверены, то список — лучший вариант
REUSE_ALV_COMMENTARY_WRITE
Это используется в событии Top-of-page для печати заголовков и других комментариев для списка.
Важные параметры
- It_list_commentary: внутренняя таблица с заголовками типа slis_t_listheader.
Эта внутренняя таблица имеет три поля:
- Тип: «H» — заголовок, «S» — выбор, «A» — действие.
- Ключ: только если тип «S».
- Информация: текст для печати.
Заблокировать отчет
Это выглядит как простой отчет, но этот отчет имеет только функции сортировки и фильтрации. Этот отчет используется, если вам нужно отобразить более одного отчета на выходе. Технически говоря, если у вас есть несколько внутренних таблиц с данными, которые должны отображаться в виде отдельных блоков, мы выбираем отчет по блокам ALV.
Важными функциями, используемыми для создания этого отчета, являются:
- REUSE_ALV_BLOCK_LIST_INIT
- REUSE_ALV_BLOCK_LIST_APPEND
- REUSE_ALV_BLOCK_LIST_DISPLAY
REUSE_ALV_BLOCK_LIST_INIT
Этот функциональный модуль используется для установки статуса графического интерфейса по умолчанию и т. д. Параметры аналогичны тем, которые используются в reuse_alv_list_display или reuse_alv_grid_display.
REUSE_ALV_BLOCK_LIST_APPEND
Этот функциональный модуль добавляет данные в блок.
Важные параметры
1.Экспорт:
- is_layout: настройки макета для блока
- it_fieldcat: каталог полей
- I_tabname: имя внутренней таблицы со всеми возможными событиями.
2. Таблицы:
- t_outtab: внутренняя таблица с выходными данными.
REUSE_ALV_BLOCK_LIST_DISPLAY
Этот функциональный модуль отображает список данных, добавленных вышеуказанной функцией.
Параметры: Все параметры являются необязательными.
Иерархические отчеты
Иерархическое отображение используется для отображения связанных данных. Например, заказ на продажу и детали товара. Здесь детали заказа на продажу могут быть данными заголовка, тогда как элементы в заказе на продажу могут быть данными позиции.
Для этого используется функциональный модуль
REUSE_ALV_HIERSEQ_LIST_DISPLAY
Экспорт:
- I_CALLBACK_PROGRAM
- I_CALLBACK_PF_STATUS_SET
- I_CALLBACK_USER_COMMAND
- IS_LAYOUT
- It_fieldcat
- It_events
- I_tabname_header: Имя внутренней таблицы в программе, содержащей выходные данные самого высокого уровня иерархии.
- I_tabname_item: Имя внутренней таблицы в программе, содержащей выходные данные самого низкого уровня иерархии.
- Is_keyinfo: эта структура содержит имена полей таблицы заголовка и элементов, которые связывают две таблицы (общий ключ).
таблицы
- t_outtab_header: таблица заголовков с данными для вывода.
- t_outtab_item: Имя внутренней таблицы в программе, содержащей выходные данные самого низкого уровня иерархии.
Все определения внутренних таблиц, структур и констант объявляются в пуле типов, называемом СЛИС. Эта внутренняя таблица может заполняться автоматически с помощью REUSE_ALV_FIELDCATALOG_MERGE'.
Варианты отображения
- Варианты отображения используются для установки свойств по умолчанию для вывода alv, таких как критерии сортировки, критерии фильтрации, подведение итогов и промежуточных итогов и т. д.
- Варианты отображения могут быть специфичными для пользователя и стандартными (стандартные варианты могут использоваться любым пользователем)
- Тип сохраняемых вариантов отображения определяется параметром i_save, который передается в функциональных модулях reuse_alv_list_display/reuse_alv_grid_display.
- На экране выбора можно предоставить возможность выбрать, какой вариант отображения будет использоваться.
Общие функциональные модули, связанные с выбором/проверкой вариантов отображения:
- Reuse_alv_variant_default_get
- Reuse_alv_variant_f4
- Reuse_alv_variant_existence
Это все, чтобы ABAP – Программирование ИВЛ!