‎2008 Dec 03 6:47 AM
Hi everyone,
When I am doing some coding concerning ALV GRID,I found that there are many standard button on
the toolbar, and I want maybe 2 or 3 of them to be used,others just not displayed on the toolbar.
And if I want the others disappeared I should do a lot of append work area to internal table things to
exclude them ,sometimes it is not easy to figure out that the buttons correspond to which functions.that is not convenient.
are there any ways to achieve that?
thanks for your help.
Edited by: Aaron Shen on Dec 3, 2008 7:48 AM
‎2008 Dec 03 8:46 AM
Hi,
If you are asking for excluding a toolbar in ALV then plz refer this :
* code for hiding the toolbar that is not needed.
FORM f0501_exclude_fcode .
CLEAR g_wa_toolbar_excl.
REFRESH g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_check.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_refresh.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_loc_cut.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_loc_copy.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_loc_copy_row.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_loc_paste_new_row.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_loc_paste.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_loc_undo.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_loc_append_row.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_loc_insert_row.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_loc_delete_row.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_sort_asc.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_sort_dsc.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_find.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_filter.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_mb_sum.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_subtot.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_print.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_views.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_mb_export.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_mb_variant.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_graph.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_info.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
ENDFORM. " f0501_exclude_fcode
‎2008 Dec 03 7:38 AM
hi,
Create your own Pf-status and assign function codes to those keys which are rquired.
Thanks
‎2008 Dec 03 8:32 AM
hi,
there are two ways you cna exlcude the standard pf .......
one :
you cna directly copy the standard ones and delete all that you dont want...
second...
copy or use the standard tracation....
and
BEGIN OF FCODE OCCURS 0,
FUNC LIKE RSMPE-FUNC,
END OF FCODE.
FORM SET_PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.
MOVE '&BS-' TO FCODE-FUNC.
APPEND FCODE.CLEAR FCODE.
MOVE '&BS+' TO FCODE-FUNC.
APPEND FCODE.CLEAR FCODE.
MOVE '&SAL' TO FCODE-FUNC.
MOVE '&CRL' TO FCODE-FUNC.
APPEND FCODE.CLEAR FCODE.
MOVE '&CRB' TO FCODE-FUNC.
APPEND FCODE.CLEAR FCODE.
MOVE '&CRR' TO FCODE-FUNC.
APPEND FCODE.CLEAR FCODE.
MOVE '&CRE' TO FCODE-FUNC.
APPEND FCODE.CLEAR FCODE.
MOVE '&BS' TO FCODE-FUNC.
APPEND FCODE.CLEAR FCODE.
SET PF-STATUS 'AUTO' EXCLUDING FCODE."RT_EXTAB.
ENDFORM. "set_pf_status
‎2008 Dec 03 8:43 AM
FCODE TYPE UI_FUNCTIONS,
WFCODE TYPE UI_FUNC.
**********EXCLUDING FUNCTION CODE IN GRID TOOLBAR****************
WFCODE = cl_gui_alv_grid=>mc_fc_loc_copy_row.
APPEND WFCODE TO FCODE.
WFCODE = cl_gui_alv_grid=>mc_fc_loc_delete_row.
APPEND WFCODE TO FCODE.
WFCODE = cl_gui_alv_grid=>mc_fc_loc_append_row.
APPEND WFCODE TO FCODE.
WFCODE = cl_gui_alv_grid=>mc_fc_loc_insert_row.
APPEND WFCODE TO FCODE.
WFCODE = cl_gui_alv_grid=>mc_fc_loc_move_row.
APPEND WFCODE TO FCODE.
***********************************************************************************
CALL METHOD G_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_BUFFER_ACTIVE =
I_BYPASSING_BUFFER =
I_CONSISTENCY_CHECK =
I_STRUCTURE_NAME = 'MARA'
IS_VARIANT = SLAYOUT
I_SAVE = 'U'
I_DEFAULT = ' '
IS_LAYOUT =
IS_PRINT =
IT_SPECIAL_GROUPS =
IT_TOOLBAR_EXCLUDING = FCODE----
> pass fcode here
IT_HYPERLINK =
IT_ALV_GRAPHICS =
IT_EXCEPT_QINFO =
IR_SALV_ADAPTER =
CHANGING
IT_OUTTAB = imara[]
IT_FIELDCATALOG = FIELDCAT
IT_SORT = ISORT
IT_FILTER =
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
OTHERS = 4
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
‎2008 Dec 03 8:46 AM
Hi,
If you are asking for excluding a toolbar in ALV then plz refer this :
* code for hiding the toolbar that is not needed.
FORM f0501_exclude_fcode .
CLEAR g_wa_toolbar_excl.
REFRESH g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_check.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_refresh.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_loc_cut.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_loc_copy.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_loc_copy_row.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_loc_paste_new_row.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_loc_paste.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_loc_undo.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_loc_append_row.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_loc_insert_row.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_loc_delete_row.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_sort_asc.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_sort_dsc.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_find.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_filter.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_mb_sum.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_subtot.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_print.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_views.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_mb_export.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_mb_variant.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_graph.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
g_wa_toolbar_excl = cl_gui_alv_grid=>mc_fc_info.
APPEND g_wa_toolbar_excl TO g_t_toolbar_excl.
ENDFORM. " f0501_exclude_fcode
‎2008 Dec 03 8:49 AM
Hi,
Goto se80 and open your program and copy the GUI SAP standard to some name.
Then remove the unrequired button and save and activate it.
Say for example if copied Standard GUI copied to the name ZSTANDARD(removed the unrequired button)
then in your code add
FORM set_pf_status1 USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'ZSTANDARD.
ENDFORM.
Then in the FM 'REUSE_ALV_GRID_DISPLAY' assign it as follows:
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = wt_fcat_log
i_callback_program = g_repid
i_callback_pf_status_set = 'SET_PF_STATUS'
TABLES
t_outtab = wt_pay
EXCEPTIONS
program_error = 1
OTHERS = 2.
Hope it helps you.
Regards,
K.Tharani.