Реализовано все на том же классе CL_SALV_TABLE.
Что нужно:
Создаем экран.
Помещаем на него «спец. упр. элемент» и называем его, например 'CONT'.
В PBO экрана создаем модуль, внутрь которого копируем код указанный внизу, подставляем свою внутреннюю таблицу и вызываем экран.Помещаем на него «спец. упр. элемент» и называем его, например 'CONT'.
data:
gr_container type ref to cl_gui_custom_container,
gr_table type ref to cl_salv_table,
gr_functions type ref to cl_salv_functions_list.
gr_container type ref to cl_gui_custom_container,
gr_table type ref to cl_salv_table,
gr_functions type ref to cl_salv_functions_list.
if gr_container is not bound.
create object gr_container
exporting
container_name = 'CONT'.
try.
cl_salv_table=>factory(
exporting
r_container = gr_container
container_name = 'CONT'
importing
r_salv_table = gr_table
changing
t_table = gt_outtab ). "это наша табл. с данными
catch cx_salv_msg.
endtry.
"это функциональные
кнопки для ALV (выводить по
желанию)
gr_functions = gr_table->get_functions( ).
gr_functions->set_default( ).
"вывод alv
gr_table->display( ).
endif.
gr_functions = gr_table->get_functions( ).
gr_functions->set_default( ).
"вывод alv
gr_table->display( ).
endif.
Я пользуюсь этим способом для вывода каких-либо журналов
работы, справочной информации и т.п. Очень удобно и быстро.
Здравствуйте, Николай. Спасибо за ваш блог, нашел для себя полезную информацию.
ОтветитьУдалитьПо данному примеру вывода ALV возник небольшой вопрос: Где задается привязка контейнера к экрану программы?
Здравствуйте.
УдалитьКонтейнер помещается непосредственно на экран программы, в редакторе экранов, это и будет привязка контейнера к экрану. Запускается редакторе экранов (screen painter), по кнопке формат (layout). Наберите в поисковике screen painter sap и посмотрите как он выглядит.