ALV OO - CL_GUI_ALV_GRID
ALV com container para embedding em Dynpros ou integração avançada.
🔹 Exemplo Completo
REPORT z_alv_gui_grid.
DATA: lo_container TYPE REF TO cl_gui_custom_container,
lo_alv TYPE REF TO cl_gui_alv_grid,
lt_sflight TYPE TABLE OF sflight,
lt_fieldcat TYPE lvc_t_fcat,
ls_layout TYPE lvc_s_layo.
START-OF-SELECTION.
SELECT * FROM sflight INTO TABLE lt_sflight UP TO 100 ROWS.
" Montar fieldcat
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'SFLIGHT'
CHANGING
ct_fieldcat = lt_fieldcat.
" Layout
ls_layout-zebra = 'X'.
ls_layout-cwidth_opt = 'X'.
" Criar container (em Dynpro seria ligado a um controlo)
CREATE OBJECT lo_container
EXPORTING
container_name = 'CONTAINER'.
" Criar ALV Grid
CREATE OBJECT lo_alv
EXPORTING
i_parent = lo_container.
" Exibir dados
CALL METHOD lo_alv->set_table_for_first_display
EXPORTING
is_layout = ls_layout
CHANGING
it_outtab = lt_sflight
it_fieldcatalog = lt_fieldcat.
CALL SCREEN 100.
🔹 Screen 100 (Dynpro)
- Criar screen 100 na SE51
- Adicionar Custom Container chamado
CONTAINER - PBO:
PROCESS BEFORE OUTPUT. MODULE status_0100.
💡 Usado quando precisas de controlo total sobre o ALV e integração com Dynpros.