✒️ABAP / Los Enhancements Por Oscar Aravena Muller
ABAP Los Enhancements

Introducción: Los Enhancements son la técnica de ampliación más directa, permitiendo insertar o reemplazar código ABAP personalizado dentro de los programas estándar de SAP en puntos específicos y autorizados, sin modificar oficialmente el código original.
Teoría Esencial: Los Dos Tipos de Enhancements
| Implícitos | Insertan nuevo código Z en puntos predefinidos (final de programas, subrutinas, etc.). | Múltiples activas. |
| Explícitos | Reemplazan bloques de código estándar por código Z personalizado. | Solo UNA activa. |
-
ENHANCEMENT-POINT (Punto de Mejora): Un "hueco" para agregar nuevo código. Puede tener múltiples implementaciones.
-
ENHANCEMENT-SECTION (Sección de Mejora): Una "sección" de código estándar que puede ser completamente reemplazada. Solo permite una implementación activa.
Guía Paso a Paso: Cómo Implementar un Enhancement
El proceso es similar para ambos tipos y se realiza desde el Editor ABAP (SE38/SE80):
-
Abrir el Programa Estándar:
-
Navega al programa o include estándar que deseas ampliar (ej: RFBVBIC05).
-
-
Activar el Modo de Mejora:
-
Haz clic en el icono del espiral en la barra de herramientas. Esto revela todos los puntos de mejora disponibles.
-
-
Encontrar el Punto Correcto:
-
Para Implícitos: Ve al menú Tratar -> Operaciones ampliación -> Insertar puntos de ampliación implícitos. Los puntos aparecerán al final de programas, subrutinas, etc.
-
Para Explícitos: Los puntos (ENHANCEMENT-POINT) y secciones (ENHANCEMENT-SECTION) estarán visibles en el código.
-
-
Crear la Implementación:
-
Posiciónate en el punto deseado.
-
Ve a Tratar -> Operaciones ampliación -> Crear.
-
Asigna un nombre a tu implementación (debe comenzar con Z) y una descripción.
-
-
Codificar y Activar:
-
Escribe tu código ABAP personalizado en el espacio que se genera.
-
¡Crucial! Activa tu implementación con el icono de activación
-
¿Sabías que? No necesitas una clave de acceso para crear un Enhancement porque no estás modificando el código original de SAP, estás usando un mecanismo oficial proporcionado por ellos.
Ejemplo Práctico: Validación con Enhancement Implícito
Objetivo: Agregar una validación en la subrutina READ_FILE del programa RFBVBIC_0 para que muestre un error si el usuario ingresa un path específico.
-
Se localiza la subrutina y se insertan los puntos implícitos.
-
Se crea una implementación llamada Z_VALIDACION_PATH.
-
En el código, se añade:
- Se activa. Ahora, cada vez que se ejecute la subrutina, se validará el parámetro.
Consejos Rápidos y Errores Comunes
-
Recuerda: Los Enhancements Implícitos son ideales para agregar funcionalidad. Los Explícitos (SECTION) son para reemplazar lógica estándar que no sirve para tu caso.
-
Error Común: Implementar un ENHANCEMENT-SECTION sin copiar y entender la lógica estándar que se está reemplazando. Puedes introducir errores graves.
-
Tip de Búsqueda: Usa la transacción SE80 (Explorador de Objetos). Puedes buscar ENHANCEMENT-POINT o ENHANCEMENT-SECTION en el código fuente de programas estándares para encontrar puntos de ampliación disponibles.
Conclusión:
Takeaway principal: Los Enhancements son la navaja suiza del desarrollador ABAP. Ofrecen la máxima flexibilidad para cambiar el comportamiento estándar de forma segura y controlada.
Advertencia final: Con gran poder viene gran responsabilidad. Un Enhancement mal hecho puede romper la funcionalidad estándar. Siempre prueba exhaustivamente en un sistema de desarrollo antes de transportar.
Términos Clave
-
Enhancement (Ampliación/Mejora): Punto dentro del código estándar de SAP donde se puede inyectar código personalizado.
-
Enhancement Implícito: Punto de mejora predefinido por SAP al final de programas, subrutinas, módulos de función, etc.
-
Enhancement Explícito: Punto de mejora marcado explícitamente por SAP en el código con las palabras clave ENHANCEMENT-POINT o ENHANCEMENT-SECTION.
-
ENHANCEMENT-POINT: Palabra clave que define un punto donde se puede agregar nuevo código.
-
ENHANCEMENT-SECTION: Palabra clave que define una sección de código que puede ser reemplazada por completo.
-
Implementación (Implementation): El contenedor de código ABAP personalizado que se adjunta a un punto de mejora.
-
Modo de Mejora (Enhancement Mode): El modo especial del Editor ABAP (activado con el icono del espiral) que permite ver y trabajar con los puntos de mejora.
 
 
 
Sobre el autor
Publicación académica de Oscar Aravena Muller, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.
Oscar Aravena Muller
Profesión: Futuro Analista Programador - Chile - Legajo: ZT54U
✒️Autor de: 90 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor SAP BTP Fiori
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: FullTime
























