✒️ABAP / Los Field Exits Por Oscar Aravena Muller
ABAP Los Field Exits

Introducción: Los Field Exits son un tipo de ampliación que permite agregar validaciones específicas a un campo individual de cualquier pantalla (dynpro) en SAP, ejecutándose después de las validaciones estándar del sistema.
Teoría Esencial: ¿Qué son y cómo funcionan?-
Definición: Son módulos de función especiales que se activan cuando un usuario interactúa con un campo específico en una pantalla.
-
Mecanismo: Al salir de un campo (por ejemplo, al presionar Enter), el sistema ejecuta el código del Field Exit asociado al elemento de datos de ese campo.
-
Flujo de Datos:
-
El valor del campo entra al módulo de función a través del parámetro INPUT.
-
Después de la validación, el valor resultante debe asignarse al parámetro OUTPUT.
-
Si no quieres modificar el valor, la primera línea de tu código debe ser: OUTPUT = INPUT.
-
Ventajas Clave:
-
Reutilización: Un mismo Field Exit se puede usar en múltiples transacciones que utilicen el mismo elemento de datos.
-
No invasivo: No modifica el código estándar del programa.
-
Alcance Controlable: Puede ser global (para todos los programas) o restringirse a programas y dynpros específicos.
Desventajas Importantes:
-
Datos Limitados: Por defecto, solo tiene acceso al valor del campo en cuestión (INPUT). Para acceder a otros campos de la pantalla, se requiere código adicional complejo (usar GET PARAMETER/SET PARAMETER o la función GET_DYNP_VALUE).
-
Depuración Difícil: No se puede hacer debug directo con breakpoints. Se suele depurar insertando mensajes de error o de información para rastrear la ejecución y los valores.
-
Código Genérico: El código debe estar preparado para funcionar en todos los programas donde se use, por lo que a menudo necesita lógica condicional para cada caso.
Objetivo: Crear una validación que impida ingresar el valor "CORRIENTES 123" en un campo de dirección.
-
Encontrar el Elemento de Datos:
-
Navega a la pantalla que contiene el campo a validar.
-
Posiciónate en el campo y pulsa F1, luego haz clic en Información técnica (el icono del documento con la llave inglesa). El Elemento de datos se muestra ahí (ej: ZBUS_DIREccion).
-
-
Acceder a la Herramienta de Gestión:
-
Ve a la transacción CMOD.
-
En la línea de comandos, escribe PRFB y pulsa Enter. Esto abre el administrador de Field Exits.
-
-
Crear el Field Exit:
-
En el menú, ve a Exit campo -> Crear.
-
Ingresa el nombre del Elemento de datos que encontraste en el paso 1.
-
El sistema sugerirá un nombre para el módulo de función (ej: FIELD_EXIT_ZBUS_DIREccion). Haz clic en "Crear".
-
-
Configurar el Módulo de Función:
-
Asígnale un Grupo de funciones (puedes crear uno nuevo, ej: ZFG_FIELD_EXITS).
-
Parámetros: El sistema crea automáticamente:
-
INPUT (Importing, tipo CHA): Contiene el valor original del campo.
-
OUTPUT (Exporting, tipo CHA): Aquí se debe colocar el valor validado/modificado.
-
-
-
Escribir el Código de Validación:
-
En la pestaña Código fuente, escribe tu lógica.
-
Ejemplo:
-
-
Activar y Asignar (CRUCIAL):
-
Activar: Desde la pantalla PRFB, selecciona tu Field Exit y ve a Exit campo -> Activar.
-
Asignar: Por defecto, el exit será global. Para restringirlo a una pantalla específica:
-
Selecciona el exit y haz clic en el botón Asignar prog./dynpro.
-
Ingresa el Programa y el Número de dynpro donde se debe ejecutar.
-
-
-
Recuerda: La línea OUTPUT = INPUT. es obligatoria si no siempre quieres cambiar el valor.
-
Error Común: Olvidar activar el Field Exit en PRFB después de codificarlo. Si no está activo, no se ejecutará.
-
¿Sabías que? Puedes listar todos los Field Exits existentes en el sistema desde la transacción SE37 (Biblioteca de Funciones) buscando por FIELD_EXIT_*.
Conclusión:
Takeaway principal: Los Field Exits son la herramienta ideal para validaciones simples y específicas de un campo, reutilizables en todo el sistema.
Advertencia final: Evítalos para lógicas complejas que necesiten acceso a muchos otros campos o datos internos del programa. Para esos casos, los Customer Exits o BADIs son más adecuados.
Términos Clave
-
Field Exit (Exit de Campo): Módulo de función que se ejecuta al salir de un campo de pantalla, usado para validar o modificar su valor.
-
Elemento de Datos (Data Element): Objeto del Diccionario ABAP que define el tipo y los textos de un campo. Es el "dueño" del Field Exit.
-
Módulo de Función (Function Module): Programa reutilizable en ABAP. Los Field Exits son un tipo especial de módulo de función.
-
CMOD: Transacción para gestionar proyectos de mejora y acceder a herramientas de ampliación (como el comando PRFB para Field Exits).
-
PRFB: Comando ejecutado dentro de CMOD que abre la pantalla de administración y asignación de Field Exits.
-
INPUT/OUTPUT: Los parámetros estándar de un Field Exit. Por INPUT entra el valor del campo, y por OUTPUT sale el valor después de la validación.
 
 
 
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
























