FM实现F4帮助系列三:弹出框多筛选条件的搜索帮助(根据搜索帮助筛选字段)_SAP刘梦_新浪博客...

本文介绍如何使用 ABAP 实现带有多个筛选条件的 F4 帮助功能,通过调用 SAP 标准函数 F4IF_GET_SHLP_DESCR 和 F4IF_START_VALUE_REQUEST 完成复杂的搜索需求。
摘要由CSDN通过智能技术生成
           FM实现F4帮助系列三:弹出框多筛选条件的搜索帮助(根据搜索帮助筛选字段)

函数:F4IF_GET_SHLP_DESCR
        F4IF_START_VALUE_REQUEST
效果图
 
FM实现F4帮助系列三:弹出框多筛选条件的搜索帮助(根据搜索帮助筛选字段)

 
本例子代码:
找到需要的帮助:
  FM实现F4帮助系列三:弹出框多筛选条件的搜索帮助(根据搜索帮助筛选字段)

*&---------------------------------------------------------------------*
*& Report  ZLM_TEST_045

REPORT  zlm_test_045.

TABLES makt.

DATA:
      BEGIN OF str_f4,
        matnr TYPE matnr,
        maktx  TYPE maktx,
        END OF str_f4.

DATA:l_it_f4 LIKE TABLE OF str_f4.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.

SELECT-OPTIONS:
           s_matnr  FOR makt-matnr NO INTERVALS.

SELECTION-SCREEN END OF BLOCK b1.

"帮助
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_matnr-low.
  SELECT * FROM makt INTO CORRESPONDING FIELDS OF TABLE l_it_f4.
  PERFORM frm_f4."  USING 'S_MATNR-LOW' .
*&-------------------------------------------------------------------
*& 搜索帮助
*&-------------------------------------------------------------------
FORM frm_f4.

  DATA g_shlp_descr_t             TYPE shlp_descr_t.
  DATA gwa_shlp_descr_t_interface TYPE ddshiface.
  DATA: gt_return_tab   TYPE TABLE OF ddshretval WITH HEADER LINE.

"调用标准帮助
  CALL FUNCTION 'F4IF_GET_SHLP_DESCR'
    EXPORTING
      shlpname = 'MAT1W'
      shlptype = 'SH'
    IMPORTING
      shlp     = g_shlp_descr_t.

  LOOP AT g_shlp_descr_t-interface INTO gwa_shlp_descr_t_interface.

    IF gwa_shlp_descr_t_interface = 'MATNR'.
      gwa_shlp_descr_t_interface-valfield = 'X'.

      MODIFY g_shlp_descr_t-interface FROM gwa_shlp_descr_t_interface.

    ENDIF.
  ENDLOOP.

  CALL FUNCTION 'F4IF_START_VALUE_REQUEST'
    EXPORTING
      shlp          = g_shlp_descr_t
      maxrecords    = 500
      multisel      = 'X'
    TABLES
      return_values = gt_return_tab.

  "获取选中值 可以多选 拥有select options
  LOOP AT gt_return_tab.
    s_matnr-sign = 'I'.
    s_matnr-option = 'EQ'.
    s_matnr-low = gt_return_tab-fieldval.
    APPEND s_matnr.
  ENDLOOP.
ENDFORM.                    " FRM_F4


另外一个F4增强的例子,也是添加筛选字段:
http://blog.sina.com.cn/s/blog_c0978c9b0101h1qf.html

欢迎关注订阅号:SAP学习记录 (SAPlearning )

PO <wbr><wbr>text <wbr><wbr>copy <wbr><wbr>rules <wbr><wbr>:copy <wbr><wbr>PR <wbr><wbr>item <wbr><wbr>text <wbr><wbr>to <wbr><wbr>PO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值