An Introduction to Enhancements and Modifications in SAP for Beginners

作者:郑德鼎 约 4 分钟阅读 更新日期:2024-02-22 2 年前更新 标签:ABAP, SD, 开发, 销售分销

Dashboard

Getting Started With Blogs

Skip to end of banner

Go to start of banner

An Introduction to Enhancements and Modifications in SAP for Beginners

Skip to end of metadata

Created by Unknown User (j01tzp1) on Jul 25, 2011

Go to start of metadata

Introduction

Enhancements and modifications are inevitable in any implementation project. It means to enhance or add additional features to the standard SAP applications as per the client's requirement.

Normally, when we think of enhancements and modifications, the following aspects come in to picture.

-  Customizing

-  Modifications

-  Enhancements

Customizing

Customizing includes the Development of Application Program from Scratch       especially when the Standard SAP Solutions do not meet the Requirements of     the Customer or it could also be defining Customer-Specific Configuration Items.   They are Customer Specific.

Example: Z-Reports, Z-Function Modules etc and any other Customizing done          through Implementation Guide (SPRO).

Modifications

Modifications include making Changes to the Standard SAP Applications to suit      Business Needs of the Customer.

Example: Changing SAPMV45A using an Access Key or VOFM Routines.

However, this method is not recommended most of the times unless we are out of options to meet the Business Requirement.

Enhancements

The Enhancement Concept allows us to add our own Functionality to SAP’s Standard Business Applications with having to Modify the core Applications.

SAP Creates Customer Exits for Specific Programs, Screens and Menus.

These Exits act as Hooks. These exits do not contain any Functionality.

Not all of the Standard SAP Programs will have Exits.

Why Enhancements?

They do not affect Standard SAP source code.

The Customer Objects are Linked to Standard Applications but exist separately     from SAP’s Standard Software Package.

They Do not Impact the Functionality during Updates.

Customer Objects’ Name ensures that they are not affected by any changes or      the new Functionalities to the Standard Software Package when it comes to          Upgrade to a Higher Version.

User Exits Vs Customer Exits

• User Exits – Implemented as Subroutines

• Customer-Exits – Implemented as Function Modules

Types of Enhancements

There are Several Types of Customer Exits. Each of these Exits act as Hooks where you can add your own Functionality in addition.

Menu Exits

Screen Exits

Function Module Exits

Field Exits

Menu Exits

These Exits are Helpful in adding Items to the Pull Down Menus in Standard SAP Applications.

These are Created by SAP by defining special Menu Items in the Menu Painter.

These Special Entries have Function Codes (SY-UCOMM) that begin with + (a Plus Sign).

Screen Exits

These Exits are Helpful in adding Customer-Specific Fields to the Screens in the Standard SAP Applications.

SAP Creates Screen Exits by Placing Special Sub Screen Areas on a Standard Screen and Calling a Custom Sub screen from the Standard screen’s Flow Logic.

Function Module Exits

These Exits add up additional Functions to Standard SAP Applications.

These are associated with both Menu & Screen Exits.

Function Modules are implemented as Calls to Customer Functions.

These Calls will have the Syntax: Call Customer-Function ‘001’.

Field Exits - Refer to SAP Note 29377

These Exits help us add our own Programming Logic for any Data Element in DDIC (Data Dictionary).

We can Implement / Activate Field Exits using the Standard SAP Program RSMODPRF and after Transporting this Field Exit to the Target System, we must run the Program RSMODFDG to activate the same in the Target System and Client.

From 4.6C onwards, SAP no longer supports Field Exits. Alternatively, lot of Flexibility has been given by SAP by means of BADIs, User Exits.

From Release 6.10 and after, the Profile Parameter abap/fieldexit must be Changed from 0 to 1. Transaction Code RZ11 and System must be Restarted for these changes to come into affect.

Limitations

User Exits

User Exits Cannot be Re-usable.

Will be overwritten during Upgrade.

Read / Change almost every Data Object which is defined Globally in the Program.

Very Easy to manipulate the Data which could result in Erroneous outcome.

Customer Exits

Concurrent Development is not possible.

Very Difficult to keep track if the Project is not Created.

The New Enhancement Framework

Components of Enhancement Framework

Enhancement Points

Enhancement Sections

Implicit & Explicit Enhancements

BADIs

Types of Enhancements

Function Group Enhancements

Class / Interface Enhancements

Source Code Plug Ins

Business Add-Ins

Business Add-Ins are similar to User Exits but they are implemented using ABAP Objects.

Based on Classes & Interfaces.

Classic BADIs & New BADIs

Classic BADIs are the ones which were Implemented Prior to Netweaver 7.0.

New BADIs are introduced along with Enhancement Framework and Switch Framework.

Business Add-Ins - How to Find out?

Class CL_EXIT_HANDLER

A Method Call CL_EXITHANDLER=>GET_INSTANCE returns the BADI Implementations which have been Called.

Performance Trace (ST05)

This Analyzing Technique is based on the Fact that all the BADIs are stored in SAP Tables. Turn the Table Buffer Trace On in ST05.

The Tables in which the BADIs are Stored are

SXS_INTER

SXC_EXIT

SXC_CLASS

SXC_ATTR

The above mentioned Tables are always accessed by two Views.

V_EXT_IMP

V_EXT_ACT

Finally, you can refer to my earlier blog which explains one of the ways / solutions in which I've used the concept of Enhancement Framework.

Hope this would be helpful.

enhancements

and

modifications

1 Comment

Former Member

nice explaination the concepts in breif.

but it musch better ot would be to get ideas if expalined in detaill. most likely the BADI concept.

郑德鼎

关于作者:郑德鼎

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「An Introduction to Enhancements and Modifications in SAP for Beginners.docx」整理生成,仅用于内部技术分享与学习交流。