SAP ABAP F4的检索帮助(包括自定义检索帮助)
2014-02-12 09:17
477 查看
abap开发中,检索帮助的方法大概有4种,下面进行简单描述下。
1. 参照数据库字段,用数据字典自带的检索帮助,或者参照字段的定义域实现F4检索帮助。也是最简单的方法,参照字段定义即可。
2. SE11里面创建一个检索帮助ID(search_help),然后再定义的时候,使用MATCHCODE OBJECT search_help 绑定即可。
3. 使用函数'F4IF_INT_TABLE_VALUE_REQUEST'实现。
具体方法如下:
3-1.添加VALUE-REQUEST事件
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s1-low.
* 检索帮助(年/月)
PERFORM frm_s1_low_f4.
3-2.在子程序中实现检索帮助
FORM frm_s1_low_f4.
DATA lt TYPE STANDARD TABLE OF dd07v.
**************************************************
* 如果要获取某字段的定义域的值作为检索帮助的话,可以使用以下函数。
CALL FUNCTION 'DD_DOMVALUES_GET'
EXPORTING
domname = 'ZZLZT' "有定义域的字段
text = 'X' "要获取该定义域对应的文本
TABLES
dd07v_tab = lt
EXCEPTIONS
WRONG_TEXTFLAG = 1
OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
* 把上面获取到的值,绑定到S1-LOW字段上
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'DOMVALUE_L' "lt内表里面的字段
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'S1-LOW' "画面上绑定字段
value_org = 'S'
callback_program = sy-repid
TABLES
value_tab = lt "需要显示帮助的值内表
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS
= 3.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF
4. 使用函数'F4IF_FIELD_VALUE_REQUEST'实现。
F4 help for fields that are only known at runtime这是这个函数的描述,即运行时使用。
在日常的工作中,其实都是在运行时使用,所以就当正常的函数使用就可以了。
实现方法如下:
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
tabname
= gs_selfields-tabname “数据字典中的表明
fieldname =
gt_Selfields-fieldname ”数据字典中的字段名
* value
= selval
TABLES
return_tab
= return_tab
EXCEPTIONS
FIELD_NOT_FOUND =
1
NO_HELP_FOR_FIELD =2
INCONSISTENT_HELP =3
NO_VALUES_FOUND
= 4
OTHERS =
5.
运行这个函数就会弹出F4帮助界面的值选择窗口,
窗口中的值就是tabname中字段fieldname的所有可选值,当选择某个值后,
那么这个值和其相关的属性就会存放到表return_tab中。这里不详细列举,请developer们自行测试。
深入研究发现,这个函数隶属于函数组SDHI(外部应用程序 F4 界面模块),
在这个函数组中有很多可用的允许开发者自定义帮助的函数。
1. 参照数据库字段,用数据字典自带的检索帮助,或者参照字段的定义域实现F4检索帮助。也是最简单的方法,参照字段定义即可。
2. SE11里面创建一个检索帮助ID(search_help),然后再定义的时候,使用MATCHCODE OBJECT search_help 绑定即可。
3. 使用函数'F4IF_INT_TABLE_VALUE_REQUEST'实现。
具体方法如下:
3-1.添加VALUE-REQUEST事件
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s1-low.
* 检索帮助(年/月)
PERFORM frm_s1_low_f4.
3-2.在子程序中实现检索帮助
FORM frm_s1_low_f4.
DATA lt TYPE STANDARD TABLE OF dd07v.
**************************************************
* 如果要获取某字段的定义域的值作为检索帮助的话,可以使用以下函数。
CALL FUNCTION 'DD_DOMVALUES_GET'
EXPORTING
domname = 'ZZLZT' "有定义域的字段
text = 'X' "要获取该定义域对应的文本
TABLES
dd07v_tab = lt
EXCEPTIONS
WRONG_TEXTFLAG = 1
OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
* 把上面获取到的值,绑定到S1-LOW字段上
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'DOMVALUE_L' "lt内表里面的字段
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'S1-LOW' "画面上绑定字段
value_org = 'S'
callback_program = sy-repid
TABLES
value_tab = lt "需要显示帮助的值内表
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS
= 3.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF
4. 使用函数'F4IF_FIELD_VALUE_REQUEST'实现。
F4 help for fields that are only known at runtime这是这个函数的描述,即运行时使用。
在日常的工作中,其实都是在运行时使用,所以就当正常的函数使用就可以了。
实现方法如下:
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
tabname
= gs_selfields-tabname “数据字典中的表明
fieldname =
gt_Selfields-fieldname ”数据字典中的字段名
* value
= selval
TABLES
return_tab
= return_tab
EXCEPTIONS
FIELD_NOT_FOUND =
1
NO_HELP_FOR_FIELD =2
INCONSISTENT_HELP =3
NO_VALUES_FOUND
= 4
OTHERS =
5.
运行这个函数就会弹出F4帮助界面的值选择窗口,
窗口中的值就是tabname中字段fieldname的所有可选值,当选择某个值后,
那么这个值和其相关的属性就会存放到表return_tab中。这里不详细列举,请developer们自行测试。
深入研究发现,这个函数隶属于函数组SDHI(外部应用程序 F4 界面模块),
在这个函数组中有很多可用的允许开发者自定义帮助的函数。
相关文章推荐
- SAP ABAP F4的检索帮助(包括自定义检索帮助)
- SAP ABAP 选择画面 年/月的F4帮助
- SAP ABAP ALV(LVC)的一个自定义事件(F4帮助事件,回车ENTER按钮事件)的一个实例
- F4检索帮助出口
- 【转载】SAP ABAP ALV(LVC)的一个自定义事件(F4帮助事件,回车ENTER按钮事件)的一个实例
- ABAP自定义F4帮助
- SAP abap 集中检索帮助:WBS 元素的匹配码(PRPM)
- 【转载】SAP ABAP ALV(LVC)的一个自定义事件(F4帮助事件,回车ENTER按钮事件)的一个实例
- ABAP--如何在'REUSE_ALV_GRID_DISPLAY'使用自定义F4帮助,返回多个字段以及计算修改其他字段
- SAP ABAP OO ALV 获取当前的alv事件 包括f4帮助,回车按钮,等其他全部按钮alv操作
- ALV通过F4事件,实现自定义搜索帮助F4
- ABAP–如何在’REUSE_ALV_GRID_DISPLAY’使用自定义F4帮助,返回多个字段以及计算修改其他字段
- Table Control中自定义 F4 帮助
- ABAP--如何在'REUSE_ALV_GRID_DISPLAY'使用自定义F4帮助,返回多个字段以及计算修改其他字段
- ABAP--如何在'REUSE_ALV_GRID_DISPLAY'使用自定义F4帮助,返回多个字段以及计算修改其他字段
- Android自定义View 实现图片编辑功能(包括普通涂鸦、画圆、画矩形、画箭头、写字)
- kotlin Recycler View 简单应用自定义adapter ,包括接口
- 数据库自定义字段及相关检索
- 在sqlserver 2008中编写自定义全文检索字典
- abap F4 帮助 一例