Отчети за ALV в урок за SAP - ABAP List Viewer

Съдържание:

Anonim

Общите желани характеристики на всеки отчет са "подравняване на колони", сортиране, филтриране, междинни суми, общи суми и т.н. За да ги приложите от нулата, трябва да се положат много усилия за кодиране. За да избегнем това, можем да използваме концепция, наречена ABAP List Viewer (ALV).

В този урок ще научите:

  • Прост доклад
  • Блокиране на доклад
  • Йерархични доклади
  • Показване на варианти

Всеки от тези отчети предоставя функционални модули, които помагат за получаването на желания резултат без много усилия. Нека ги разгледаме в детайли -

Прост доклад

Важните функционални модули в този отчет са -

  • Reuse_alv_fieldcatalog_merge
  • Reuse_alv_list_display
  • Reuse_alv_events_get
  • Повторно използване_alv_grid_display
  • Reuse_alv_commentary_write

REUSE_ALV_FIELDCATALOG_MERGE
Този функционален модул се използва за попълване на полеви каталог, който е от съществено значение за показване на данните в ALV.
Ако изходните данни са от една речникова таблица и са избрани всички колони, тогава не е необходимо да създаваме изключително полевия каталог. Достатъчно е да се спомене името на таблицата като параметър (I_structure_name) в REUSE_ALV_LIST_DISPLAY. Но в други случаи трябва да го създадем.
Забележка: Fieldcatalog може да се попълни ръчно и чрез попълване на всички необходими подробности във вътрешната таблица
Важни параметри в са:
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_BLACK_ENDL
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
Този функционален модул се използва за задаване на GUI състояние по подразбиране и т.н. Параметрите са подобни на този, използван в 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 '.

Показване на варианти

  • Вариантите на дисплея се използват за задаване на свойствата по подразбиране на алв изход като критерии за сортиране, критерии за филтриране, общо и междинно изчисление и т.н.
  • Вариантите на дисплея могат да бъдат специфични за потребителя и стандартни (стандартните варианти могат да се използват от всеки потребител)
  • Вид варианти на дисплея, които могат да бъдат запазени, се контролира от параметъра 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!