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.

How to create ?

1) Check in debugiing if the correct ehnahcement point is being triggered, if so,
2) Go in the ehnancement mode: (spiral button on the application tool bar of SE38)
3) In the program->Menu->Edit->Enhancement Operations->Show Implicit enhancement
The system shows all the implicit enhancements where you can add your code, (Yellow color lines)
Just right click on the lines->Enhancements->Create.
Add you code:
4) Check for syntax before activation the code


Serkan AKKAVAK
Computer Engineer
serkurumsal@yandex.com