Звіти ALV у підручнику SAP - Переглядач списків ABAP

Зміст:

Anonim

Загальними бажаними особливостями будь-якого звіту є "вирівнювання по стовпцях", сортування, фільтрація, проміжні підсумки, підсумки тощо. Щоб реалізувати їх з нуля, потрібно докласти багато зусиль для кодування. Щоб уникнути цього, ми можемо використовувати концепцію під назвою ABAP List Viewer (ALV).

У цьому підручнику ви дізнаєтесь:

  • Простий звіт
  • Блок-звіт
  • Ієрархічні звіти
  • Варіанти відображення

Кожен із цих звітів містить функціональні модулі, які допомагають отримувати бажані результати без особливих зусиль. Давайте розглянемо їх детально -

Простий звіт

Важливими функціональними модулями у цьому звіті є -

  • Повторне використання_alv_fieldcatalog_merge
  • Повторне використання_alv_list_display
  • Reuse_alv_events_get
  • Повторне використання_alv_grid_display
  • Повторне використання_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: процедура, де обробляються коди функцій.
  • Ім'я_структури: назва таблиці словників
  • Is_Layout: структура для встановлення макета звіту
  • It_fieldcat: внутрішня таблиця зі списком усіх полів та їх атрибутів, які слід надрукувати (цю таблицю функція може заповнити автоматично)
  • It_events: внутрішня таблиця зі списком усіх можливих подій ALV та відповідними назвами форм.

2. Таблиці:

  • a. t_outtab: внутрішня таблиця з даними для виведення

REUSE_ALV_EVENTS_GET:
Повертає таблицю можливих подій для типу списку aa
. Імпорт:
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_END_BLOCK_END
REUSE_ALV_GRID_DISPLAY
Нова функція версії ABAP4.6 для відображення результатів у сітці, а не в попередньому перегляді.
Параметри: те саме, що reuse_alv_list_display

Примітка: Сітка не може обробляти великі обсяги. Такі функції, як сортування, прокрутка вниз, споживають багато ресурсів / часу, якщо обсяг даних, що відображаються, великий. Немає чіткого чіткого визначення такого, що якщо обсяг даних X, перейдіть до списку або сітки, але розробник повинен прийняти дзвінок, виходячи зі свого досвіду. Якщо не впевнені, то кращий варіант - список

REUSE_ALV_COMMENTARY_WRITE
Це використовується у події Top-of-page для друку заголовків та інших коментарів до списку.
Важливі параметри

  • It_list_commentary: Внутрішня таблиця із заголовками типу slis_t_listheader.

Ця внутрішня таблиця має три поля:

  1. Тип: 'H' - заголовок, 'S' - виділення, 'A' - дія
  2. Клавіша: лише тоді, коли тип - "S".
  3. Інформація: текст для друку

Блок-звіт

Це виглядає як простий звіт, але цей звіт має функції лише сортування та фільтрації. Цей звіт використовується, якщо вам потрібно відобразити на виході більше одного звіту. Технічно кажучи, якщо у вас є кілька внутрішніх таблиць з даними, які відображаються як окремі блоки, тоді ми переходимо до звіту про блок 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
Export:

  • I_CALLBACK_PROGRAM
  • I_CALLBACK_PF_STATUS_SET
  • I_CALLBACK_USER_COMMAND
  • ІЗГЛЯД
  • It_fieldcat
  • It_events
  • I_tabname_header: Назва внутрішньої таблиці в програмі, що містить вихідні дані найвищого рівня ієрархії.
  • I_tabname_item: Назва внутрішньої таблиці в програмі, що містить вихідні дані найнижчого рівня ієрархії.
  • Is_keyinfo: Ця структура містить заголовки та назви полів таблиці елементів, які пов'язують дві таблиці (спільний ключ).

Столи

  • t_outtab_header: Таблиця заголовка з даними для виведення
  • t_outtab_item: Назва внутрішньої таблиці в програмі, що містить вихідні дані найнижчого рівня ієрархії.

Всі визначення внутрішніх таблиць, структур і констант оголошуються у пулі типів, що називається SLIS. Цю внутрішню таблицю можна заповнити автоматично, використовуючи REUSE_ALV_FIELDCATALOG_MERGE '.

Варіанти відображення

  • Варіанти відображення використовуються для встановлення властивостей виходу alv за замовчуванням, таких як критерії сортування, критерії фільтрації, підсумовування та проміжний підсумок тощо
  • Варіанти відображення можуть бути специфічними для користувача та стандартними (стандартні варіанти можуть бути використані будь-яким користувачем)
  • Вид варіантів відображення, які можна зберегти, контролюється параметром i_save, який передається у функціональних модулях reuse_alv_list_display / reuse_alv_grid_display
  • Ви можете вказати опцію на екрані вибору, щоб вибрати, який варіант відображення використовувати

Загальними функціональними модулями, що стосуються вибору / перевірки варіантів відображення, є

  1. Повторне використання_alv_variant_default_get
  2. Повторне використання_alv_variant_f4
  3. Повторне використання_alv_variant_existence

Це все для програмування ABAP-ALV!