Hi Friends
I have created two buttons on the ALV toolbar and have written code on event USER_COMMAND.
But when I click on the button the desired functionality is not working.
Please check the code below.
-
*
CLASS lcl_alv_toolbar DEFINITION
----
ALV event handler
----
CLASS lcl_alv_toolbar DEFINITION.
PUBLIC SECTION.
*Constructor
METHODS: constructor
IMPORTING
io_alv_grid TYPE REF TO cl_gui_alv_grid,
*Event for toolbar
on_toolbar
FOR EVENT toolbar
OF cl_gui_alv_grid
IMPORTING
e_object.
METHODS USER_COMMAND
FOR EVENT USER_COMMAND OF cl_gui_alv_grid
IMPORTING E_UCOMM.
ENDCLASS. "lcl_alv_toolbar DEFINITION
----
CLASS lcl_alv_toolbar IMPLEMENTATION
----
ALV event handler
----
CLASS lcl_alv_toolbar IMPLEMENTATION.
METHOD constructor.
Create ALV toolbar manager instance
CREATE OBJECT c_alv_toolbarmanager
EXPORTING
io_alv_grid = io_alv_grid.
ENDMETHOD. "constructor
METHOD on_toolbar.
Add customized toolbar buttons.
variable for Toolbar Button
t_toolbar-icon = icon_generate.
t_toolbar-butn_type = 0.
t_toolbar-text = 'UPDATE'.
t_toolbar-function = text-009.
APPEND t_toolbar TO e_object->mt_toolbar.
t_toolbar-icon = ICON_COLUMN_RIGHT.
t_toolbar-butn_type = 0.
t_toolbar-text = 'DISPLAY_LOG'.
t_toolbar-function = text-010.
APPEND t_toolbar TO e_object->mt_toolbar.
Call reorganize method of toolbar manager to
display the toolbar
CALL METHOD c_alv_toolbarmanager->reorganize
EXPORTING
io_alv_toolbar = e_object.
ENDMETHOD.
METHOD USER_COMMAND.
PERFORM UPDATE USING E_UCOMM.
ENDMETHOD. "on_toolbar
ENDCLASS. "lcl_alv_toolbar IMPLEMENTATION
FORM UPDATE USING P_E_UCOMM TYPE sy-ucomm.
CASE sy-ucomm.
CASE P_E_UCOMM.
WHEN text-009.
PERFORM UPDATE_DATA.
WHEN text-010.
PERFORM DISPLAY_LOG.
ENDCASE.
ENDFORM.