如图所示:
具体步骤如下
1.在选择屏幕上声明按钮
此类按钮最多可声明5个。
代码如下:
"自定义按钮
SELECTION-SCREEN: FUNCTION KEY 1,
FUNCTION KEY 2,
FUNCTION KEY 3.
2.在 INITIALIZATION 中定义按钮的文本和图标
代码如下
INITIALIZATION.
"初始化屏幕
PERFORM frm_init_sel_screen.
FORM frm_init_sel_screen .
DATA: lv_functxt TYPE smp_dyntxt.
DATA: lt_exclude TYPE TABLE OF sy-ucomm.
lv_functxt-icon_id = icon_change.
lv_functxt-icon_text = '手工维护'.
sscrfields-functxt_01 = lv_functxt.
lv_functxt-icon_id = icon_xls.
lv_functxt-icon_text = '数据导入'.
sscrfields-functxt_02 = lv_functxt.
lv_functxt-icon_id = icon_xxl.
lv_functxt-icon_text = '导入模板下载'.
sscrfields-functxt_03 = lv_functxt.
lt_exclude = VALUE #( ( 'ONLI' ) ).
CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
EXPORTING
p_status = sy-pfkey
TABLES
p_exclude = lt_exclude.
ENDFORM.
3.在AT SELECTION-SCREEN 模块中响应按钮
代码如下:
AT SELECTION-SCREEN.
"响应选择屏幕的按钮功能
PERFORM frm_excue_button.
FORM frm_excue_button .
CLEAR: gv_ucomm.
CASE sscrfields-ucomm.
WHEN 'FC01'.
gv_ucomm = 'FC01'.
sscrfields-ucomm = 'ONLI' .
IF p_pernr IS INITIAL.
SET CURSOR FIELD 'P_PERNR'. "设置鼠标焦点到字段
MESSAGE e055(00).
ENDIF.
WHEN 'FC02'.
gv_ucomm = 'FC02'.
sscrfields-ucomm = 'ONLI' .
IF p_path IS INITIAL.
SET CURSOR FIELD 'P_PATH'.
MESSAGE e055(00).
ENDIF.
WHEN 'FC03'.
PERFORM frm_download_template
WHEN OTHERS.
ENDCASE.
ENDFORM.