函数:F4IF_GET_SHLP_DESCR

        F4IF_START_VALUE_REQUEST

效果图


本例子代码:

找到需要的帮助:

*& 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




©著作权归作者所有:来自51CTO博客作者mb5fd8698f60f87的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. ALV显示红绿灯(FM ALV 和 OO ALV两种实现方式)
  2. FM实现F4帮助系列一:常规实现
  3. FM实现F4帮助系列二:联动的搜索
  4. elasticsearch的mapping参数
  5. Jackson,最牛掰的 Java JSON 解析器
  6. 「网工小白必备」全网最详细的网络基础知识之数据链路层
  7. Spring Boot 解决跨域问题的 3 种方案!
  8. android四大组件&helloworld例子
  9. android程序界面自动适应屏幕分辨率例子

随机推荐

  1. 分析:Android和Linux正在合并为一种操作系
  2. 关于Android 关于EditText输入限制等小结
  3. android swipeRefreshLayout 下拉刷新 go
  4. android studio不会导入及出现各种问题怎
  5. HwBinder驱动篇-Android10.0 HwBinder通
  6. PHP 即将来到 Google Android?
  7. android:layout_gravity 和 android:grav
  8. Android将允许纯C/C++开发应用
  9. Android的一些基本概念
  10. Android主流三方库源码分析(五、深入理解R