Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

how to include or exclude standard function button easily

Former Member
0 Likes
2,495

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,452

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

5 REPLIES 5
Read only

Former Member
0 Likes
1,452

hi,

Create your own Pf-status and assign function codes to those keys which are rquired.

Thanks

Read only

Former Member
0 Likes
1,452

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

Read only

Former Member
0 Likes
1,452

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.

Read only

Former Member
0 Likes
1,453

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

Read only

Former Member
0 Likes
1,452

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.