
Los Field Exits, también conocidos como "Ampliaciones de campo", son validaciones de los elementos de datos asociados a campos específicos de las pantallas o dynpros de SAP. Estos se implementan mediante módulos de funciones que el sistema ejecuta automáticamente después de que se han superado las validaciones estándar del sistema. Debido a que son módulos de funciones, se ejecutan en sus propias instancias de memoria y, al momento de dispararse, solo reciben el valor del campo a través del parámetro de entrada INPUT. Cualquier cambio o validación que el programador realice sobre ese dato debe devolverse mediante el parámetro de salida OUTPUT.
El proceso técnico para su implementación y gestión es el siguiente:
• Acceso y Creación: Para comenzar la implementación, debemos dirigirnos a la transacción CMOD y ejecutar el comando PRFB en el campo de transacciones. Dentro de esta utilidad, se selecciona la ruta Exit campo -> Crear e introducimos el nombre del elemento de datos que deseamos ampliar.
• Desarrollo en el Diccionario: El sistema propondrá la creación de un módulo de funciones en la transacción SE37, siguiendo la nomenclatura estándar FIELD_EXIT_<elemento_datos>. Es una recomendación de arquitectura crear un grupo de funciones exclusivo para gestionar estos Field Exits.
• Lógica de Programación: Si en la lógica no se desea alterar el valor del campo, la primera instrucción del código debe ser OUTPUT = INPUT para asegurar que el valor original retorne al sistema. Si el requerimiento exige validar el valor frente a otros campos de la pantalla, el desarrollador debe utilizar la función GET_DYNP_VALUE o recurrir al uso de memoria con SET/GET PARAMETER.
• Asignación y Activación: Una vez terminada la codificación, el Field Exit puede aplicarse de forma global a todo el sistema o asignarse específicamente a ciertos programas y dynpros. Finalmente, la ampliación solo tendrá efecto una vez que sea activada formalmente desde el menú de administración en la PRFB.
Consideraciones de un Consultor Senior sobre las ventajas y limitaciones:
• Ventajas: Permiten agregar validaciones robustas sin modificar el código fuente original de SAP y el mismo código puede ser reutilizado para múltiples transacciones.
• Desventajas: Tienen la limitación técnica de que solo importan el valor del campo referenciado, lo que impide el uso directo de tablas internas del programa estándar. Además, no es posible realizar un Debug directo mediante Breakpoints tradicionales; para verificar el flujo de los datos, el consultor debe recurrir al uso de mensajes de error (tipo E) que permitan visualizar los valores en pantalla durante las pruebas.