Измените ALV Grid на ALV List Viewer
Меня попросили изменить отчет ALV Grid на ALV List Viewer. Я обнаружил, что единственное, что мне нужно, это заменить REUSE_ALV_GRID_DISPLAY
функция для REUSE_ALV_LIST_DISPLAY
(поправьте меня, если я ошибаюсь).
Тем не менее, отчет, который мне нужно изменить, использует cl_gui_alv_grid
класс, который не использует функции выше. Итак, мой вопрос: что я могу сделать, чтобы изменить отчет, используя cl_gui_alv_grid
? или, безусловно, нет никакого способа, и я должен переписать код и использовать REUSE_ALV_LIST_DISPLAY
?
1 ответ
Невозможно с cl_gui_alv_grid
, Вы должны использовать cl_salv_table
с list-display
параметр для достижения этой цели:
cl_salv_table=>factory(
EXPORTING
list_display = abap_true
IMPORTING
r_salv_table = o_alv
CHANGING
t_table = lt_table ).
Вы можете вызвать функцию вывода списка на панели инструментов cl_gui_alv_grid
позвонив set_function_code
как показано ниже.
DATA ucomm_list_output TYPE syucomm VALUE '&RNT_PREV'.
DATA alv TYPE REF TO cl_gui_alv_grid.
...
alv->set_function_code(
CHANGING
c_ucomm = ucomm_list_output
).