zoukankan      html  css  js  c++  java
  • SAP增强点查找方法

    增强查找方法:转发来自http://blog.sina.com.cn/s/blog_d10446f70101c1ev.html

    1.User Exit,也就是用户出口。著名的MV45AFZZ系列就是这种出口。一般项目上通过算个号直接修改这种简单粗暴的方式来处理,SAP也会默认认为这个是增强性的修改而不是修改标准程序。对这类程序的修改也可以通过后面讲到的Enhancement Implementation来实现,看上去要稍微专业一些。
    2.SAP Enhancements,也就是SMOD,通过CMOD来实现。博主理解SMOD = SAP Modification, CMOD = Customer Modification。意思就是SMOD是SAP发布的一些Function Module,这些FM一般都在标准程序里面有调用,里面一般都会是一个PERFORM ZXXXX,你要做增强,其实就是创建这个Z开头的程序,在里面写一些代码。FM能做的事以及输入、输出参数都是SAP预设置好的,也就是说你要干什么事就得找到什么样的SMOD,然后创建CMOD去实现它。
    3.Business Add-In,也就是BADI。BADI也需要通过Create Implementation来实现,跟SMOD/CMOD比较类似,功能更宽泛一些,多半是一些Method的组合,通过每个Method可以实现不同的功能。
    4.Enhancement Implementation,这个是很灵活的一种增强,SAP在它的标准程序里面会预留一些Enhancement Spot,如果你需要在这个程序里面做一些修改,可以考虑通过在Enhancement Spot上面创建Enhancement Implementation来实现。
    博主了解到的增强方式就这么几种了,下面说说怎么来找到这些增强。
    1.SPRO。这是找到增强最直接的方式。基本上每个大菜单下面都会有一个叫做System Modifications的菜单,在这个菜单里面你可以看到很多的子菜单,每个子菜单的Documentation里面(而不是直接点运行)就会写有哪些增强可以使用,是什么类型的增强。比如著名的MV45AFZZ就在下面的路径里面可以看到。
    详解SD增强
    这里面除了告诉你有MV45AFZZ这个东西,还给你讲解了每个FORM能做什么事情。实在是相当贴心。
    详解SD增强

    详解SD增强
    另外一些BADI也可以通过这个方式来找到,比如给客户主数据创建一些附加视图:
    详解SD增强

    详解SD增强
    2.通过PACKAGE查找。进入SE80,选择Package,然后输入VMOD,就可以看到SD模块下面的一些用户出口,都在Includes里面。MV45AFZZ也在其中(真是无处不在啊)。
    详解SD增强
    3.通过程序查找。这个是个很简单的办法。只要在Sandbox或者IDES里面创建一个程序,就可以很方便的找到SMON/CMOD以及BADI类型的增强点了。程序博主会单独放到另外一篇博文里面。
    4.通过Table: MODSAP查找。这个方法不到万不得已不推荐使用,因为这里面的东西实在是很多,并且缺乏描述。这里找到的都是SMOD/CMOD方式的增强,可以通过检索"SD*"来查找SD相关的增强。
    5.查找BADI。这个方法基本上可以找到一个T-CODE下面所有的BADI,比用第三种方式的程序找的要全。当然过程也会稍微复杂一些。首先进入SE24,查看Object Type:CL_EXITHANDLER。
    详解SD增强
    在GET_INSTANCE这个Method里面设置如下断点:
    详解SD增强
    然后进入你要进的T-CODE(如果需要在这个T-CODE后续动作中查找,建议先进入T-CODE,在操作开始前再设置断点),Debug窗口会自动弹出,通过查看EXIT_NAME的值,就可以找到这段程序所调用的每一个BADI。
    详解SD增强
    6.直接DEBUG/找程序源代码。这种方式适用于查找CMOD/SMOD类型的增强,以及Enhancement Implementation方式的增强。
    先说CMOD/SMOD:在程序里面查询"Customer-Function",如果有的话,那就是一个SMOD/CMOD的增强。通过双击编号(本例里面是002)就可以进到对应的SMOD的FM。
    详解SD增强
    回头到MODSAP这个表里面就可以找到对应的SMOD名称
    详解SD增强
    找Enhancement Implementation就更简单了,在你想做增强的标准程序里面点击下图所示的按钮
    详解SD增强
    然后找到如下菜单路径:
    详解SD增强

    如果上述操作完成后,在程序里面出现了黑色的箭头以及对应的虚线行,就可以在这里做Enhancement Implementation了,随心所欲,想怎么搞就怎么搞,而且是SAP支持的方式,升级什么的不受影响哦!
    详解SD增强
    嗯,基本上增强就这些了,希望大家增的开心,强的愉快详解SD增强
  • 相关阅读:
    牛客题霸NC15求二叉树的层序遍历Java题解
    牛客题霸NC105二分查找Java题解
    .net基本性本能优化问题
    urlRewriter
    元数据MetaData
    asp.net整体运行机制详解
    asp.net整体运行机制
    asp.net页面从初始化到卸载事件顺序
    Spring表达式语言之SpEL
    Spring 学习笔记(三)之注解
  • 原文地址:https://www.cnblogs.com/mmm-iwtb/p/11265877.html
Copyright © 2011-2022 走看看