ABAP 屏幕字段附加搜索帮助

这篇博客介绍了如何在ABAP中为屏幕字段`GS_MAIN-PRCTR`实现自定义输入帮助。通过定义数据类型`lty_f4`,从`csks`和`cepct`表中选取数据,然后调用`F4IF_INT_TABLE_VALUE_REQUEST`函数来提供值请求。在模块`gs_main-prctr_values`中编写了相关代码,实现了根据用户输入筛选并返回匹配的`PRCTR`值。
摘要由CSDN通过智能技术生成

屏幕的话可以在PAI模块后面加PROCESS ON VALUE-REQUEST.

然后   FIELD gs_main-prctr MODULE gs_main-prctr_values.

在 MODULE gs_main-prctr_values 里面写上类似下面的自定义代码就行

  TYPES: BEGIN OF lty_f4,
           kostl TYPE csks-kostl,
           prctr TYPE csks-prctr,
           name1 TYPE csks-name1,
         END OF lty_f4.                 "搜索帮助显示字段

  DATA: lt_f4      TYPE TABLE OF lty_f4,
        lt_return1 TYPE TABLE OF ddshretval,
        ls_return1 TYPE ddshretval.
"取数
  SELECT a~kostl, a~prctr, b~ktext AS name1 INTO TABLE @lt_f4 FROM csks AS a LEFT JOIN cepct AS b ON a~prctr = b~prctr
    WHERE bukrs = @gs_main-bukrs.

"调用
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield        = 'PRCTR'
      dynpprog        = sy-repid
      dynpnr          = sy-dynnr
      dynprofield     = 'GS_MAIN-PRCTR'
      value_org       = 'S'
    TABLES
      value_tab       = lt_f4
      return_tab      = lt_return1
    EXCEPTIONS
      parameter_error = 1
      no_values_found = 2
      OTHERS          = 3.
"如果多个的话按照字段名称来填入值就行
  READ TABLE lt_return1 INTO ls_return1 WITH KEY fieldname = 'KOSTL'.
  IF sy-subrc = 0.
    gs_main-prctr = ls_return1-fieldval.
  ENDIF.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值