二维码

[help] 物料搜索帮助出口增强Search help exit

Twilight发表于 2014-10-17 18:03Twilight 最后回复于 2014-10-17 18:03 [复制链接] 6679 0

Search help exit通常用于增强标准搜索帮助返回值,例如这样的一个场景:用户1仅仅需要物料类型为成品的物料,而用户2仅仅需要物料类型为原材料的物料,我们就可以使用Search help exit解决问题。
1、se11 创建一个基本搜索帮助:YMAT1T_E
Search help exit 1.png
我们根据用户的需求逻辑,创建一个function module,然后填在这里的Search help exit上
2、se37  创建一个FM,changing和tables如下设置
Search help exit 2.png
Search help exit 3.png
然后输入source code逻辑代码
  1. FUNCTION ysearch_exit.
  2. *"----------------------------------------------------------------------
  3. *"*"Local Interface:
  4. *"  TABLES
  5. *"      SHLP_TAB TYPE  SHLP_DESCT
  6. *"      RECORD_TAB STRUCTURE  SEAHLPRES
  7. *"  CHANGING
  8. *"     VALUE(SHLP) TYPE  SHLP_DESCR
  9. *"     VALUE(CALLCONTROL) LIKE  DDSHF4CTRL STRUCTURE  DDSHF4CTRL
  10. *"----------------------------------------------------------------------

  11.   DATA:wa_temp LIKE record_tab,
  12.        it_temp LIKE record_tab OCCURS 0.
  13.   IF callcontrol-step = 'DISP'.
  14.     IF sy-uname = 'AAAAA'.
  15.       LOOP AT record_tab INTO wa_temp WHERE string+3(4) = 'FERT'.
  16.         APPEND wa_temp TO it_temp.
  17.       ENDLOOP.
  18.       CLEAR:record_tab[].
  19.       record_tab[] = it_temp[].
  20.       CLEAR:it_temp[].
  21.     ELSEIF sy-uname = 'BBBBB'.
  22.       LOOP AT record_tab INTO wa_temp WHERE string+3(4) = 'ROH'.
  23.         APPEND wa_temp TO it_temp.
  24.       ENDLOOP.
  25.       CLEAR:record_tab[].
  26.       record_tab[] = it_temp[].
  27.       CLEAR:it_temp[].
  28.     ENDIF.
  29.   ENDIF.
复制代码
保存激活function module
3、返回se11 执行搜索帮助 或者进入ME21N 在物料字段按F4进行测试
Search help exit 4.png

回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表