✒️ABAP Los Field Exits
ABAP Los Field Exits
- FIELD EXITS
También llamados ampliaciones de campo, son validaciones de los elementos de datos asociados a campos de pantallas o dynpros de SAP. Son llamados y ejecutados posteriormente a las validaciones estándar.
Al momento de su ejecución sólo se dispone del valor del campo que se importa en el parámetro INPUT y que puede ser modificado a través del parámetro OUTPUT. Para el uso de otros campos de la pantalla, se deberá proceder al uso de funciones que permiten capturar dichos valores.
Ej/ Si queremos insertar un valor en un campo determinado de una dynpro entonces pondríamos una validación en ese campo a nivel Field Exit par que sólo permita insertar determinados valores.
Para visualizar todos los Field Exits del sistema en la SE37 (Biblioteca de funciones) y buscamos con FIELD_EXIT_*.
Ventajas: Facilita validación de campos sin modificar el código original. Puede usarse el mismo código en varias transacciones. Se puede aplicar globalmente para todos o determinados programas y dynpros.
Desventajas: Toma de la dynpro un sólo valor (el campo actual al que hace referencia), por lo que no se pueden usar tablas internas especificas del programa estándar en el código del Field Exit. El mismo código del Field Exit tiene que servir para todos los programas que se quieran usar, por lo que en el código se especifica la acción que tomará según el programa. No es posible hacer debug, hay que usar mensajes de error (no se permiten los de información) para ir viendo valores, etc.
Para poder activar los Field exit debemos tener parametrizado en el servidor, parámetro ABAP_FIELDEXIT (esto se hace desde la RZ10)
- PASOS PARA REALIZAR UN FIELD EXIT
Desde la CMOD, y en en campo donde insertamos la transacción donde queremos ir escribimos PRFB (sin /N). En la siguiente pantalla veremos todos los Field Exit del sistema.
Para crear un Field Exit, con la situación anterior, menú Exit Campo -> Crear, indicamos el nombre del elemento de datos para el que queremos realizar el Field Exit (debe ser el mismo que tiene el campo de la dynpro con el que se quiere relacionar, se puede obtener con F1 y el botón hoz y martillo, sobre dicho campo en la dynpro).
A continuación el sistema nos propone la creación del módulo de funciones en la SE37, y pulsamos "Crear", Posteriormente asignamos un grupo de funciones (recomendable crear uno exclusivo para el Field Exit).
Este módulo de funciones tiene un parámetro Import y uno Export. El Importe será INPUT y contendrá el valor del campo al cual se ha asignado el Field Exit. El Export será OUTPUT y será el valor de dicho campo al salir del Field Exit.
En la solapa "Cód. fte" añadimos el código correspondiente a la validación que deseemos agregar.
Si en la función no se quiere modificar el campo donde se coloca el Field Exit, al principio del código igualremos los parámetros OUTPUT = INPUT.
Dentro del módulo de funciones del Field Exit sólo podemos trabajar con estos parámetros. Para obtener valores de otros campos de la dynpro podemos usar otros Field Exits en los que grabaremos en memoria el valor del campo (SET PARAMETER), de modo que en el Field Exit que estamos tratando podamos recuperar ese valor de la memoria (GET PARAMETER). Otra opción es usar la función GET_DYNP_VALUE. Otra opción guardando el contenido de otros campos en globales al grupo de función. Otra opción usar la función DYNP_VALUES_READ.
Una vez terminada la codificación asignaremos un programa y una dynpro al Field Exit (También se puede hacer global a todos los programas o a varios programas). Mientras no se asigne el Field Exit, este afectará a todas las pantallas que contengan un campo con el elemento de datos del Field Exit.
Asignar el programa y dynpro a un Field Exit: Desde la CMOD, en campo donde insertamos la transacción donde queremos ir escribimos PRFB (sin /N), seleccionamos el Field Exit de la lista y pulsamos "Asignar prog./dynpro", en la siguiente pantalla indicamos el nombre del programa y el número de dynpro. Y por último activamos el Field Exits desde la CMOD, menú Exit campo -> Activar.
 
 
 
Sobre el autor
Publicación académica de Ignacio Mart?n Bolumar, en su ámbito de estudios para la Carrera Consultor ABAP.
Ignacio Mart?n Bolumar
Profesión: Ingeniero Inform?tico - Espa?a - Legajo: ZL84Z
✒️Autor de: 94 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Ignacio Mart?n