【转载】如何建立SAP F4搜索帮助

在写ABAP代码的时候,我们经常会遇到这样的问题,当你自己在数据字典中建立了一个配置表时,你在屏幕上引用了表中的某个字段.同时你想要在屏幕上提供选择,让用户可以直接选择而不用输入内容.这时我们就会用到-F4搜索帮助.接下来我将给大家介绍两种建立搜索帮助的方法.

 

方法一:在ABAP数据字段中直接建立相关字段的搜索帮助.

具体步骤:

1.事务码SE11打开数据字典,选中搜索帮助,填写名称,点击创建.

2.填写基本相关信息,搜索帮助描述,取数的表,显示的对话框类型.

3.填写搜索帮助参数,字段名称,输入输出属性,显示位置次序,数据元素.

4.保存,激活.

5.打开要建立搜索帮助的表,选中要建立搜索帮助的字段,点击SRCH HELP,填入你建立好的搜索帮助的名称.

6.保存,激活表.

7.重新保存要用到表中搜索帮助的程序,激活后就可以使用搜索帮助来选择值了.

注:此方法比较直观,但是有相关的前提:要添加搜索帮助的表中的字段,必须要有参照的数据元素. 没有数据元素无法建立搜索帮助.所以前提就是我们要事先维护好数据元素.

 

方法二:在ABAP程序中直接写相关代码来实现.

具体步骤:

1.添加VALUE-REQUEST事件.

示例代码:

AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_XILEI-LOW.
  PERFORM FRM_XILEI_SELECT.

2.在子程序中实现搜索帮助功能.

示例代码:

FORM FRM_XILEI_SELECT .
*细类的搜索帮助
DATA: RT_TAB LIKE DDSHRETVAL OCCURS 0 WITH HEADER LINE.
DATA: BEGIN OF IT_XILEI OCCURS 0,
      XILEI LIKE ZSFQ10-XILEI,
      END OF IT_XILEI.

SELECT XILEI INTO CORRESPONDING FIELDS OF TABLE IT_XILEI FROM ZSFQ10.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
  EXPORTING
    RETFIELD               = 'XILEI'
    DYNPPROG               = SY-REPID
    DYNPNR                 = SY-DYNNR
    DYNPROFIELD            = 'S_XILEI-LOW'
    VALUE_ORG              = 'S'
    CALLBACK_PROGRAM       = SY-REPID
  TABLES
    VALUE_TAB              = IT_XILEI
    RETURN_TAB             = RT_TAB
 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.


ENDFORM.                    " FRM_XILEI_SELECT

 

3.保存,激活程序后,即可在屏幕上使用搜帮助了.

注:此方法不是太直观,但是不用在数据字典中建立相关的数据,只需在程序中动态提取显示.

 

总结:两种实现方法,均可以实现搜索帮助的功能,各有特点,可以视具体情况使用.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值