SAP Enhancement Framework

 image

This New Enhancement frame work provides all new enhancement technologies such as new business add-ins ( BAdIs ) and source code plug-ins.

Kernel BADIs

New BADIs are also Known as Kernel BADIs , These BADIs are object-oriented enhancement options (or plug-ins). These BAdIs are based on interfaces that may be implemented by classes that may then be transported.

You can see Kernel BADIs from the transaction code Se18:

(Note :Technically badis are link with the Enhancement Spot)

 Source code plug-ins

In Source code plug-ins we have many options like Explicit Enhancement and Implicit Enhancement Developers (both SAP and non-SAP) may provide special hooks or portions in their code where enhancements may be applied. These are known as explicit enhancement options, and are mostly created by SAP at specific points of standard programs.

Explicit Enhancement:

In simple word explicit enhancement is provided by SAP, It is predefined location or plugs where you can put your code and enhance the standard. To see the explicit enhancement options in the object it requires to click on the spiral button (shown in yellow color and blue border in below image) which is given in the top tool bar.

 image

Supported Enhancement Technologies

The Enhancement Framework supports a number of different enhancement technologies, including:

• Class Enhancements. Class enhancement lets you add new methods to a class. Moreover, you may also

add optional parameters to existing methods.

• Function Group Enhancements. You may add new parameters to a function module via function group

enhancements.

• Source Code Enhancements. These may be enhancement points in the source code where source

code plug-ins may be attached. These plug-ins contain the code that enhances the given program, and

are treated as an addition to the original code of the program in question. On the other hand, the code

with the enhancement section may be substituted with the source code plug-in code used.

This plug-ins in the source code is called as Enhancement SPOTS.

SPOTS can be categorized in :

  1. Enhancement POINTS
  2. Enhancement SECTION

In simple words When you want to add your extra logic over the existing one use POINTS while when you want to replace the existing one use SECTION. When a SPOT is static it is used for data declaration while Dynamic SPOTS are used for coding.

Enhancement POINTS and SECTION are looks like as mentioned Below:

ENHANCEMENT-POINT <name> SPOTS <spot1> [<spot2>] [STATIC] …

ENHANCEMENT-SECTION <name> SPOTS <spot1> [<spot2>] [STATIC] END-ENHANCEMENT-SECTION.

Implicit Enhancement:

In last if nothing works , like you don’t have any Explicit enhancement or you don’t have any BADIs, Do implicit enhancement .

This is easiest enhancement you can ever find.

Implicit enhancement options are provided internally in the beginning and end of every subroutine , Function module and methods. Where you can put your own code. Check the article

Switch Frame Work:

Each Enhancement package contains a set of business functions. Each “business function” are optionally implemented and activated. Switch frame work is something using which you can deactivate certain Business functionality depending on the client requirement. You can also assign switch to your implemented enhancements so if required you can de activate all of them in single go.

Code Example of Explicit and Implicit Enhancement :

image

CMOD and SMOD:

CMOD and SMOD is another Enhancement technique.

CMOD is the Project Management of SAP Enhancements (i.e., SMOD Enhancements). SMOD contains the actual enhancements and CMOD is the grouping of those SMOD enhancements. 

Enhancements are exits developed by SAP. The exit is implemented as a call to a function module. The code for the function module is written by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module. 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: