You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

屏幕出口自定义字段搜索帮助:如何传递标准字段参数至FM

解决搜索帮助出口无法获取屏幕标准字段值的方案

1. 确认搜索帮助参数配置

  • 将需要传入的标准屏幕字段添加为搜索帮助的导入参数,务必勾选「导入」标识(Import Parameter)。
  • 保证该参数的数据类型与屏幕字段完全一致,避免类型不匹配导致值传递失败。

2. 绑定屏幕字段到搜索帮助参数

  • 若通过屏幕元素属性绑定搜索帮助:在「参数分配」(Parameter Assignment)中,直接将屏幕上的标准字段映射到搜索帮助的导入参数。比如搜索帮助导入参数为STANDARD_FIELD,屏幕标准字段为SCR_STD_FIELD,直接对应关联即可。
  • 若通过PROCESS ON VALUE-REQUEST代码触发:手动将屏幕字段值传入搜索帮助参数表,示例代码如下:
    DATA: lt_shlp     TYPE TABLE OF shlp_descr,
          ls_shlp     TYPE shlp_descr,
          lt_selpar   TYPE TABLE OF shlp_selpar,
          ls_selpar   TYPE shlp_selpar.
    
    ls_shlp-shname = 'ZMY_CUSTOM_SEARCHHELP'.
    APPEND ls_shlp TO lt_shlp.
    
    ls_selpar-shlpname = 'ZMY_CUSTOM_SEARCHHELP'.
    ls_selpar-shlpfield = 'STANDARD_FIELD'.
    ls_selpar-value = SCR_STD_FIELD. " 赋值屏幕上的标准字段值
    APPEND ls_selpar TO lt_selpar.
    
    CALL FUNCTION 'F4IF_START_VALUE_REQUEST'
      EXPORTING
        shlpname         = 'ZMY_CUSTOM_SEARCHHELP'
      TABLES
        shlp             = lt_shlp
        shlp_selpar      = lt_selpar
      EXCEPTIONS
        parameter_error  = 1
        no_values_found  = 2
        OTHERS           = 3.
    

3. 搜索帮助出口FM的参数读取

  • 若使用标准搜索帮助出口接口(SHLP_EXIT),可通过遍历SHLP-SELPAR表获取传入的标准字段值,示例代码:
    DATA: ls_selpar TYPE shlp_selpar,
          lv_std_value TYPE <对应标准字段类型>.
    
    LOOP AT shlp-selpar INTO ls_selpar WHERE shlpfield = 'STANDARD_FIELD'.
      lv_std_value = ls_selpar-value.
      EXIT.
    ENDLOOP.
    
  • 若屏幕自动触发搜索帮助,SHLP-SELPAR表会自动包含绑定的屏幕字段值,直接读取即可。

4. 调试验证关键点

  • 在FM入口处设置断点,检查SHLP-SELPAR表是否存在对应参数记录,若无则说明参数绑定环节出错。
  • 确认触发搜索帮助时,屏幕标准字段已有有效值(比如PBO阶段已赋值或用户已输入),空值会导致传递失败。

5. 返回结果格式处理

  • 在搜索帮助出口的SELECT或DISPLAY阶段,将处理后的代码/文本存入RECORD_TAB,需与搜索帮助的输出字段对应,示例代码:
    DATA: ls_record TYPE seahlpres.
    
    " 新增结果行
    ls_record-string1 = 'CODE1'. " 对应搜索帮助的CODE字段
    ls_record-string2 = 'Text code 1'. " 对应搜索帮助的TEXT字段
    APPEND ls_record TO record_tab.
    
    ls_record-string1 = 'CODE2'.
    ls_record-string2 = 'Text code 2'.
    APPEND ls_record TO record_tab.
    
  • 确保搜索帮助已配置CODE/TEXT两个输出字段,且与RECORD_TAB的字段一一对应(如STRING1对应CODE,STRING2对应TEXT)。

内容的提问来源于stack exchange,提问作者tafkap

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 03:13:14