*20170325 160000

以下之外,

还有:.替代, -用过一次;

.BTE -没用过,

需要学习;

第二代增强和第三代增强的差别:

1.Tcode 不同:

第二代: CMOD 增强管理,SMOD 实施的增强点;

第三代: SE18 BADI定义,SE19 BADI实现;

2.实现方式不同;

SMOD 增强 是基于函数模块的增强,函数名称是 EXIT_程序名_'xxx',

使用CALL customer-function 'XXX'调用函数模块,

函数里面一般是 INCLUDE Zxxx 一句话,进去里面进行增强代码;

SE19增强 是基于面向对象的增强,

源代码发布以接口方式,通过接口的方法调用来实现使用。

通过 接口名称 找到对应的方法:

如:

采购订单创建的检查:BADI:ME_PROCESS_PO_CUST

在所提供方法中->找到对应方法->实施增强;

INITIALIZE

OPEN

PROCESS_HEADER

PROCESS_ITEM

PROCESS_SCHEDULE

PROCESS_ACCOUNT

CHECK

POST

CLOSE

FIELDSELECTION_HEADER_REFKEYS

FIELDSELECTION_HEADER

FIELDSELECTION_ITEM_REFKEYS

FIELDSELECTION_ITEM

3.查找方式不同,

4.能够实现的功能是否相同?

通过网络资料学习SAP 的4代增强:

SAP ABAP,增强就是对SAP 标准程序功能的扩充。比如在事物码ME31N 新建PO 时,

在保存时需要做一些特定的检查,这时候就需要用到增强:

【 ME_PROCESS_PO_CUSE 】

SAP 系统已经给我们预设好了很多增强,我们只需要往这些增强里写代码就行了。

SAP增强按照历史先后, 主要四类:

1.第一代(基于源代码的增强)是SAP提供了一个空代码的子过程,

这个子过程中,用户可以添加自己的代码,控制自己的需求。

这类增强需要修改sap的标准代码,它们在发布的时候都是空的,

集中在文件名倒数第二个字符为 Z 的包含程序中,

因为在标准程序中,所以:

(1)程序的全局数据可以使用。

弱点:系统升级时会被新版本覆盖;

这种源代码增强和 屏幕增强的说明

可以从Tcode:

SPRO 后台配置的相关模块的路径里找到;

一般是 UserExit_ 打头的子模块。

这类增强事先要到 service marketplace 申请对象键(Access key),

然后才可以修改这个子程序。

这类增强比较多用在SD模块,比如创建SO 时(VA01).

2.第二代增强(基于函数模块的增强),用SMOD和CMOD 维护

在SAP发布的版本中,使用Call customer-function 'xxx'调用函数模块的,

所以你可以通过在程序中搜索

cusomer-function 来查找第二代增强,

第二代增强函数名构成:EXIT_程序名_'xxx',

这样你就可以找到对应的增强函数模块了,它们在发布的时候只有一句代码

include 'xxx'

修改时无需像第一代增强一样需要ACCESS key,直接双击回车就可以了。

从第二代增强都是 子程序了,include or ???

只能使用接口中传递进来的参数。

第二代增强主要有以下几类:

1)E. Enhancement exits:

这些出口以Exit_ 打头,你可以到SE37 中查看,

也可以在表 TFDIR 中查询Exit_ 打头的函数,

2)C. Gui codes,(GUI增强)

3)S. Subscreen (屏幕增强)

4)T. include structure 表/结构 增强,

SAP扩充(增强表) MODSAP,里面记录了所有的smod 增强,

这个表里重要字段

NAMEX 增强名

TYPX 组件类型

MEMBERX 增强

TFDIR 函数清单

重要字段:

FUNCName(函数名),

MAND(功能模块激活状态如果是C代表此函数模块激活)。

3.第三代增强(基于面向对象概念的增强 BADI-[ business add-in ]),使用SE18管理,SE19实施,

(1)SAP保证所有BADI的向上兼容性。版本升级不影响标准系统中增强的调用,也不会影响调用接口的有效性。你不必在SSCR中注册BADI。

(2)只能使用一次实施,增强功能可以同时被任意数量的客户激活。?

BADI可根据过滤器的值定义。这使您可以根据特定的标准来控制实施(例如:按照在特定国家)。

