【ZT】Enhancement Framework – Introduction
By Naimesh Patel | March 26, 2014 | Enhancement Implementation
ABAP Enhancement Implementations concept which allows you to easily enhance the standard SAP delivered functionality with your desired one. With this series let’s see more about the Enhancement Framework.
Preface
ABAP Enhancement Implementations concepts are there for a while in SAP. I’m haven’t written much about them yet. One of the reader, Hannes Rempel reminded me about the fact. So, I take the opportunity to start writing about this. I have planned for bunch of articles in this series. Hope you would find something new here.
What is an Enhancement
Let’s start with very basics. Enhancement is used when you need to enhance the any standard SAP delivered functionality by introduced new code. There are certain ways to achieve the enhancements:
- Core Modification – You obtain the access key by registering the object with SAP and make the necessary changes. This is more dangerous and thus least preferable among other techniques. What makes it more dangerous is when SAP provides any OSS note, or while upgrade, there is a great chance of losing the functionality if you don’t perform proper SPAU activities.
- User Exits – You find SAP delivered Subroutines (PERFORM) which begins with
USEREXIT_in the std SAP programs. Those Subroutines would be collected in a program. To implement the user exit, you would need to also register the object once. They are little bit safer from upgrade point of view as they are in a separate include. - Customer Exits – You find SAP provided function exits with
CALL CUSTOMER FUNCTION ‘001’. This would be a FM with an include. This include would not be delivered by SAP. If you need your new functionality, you need to create the include and implement your code. You would need to create Customer Enhancement Project in CMOD using the Enhancement which houses the Exit function SMOD. - BADI (Business Add Ins) – are the based on Object Oriented Concept. Similarly Std SAP would provide you the BADI calls. You would need to Create the BADI implementation based on the BADI definition. Then you can add your code in the implementation which is essentially a method in the class. You can implement the same BADI multiple times, if the BADI is multiple implementation.
New Enhancements Technique
Generally Enhancements Frameworkenhancements are referred as New Enhancements. They provide more flexibility compared all of its predecessors. Few advantages are:
- Easy maintenance
- SAP can deliver more than one business processes in the same code
- Customer can activate the business processes
- Upgrade Support
We would learn more about the course of various articles.

