Code: Alles auswählen.
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_false.
st_fieldcat-edit = abap_true.
st_fieldcat-outputlen = 15.
APPEND st_fieldcat TO ta_fieldcat.
st_fieldcat-fieldname = 'VRKME'.
st_fieldcat-hotspot = abap_false.
st_fieldcat-edit = 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.
"Bereite Darstellung von 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.
Code: Alles auswählen.
WHEN 'MENGE'.
CALL METHOD rf_alv->get_frontend_fieldcatalog
IMPORTING
et_fieldcatalog = ta_fieldcat[].
LOOP AT ta_fieldcat INTO st_fieldcat .
IF st_fieldcat-fieldname = 'KWMENG' .
st_fieldcat-hotspot = abap_true.
st_fieldcat-edit = abap_false.
MODIFY ta_fieldcat FROM st_fieldcat .
ENDIF.
IF st_fieldcat-fieldname = 'VRKME'.
st_fieldcat-hotspot = abap_true.
MODIFY ta_fieldcat FROM st_fieldcat.
ENDIF .
ENDLOOP .
CALL METHOD rf_alv->set_frontend_fieldcatalog
EXPORTING
it_fieldcatalog = ta_fieldcat[].
CALL METHOD rf_alv->get_frontend_layout
IMPORTING
es_layout = st_layout.
st_layout-grid_title = 'Test DYU' .
CALL METHOD rf_alv->set_frontend_layout
EXPORTING
is_layout = st_layout.
"Sende gepufferten aut. queue zum Frontend
CALL METHOD cl_gui_cfw=>flush.
"Alv Grid aktualisieren
rf_alv->refresh_table_display( ).
"Erignisverteiler in Bezug auf ok_code
CALL METHOD cl_gui_cfw=>dispatch.