Hi Alessandro,
thank you very much for the feedback but let me may be try to concretize what I need:
So I create my container, my alv as my fieldcatalog like this and everything is great:
IF rf_custom_container IS NOT BOUND.
CREATE OBJECT rf_custom_container
EXPORTING
container_name = 'CUSTCONTROL'.
CREATE OBJECT rf_alv
EXPORTING
i_parent = rf_custom_container.
"Feldkatalog aufbauen
CLEAR st_fieldcat.
st_fieldcat-fieldname = 'MATNR'.
st_fieldcat-hotspot = abap_true.
st_fieldcat-outputlen = 18.
APPEND st_fieldcat TO ta_fieldcat.
st_fieldcat-fieldname = 'MTEXT'.
st_fieldcat-hotspot = abap_true.
st_fieldcat-outputlen = 48.
APPEND st_fieldcat TO ta_fieldcat.
st_fieldcat-fieldname = 'KWMENG'.
st_fieldcat-hotspot = abap_true.
st_fieldcat-edit = abap_false.
st_fieldcat-outputlen = 15.
APPEND st_fieldcat TO ta_fieldcat.
st_fieldcat-fieldname = 'VRKME'.
st_fieldcat-hotspot = abap_true.
st_fieldcat-outputlen = 3.
APPEND st_fieldcat TO ta_fieldcat.
st_layout-cwidth_opt = abap_true.
CALL METHOD rf_alv->set_table_for_first_display
EXPORTING
i_structure_name = 'ZWH_RESERVIERUNG'
CHANGING
it_outtab = ta_alv
it_fieldcatalog = ta_fieldcat.
No I have some subroutine and I just need to have the same alv and field catalog but only with one change (see below) and I do this like this:
FORM my_subroutine
CREATE OBJECT rf_alv
EXPORTING
i_parent = rf_custom_container.
"Feldkatalog aufbauen
CLEAR st_fieldcat.
st_fieldcat-fieldname = 'MATNR'.
st_fieldcat-hotspot = abap_true.
st_fieldcat-outputlen = 18.
APPEND st_fieldcat TO ta_fieldcat.
st_fieldcat-fieldname = 'MTEXT'.
st_fieldcat-hotspot = abap_true.
st_fieldcat-outputlen = 48.
APPEND st_fieldcat TO ta_fieldcat.
st_fieldcat-fieldname = 'KWMENG'.
st_fieldcat-hotspot = abap_false.
st_fieldcat-edit = abap_true.
st_fieldcat-outputlen = 15.
APPEND st_fieldcat TO ta_fieldcat.
st_fieldcat-fieldname = 'VRKME'.
st_fieldcat-hotspot = abap_true.
st_fieldcat-outputlen = 3.
APPEND st_fieldcat TO ta_fieldcat.
st_layout-cwidth_opt = abap_true.
"Ereignisbehandler
CREATE OBJECT evt_handler.
SET HANDLER evt_handler->handle_toolbar FOR rf_alv.
SET HANDLER evt_handler->handle_user_command FOR rf_alv.
SET HANDLER evt_handler->handle_event_click FOR rf_alv.
CALL METHOD rf_alv->set_table_for_first_display
EXPORTING
i_structure_name = 'ZWH_RESERVIERUNG'
CHANGING
it_outtab = ta_alv
it_fieldcatalog = ta_fieldcat.
rf_alv->refresh_table_display( ).
But my fieldcatalog is even not showed....what do I wrong?
BR
Denis