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. 02-spring框架—— IoC 控制反转

    控制反转(IoC,Inversion of Control),是一个概念,是一种思想.指将传统上由程序代码直接操控的对象调用权交给容器,通过容器来实现对象的装配和管理. 控制反转就是对对象控制权的转移 ...

  2. Thumbnailator 缩略图

    Thumbnailator 是一个为Java界面更流畅的缩略图生成库.从API提供现有的图像文件和图像对象的缩略图中简化了缩略过程,两三行代码就能够从现有图片生成缩略图,且允许微调缩略图生成,同时保持 ...

  3. mongdb的优势和不足

    l  面向文档的数据库. l  一个介于关系型数据库和非关系型数据库之间的产品,是非关系系数据库中功能最丰富,最像关系型数据库的. l  特征是模式自由,schema-free.无需定义表结构. l  ...

  4. 2017 CVTE Windows开发二面 3.8 (offer)

    中午1点左右,广州的号码打过来了,是CVTE的hr,然后问我下午4点半有没有时间,帮我约视频的二面. 当然有时间了啦,然后hr给我邮箱发了个链接,让我4点半登陆进去. 因为1面没问任何网络和操作系统的 ...

  5. 【JZOJ5180】【NOI2017模拟6.29】呵呵

    题目 分析 套上prufer序列, 对于一颗n个节点度数分别为\(d_1.d_2...d_n\)方案数为\(\dfrac{(n-2)!}{(d_1-1)!(d_2-1)!......(d_n-1)!} ...

  6. 【leetcode】1274. Number of Ships in a Rectangle

    题目如下: (This problem is an interactive problem.) On the sea represented by a cartesian plane, each sh ...

  7. k8s测试容器test-for-k8s.yml

    生成容器 vim test-for-k8s.yml apiVersion: v1 kind: Pod metadata: name: busybox-curl labels: ccb: busybox ...

  8. JavaWeb_Ajax通过JQuery和原生js异步传输数据

    菜鸟教程 传送门 AJAX 优点:在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容 XMLHttpRequest 对象 传送门 (一) [JQuery]定时发送ajax请求 (二) ...

  9. R_Studio(决策树算法)鸢尾花卉数据集Iris是一类多重变量分析的数据集【精】

    鸢尾花卉数据集Iris是一类多重变量分析的数据集 通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类 针对 ...

  10. Unity3D_(游戏)2D简单游戏制作过程:捕获高空掉落保龄球

      游戏介绍:通过鼠标的左右移动,可以控制帽子的移动,当帽子接到下落的保龄球时,会出现火花效果.没有接到保龄球时,保龄球落到草地上,过10S后会自动消失. 实现效果: 素材+Unity3D源代码:传送 ...