• FM实现F4帮助系列三:弹出框多筛选…


               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
  • 相关阅读:
    [ZJOI2006]书架
    [NOI2005]维护数列
    Python 最佳实践
    python中使用多继承
    python 抽象类、抽象方法的实现
    30个有关Python的小技巧
    一行 Python 实现并行化 -- 日常多线程操作的新思路
    python日志模块logging
    在Python中怎么表达True
    有趣的库:pipe(类似linux | 管道)库
  • 原文地址:https://www.cnblogs.com/senlinmu110/p/3802137.html
Copyright © 2020-2023  润新知