ABAP搜索帮助(Search Help)

假设我事先创建一个0100的界面如下,要对下面的学校ID设置搜索帮助。

image.png

1、静态实现Search Help

首先在数据字典中创建Search Help对象:

(1)输入Search Help对象名,点击创建
image.png

(2)填入相关内容:
image.png

保存后激活。
如果是用在数据库内容查询上就要跟Data Element进行关联:

image.png

关联后进行数据查询时,ZSCHOOL就会出现搜索帮助,效果如下:


image.png

如果是用在界面上的Input/Output Field上,直接在下面指定Search Help对象名就可以了:

image.png

效果如下:

静态Search Help.png

此外Domain的固定值/数据库表的Check table等也会实现F4帮助,就不举例了。

2、动态实现Search Help

界面0100下添加如下代码:

PROCESS ON VALUE-REQUEST.
FIELD GV_ZSCHOOL MODULE F4_ZSCHOOL.

此时界面上已经出现了F4的效果:

image.png

不过此时是没有效果的。

然后创建MODULE F4_ZSCHOOL:

MODULE F4_ZSCHOOL INPUT.
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      RETFIELD               = 'ZSCHOOL' 
      DYNPPROG               = 'ZGML_DIALOG'
      DYNPNR                 = '0100'
      DYNPROFIELD            = 'GV_ZSCHOOL'
      VALUE_ORG              = 'S'
    TABLES
      VALUE_TAB              = GT_SCHOOL
    EXCEPTIONS
      PARAMETER_ERROR        = 1
      NO_VALUES_FOUND        = 2
      OTHERS                 = 3
            .
  IF SY-SUBRC <> 0.
* Implement suitable error handling here
  ENDIF.
ENDMODULE.

这里主要是借助函数F4IF_INT_TABLE_VALUE_REQUEST实现的,效果如下:

动态Search Help.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容