菜单工具栏隐藏功能按钮的小例子
业务场景:根据用户权限判断或功能按钮进行隐藏部分功能菜单,本质都是一样的:隐藏不可使用的功能菜单。至于权限的校验,后续会继续补充,此处只简单的通过例子说明:
隐藏按钮效果:
例如:此处选择重新生成采购订单按钮,后续业务操作显示的功能菜单是比较多的,但是当选择查询采购订单按钮时,只能查询,不可操作菜单中业务的功能按钮。此处是全程使用同一个ALV界面显示所有数据。
重新生成采购订单按钮对应ALV显示的功能菜单栏:
功能菜单栏
查询采购订单按钮对应ALV显示的功能菜单栏;
隐藏的功能菜单栏
例子中已达到简单的隐藏部分功能菜单按钮效果,仅供参考。
以下是参考例子的一段ABAP代码:
FORM frm_set_status USING pt_extab TYPE slis_t_extab.
DATA:lv_text TYPE char20,
gr_grid TYPE REF TO cl_gui_alv_grid.
DATA lt_exfcode TYPE TABLE OF sy-ucomm.
"添加需要隐藏的按钮名称
IF p_get = 'X'.
APPEND 'CHANGE' TO lt_exfcode.
APPEND 'CREATE' TO lt_exfcode.
APPEND '&ALL' TO lt_exfcode.
APPEND '&SAL' TO lt_exfcode.
ENDIF.
SET PF-STATUS 'STATUS001' EXCLUDING lt_exfcode.
* 获取ALV对象
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = gr_grid.
CALL METHOD gr_grid->check_changed_data.
CALL METHOD gr_grid->refresh_table_display.
ENDFORM.
网友评论