(3)BADI包含了所有必要实现特定任务的接口。?

源代码发布以接口方式,通过接口的方法调用来实现使用。

自定义增强实际上是实现一个或者多个基于这个接口的实现类,

因为-接口类实际上是一个抽象类,所以- 对于同一个增强会出现不同的源代码,

这些不同的源代码通过 过滤器(adapter) 来区分不同的 业务场景。

Tcode:SE18, SE19 来实现,

***BADI 的查找方法:

1)BADI 对象的信息存储在

SXS_INTER,

SXC_EXIT,

SXC_CLASS,

SXC_ATTR 这四个表

其中 SXC_ATTR 【Exit: Implementationsseite: Attribute】可以找到自建BADI,

IMP_NAMECHAR200业务加载项实施

VERSION CHAR60版本号

ACTIVE CHAR10客户增强激活

MST_LANGLANG10语言代码

ANAME CHAR120最后修改人

ADATE DATS80日期

ATIME TIMS60时间

UNAME CHAR120最后修改人

UDATE DATS80日期

UTIME TIMS60时间

LAYER CHAR800业务加载项管理的层值

MIG_ENHNAMECHAR300

2)SAP BADI 程序都会调用

cl_exithandler=>get_instance 来判断对象是否存在,并返回实例,

**我们可以在这个方法处设置断点,获取实例。

这个方法实际是对上面四张表和视图 V_EXT_IMP 和V_EXT_ACT 进行检索,

3)它的调用方式是call method(instance), 可以通过exit_handler关键词来查找。

4)ST05选择“table buffer trace”而不是常用的"SQLtrace",

查找上面的几个表和视图找到对应的BADI.

5)se18 查找接口,se19 实现接口就可以实现用户增强

4.第四代是第三代的加强 switch Framework

SAP 进入NewWeaver 7.0后 推出的新增强体系,将BADI 改名叫新BADI。

还新增了 Enhancement spot 和Enhancement section 以及隐式增强点的概念,

基本在面向对象的程序里实现处处可以增强,

这类增强一般

可以加在一个函数过程的开头和结尾的地方。

***隐式增强:

1)寻找隐式增强方法:

使用debug 方式,跟踪业务处理过程,记下经过的 程序,子程序,函数名,

最好是在标准业务结束前的最后环节,去确认是否有可用的隐士增强点。

如有,实施步骤:

(1)使用圈圈 增强menu,

(2)菜单:编辑-》增强操作-》显示隐式增强选项;

(3)代码框行号前有箭头的表明有隐式增强点,可以创建,

操作隐式增强点 4个menu:

创建,更改,替代,撤销,(所以隐式增强没有删除,是标准撤销)

(4)创建实施,声明代码;

SAP四代增强实现:销售订单复制项目文本时不需要显示文本框和回车

最近接收到一个业务需求,在SAP依据销售订单复制时,如果订单里面的项目有多个文本,系统就会显示复制的文本框处理,让用户选择是否复制,这个就让销售很不舒服,如果有几十个项目,每个项目有几个文本,那就就要 ...

SAP增强总结-第二代增强(SMOD、CMOD)【转载】

第二代增强比第二代增强安全性提高了很多,第一代增强毕竟是在原标准程序中修改,大部分传递参数都可以直接使用,第二代增强做了一些封装,对用户可以修改的参数做了限制. 1.增强点查找方法 首先根据事物码找到 ...

SAP中寻找增强的实现方法(转)

SAP 增强已经发展过几代了,可参考 SAP 标准教材 BC425 和 BC427.简单的说SAP的用户出口总共有四代:1.第一代  基于源代码的增强.SAP提供一个空代码的子过程,在这个子过程中用户 ...

Azure 为 SAP 提供的增强监控解决方案

正如大家在之前公告中所看到的,多个SAP应用程序已获得认证可在 Azure虚拟机中运行,未来还会有更多 SAP应用程序获得认证.对于希望在 Azure中运行 SAP应用程序的客户来说,这是个激动人心的 ...

【ABAP系列】SAP ABAP MRKO增强

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP MRKO增强 ...

【MM系列】SAP 交货单屏幕增强

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 交货单屏幕增强   前言部分 ...

