Измените 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
).
Другие вопросы по тегам