
Las Ampliaciones los User Exits y los Customer Exits.
Definición y propósito de las ampliaciones
- Las ampliaciones permiten realizar mejoras en aplicaciones relacionadas con programas estándar de sistemas, agregando funcionalidades sin modificar el código original.
- Ejemplos de mejoras: agregar campos a módulos y plantillas, nuevas opciones en menús, o modificar tablas de bases de datos.
- Se desarrollan aparte del código estándar para mantener la funcionalidad y el rendimiento original.
- Ventajas: adaptación a necesidades de la empresa y facilidad para transportar los nuevos objetos.
- Desventajas: limitación según la preparación de los programas y el tipo de ampliación disponible.
Tipos de ampliaciones en SAP
- Existen varios tipos, cada uno con sus particularidades: user exit, customer exit, queries, exit de campo, extensiones de formularios, enfiladre y views exit.
User exit
- Son subrutinas vacías presentes en programas estándar ABAP, listas para que el usuario agregue código propio para tareas no previstas por SAP.
- Suelen estar en forma de subrutinas y su principal dificultad es identificar el user exit adecuado para cada necesidad.
- Permiten agregar lógicas sin ingresar directamente a la base de datos de SAP.
- Aunque siguen existiendo, nuevas extensiones suelen priorizar otros métodos.
Customer exit (exit de cliente)
- Permiten ejecutar módulos de funciones propios desde programas estándar, facilitando la personalización sin modificar el código base.
- Los módulos están identificados y registrados en tablas estándar SAP.
- Ventajas: agregan funciones como validaciones o rutinas de control sin tocar el programa original.
- Desventajas: no siempre cubren todas las necesidades del programador y pueden afectar el rendimiento.
- Se gestionan mediante interfaces específicas para administración y procesos de ampliación.
Pasos para implementar y gestionar ampliaciones
- Revisión de transacciones y documentación necesarias para las ampliaciones estándar.
- Uso de tablas para definir y asociar módulos y nodos de funciones a los proyectos de ampliación.
- Creación y activación de proyectos de ampliación usando una infraestructura dedicada, asegurando afectar correctamente las inversiones asociadas.
- Uso de interfaces para seleccionar, insertar y activar componentes de la ampliación en proyectos, controlando su estado.
- Verificación y pruebas del cash flow neto durante el proceso de inversión; recomendaciones para probar y activar ampliaciones en sistemas reales.
Suggested Action Items
- Revisar el video complementario con reglas adicionales para la planificación de ampliaciones.
- Realizar pruebas de ampliaciones y cash flow neto para asegurar márgenes de seguridad adecuados en inversiones.
Uso de user exits SAP
Restricciones y uso de user exits
- Los huecos o user exits están ubicados en lugares determinados del sistema SAP.
- No es posible crear nuevos user exits; se debe trabajar únicamente con los existentes.
- Si ningún user exit se ajusta a los requerimientos, es necesario buscar otras alternativas de ampliación que SAP ofrece.
Implementación de código en exits
- El código ABAP se debe escribir en el include correspondiente (por ejemplo, zxbbau05) dentro del exit.
- Normalmente, el código implementado sirve para validar campos de entrada.
- Si se cumple una condición específica, se muestra un mensaje de error que impide el funcionamiento normal de la transacción.
- Si no se cumple la condición, el procesamiento continúa normalmente.
Cómo encontrar customer exits
Procedimiento para identificar customer exits en transacciones
- Se muestra cómo identificar los customer exits asociados a una transacción de SAP de manera sencilla.
- Se utiliza la transacción ME23N (gestión de materiales, módulo MM) como ejemplo práctico.
- El proceso consiste en navegar por el campo de comandos, ingresar a la transacción deseada y acceder al menú Sistema > Estatus.
- En la ventana de diálogo se identifica el nombre del programa asociado a la transacción y se ingresa para ver detalles.
- Desde el menú de atributos del programa, se identifica el nombre del paquete (por ejemplo, MM).
- Se usa la transacción SE84 para buscar en la carpeta Ampliaciones, dentro de Exits de Clientes, las ampliaciones vinculadas al paquete copiado.
- Al ejecutar la búsqueda se obtiene la lista de customer exits asociados a dicho paquete, que pueden estar ligados a distintas operaciones (visualización, modificación, creación).
- Al hacer doble clic en un exit, se visualizan los módulos de funciones disponibles y, dentro de estos, las posiciones donde se puede agregar código ABAP Z.
- Se explica que, si el exit aún no está creado, el sistema ofrece la opción de crearlo para personalizarlo.
Ejemplo con otra transacción (VA03)
- Se repite el procedimiento con la transacción VA03 (ventas y distribución, módulo SD) para visualizar pedidos de venta.
- Se accede nuevamente al menú Sistema > Estatus para identificar el programa y su paquete (en este caso, VA).
- Se utiliza la transacción SE84 (aunque se mencionó por error SE204) para buscar los exits de clientes asociados al paquete VA.
- El proceso para explorar los módulos de funciones y crear código Z se reitera como en el ejemplo anterior.
Consideraciones finales
- El método presentado es válido para cualquier transacción o paquete dentro de SAP para identificar los customer exits disponibles.
- Se recalca la utilidad y la facilidad del procedimiento para localizar los puntos de ampliación donde se puede agregar funcionalidad personalizada.
- Se concluye animando a continuar explorando y aprendiendo sobre este tipo de personalizaciones en SAP.