设为首页 收藏本站
查看: 714|回复: 0

[经验分享] SAP 搜索帮助

[复制链接]
累计签到:5 天
连续签到:1 天
发表于 2015-9-20 14:13:57 | 显示全部楼层 |阅读模式
  SAP一个很强大的功能就是无所不在的搜索帮助,如果使用系统的标准字段如MATNR AUFNR 等,都会有相应的搜索帮助,但是对于自建的表格,就得自己制作搜索帮助了,下面简单介绍制作基本搜索帮助

1.SE11 进入创建页面 点击搜索帮助 输入要创建的名字,如ZTEST_SERHCH_HELP
点击创建 选择基本索引搜索帮助 进去后会有两个页签 其中 ATTRIBUTE 页签基本可以不去关注 这里主要看一下definition页签 下面介绍下definition页签的几个重要属性
1.SELECTION METHOD 这里填的就是取数据的表
2.对话类型 有A C D三个选项  A和C 都是先弹出选择界面 然后在弹出选择列表 D是跳过选择界面直接弹出选择列表 这里使用C
3.SERCH HELP EXIT 只是系统留下的出口,可以在这里进行数据控制,比如限制选择条件,权限检查等等
4.搜索帮助参数 就是要显示出来的字段 IMP就是输入字段 EXP就是输出字段 必须指定所在列

这样一个简单的搜索帮助就完成了

1.如果想要把搜索帮助设为某个数据元素的默认搜索帮助,进入到要设置的数据元素中去,在第三个页签中输入想要关联的搜索帮助名字,PARAMETERS 为要和关联字段(搜索帮助参数中的字段)
2.如果在屏幕上想要使用自己创建的搜索帮助,可以使用下面语句
PARAMETERS:P_MATNR TYPE MARA-MATNR MATCHCODE OBJECT ZTEST_SERHCH_HELP .
3.如果先要对搜索帮助进行一些限制 可以在SERCH HELP EXIT中编程 首先复制系统标准函数 F4IF_SHLP_EXIT_EXAMPLE 到自己要创建的函数(函数和函数组的创建这里就不介绍了),改函数里面有详细的使用介绍,只要英文还行基本都可以看得懂,这里就不多说了,这里举一个例子简单说明,该例子是限制物料编号
  DATA:lw_line TYPE ddshselopt.
"设置默认的筛选条件
   IF callcontrol-step = 'SELECT'.
    lw_line-shlpname = 'Z3768_TEST'."搜索帮助名字
    lw_line-shlpfield = 'MATNR'."要进行条件限制的字段
    lw_line-sign = 'I'.
    lw_line-option = 'EQ'.
    lw_line-low = '178'.
    APPEND lw_line TO shlp-selopt.
  ENDIF.


*下面转自老白的博客
REPORT  ztest.
TYPES: shlp_descr_t TYPE shlp_descr .
DATA: BEGIN OF itab OCCURS 0 ,
        matnr LIKE mara-matnr ,
        maktx LIKE makt-maktx ,
      END OF itab.
DATA: return_tab TYPE ddshretval OCCURS 0 .
PARAMETERS: p_matnr LIKE itab-matnr ,
            p_maktx LIKE itab-maktx .

INITIALIZATION.
  SELECT matnr maktx INTO TABLE itab FROM makt UP TO 20 ROWS
    WHERE spras = '1'.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_matnr .
  PERFORM f4.

*&---------------------------------------------------------------------*
*&      Form  f4
*&---------------------------------------------------------------------*
FORM f4.
  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield         = 'MATNR'
      dynpprog         = sy-repid
      dynpnr           = sy-dynnr
      dynprofield      = 'P_MATNR'
      value_org        = 'S'
      callback_program = sy-repid
      callback_form    = 'CB_FORM'
    TABLES
      value_tab        = itab
      return_tab       = return_tab
    EXCEPTIONS
      parameter_error  = 1
      no_values_found  = 2
      OTHERS           = 3.
ENDFORM.                    "f4

*&---------------------------------------------------------------------*
*&      Form  cb_form
*&---------------------------------------------------------------------*
FORM cb_form TABLES record_tab STRUCTURE seahlpres
              CHANGING shlp TYPE shlp_descr_t
                       callcontrol LIKE ddshf4ctrl.
  DATA: interface LIKE LINE OF shlp-interface.
  READ TABLE shlp-interface INTO interface INDEX 1.
  interface-shlpfield+4(1) = '2'.
  interface-valfield = 'P_MAKTX'.
  APPEND interface TO shlp-interface.
ENDFORM.                    "bo_callback_form

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-116320-1-1.html 上篇帖子: 在sap系统设置纸张打印格式 下篇帖子: Sap ,Oracle, Ax 的比较文档
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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