✒️ABAP / Los Field Exits Por Juan Romero
ABAP Los Field Exits

Los Field Exits
Definición y ventajas de los Field exits
- Los field exits (ampliaciones de campo) son validaciones personalizadas de elementos de datos en campos de pantallas o dynpros en SAP.
- Funcionan como módulos de funciones llamados después de las validaciones estándar del sistema.
- Se ejecutan en instancias de memoria propias y operan únicamente sobre el valor del campo importado (input) y modificado (output).
- Para acceder a otros campos de pantalla, se deben emplear funciones especiales para capturar dichos valores.
- Permiten validar o restringir valores de campos específicos sin modificar el código estándar.
- El mismo código puede ser reutilizado en varias transacciones y aplicarse de forma global o específica.
Limitaciones y consideraciones de uso
- Solo pueden acceder directamente al valor de un campo; no se pueden usar tablas internas específicas del programa estándar.
- El código debe estar preparado para ejecutarse en diferentes programas, adaptando su lógica según el contexto.
- No es posible hacer debug directo con breakpoints; se utilizan mensajes de error para rastrear el flujo.
Pasos para implementar un Field exit
- Ingresar a la transacción CMOD y ejecutar PRFB para acceder a la gestión de field exits.
- Seleccionar la opción de crear un Exit de Campo y especificar el elemento de datos relacionado.
- El elemento de datos debe coincidir con el campo de la dynpro donde se usará el field exit.
- El sistema sugiere crear un módulo de funciones en SE37, asignando un grupo de funciones exclusivo y un texto breve.
- El módulo tendrá parámetros input (entrada) y output (salida); output debe igualarse a input si no se modifica el valor.
- Ejemplo de validación: emitir mensaje de error si el usuario introduce un valor específico.
- Para obtener valores de otros campos, se pueden usar comandos set/get parameter o la función GetDimValue.
- Asignar el field exit a un programa y dynpro específicos para limitar su alcance; si no se hace, el exit será global.
Activación y pruebas del Field exit
- Se pueden asignar varios programas y dynpros al mismo field exit.
- Activar el field exit desde el menú correspondiente.
- Probar la funcionalidad accediendo a la transacción relevante (ejemplo: SM30) e introduciendo valores para validar el comportamiento programado.
Parámetros y uso de File exits
Restricciones en los File exits
- No se pueden usar instrucciones como break point, call screen, call dialog, call transaction, submit, commit work, rollback work y mensajes informativos dentro de un file exit.
Activación y configuración
- Para activar los file exits, el parámetro above file exit debe estar configurado en "yes" en el servidor.
- Esta configuración se realiza mediante la transacción estándar RZ10 en el sistema SAP.
- El parámetro de instancia above file exit controla la activación o desactivación de los file exits a nivel de sistema.
Impacto en el rendimiento
- Si el parámetro de activación está activo, el sistema consulta las tablas estándar tde_dir y tdedirs para determinar si es necesario generar un exit de campo para cada campo.
- No se percibe una ralentización en el sistema desde el punto de vista del usuario.
- La generación de la "Dimpro" es muy rápida.
Acceso al contenido de campos y cobertura
- Para conocer el contenido de otros campos en pantalla al usar file exits, se pueden guardar estos valores en variables globales del grupo de función o utilizar la función dim_value_read para obtener los valores de otros campos.
- Si varios campos comparten el mismo elemento de datos, el file exit se aplicará a todos ellos.
Implementación de un Field Exit
Repaso de la lección y contexto
- Se realiza un repaso sobre la implementación de fill exit (exit de campo) en SAP, específicamente usando la transacción SM30 para una tabla de usuarios (ZTABLA_usuarios).
- El ejemplo se centra en aplicar el exit al campo "Fecha de nacimiento", replicando el procedimiento ya visto previamente para el campo "Dirección".
Pasos para crear el fill exit
- Se identifica el elemento de datos del campo "Fecha de nacimiento" mediante la ayuda F1 y la opción de información técnica (elemento de datos: Z_F nacimiento).
- Se accede a la transacción CMOD y se utiliza el comando PRFB para gestionar los exits de campo.
- Se crea el exit para el elemento de datos específico mediante el menú correspondiente, y se especifica el grupo de funciones y un texto breve descriptivo.
- Ante la inexistencia previa del grupo de funciones, se procede a crearlo manualmente, asignando texto y guardándolo como objeto local.
- Se crea el módulo de funciones dentro del grupo y se verifican los atributos de import (input) y export (output).
Codificación y configuración del exit
- Se programa la validación: si la fecha ingresada es menor o igual a 01/01/1900, se emite un mensaje de error empleando una clase de mensajes existente.
- Se activa tanto el módulo de funciones como el programa y grupo de funciones asociados.
- Se asigna el fill exit al programa y dinpro específicos, asegurando su ejecución en el contexto adecuado.
- Se activa el exit y se verifica su correcto estado en el sistema.
Prueba y resultado
- Se realiza una prueba ingresando un registro en la tabla, asignando una fecha de nacimiento inválida (anterior a 1900).
- El sistema muestra correctamente el mensaje de error previsto: "Debe introducir una fecha mayor".
- El procedimiento completo sirve como repaso paso a paso para implementar y validar un fill exit en SAP.
Sugerencias.
- Revisar los campos de las dynpros donde se requieran validaciones personalizadas mediante field exits.
- Documentar los field exits creados y los programas/dynpros asociados.
- Evaluar la necesidad de crear grupos de funciones exclusivos para facilitar el mantenimiento.
- Documentar el procedimiento realizado para futuras referencias o formación interna.
- Probar el exit con diferentes valores para garantizar la robustez de la validación.
- Revisar si existen otros campos en la tabla que requieran validaciones similares y considerar implementar exits adicionales si es necesario.
 
 
 
Sobre el autor
Publicación académica de Juan Ignacio Romero, en su ámbito de estudios para la Carrera Consultor ABAP Nivel Avanzado.
Juan Ignacio Romero
Profesión: Ing. Sistemas Computacionales - Mexico - Legajo: LJ26F
✒️Autor de: 138 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Juan Romero






Disponibilidad Laboral: FullTime


















