ABAP 搜索帮助的建立F4IF_INT_TABLE_VALUE_REQUEST
为screen上的输入框增加F4搜查功能
假设输入框 G_UMLGO 绑定在变量 G_UMLGO. " 一般输入框 与 全局变量名 起相同 比较方便
且可选值在内表 ithp_pline 的字段 LGORT 上.
定义内表:
data: begin of ithp_pline OCCURS 0,
werks type t001l-werks,
lgort type t001l-lgort,
LGOBE type t001l-LGOBE,
end of ithp_pline.
1. 在PBO 里将要显示的数据读取到内表里
PROCESS BEFORE OUTPUT.
MODULE CONTROL_DATA.
MODULE CONTROL_DATA的内容:
clear ithp_pline[].
select WERKS LGORT LGOBE
into corresponding fields of table ithp_pline
from t001l
where WERKS = g_werks .
2`在screen的 PAI 上code:
PROCESS AFTER INPUT.
process on value-request. "输入字段的响应
field G_UMLGO module f4_help_for_UMLGO.
其中 G_UMLGO 为输入框的name.并新建MODULE f4_help_for_UMLGO.
立即能在屏幕显示后,该框右侧出现F4按钮.
3`编写MODULE f4_help_for_UMLGO.
MODULE f4_help_for_UMLGO INPUT.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'G_UMLGO' 大写,可选值内表的字段名
value_org = 'S' 就写'S'
dynpprog = SY-REPID 返回的输入框所在的main program
dynpnr = SY-DYNNR 返回的输入框所在屏幕
dynprofield = 'G_UMLGO' 返回的输入框名
TABLES
value_tab = ithp_pline 可选值的内表
EXCEPTIONS
parameter_error = 1
no_values_found = 2
others = 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
MODULE.
该function是将 ithp_pline : value_tab的retfield列显示在屏幕上以供选择,
并返回到 dynpprog-dynpnr-dynprofield 框中.
补充:综合编程 , 其他综合 ,