1、选择屏幕
使用form形式
REPORT ztestf4.
*&---------------------------------------------------------------------*
*&定义需要显示的字段:物料和描述
*&---------------------------------------------------------------------*
DATA:BEGIN OF t_tab OCCURS 0,
matnr TYPE mara-matnr,
maktx TYPE makt-maktx,
END OF t_tab.
"要使用F4的屏幕元素
PARAMETERS:p_matnr(20) TYPE c .
"监听F4 事件
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_matnr.
PERFORM frm_help.
另外,对于日期类型帮助:
parameters:p_date type sy-datum.
at selection-screen on value-request for p_date.
call function 'F4_DATE'
importing
select_date = p_date.
这样就会显示日历
*&---------------------------------------------------------------------*
*& Form FRM_HELP
*&---------------------------------------------------------------------*
* text
帮助
*----------------------------------------------------------------------*
FORM frm_help .
"取数
SELECT matnr maktx
FROM makt
INTO TABLE t_tab
UP TO 100 ROWS.
"调用展示函数
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'MATNR' "表格要显示的字段 如果写 MAKTX,选完后显示的就是描述了
dynpprog = sy-repid "返回才程序
dynpnr = sy-dynnr "屏幕
dynprofield = 'P_MATNR' "往页面回填值的地方
value_org = 'S' "显示类型 就写S就是了
TABLES
value_tab = t_tab. "传进去的表格 帮助的内表
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " FRM_HELP
2、标准屏幕中,使用SE11建立帮助