![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Los Enhancements
ABAP Los Enhancements
![ABAP Los Enhancements ABAP Los Enhancements](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/211.jpg)
Enhancements
Enhancements are extensions to SAP's standard code. They allow us to add specific functionalities to meet user requirements not covered by the system.
ABAP offers two types of enhancements:
- Implicit Enhancements.
- Explicit Enhancements.
To initiate the implementation of either type, click the "spiral" button within any standard program.
Implicit Enhancements
Implicit enhancements are located at predefined places within standard code. Clear examples of these locations include:
- At the end of all programs after the last statement.
- At the beginning and end of subroutines.
- At the end of function modules.
- At the end of global classes.
You can view all implicit enhancements in standard code through the menu option Edit => Enhancement Operations => Insert Implicit Enhancement Points.
Explicit Enhancements
There are two options for explicit enhancements:
- Enhancement Point: Used at a specific location in the code to add extra functionality. They can be of two types:
- Static: Adding new declarations.
- Dynamic: Adding code with additional functionality.
- Enhancement Section: Used to replace part of the existing code. They can be of two types:
- Static: Modifying declarations.
- Dynamic: Replacing standard functionality.
Considerations:
- When implementing an Enhancement Section, only its implementation is executed, not the original code.
- Enhancement Sections are a new enhancement technique. Therefore, only one active implementation can exist simultaneously.
- However, multiple active implementations of an Enhancement Point are allowed. There's no predetermined execution order for different active implementations.
Implementing explicit enhancements in a standard program does not require entering an object key for the object to be modified.
Implementing Implicit Enhancement: Step by Step
- Once the program to be modified is opened, click the "spiral" button.
- Locate the point in the program where you want to perform the enhancement and select the menu option Edit => Enhancement Operations => Insert Implicit Enhancement Points.
- Hover the mouse over the comment lines indicating the implicit enhancement points and select the menu option Edit => Enhancement Operations => Create.
- In the following dialog window, enter the implementation name and a brief description. Confirm.
- Now, you have the start and end lines of the enhancement to enter your code between them.
- Enter the validation code.
- Activate the enhancement.
You can search for existing enhancements in the system using transaction SE84:
- Open the "Enhancements" folder.
- Double-click on "Enhancement Implementations".
- In the selection screen, you can filter existing enhancements by implementation name, brief description, technology, package, and other concepts.
E.g
Program: MM07MFL0_LAGERORTDATEN
Section:
ENHANCEMENT-SECTION mm07mfl0_lagerortdaten_08 SPOTS es_sapmm07m.
IF NOT t156-kzbwa EQ kzbwa-07.
PERFORM no_input(sapfm07m) USING 'MSEG' 'LGORT'.
ENDIF.
END-ENHANCEMENT-SECTION.
Point:
ENHANCEMENT-POINT lagerortdaten_01 SPOTS es_sapmm07m.
*$*$-Start: LAGERORTDATEN_01--------------------------------------------------------------------$*$*
ENHANCEMENT 1 OIB_SILO_SAPMM07M. "active version
PERFORM GET_OIB_TIMESTAMP.
ENDENHANCEMENT.
*$*$-End: LAGERORTDATEN_01--------------------------------------------------------------------$*$*
 
 
 
Sobre el autor
Publicación académica de Jaime Eduardo Gomez Arango, en su ámbito de estudios para la Carrera Consultor ABAP.
Jaime Eduardo Gomez Arango
Profesión: Ingeniero de Sistemas y Computación - España - Legajo: SW34C
✒️Autor de: 149 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP Fiori
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
Presentación:
Ingeniero de sistemas y computación con 8 años de experiencia el desarrollo frontend & backend (react/node) y en cloud (aws), actualmente desarrollando habilidades en sap btp, ui5, abap y fiori.
Certificación Académica de Jaime Gomez