Он написал:
Ну если вам есть куда передавать layout то, наверное, можете и экземпляр объекта алв получить

да. в какой параметр функции REUSE_ALV_GRID_DISPLAY
передать экземпляр обьекта. (алв.)
сорри за чайниовские вопросы. я недавно в сапе
приведу свой пример.
подправьте если что. (Пример писался с доки по АЛВ)
Функция
Code:
FORM INITIALIZE_ALV
USING
RTableName
Title
gr_alvgrid TYPE REF TO cl_gui_alv_grid
gc_custom_control_name TYPE scrfname
gr_container TYPE REF TO cl_gui_custom_container
gt_fieldcat TYPE lvc_t_fcat
gs_layout TYPE lvc_s_layo
TableName TYPE TABLE
.
CREATE OBJECT gr_container
EXPORTING
container_name = gc_custom_control_name
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
others = 6 .
CREATE OBJECT gr_alvgrid
EXPORTING
i_parent = gr_container
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
others = 5 .
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = RTableName
CHANGING
ct_fieldcat = gt_fieldcat[] .
* layout
gs_layout-zebra = 'X'.
gs_layout-CWIDTH_OPT = 'X'.
* gs_layout-SEL_MODE = 'A'.
gs_layout-grid_title = Title.
gs_layout-smalltitle = 'X'.
CALL METHOD gr_alvgrid->set_table_for_first_display
EXPORTING
is_layout = gs_layout
i_save = 'A'
CHANGING
it_fieldcatalog = gt_fieldcat
it_outtab = TableName[].
ENDFORM.
вызов функции
Code:
* Структура на ALV
DATA 200gr_alvgrid TYPE REF TO cl_gui_alv_grid.
DATA 200gc_custom_control_name TYPE scrfname VALUE 'ALV_0200'.
DATA 200gr_container TYPE REF TO cl_gui_custom_container.
DATA 200gt_fieldcat TYPE lvc_t_fcat.
DATA 200gs_layout TYPE lvc_s_layo.
DATA STBL type LVC_S_STBL.
PERFORM INITIALIZE_ALV
USING
'ZPGSMT_STRUCT'
'Справочник Материалов'
200gr_alvgrid
200gc_custom_control_name
200gr_container
200gt_fieldcat
200gs_layout
TBL0200[].