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的更多相关文章

  1. MySQL的left on 【zt】

    MySQL的left on [zt] (2008-11-03 17:27:30) 转载▼ 标签:  it 分类: 学习笔记 MySQL多表连接查询Left Join,Right Join php开源嘛 ...

  2. ASP.NET CORE系列【六】Entity Framework Core 之数据迁移

    原文:ASP.NET CORE系列[六]Entity Framework Core 之数据迁移 前言 最近打算用.NET Core写一份简单的后台系统,来练练手 然后又用到了Entity Framew ...

  3. 【DataStructure】Description and Introduction of Tree

    [Description] At ree is a nonlinear data structure that models a hierarchical organization. The char ...

  4. 【145】◀▶ .NET Framework类库索引

    C#编程基础: A1 ………… 基础A2 ………… using 关键字A3 ………… as 关键字A4 ………… is 关键字A5 ………… switch 关键字A6 ………… return 语句关键 ...

  5. 【转】[特征选择] An Introduction to Feature Selection 翻译

    中文原文链接:http://www.cnblogs.com/AHappyCat/p/5318042.html 英文原文链接: An Introduction to Feature Selection ...

  6. 【EF】Entity Framework使用

    一.EF框架之三种模式 Entity Framework是ORMapping的一种具体实现,那ORMapping又是什么呢? ORM--ObjectRelation Mapping,即对象关系映射框架 ...

  7. 【迁移】—Entity Framework实例详解 转

    一.Entity Framework 迁移命令(get-help EntityFramework) Enable-Migrations 启用迁移 Add-Migration 为挂起的Model变化添加 ...

  8. 【转】Entity Framework技术系列之7:LINQ to Entities

    前言 LINQ(Language Integrated Query,语言集成查询)是一组用于C#和VB.NET语言的扩展,它允许编写C#或者VB.NET代码,以与查询数据库相同的方式操作内存数据. L ...

  9. 【迁移】—Entity Framework实例详解

    好久没有在博客园更新博客了,如今都换了新公司.前段时间写了关于EF迁移的文档,今天拿出来作为这个系列的一篇吧. 一.Entity Framework 迁移命令(get-help EntityFrame ...

随机推荐

  1. PHP 随机字符

    随机字符生成 function randStr($length=4,$type="1"){ $array = array( '1' => '0123456789', '2' ...

  2. nginx第一天

    nginx 介绍 常见的webserver(排行https://news.netcraft.com/archives/2018/) 老牌:httpd(早期叫Apache),开源,市场份额最高 微软:i ...

  3. html访问全过程

    1)解析Web页面的URL,得到Web服务器的域名 2)通过DNS服务器获得Web服务器的IP地址 3)与Web服务器建立TCP连接 4)与Web服务器建立HTTP连接 5)从Web服务器获得URL指 ...

  4. TOP K和Partition对比

    TOP k算法适用于海量数据,不用一批装入内存.. partition算法需要全部装入内存排序,需要修改原数据..

  5. Python 面向对象Ⅱ

    创建实例对象 实例化类其他编程语言中一http://www.xuanhe.net/般用关键字 new,但是在 Python 中并没有这个关键字,类的实例化类似函数调用方式. 以下使用类的名称 Empl ...

  6. STM32使用HAL库,使用延时卡死的问题。

    之前一直使用标准库的,现在转到HAL库来后,编写了第一个程序就遇到了问题.发现我使用库里的延时程序HAL_Delay()时,会卡死在里面. 根据程序,进入到这个延时程序后 ,发现HAL_GetTick ...

  7. 网页制作怎么加MP4,用HTML代码

    <video src="movie.mp4" controls="controls"> 您的浏览器不支持 video 标签. </video& ...

  8. Redis常用数据类型底层数据结构分析

    Redis是一种键值(key-Value)数据库,相对于关系型数据库,它也被叫作非关系型数据库 Redis中,键的数据类型是字符串,但是为了非富数据存储方式,方便开发者使用,值的数据类型有很多 字符串 ...

  9. “编程小白学python”阅读笔记

    今天在豆瓣搜索“python”关键字,搜到一本知乎周刊,读来觉得不错 编程小白学python ,作者@萧井陌, @Badger 书中提到的很多书,第一次看惊呆了,记录下来,希望每周回看此博文,坚持学习 ...

  10. pycharm中调用函数方法自动补全p,m,c,v,f分别是什么意思

    p:parameter 参数m:method 方法c:class 类v:variable 变量f:function 函数