ABAP 选择屏幕 搜索帮助

1. 使用搜索帮助遇到的问题

通过F4IF_INT_TABLE_VALUE_REQUEST函数实现的搜索帮助,有一个问题,无法将选择屏幕的其他字段带入到选择帮助的限制部分,这个问题折腾了两个小时才搞定,所以记录一下(这里也有一个退而求其次的方案,就是将其他字段的限制写在F4IF_INT_TABLE_VALUE_REQUES选择值表的select中)
在这里插入图片描述

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_zzbbh-low.
  SELECT zzbbh zsegment uname datum INTO CORRESPONDING FIELDS OF TABLE gt_sel_zzbbh FROM zppt007.

  SORT gt_sel_zzbbh BY zzbbh.
  DELETE ADJACENT DUPLICATES FROM gt_sel_zzbbh COMPARING ALL FIELDS.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
 1.     DDIC_STRUCTURE   = ' '
      retfield         = 'ZZBBH'
 2.     PVALKEY          = ' '
      dynpprog         = sy-repid
      dynpnr           = sy-dynnr
      dynprofield      = 'S_ZZBBH-LOW'
 3.     STEPL            = 0
 4.     WINDOW_TITLE     =
 5.     VALUE            = ' '
      value_org        = 'S'
 6.     MULTIPLE_CHOICE  = ' '
 7.     DISPLAY          = ' '
      callback_program = sy-repid
      callback_form    = 'CM_FORM'
 8.     CALLBACK_METHOD  =
 9.     MARK_TAB         =
    IMPORTING
      user_reset       = answer
    TABLES
      value_tab        = gt_sel_zzbbh
 10.     FIELD_TAB        =
      return_tab       = out_cassd
 11.     DYNPFLD_MAPPING  =
    EXCEPTIONS
      parameter_error  = 1
      no_values_found  = 2
      OTHERS           = 3.

2. 实现步骤

2.1. 通过T-CODE SE11建立搜索帮助

在这里插入图片描述

2.2 搜索帮助说明

  1. 选择方法
    指定命中列表的数据来源,可以是数据库表,视图,CDS.如果指定了搜索帮助出口函数则该字段可以不输,数据来源可以在出口中自行指定
  2. 对话类型: 输入字段的建议搜索
  • 立即值显示: 在调用输入帮助后立即显示命中清单,通常如果命中清单只包含一些条目则建议使用该选项。
  • 带有值限制的对话:立即显示限制值的对话框。如果正常情况下可能条目的清单非常大,则选择该选项。限制即将处理的数据设置会增加命中清单的清楚性,并降低值选择过程中系统的负载。
  • 基于值集的对话:如果命中清单包含的条目小于100个,那么立即显示该命中清单。如果其包含的条目多余100个,那么显示限制值用的对话框。
  1. 对话类型: 输入字段的建议搜索
    输入字段的建议搜索帮助:如果勾选该字段则不需要调用搜索帮助,在输入字段中直接输入与该字段同名的搜索帮助的输入参数的值,系统会根据你输入的内容在下方显示筛选结果.不过只有数据源内容较少时建议使用.
  2. 搜索帮助出口:此处需要填写一个和函数模块 F4IF_SHLP_EXIT_EXAMPLE有一样的参数.使用出口函数可以使搜索帮助更加灵活,这个暂时还没用到.
  3. 搜索帮助参数:如果指定了选择方法,则参数必须是选择方法中的字段.如果使用了出口函数,则随意,但是要指定参数的数据元素
  4. IMP:该参数是否为输入参数,用来筛选命中列表
  5. EXP:该字段是否为输出参数,用来赋值给使用该搜索帮助的输入字段.
  6. LPOS列表:该参数字段在命中列表的位置
  7. SPOS选择列表:该字段在选择屏幕中位置
  8. SDIS选择显示:该参数字段在选择屏幕中仅显示,不可编辑,如果该字段被勾选,则必须指定该参数字段的默认值
  9. 参数字段对应的数据元素,必输项.

2.3 表或者结构绑定搜索帮助及字段分配与联动搜索帮助

说明:数据元素绑定字段的时候需要一个一个绑定
在这里插入图片描述
在这里插入图片描述

2.4 创建搜索屏幕

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

PARAMETERS: p_syb TYPE zppt007-zsegment OBLIGATORY MATCHCODE OBJECT zsh_md61_syb,
            p_uname TYPE zppt007-uname OBLIGATORY.

SELECT-OPTIONS: s_zzbbh FOR zppt007-zzbbh NO-EXTENSION NO INTERVALS OBLIGATORY,
                s_datum FOR zppt007-datum NO-EXTENSION NO INTERVALS.

SELECTION-SCREEN END OF BLOCK b1.

2.3 实现效果

a. 屏幕上填写的字段会带入到搜索帮助的限制中
b. 选择屏幕选中的数据也会带到选择屏幕中
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值