alv экран sap что это
SD037-РП-2010 Руководство по работе с ALV_Grid-отчетами
https://hostiq.ua/clients/aff.php?aff=2305&lid=3 https://hostiq.ua/virtual-hosting/
SD037-РП-2010 Руководство по работе с ALV_Grid-отчетами |
Введение
ALV – SAP List Viewer.
ALV Grid – элемент пользовательского интерфейса, используемый в различных приложениях для отображения табличных данных.
ALV Grid (далее ALV_Grid-отчет) позволяет пользователю настраивать вид отчета, для этой цели предоставляются следующие функции:
— назначение итоговых строк,
— назначение строк для промежуточных итогов,
— определение параметров отображения.
ALV_Grid-отчет также позволяет экспортировать данные в текст или в таблицу EXCEL, выводить отчет на печать и отображать в виде презентационной графики.
Пример внешнего вида ALV_Grid-отчета:
Навигация в ALV_Grid-отчете
Если не все столбцы и записи помещаются на экран, перемещение по столбцам и записям осуществляется с помощью скроллинга (горизонтальная и вертикальная прокрутка).
Вы можете зафиксировать начальные столбцы (по аналогии с Excel), чтобы при перемещении по колонкам отчета они оставались «замороженными». Для этого выделите столбец, до которого (включительно) нужно зафиксировать столбцы слева, и, нажав правую кнопку мыши, выберите в появившемся списке меню пункт «Фиксир. до столбца».
На экране можно настраивать ширину колонок: подведите курсов к правому краю заголовка колонки, нажмите левую кнопку мыши и, удерживая ее, расширьте (сузьте) колонку.
На экране отчета можно сворачивать/разворачивать группировки (к итоговым строкам): подведите курсор к элементу группировки и щелкните левой кнопкой мыши. Примечание: Итоговые строки отчета на экране выводятся желтым цветом (светло-желтый цвет для промежуточных итогов и желтый для итога по отчету в целом).
Для сворачивания/разворачивания группировок по всему отчету в целом перейдите в меню к пункту: Параметры настройки – Определить развертку итогов
В появившемся окне следует выбрать уровень развертки итогов
Для просмотра подробных данных по отдельной записи (записям) отчета, отметьте строку (строки) и выберете на панели инструментов кнопку «Подробно». Примечание: нельзя использовать просмотр подробных данных для итоговых строк.
В зависимости от приложения, ALV_Grid-отчет может содержать дополнительные функции для данного отчета и, наоборот, скрывать некоторые функции, доступные в других стандартных приложениях SAP.
Находясь в режиме просмотра ALV_Grid-отчета, вы можете задать сортировку строк по возрастанию/убыванию значений в одной или нескольких колонках: выделите колонки и на панели инструментов нажмите кнопку «Сортировка по возрастающей» или «Сортировка по нисходящей».
В режиме просмотра ALV_Grid-отчета, вы можете задать фильтр для включения записей в отчет в зависимости от значений в одной или нескольких колонках: выделите колонки и на панели инструментов нажмите кнопку «Установить фильтр». Затем в появившемся окне задайте значения для фильтра.
Выделив столбцы, по которым нужно получить итоги, на панели инструментов нажмите кнопку «Итого». Затем, если нужны промежуточные итоги, на панели инструментов нажмите кнопку «Промежуточные суммы». В появившемся окне определите колонки по которым будут группироваться записи с одинаковым значением и формироваться промежуточные суммы.
Для выполнения ABC-анализа по выбранной Вами колонке выполните следующее: на панели инструментов нажмите кнопку «Экспортировать», в появившемся меню выберите «Анализ АВС». Примечание: подробнее об использовании в ALV функции «Анализ АВС» читайте в руководстве «SAP List Viewer (ALV): Classic» (English).
Для наглядности представления данных можно использовать встроенное средство презентационной графики, которое отображает данные при помощи различных видов гистограмм, линий и т.д. Выделите колонки, в разрезе которых будет построен отчет, и нажмите кнопку «Графика» (Ctrl+Shift+F11).
После этого в окне с графиком по нажатию правой кнопки мыши можно открыть меню для дополнительных настроек графика.
Экспорт данных из ALV_Grid-отчета
Для экспорта в текст на панели инструментов нажмите кнопку «Экспортировать» и далее «Обработка текста».
Для экспорта в электронную таблицу EXCEL на панели инструментов нажмите кнопку «Экспортировать» и далее «Электронная таблица»
Печать ALV_Grid-отчета
Для печати отчета на панели инструментов нажмите кнопку «Печать».
На экране предварительного просмотра можно сделать дополнительные настройки по отображению отчета. Чтобы перейти к экрану просмотра перед печатью, на панели инструментов выберите кнопку «Ракурсы», после чего выберите «Вывод списка».
В результате отчет на экране отобразится в ином виде – «для печати»:
Изменение формата ALV_Grid-отчета
Выберите в меню Параметры настройки – Формат – Изменить
Нажмите на панели инструментов кнопку «Изменить формат» (Ctrl+F8)
После этого появится окно «Изменение формата».
Выбор столбцов
В левой половине на данной закладке содержатся уже выбранные поля, а в правой те, которые еще можно выбрать. Для перемещения полей между списками следует выделить поле в списке и использовать кнопки «влево» и «вправо» (отмечено синим маркером).
Порядок отображения в отчете выбранных полей настраивается при помощи кнопок «вверх», «вниз», «в самый верх», «в самый низ» (отмечено красным маркером).
Здесь же настраивается вывод итоговых значений для количественных полей – для соответствующего столбца устанавливается индикатор ∑ (отмечено синим маркером).
Сортировка
После выбора столбцов, которые будут отображаться в ALV_Grid-отчете, можно настроить Сортировку.
На данной закладке следует выбрать поля, по которым нужна сортировка, и расположить их в необходимой последовательности, а также определить направление сортировки (красный маркер).
При необходимости здесь же отмечается необходимость расчета промежуточных сумм (синий маркер).
Сортировка по полю означает, что все значения по данному полю будут упорядочены в соответствии с указанным направлением. Порядок полей сортировки влияет на то, в какой последовательности будут сортироваться записи в отчете, т.е. для записей с одинаковым значением по первому полю сортировки упорядочивание далее происходит по второму полю и.т.д.
Промежуточная сумма для поля сортировки означает, что записи с одинаковым значением в этом поле будут сгруппированы и для каждой такой группы будет подсчитан итоговый результат по количественному полю, выбранному на закладке «Выбор столбцов» для подсчета итогов.
Строки отчета, содержащие итоговые значения, на экране отображаются желтым цветом: светло-желтый цвет для промежуточных итогов и желтый для итога по отчету в целом.
На примере ниже красным маркером отмечены промежуточные итоги по группе записей с одинаковым значением по полю «ВидТорговДокумента» и синим маркером – отмечены группы записей, имеющих одинаковые значения по полю «Название материала». Итоговая сумма по всему отчету отмечена черным маркером.
Фильтрация
Далее, если необходимо, можно настроить фильтр для включения записей в отчет в зависимости от значений полей. Для этого необходимо перейти на закладку Фильтр. Здесь следует выбрать поля, по которым нужна фильтрация данных. и указать ограничения для значений этих полей.
После того, как нужные поля выбраны, необходимо перейти ко второму шагу «Определение значений для критериев фильтра».
В появившемся окне следует назначить условия фильтрации записей (ограничения для включения записей в отчет).
Представление
На закладке «Представление» можно установить параметры оформления отчета на экране.
Сохранение и выбор варианта ALV_Grid-отчета
После того, как требуемый вид отчета настроен, его можно сохранить. Для этого следует на любом предыдущем экране нажать на «дискету». Если же вариант отчета сохраняется не из окна «Изменение формата», то следует на панели инструментов нажать кнопку «Сохранить формат» (Ctrl+F10).
Или в меню Параметры настройки–Формат–Сохранить.
Появится окно сохранение формата. Здесь в поле «Сохранить формат» следует ввести краткое название, а в поле «Название» ввести полное название варианта отчета.
После того, как формат сохранен, то ALV_Grid-отчет можно будет в дальнейшем вызывать в данном настроенном варианте отображения данных. Для этого используется кнопка «Выбрать формат»(Ctrl+F9)
Или путь по меню Параметры настройки – Формат – Выбрать.
Alv экран sap что это
На вкладке методы добавим еще два метода.
В методе SHOW_DATA изменим тип параметра на changing и добавим такой же параметр в каждый метод.
Затем добавим следующий код в методы.
Когда классы созданы, создадим главную программу ZKRE_HW7.
Запустим на выполнение.
В зависимости от того какую радиокнопку выбрали будем получать следующий результат.
В ALV можно поиграться с панелью меню. Закомментируем в методе ALV класса zcl_kre_hw6_view_alv следующий код:
Запустим на выполнение и увидим результат где будет отсутствовать панель.
Вот таким образом в SAP можно организовать вывод информации через ALV не используюя спартанские обычные списки.
Обсуждения : 6 комментариев
Комментарии
Филипп
Спасибо Вам большое за весь ваш курс! Я прошёл его с начала до конца, очень много приобрёл навыков в программировании и вообще хоть как-то сориентировался в системе SAP =)
Спасибо за отзыв! Успехов в дальнейшем обучении 🙂
Александр
Здравствуйте!
Планируется ли продолжение?
Какие-то темы еще не освещены для уровеня Junior ABAP programmer?
Спасибо за курс.
Еще не хватает тем: Smart/PDF forms, Enhancement Spot, BADI, Web dynpro.
Виктор Кореньков
Чтобы оставить комментарий, необходимо Войти или Зарегистрироваться.
Русские Блоги
Использование ABAP ALV control и разработка отчетов по ALV
Использование контроля ALV и ALV
Элемент управления ALV (SAP List Viewer) является одним из наиболее часто используемых элементов управления в бизнесе SAP. В этой главе сначала представлен простой пример для отображения данных с использованием элемента управления ALV, а затем в качестве примера приводится мощность ALV. функция.
Основное содержание этой главы:
(1) Простой пример управления ALV
(2) ALV управляет экземпляром настраиваемого поля вывода
(3) Создать элемент управления ALV на экране
(4) Настройте кнопки панели инструментов управления ALV
(5) Обработка события двойного щелчка управления ALV
(6) Отредактируйте внутреннюю таблицу и обновите базу данных через элемент управления ALV
(7) Использование дерева ИВЛ
(8) Связанные параметры и атрибуты разработки отчета ALV
1. Простой пример управления ALV
DATA:WA_SCHOOL LIKE TABLE OF YTDSCHOOL WITH HEADER LINE.
SELECT * INTO TABLE WA_SCHOOL FROM YTDSCHOOL.
CALL FUNCTION ‘REUSE_ALV_LIST_DISPLAY’
EXPORTING
I_STRUCTURE_NAME = ‘YTDSCHOOL’
TABLES
T_OUTTAB = WA_SCHOOL
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
2. Примеры элементов управления ALV с пользовательскими полями вывода
* Библиотека классов, используемая ALV
TYPE-POOLS:SLIS.
* Описание одного столбца
DATA WA_ALV_FIELD TYPE SLIS_FIELDCAT_ALV.
* Столбец описывает внутреннюю таблицу. Составить список
DATA WA_ALV_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
* d Определите внутреннюю таблицу
DATA WA_SCHOOL LIKE TABLE OF YTDSCHOOL WITH HEADER LINE.
* Назначение внутренней таблицы
SELECT * INTO TABLE WA_SCHOOL FROM YTDSCHOOL.
* Определить поля с первого по четвертый
WA_ALV_FIELD-COL_POS = 1.
WA_ALV_FIELD-FIELDNAME = ‘YCT_ID’.
WA_ALV_FIELD-SELTEXT_M = ‘Городской номер’.
APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.
WA_ALV_FIELD-COL_POS = 2.
WA_ALV_FIELD-FIELDNAME = ‘YSH_ID’.
WA_ALV_FIELD-SELTEXT_M = ‘Школьный идентификатор’.
APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.
WA_ALV_FIELD-COL_POS = 3.
WA_ALV_FIELD-FIELDNAME = ‘YSH_NAME’.
WA_ALV_FIELD-SELTEXT_M = ‘название школы’.
APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.
WA_ALV_FIELD-COL_POS = 4.
WA_ALV_FIELD-FIELDNAME = ‘YSH_ADDR’.
WA_ALV_FIELD-SELTEXT_M = ‘Адрес школы’.
APPEND WA_ALV_FIELD TO WA_ALV_FIELDCAT.
CALL FUNCTION ‘REUSE_ALV_LIST_DISPLAY’
EXPORTING
IT_FIELDCAT = WA_ALV_FIELDCAT
TABLES
T_OUTTAB = WA_SCHOOL.
3. Создайте элемент управления ALV на экране
Логический поток:
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
Основная программа:
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS ‘TESTSTA1’.
* Создать объект ALV, если окно еще не было создано
IF WA_CUSTOM_CONTAINER IS INITIAL.
CREATE OBJECT WA_CUSTOM_CONTAINER
EXPORTING
CONTAINER_NAME = WA_CONTAINER.
CREATE OBJECT ALV_GRID
EXPORTING
I_PARENT = WA_CUSTOM_CONTAINER.
CALL METHOD ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_STRUCTURE_NAME = ‘YTDSCHOOL’
CHANGING
IT_OUTTAB = WA_SCHOOL.
ENDIF.
ENDMODULE.
MODULE USER_COMMAND_0100 INPUT.
SAVE_OK = OK_CODE.
CLEAR OK_CODE.
CASE SAVE_OK.
WHEN ‘EXIT’.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.
4. Кнопки панели инструментов для пользовательских элементов управления ALV
DATA: OK_CODE TYPE SY-UCOMM,
SAVE_OK TYPE SY-UCOMM.
DATA EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER.
DATA: WA_SCHOOL TYPE TABLE OF YTDSCHOOL,
A_SCHOOL LIKE YTDSCHOOL.
SELECT * INTO TABLE WA_SCHOOL FROM YTDSCHOOL.
DATA:WA_CONTAINER TYPE SCRFNAME VALUE ‘ALVDATA’,
ALV_GRID TYPE REF TO CL_GUI_ALV_GRID,
WA_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
CLASS LCL_EVENT_RECEIVER DEFINITION.
PUBLIC SECTION.
METHODS:
HANDLE_TOOLBAR
FOR EVENT TOOLBAR OF CL_GUI_ALV_GRID
IMPORTING E_OBJECT E_INTERACTIVE,
HANDLE_USER_COMMAND
FOR EVENT USER_COMMAND OF CL_GUI_ALV_GRID
IMPORTING E_UCOMM.
ENDCLASS.
CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.
METHOD HANDLE_TOOLBAR.
DATA:LS_TOOLBAR TYPE STB_BUTTON.
CLEAR LS_TOOLBAR-BUTN_TYPE.
APPEND LS_TOOLBAR TO E_OBJECT->MT_TOOLBAR.
CLEAR LS_TOOLBAR.
MOVE ‘SHOW_DATA’ TO LS_TOOLBAR-FUNCTION.
MOVE ICON_PPE_VNODE TO LS_TOOLBAR-ICON.
MOVE ‘Отображение сведений о школе’ TOLS_TOOLBAR-QUICKINFO.
MOVE ‘Отображение сведений о школе’ TOLS_TOOLBAR-TEXT.
MOVE » TO LS_TOOLBAR-DISABLED.
APPEND LS_TOOLBAR TO E_OBJECT->MT_TOOLBAR.
ENDMETHOD.
METHOD HANDLE_USER_COMMAND.
DATA:LT_ROWS TYPE LVC_T_ROW.
CASE E_UCOMM.
WHEN ‘SHOW_DATA’.
CALL METHOD ALV_GRID->GET_SELECTED_ROWS
IMPORTING
ET_INDEX_ROWS = LT_ROWS.
CALL METHOD CL_GUI_CFW=>FLUSH.
IF SY-SUBRC = 0.
СООБЩЕНИЕ S005 (YMESS) С «Выбранной строкой».
PERFORM MESSDETA TABLES LT_ROWS.
ENDIF.
ENDCASE.
ENDMETHOD.
ENDCLASS.
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS ‘TESTSTA1’.
IF WA_CUSTOM_CONTAINER IS INITIAL.
CREATE OBJECT WA_CUSTOM_CONTAINER
EXPORTING CONTAINER_NAME = WA_CONTAINER.
CREATE OBJECT ALV_GRID
EXPORTING I_PARENT = WA_CUSTOM_CONTAINER.
CALL METHOD ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_STRUCTURE_NAME = ‘YTDSCHOOL’
CHANGING
IT_OUTTAB = WA_SCHOOL.
CREATE OBJECT EVENT_RECEIVER.
SET HANDLER EVENT_RECEIVER->HANDLE_USER_COMMAND FOR ALV_GRID.
SET HANDLER EVENT_RECEIVER->HANDLE_TOOLBAR FOR ALV_GRID.
CALL METHOD ALV_GRID->SET_TOOLBAR_INTERACTIVE.
ENDIF.
ENDMODULE.
MODULE USER_COMMAND_0100 INPUT.
SAVE_OK = OK_CODE.
CLEAR OK_CODE.
CASE SAVE_OK.
WHEN ‘EXIT’.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.
FORM MESSDETA TABLES P_ET_INDEX_ROWS STRUCTURE LVC_S_ROW.
DATA:LS_SELECTED_LINE LIKE LVC_S_ROW,
LF_ROW_INDEX TYPE LVC_INDEX.
DATA:S1(200) TYPE C,
S2(3) TYPE C.
S2 = ‘-‘.
LOOP AT P_ET_INDEX_ROWS INTO LS_SELECTED_LINE.
LF_ROW_INDEX = LS_SELECTED_LINE-INDEX.
READ TABLE WA_SCHOOL INDEX LF_ROW_INDEX INTO A_SCHOOL.
S1 = «Выбрать содержимое строки».
CONCATENATE S1 A_SCHOOL-YSH_NAME A_SCHOOL-YSH_ADDR
INTO S1 SEPARATED BY S2.
MESSAGE I005(YMESS) WITH S1.
ENDLOOP.
ENDFORM.
5. Обрабатывать события двойного щелчка ALV
DATA:OK_CODE TYPE SY-UCOMM,
SAVE_OK TYPE SY-UCOMM.
* Определите внутреннюю таблицу, переменные необходимо передавать без добавления HEADERLINE
DATA WA_SCHOOL TYPE TABLE OF YTDSCHOOL.
* Назначение внутренней таблицы
SELECT * INTO TABLE WA_SCHOOL FROM YTDSCHOOL.
* Определить пользовательский элемент управления окна, определить объект ALV
DATA:WA_CONTAINER TYPE SCRFNAME VALUE ‘ALVDATA’,
ALV_GRID TYPE REF TO CL_GUI_ALV_GRID,
WA_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
* Определить тип события
CLASS LCL_EVENT_RECEIVER DEFINITION DEFERRED.
* Определить событие
DATA EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER.
* Окно вызова напрямую
CALL SCREEN 100.
CLASS LCL_EVENT_RECEIVER DEFINITION.
PUBLIC SECTION.
METHODS:
HANDLE_DOUBLE_CLICK
FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
IMPORTING E_ROW E_COLUMN.
ENDCLASS.
CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.
METHOD HANDLE_DOUBLE_CLICK.
DATA:LI_SCHOOL LIKE LINE OF WA_SCHOOL.
READ TABLE WA_SCHOOL INDEX E_ROW-INDEX INTO LI_SCHOOL.
* Объединение информации, такой как строки и столбцы, в строку
DATA:S1(100) TYPE C.
* Строка CONCATENATE: имя столбца ‘E_ROW-INDEX’: ‘E_COLUMN-FIELDNAME INTO S1.
CONCATENATE S1 ‘SCHOOL NAME:’ LI_SCHOOL-YSH_NAME INTO S1.
CONCATENATE S1 ‘SCHOOL ADDR:’ LI_SCHOOL-YSH_ADDR INTO S1.
* Отображение информации о выбранных строках и столбцах в строке состояния
MESSAGE S208(00) WITH S1.
ENDMETHOD.
ENDCLASS.
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS ‘TESTSTA1’.
* Создать объект ALV, если окно еще не было создано
IF WA_CUSTOM_CONTAINER IS INITIAL.
CREATE OBJECT WA_CUSTOM_CONTAINER
EXPORTING CONTAINER_NAME = WA_CONTAINER.
CREATE OBJECT ALV_GRID
EXPORTING I_PARENT = WA_CUSTOM_CONTAINER.
CALL METHOD ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_STRUCTURE_NAME = ‘YTDSCHOOL’
CHANGING
IT_OUTTAB = WA_SCHOOL.
* Событие двойного щелчка для назначения объекта ALV
CREATE OBJECT EVENT_RECEIVER.
SET HANDLER EVENT_RECEIVER->HANDLE_DOUBLE_CLICK
FOR ALV_GRID.
ENDIF.
ENDMODULE.
MODULE USER_COMMAND_0100 INPUT.
SAVE_OK = OK_CODE.
CLEAR OK_CODE.
CASE SAVE_OK.
WHEN ‘EXIT’.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.
6. Отредактируйте внутреннюю таблицу и обновление базы данных через элемент управления ALV.
Процесс выглядит следующим образом:
(1) Установите элемент управления ALV для редактирования;
(2) обновить данные во внутренней таблице при выходе из экрана;
(3) Записать информацию об изменении данных элемента управления ALV и сохранить информацию удаленной строки элемента управления ALV во внутренней таблице;
(4) Во время вывода сравните удаленную строку с последней внутренней таблицей и удалите дублирующую строку;
(5) Обновите данные в таблице данных.
7. Использование ALV TREE
DATA: OK_CODE TYPE SY-UCOMM,
SAVE_OK TYPE SY-UCOMM.
DATA: GB_FIELDCAT TYPE LVC_T_FCAT.
DATA: GB_SORTFLD TYPE LVC_T_SORT.
DATA WA_SCHOOL TYPE TABLE OF YTDSCHOOL.
SELECT * INTO TABLE WA_SCHOOL FROM YTDSCHOOL.
DATA: WA_CONTAINER TYPE SCRFNAME VALUE ‘ALVDATA’,
ALV_GRID TYPE REF TO CL_GUI_ALV_TREE_SIMPLE,
WA_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS ‘TESTSTA1’.
IF WA_CUSTOM_CONTAINER IS INITIAL.
DATA LS_LIST_COMM TYPE SLIS_T_LISTHEADER.
DATA LS_ALIST_COMM TYPE SLIS_LISTHEADER.
LS_ALIST_COMM-TYP = ‘H’.
LS_ALIST_COMM-INFO = ‘MY ALV TREE Testing’.
APPEND LS_ALIST_COMM TO LS_LIST_COMM.
PERFORM BLDCAT.
PERFORM BLDSORTFLD.
CREATE OBJECT WA_CUSTOM_CONTAINER
EXPORTING CONTAINER_NAME = WA_CONTAINER.
CREATE OBJECT ALV_GRID
EXPORTING I_PARENT = WA_CUSTOM_CONTAINER.
CALL METHOD ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
IT_LIST_COMMENTARY = LS_LIST_COMM
I_STRUCTURE_NAME = ‘YTDSCHOOL’
CHANGING
IT_SORT = GB_SORTFLD
IT_FIELDCATALOG = GB_FIELDCAT
IT_OUTTAB = WA_SCHOOL.
CALL METHOD ALV_GRID->EXPAND_TREE
EXPORTING
I_LEVEL = 1.
ENDIF.
ENDMODULE.
MODULE USER_COMMAND_0100 INPUT.
SAVE_OK = OK_CODE.
CLEAR OK_CODE.
CASE SAVE_OK.
WHEN ‘EXIT’.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.
FORM BLDCAT.
CALL FUNCTION ‘LVC_FIELDCATALOG_MERGE’
EXPORTING
I_STRUCTURE_NAME = ‘YTDSCHOOL’
CHANGING
CT_FIELDCAT = GB_FIELDCAT.
DATA LS_FLDCAT TYPE LVC_S_FCAT.
LOOP AT GB_FIELDCAT INTO LS_FLDCAT.
CASE LS_FLDCAT-FIELDNAME.
WHEN ‘YSH_NAME’ OR ‘YSH_ADDR’.
LS_FLDCAT-OUTPUTLEN = 15.
WHEN OTHERS.
LS_FLDCAT-NO_OUT = ‘X’.
ENDCASE.
MODIFY GB_FIELDCAT FROM LS_FLDCAT.
ENDLOOP.
ENDFORM.
FORM BLDSORTFLD.
DATA LS_SORTFLD TYPE LVC_S_SORT.
LS_SORTFLD-SPOS = 1.
LS_SORTFLD-FIELDNAME = ‘YCT_ID’.
LS_SORTFLD-UP = ‘X’.
LS_SORTFLD-SUBTOT = ‘X’.
APPEND LS_SORTFLD TO GB_SORTFLD.
LS_SORTFLD-SPOS = 2.
LS_SORTFLD-FIELDNAME = ‘YSH_ID’.
LS_SORTFLD-UP = ‘X’.
LS_SORTFLD-SUBTOT = ‘X’.
APPEND LS_SORTFLD TO GB_SORTFLD.
8. Связанные параметры и использование разработки отчета ALV
8.1 ALV(SAPПросмотр списка) ДаSAPОбычно используемые объекты управления списком отображения на экране, которые отображают данные путем передачи данных во внутренние таблицы;
Формат отображения ALV делится на два режима: Сетка и Список:
Режим сетки имеет функцию кнопок выбора столбцов, что позволяет пользователям напрямую выводить форматы, операция более гибкая;
Режим списка имеет фиксированный формат и применяется к более строгим стандартным отчетам.
Выходной ALVFunctionЕсть два:REUSE_ALV_GRID_DISPLAYиREUSE_ALV_GRID_DISPLAY_LVC
двафункцияВсе данные могут быть отображены в виде ALV, только некоторые мелкие детали отличаются.
Перед вызовом функции ALV необходимо ввести пул типов: TYPE-POOLS: SLIS.
8.2 Определение LAYOUT и FIELDCAT
Макет в основном используется для установки формата вывода ALV, который является опцией для вывода ALV;
Fieldcat в основном используется для определения структуры ALV, включая конкретные поля и атрибуты, такие как имя, тип, формат и т. Д. Это обязательный параметр для вывода ALV.
Перед вызовом ALV, вам нужно определить layout и fieldcat.
Среди них определение глобальных переменных, используемых двумя функциями ALV:
1) Глобальные переменные, используемые функцией REUSE_ALV_GRID_DISPLAY:
2) Глобальные переменные, используемые функцией REUSE_ALV_GRID_DISPLAY_LVC:
Тип макета REUSE_ALV_GRID_DISPLAY:slis_layout_alvТип Fieldcatslis_fieldcat_alv;
Тип макета REUSE_ALV_GRID_DISPLAY_LVC:lvc_s_layoТип Fieldcatlvc_s_fcat;
Среди них для‘SLIS_’В начале вы можете просмотреть его в пуле типов SLIS,‘LVC_’Начало можно в словаре данных (SE11) Вид.