✒️ABAP Los Enhancements
ABAP Los Enhancements
1 | ¿ Qué son los Enhancements ?
Son ampliaciones al código estándar de SAP, mediante las cuales podremos agregar determinadas funcionalidades,
para satisfacer los requerimientos de los usuarios que no cubre el sistema.
Existen dos tipos de Enhancements:
Implícitos
Explícitos
Imagen 1.1 - Esquema general de los enhancements en ABAP
Para implementar cualquiera de los dos tipos de Enhancements debemos presionar el botón del espiral del menú @ dentro de un programa SAP estándar.
Imagen 1.2 - El botón del espiral nos permitirá implementar los enhancements
A continuación veremos en detalle cada uno de ellos.
2 | Enhancements Implícitos
Son aquellos que localizamos en el código estándar en ciertos lugares predefinidos por SAP. Algunos de estos lugares son:
Al final de todos los programas después de la última sentencia.
Al comienzo y al final de todas las subrutinas.
Al final de los módulos de función.
Al final de clases locales.
Para ver todos los Enhancements implícitos en el código utilizamos la opción del
menú Tratar/ Operaciones ampliación/ Insertar puntos de ampliación implícitos.
Imagen 2.1 - Desplegamos del menú la opción para insertar puntos de ampliación implícitos
3 | Enhancements Explícitos
Existen dos opciones de Enhancement Explícitos. Ellos son:
ENHANCEMENT-POINT:
son utilizados en un lugar determinado del código y permiten agregar código extra en un programa fuente.
Pueden ser estáticos (agregando nuevas declaraciones) o dinámicos (agregando código con alguna funcionalidad extra).
ENHANCEMENT-SECTION:
son utilizados para reemplazar parte del código existente.
Pueden ser estáticos (modificando declaraciones) o dinámicos (reemplazando la funcionalidad estándar).
Imagen 3.1 - El enhancement-point
Cuando se implementa un Enhancement-Section solo la implementación se ejecutará y no el código original existente.
Esta es una técnica nueva, que no existía anteriormente.
A causa de esto, solo puede existir una implementación activa de Enhancement-Section.
Por otro lado, pueden existir múltiples implementaciones activas de Enhancement-Point,
en cuyo caso se ejecutarán sin ninguna garantía de seguir un orden de ejecución determinado.
Para implementar los enhancements explícitos en un programa estándar, no necesitaremos ingresar la clave del objeto que deseamos modificar.
4 | Paso a paso en la implementación de un Enhancement Implícito
Vamos a realizar un ejemplo sencillo de como realizar la implementación de un Enhancement implícito.
Para ello, vamos a tomar el programa estándar de SAP RFBVBIC_0 que lee un archivo, compara y actualiza los datos bancarios proporcionados.
Programa RFBVBIC_0
El programa estándar RFBVBIC_0 es utilizado para la transferencia de un directorio del banco al sistema SAP, el cual se almacena en un archivo.
El objetivo de la modificación al programa estándar será agregar una validación en la subrutina READ_FILE.
Lo primero que haremos es ingresar al include RFBVBIC05 y presionamos el botón del espiral del menú.
Imagen 4.1 - Presionamos el botón del espiral en el programa RFBVBIC_0
Luego posicionamos el puntero del mouse dentro de la subrutina READ_FILE y vamos a la opción del
menú Tratar/ Operaciones ampliación/ Insertar puntos de ampliación implícitos.
Imagen 4.2 - Desplegamos del menú la opción para insertar puntos de ampliación implícitos
Nos posicionamos sobre la línea de comentarios que indican los puntos implícitos de ampliación y seleccionamos la opción del
menú Tratar/Operaciones ampliación/Crear.
Imagen 4.3 - Creamos una nueva implementación de enhancement implícito
Ahora veremos una ventana de diálogo que completaremos con el nombre de la implementación,
una descripción y presionamos el botón para continuar.
Imagen 4.4 - Introducimos el nombre del enhancement y un texto breve
Luego veremos dentro del código que se han insertado las siguientes líneas con el
nombre de la implementación para que introduzcamos nuestro código dentro.
Imagen 4.5 - Se generan líneas dentro de las cuales vamos a introducir el código ABAP
A continuación introducimos el código ABAP de la validación.
La idea es que si el usuario ingresa en el parámetro de la pantalla de selección del programa el texto que indicamos en la imagen siguiente,
entonces se emita un mensaje de error en la pantalla que detenga la ejecución del programa.
Imagen 4.6 - Introducimos el código que emite un mensaje en pantalla en caso de cumplirse la validación
Por último, activamos el enhancement presionando el botón
Imagen 4.7 - Activamos el enhancement
Ahora vamos a probar la validación, para ello colocamos un breakpoint dentro del código del enhancement.
Imagen 4.8 - Colocamos un breakpoint en el enhancement
Ejecutamos el reporte RFBVBIC_0, dentro de la pantalla de selección completamos el campo correspondiente al path del archivo
y presionamos el botón ejecutar.
Imagen 4.9 - Ejecutamos el reporte RFBVBIC_0
La ejecución se detiene en el breakpoint que colocamos dentro del enhancement.
Con ello verificamos que el código dentro del enhancement efectivamente se ejecutará.
Por último, presionamos F8 para continuar con la ejecución.
Imagen 4.10 - El break se detiene en la validación
Y finalmente verificamos en la pantalla la emisión del mensaje de error.
Imagen 4.11 - Visualizamos en pantalla el mensaje de error
 
 
 
Sobre el autor
Publicación académica de Alex Francisco Lemos Collazos, en su ámbito de estudios para la Carrera Consultor ABAP.
Alex Francisco Lemos Collazos
Profesión: Ingeniero en Sistemas - Colombia - Legajo: QS36A
✒️Autor de: 174 Publicaciones Académicas
🎓Cursando Actualmente: Master S/4HANA Material Management
🎓Egresado de los módulos:
- Máster Material Management en SAP S/4HANA LOGISTIC
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
- Carrera Consultor en SAP SD Nivel Inicial