How to exclude unnecessary buttons in ALV toolbar?

vlad-ardelean picture vlad-ardelean · Jul 6, 2012 · Viewed 12.9k times · Source

So, inside the TOOLBAR event of the CL_GUI_ALV_GRID the parameter E_OBJECT has the table MT_TOOLBAR that I can access to change all the buttons manually.

Is there a better way to include/exclude standard buttons in the toolbar than simply creating them like custom-buttons in the toolbar event?

Answer

Jorg picture Jorg · Jul 9, 2012

Similar to REUSE_ALV_GRID_DISPLAY in class CL_GUI_ALV_GRID there is also a way.

Define a table of type UI_FUNCTIONS and a work area of type UI_FUNC :

data: lt_exclude type ui_functions,
      ls_exclude type ui_func.

Append the attributes of the functions you want to hide to the table:

ls_exclude = cl_gui_alv_grid=>mc_fc_sum.
append ls_exclude to lt_exclude.

The attributes of the standard functions all begin with the prefix MC_FC_, in addition, there is the prefix MC_MB_ for an entire menu in the toolbar.

Pass the table using method set_table_for_first_display with parameter it_toolbar_excluding