Various Types of Enhancements
There are these new enhancement concepts:
- Explicit Enhancements – Explicit enhancements are similarly provided by SAP at various point of the code. They are provided with ENHANCEMENT-POINT and ENHANCEMENT-SECTION. We will learn more about both of them in upcoming articles, but the basic is ENHANCEMENT-POINT is the empty placeholder for the code where as ENHANCEMENT-SECTION is the placeholder with default code.
- Implicit Enhancements – Implicit enhancements are not delivered by SAP in the code, but SAP has given flexibility to implement them at various locations
- Beginning of the Subroutine/Method/FM/Include
- End of the subroutine/Method/FM/Include
- Class Enhancements – Pre/Post/Overwrite method
- FM Enhancements – Additional Parameters
Enhancement Implementation
In order to put your code in to any of the enhancement, you would need to create an implementation for that. If you found an explicit point, you can create the implementation for that point. You implement the logic in your implementation. At run time, system determines how many active implementation exist in the system for that point and executes them.
You can navigate from your implementation or open an implementation in the Enhancement Builder. Enhancement Builder is an integrated tool in SE80 to help you with Enhancement implementations.
【ZT】Enhancement Framework – Introduction的更多相关文章
- MySQL的left on 【zt】
MySQL的left on [zt] (2008-11-03 17:27:30) 转载▼ 标签: it 分类: 学习笔记 MySQL多表连接查询Left Join,Right Join php开源嘛 ...
- ASP.NET CORE系列【六】Entity Framework Core 之数据迁移
原文:ASP.NET CORE系列[六]Entity Framework Core 之数据迁移 前言 最近打算用.NET Core写一份简单的后台系统,来练练手 然后又用到了Entity Framew ...
- 【DataStructure】Description and Introduction of Tree
[Description] At ree is a nonlinear data structure that models a hierarchical organization. The char ...
- 【145】◀▶ .NET Framework类库索引
C#编程基础: A1 ………… 基础A2 ………… using 关键字A3 ………… as 关键字A4 ………… is 关键字A5 ………… switch 关键字A6 ………… return 语句关键 ...
- 【转】[特征选择] An Introduction to Feature Selection 翻译
中文原文链接:http://www.cnblogs.com/AHappyCat/p/5318042.html 英文原文链接: An Introduction to Feature Selection ...
- 【EF】Entity Framework使用
一.EF框架之三种模式 Entity Framework是ORMapping的一种具体实现,那ORMapping又是什么呢? ORM--ObjectRelation Mapping,即对象关系映射框架 ...
- 【迁移】—Entity Framework实例详解 转
一.Entity Framework 迁移命令(get-help EntityFramework) Enable-Migrations 启用迁移 Add-Migration 为挂起的Model变化添加 ...
- 【转】Entity Framework技术系列之7:LINQ to Entities
前言 LINQ(Language Integrated Query,语言集成查询)是一组用于C#和VB.NET语言的扩展,它允许编写C#或者VB.NET代码,以与查询数据库相同的方式操作内存数据. L ...
- 【迁移】—Entity Framework实例详解
好久没有在博客园更新博客了,如今都换了新公司.前段时间写了关于EF迁移的文档,今天拿出来作为这个系列的一篇吧. 一.Entity Framework 迁移命令(get-help EntityFrame ...
随机推荐
- Linux运维课程体系大纲
Linux入门: Linux系统管理: Linux服务及安全管理: httpd,lamp,lnmp Cache:memcached,varnish(缓存系统) ...
- spring cloud eureka注册原理-注册失败填坑
写在前面 我们知道Eureka分为两部分,Eureka Server和Eureka Client.Eureka Server充当注册中心的角色,Eureka Client相对于Eureka Serve ...
- PAT Basic 1040 有几个PAT (25 分)
字符串 APPAPT 中包含了两个单词 PAT,其中第一个 PAT 是第 2 位(P),第 4 位(A),第 6 位(T):第二个 PAT 是第 3 位(P),第 4 位(A),第 6 位(T). 现 ...
- web开发规范文档二
头部 header\hd 内容块 content\con\bd text txt title 尾部 footer 导航 nav\menu sub-n ...
- BZOJ1013 [JSOI2008]球形空间产生器sphere[高消]
数论进度开的好慢啊.我整天做的都是什么鬼题啊. 简单的高消题,用一个式子把另外$n$个有二次项和距离的式子全消掉就行了. #include<iostream> #include<cs ...
- 构建的Web应用界面还不够好看?DevExtreme v19.1全新主题来袭
行业领先的.NET界面控件DevExpress 正式发布了v19.1版本,本文将主要介绍介绍DevExtremev19.1中的数据可视化和主题控件,其中主要包含图表注释.增强图例功能等.欢迎下载v19 ...
- HDU6739 2019CCPC秦皇岛赛区 I. Invoker
题目:http://acm.hdu.edu.cn/showproblem.php?pid=6739思路:暴力dp 一个special skill最多有6种排列组合 ...
- python 可更改(mutable)与不可更改(immutable)对象
在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象. 不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际 ...
- python3.6+Xadmin2.0系列(一) xadmin下载及安装
环境配置:win7+python3.6+Django2.1+xadmin2+PyCharm 一.Xadmin下载及安装: 1.下载: 下载地址:https://github.com/sshwsfc/x ...
- Housewife Wind
Housewife Wind 参考博客:POJ2763 Housewife Wind(树剖+线段树) 差不多是直接套线段树+树剖的板子,但是也有一些需要注意的地方 建树: void build() { ...