"对于培训过ABAP编程的我,对于扔了ABAP的我,对于现在又要捡起来学习的我,此篇文章仅作为学习的一个记录.
"F4帮助与F1不同的是 F1 是进行信息提示,而F4是显示填充值得列表,且F4帮助可以具体到某一个字段.CALL FUNCTION 不同。
"请看源码,区别之处用红色标记
"F1 帮助:
TABLES:SYST.
SELECT-OPTIONS: S_DATE FOR SY-DATUM.
AT SELECTION-SCREEN ON HELP-REQUEST FOR S_DATE-LOW.
PERFORM SHOW_F1.
FORM SHOW_F1.
DATA:T_LINK LIKE STANDARD TABLE OF TLINE WITH HEADER LINE.
CALL FUNCTION 'HELP_OBJECT_SHOW'
EXPORTING
DOKCLASS = 'DE'
DOKLANGU = SY-LANGU
DOKNAME = 'SY-DATUM'
TABLES
LINKS =T_LINK
ENDFORM
"F4帮助代码:
TABLES : MARA.
SELECT-OPTIONS: S_MATNR FOR MARA-MATNR.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_MATNR-LOW.
PERFORM SHOW_F4.
FORM SHOW_F4.
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
exporting
tabname = 'MARA' "参照表
fieldname = 'MATNR' "参照字段
dynpprog = sy-repid "指定执行程序
dynpnr = sy-dynnr "指定执行程序屏幕编码
dynprofield = 'S_MATNR' "触发事件的屏幕对象名称
ENDFORM.