【ABAP系列】SAP VA01屏幕增强(user-exit)

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP VA01屏幕增强(user- ...

SAP 销售条件表增强栏位

有时遇到一个比较特殊的业务,比如公司间免费订单,既要让价格为0,不读取VK11里创建的价格, 又要让公司间的价格读取VK11,这实际上是有矛盾的,也就是说一个订单里面的两行,物料一样,客户一样,就会出 ...

SAP 金税接口增强 BADI

SAP与金税连接有两种方式:组件接口及文本接口. 文本接口为例: 1.SAP取发票数据.主要来自合同,销售订单,交货单.发票,客户供应商主数据等 2.SAP处理:合并.拆分,折扣等 3.导出TXT ...

随机推荐

解决NSTimer存在的内存泄漏的问题

创建定时器会在一定的间隔后执行某些操作,一般大家会这样创建定时器,这样创建的定时,self对定时器有个引用,定时器对self也有个引用,造成了循环引用,最终造成了内存泄漏,如果定时器在做下载的操作就会 ...

mybase 用户教程

一.安装.卸载 1.安装 在Mac OS X环境下,可通过打开下载的.dmg文件,再把myBase图标拖到应用程序文件夹即可安装.然后通过双击程序图标运行程序 2.卸载 对于Mac OS X,把myB ...

Bootstrap3.0学习第二十四轮(JavaScript插件——按钮)

详情请查看 http://aehyok.com/Blog/Detail/30.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:h ...

Android 使用FACE++架构包实现人脸识别

今天给大家带来一个通过使用Face++来实现人脸识别的功能. 我们先去这个Face++官网看看:http://www.faceplusplus.com.cn 我们点开案例可以看到众多我们熟知的软件都是 ...

Open Phone, SMS, Email, Skype and Browser apps of Android in Unity3d

最近项目需要使用Android的一些基本功能,写插件各种悲剧,google了一下,如获至宝.Nice ! string url = String.Format("tel:{0}", ...

2016 系统设计第一期 (档案一)MVC 相关控件整理

说明:前者是MVC,后者是boostrap 1.form 表单 @using (Html.BeginForm("Create", "User", FormMet ...

python 自动化之路 day 09 进程、线程、协程篇

本节内容 操作系统发展史介绍 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者 ...

Java并发编程:ThreadLocal

Java并发编程:深入剖析ThreadLocal   Java并发编程:深入剖析ThreadLocal 想必很多朋友对ThreadLocal并不陌生,今天我们就来一起探讨下ThreadLocal的使用 ...

Traffic Ccontrol(流量控制)

linux有一个成熟的带宽供给系统,称为Traffic Control(流量控制).这个系统支持各种方式进行分类.排序.共享和限制出入流量. 一.基础知识 让ip显示我们的链路 ip link  li ...

CSS3学习笔记(4)-CSS3函数

p{ font-size: 15px; text-indent: 2em; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid ...

sap 一代增强_SAP 4代增强相关推荐

  1. sap 一代增强_SAP增强Enhancement

    第一代:基于源码增强(子过程subroutine) 第一代增强基于源代码,是SAP提供的一个空代码的子过程.在这个子过程中用户可以添加自己的代码,控制自己的需求.这类增强集中在一些文件名倒数第二个字符 ...

  2. ABAP 快速找到第二代增强的方法(基于函数出口增强function)

    SAP系统带有增强出口检查函数如下: MODX_ALL_ACTIVE_MENUENTRIES (菜单增强) MODX_FUNCTION_ACTIVE_CHECK (出口函数增强) MODX_MENUE ...

  3. SAP 系统标准表的结构增强

    在实际业务操作中,经常会存在较多的客制化需求.很多时候,企业可能会需要在表中增加一些自定义的字段.例如,VBAP表用于保存销售订单的详细信息,在一些销售订单行业,每个商品都可能存在很多价格相关的信息, ...

  4. 【SAP Abap】记录一次增强开发之销售交货开票VF04增强

    记录一次增强开发之销售交货开票VF04增强 1.增强需求 2.增强查找 2.1.查找增强点 2.2.查看增强 3.增强实现 3.1.创建增强项目 3.2.添加增强 3.3.实现增强 3.4.激活项目 ...

  5. Pytorch 文本数据分析方法(标签数量分布、句子长度分布、词频统计、关键词词云)、文本特征处理(n-gram特征、文本长度规范)、文本数据增强(回译数据增强法)

    日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 文本数据分析 学习目标: 了解文本数据分析的作用. 掌握常用的 ...

  6. 数据增强_imgaug图像数据增强必备工具

    导读 我们经常会遇到训练模型时数据不够的情况,而且很多时候无法再收集到更多的数据,只能通过做一些数据增强或者其它的方法来合成一些数据.常用的数据增强方式有裁剪.旋转.缩放.亮度对比度色度饱和度变换.仿 ...

  7. SBAS星基增强系统 及 广域增强系统WAAS

    1.为什么需要增强系统? GPS自建成以来到现在,其SPS可以向民用用户提供水平方向100米左右,垂直方向150米左右的定位精度,但随着应用领域的不断拓展,民用航空对于GPS的应用提出了更加苛刻的要求 ...

  8. 语音增强:求语音增强评价:CSIG,CBAK和COVL的代码

    语音增强:求语音增强评价:CSIG,CBAK和COVL的代码 CSIG,CBAK和COVL分别代表: CSIG: MOS predictor of speech distortion, CBAK: M ...

  9. sap 一代增强_在SAP标准实施中不起眼的“小”功能,居然融了3个亿

    昨日,劳动力管理服务商"盖雅工场"微信官方宣布完成C轮融资,本轮由老虎环球基金领投,老股东华平投资.经纬中国跟投. 公开信息显示,盖雅工场于2016年3月获得由经纬创投领投的数千万 ...

  10. sap 一代增强_在SAP故乡,感受“边缘智能”之变

    汉诺威工业博览会SAP展台 在德国,有奔驰.宝马等汽车巨头,但SAP仍然是德国市值最高的企业,目前这家企业正在发生什么变化?5G.人工智能.区块链.VR/AR.物联网等新技术如火如荼,正在港口.汽车. ...

最新文章

  1. 014_logback中的SiftingAppender
  2. CString的部分实现剖析
  3. 为什么jsp写script代码报错_JSP 报错:ReferenceError: $ is not defined
  4. android webview 字体 系统字体大小,Android 系统字体大小动态改变,导致webview中显示不兼容的问题解决...
  5. 网站流量预测任务第一名解决方案:从GRU模型到代码详解时序预测
  6. Builder 模式在 Guava 中的应用
  7. 使用Opencv分离图像通道/合并图像通道
  8. Linux内核的裁剪移植,Linux内核裁剪移植学习分享
  9. 计算机专业英语课程整体设计,计算机专业英语的课程整体.doc
  10. Mysql的分组函数
  11. 批量剔除consul无效服务
  12. 玩客云安装linux系统的好处,玩客云armbian安装aria2+ariaNG过程记录
  13. java斗地主程序制作过程
  14. 驻留内存 虚拟内存 共享内存
  15. 邓宁-克鲁格效应的理解
  16. 2014年博客之星评选,请大家多多支持
  17. linux 删除目录下所有指定的子目录
  18. SVN服务端客户端安装配置及权限管理
  19. 此计算机上的硬盘驱动器要更新,Win10自动更新给微软闯大祸:搞坏用户电脑硬盘...
  20. 3DAI智能皮肤检测仪--拥抱新美业的科技变革

热门文章

  1. 24小时动手学prezi入门到精通+破解(全能“破解”软件)
  2. crm客户管理软件的精髓
  3. JDK6和JDK7中String的substring()方法及其差异
  4. 【C/C++】Socket编程实例解析
  5. 我的世界起床战争java 版服务器_我的世界中国版起床战争下载-我的世界中国版起床战争服务器_5577安卓网...
  6. windows 邮件系统收发163邮件
  7. python爬取豆瓣书籍_Python爬取豆瓣读书
  8. java解析魔兽争霸3录像_Java解析魔兽争霸3录像W3G文件(三):解析游戏开始前的信息...
  9. SPSS统计分析行业应用实战--SPSS 24.0新增
  10. 基于QT的音视频采集推流实时传输播放数据发布系统 文档+项目源码+答辩PPT