ABAP搜索帮助(Search Help)

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

ABAP搜索帮助(Search Help)_第1张图片
image.png

1、静态实现Search Help

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

(1)输入Search Help对象名,点击创建
ABAP搜索帮助(Search Help)_第2张图片
image.png

(2)填入相关内容:
ABAP搜索帮助(Search Help)_第3张图片
image.png

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

ABAP搜索帮助(Search Help)_第4张图片
image.png

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


ABAP搜索帮助(Search Help)_第5张图片
image.png

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

ABAP搜索帮助(Search Help)_第6张图片
image.png

效果如下:

ABAP搜索帮助(Search Help)_第7张图片
静态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实现的,效果如下:

ABAP搜索帮助(Search Help)_第8张图片
动态Search Help.png

你可能感兴趣的:(ABAP搜索帮助(Search Help))