ABAP F4搜索帮助,自动带出另外字段

1.业务场景,在选择屏幕上,F4搜索帮助,填写一个字段自动带出另外的字段,而且不用按回车触发。是选择的时候触发填写。
2.看效果图。
在这里插入图片描述
源代码

TYPES: shlp_descr_t TYPE shlp_descr .
DATA: BEGIN OF itab OCCURS 0 ,
      matnr LIKE mara-matnr ,
      maktx LIKE makt-maktx ,
      END OF itab.
DATA: return_tab TYPE ddshretval OCCURS 0 .

PARAMETERS: p_matnr LIKE itab-matnr ,
            p_maktx LIKE itab-maktx .

INITIALIZATION.
  SELECT matnr maktx INTO TABLE itab FROM makt UP TO 20 ROWS
    WHERE spras = '1'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_matnr .
  PERFORM f4.

*&---------------------------------------------------------------------*
*&      Form  f4
*&---------------------------------------------------------------------*
FORM f4.
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield         = 'MATNR'
      dynpprog         = sy-repid
      dynpnr           = sy-dynnr
      dynprofield      = 'P_MATNR'
      value_org        = 'S'
      callback_program = sy-repid
      callback_form    = 'CB_FORM'
    TABLES
      value_tab        = itab
      return_tab       = return_tab
    EXCEPTIONS
      parameter_error  = 1
      no_values_found  = 2
      OTHERS           = 3.
ENDFORM.                    "f4"
*&---------------------------------------------------------------------*
*&      Form  cb_form
*&---------------------------------------------------------------------*
FORM cb_form TABLES record_tab STRUCTURE seahlpres
              CHANGING shlp TYPE shlp_descr_t
              callcontrol LIKE ddshf4ctrl.
  DATA: interface LIKE LINE OF shlp-interface.
  READ TABLE shlp-interface INTO interface INDEX 1.
  interface-shlpfield+4(1) = '2'. "注意点解析"
  interface-valfield = 'P_MAKTX'.
  APPEND interface TO shlp-interface.
ENDFORM.                    "bo_callback_form

注意点
interface-shlpfield+4(1) = ‘2’.
interface-valfield = ‘P_MAKTX’.

表示把搜索帮助中的第二列,放入P_MAKTX中去。

参考链接
table control中用帮助(F4)实现自动填充另一字段

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值