ABAP
ABAP GRID List Viewer (ALV)
Поиск…
Создание и отображение ALV
В этом примере cl_salv_table наиболее простое создание ALV с использованием класса cl_salv_table и дополнительных параметров форматирования. Дополнительные опции форматирования будут включены после блока TRY ENDTRY и перед alv->display( ) метода alv->display( ) .
Все последующие примеры с использованием подхода ABAP Objects к созданию ALV будут использовать этот пример в качестве отправной точки.
DATA: t_spfli TYPE STANDARD TABLE OF spfli,
alv TYPE REF TO cl_salv_table,
error_message TYPE REF TO cx_salv_msg.
" Fill the internal table with example data
SELECT * FROM spfli INTO TABLE t_spfli.
" Fill ALV object with data from the internal table
TRY.
cl_salv_table=>factory(
IMPORTING
r_salv_table = alv
CHANGING
t_table = t_spfli ).
CATCH cx_salv_msg INTO error_message.
" error handling
ENDTRY.
" Use the ALV object's display method to show the ALV on the screen
alv->display( ).
Оптимизировать ширину столбца ALV
В этом примере показано, как оптимизировать ширину столбца, чтобы заголовки столбцов и данные не прерывались.
alv->get_columns( )->set_optimize( ).
Скрыть столбцы в ALV
В этом примере скрывается поле MANDT (клиент) из ALV. Обратите внимание, что параметр, переданный в get_column( ) должен быть капитализирован, чтобы это работало.
alv->get_columns( )->get_column( 'MANDT' )->set_visible( if_salv_c_bool_sap=>false ).
Переименование заголовков столбцов в ALV
Текст столбца может изменяться при горизонтальном изменении размера столбца. Для этого есть три способа:
| Имя метода | Максимальная длина заголовка |
|---|---|
set_short_text | 10 |
set_medium_text | 20 |
set_long_text | 40 |
В следующем примере показано использование всех трех. Объект column объявляется и создается как ссылка на результат alv->get_columns( )->get_column( 'DISTID' ) . Имя столбца должно быть заглавными буквами. Это значит, что эта цепочка методов вызывается только один раз в своем экземпляре, а не выполняется каждый раз при изменении заголовка столбца.
DATA column TYPE REF TO cl_salv_column.
column = alv->get_columns( )->get_column( 'DISTID' ).
column->set_short_text( 'Dist. Unit' ).
column->set_medium_text( 'Unit of Distance' ).
column->set_long_text( 'Mass Unit of Distance (kms, miles)' ).
Включить функциональность панели инструментов ALV
Следующий вызов метода позволяет использовать многие дополнительные функции, такие как сортировка, фильтрация и экспорт данных.
alv->get_functions( )->set_all( ).
Включение любой другой строки в ALV
Этот метод повышает удобочитаемость, предоставляя последовательные строки чередующихся оттенков фона.
alv->get_display_settings( )->set_striped_pattern( if_salv_c_bool_sap=>true ).
Установка заголовка отображаемого ALV
По умолчанию, когда отображается ALV, заголовок вверху - это просто имя программы. Этот метод позволяет пользователю установить заголовок до 70 символов. В следующем примере показано, как можно настроить динамический заголовок, отображающий количество отображаемых записей.
alv->get_display_settings( )->set_list_header( |Flight Schedule - { lines( t_spfli ) } records| ).