✒️ABAP Los Field Exits
ABAP Los Field Exits
Lección 4: Field Exits.
1.-Qué son los 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 módulos de funciones que son llamados y ejecutados posteriormente de las validaciones del sistema estándar.
Los mismos por ser módulos de funciones, se ejecutan en instancias de memoria propias y al momento de su ejecución, solo 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 pantalla, se debe proceder al uso de funciones que permiten capturar dichos valores.
Ejemplo: si queremos insertar un valor en un campo determinado de una dynpro, pondríamos una validación a ese campo para que solo permita los valores que indicamos.
NOTA: Si ingresamos a la TX SE37 (Biblioteca de Funciones), colocamos FIELD_EXIT_* y luego pulsamos F4, visualizaremos todos los Field Exit del sistema.
Principales ventajas:
· Facilita la validación de campos en un programa estándar si modificar el código original.
· Puede utilizarse el mismo código para varias TX.
· Se puede aplicar globalmente, para todos los programas o para determinados programas y dynpros que se le asignen.
Desventajas:
· Toma de la dynpro (Import) un solo valor, que es el del campo al cual hace referencia, por lo que no se pueden utilizar tablas internas especificas del programa estándar en el código de Field Exit.
· El mismo código del Field Exit tiene que servir para todos los programas que se quieran utilizar, por lo que se tiene que especificar en el código que acción tomará de acuerdo al programa en el cual se está ejecutando.
· No es posible hacer un Debug del código de Field Exit de forma directa a través de un BreakPoint.
NOTA: No podemos usar ninguna de las siguientes instrucciones: Breakpoint, Call Screen, Call dialog, Call transaction, Submit, Commit work, Rollback work, Message ID correspondientes a los mensajes de información.
Para poder activar los Field Exit, debemos tener el parámetro Abap Field Exit = yes seteado en el servidor, que se configura mediante la TX estándar RZ10.
2.-Pasos para realizar un Field Exit.
· TX CMOD (Gestión de proyectos de ampliaciones de SAP)
· En el campo de Transacciones ponemos el comando PRFB (Sin /n)
· En la pantalla siguiente vemos todos los Field Exits del sistema así como si están activados a nivel global o a algún programa o dynpro.
· Para crear un Field Exit, Menú/Exit campo/Crear/.
· En siguiente ventana introducimos el nombre del elemento de datos al cual se quiere realizar el Field Exit. Este elemento de datos debe ser el mismo que tiene el campo de la dynpro al cual se quiere relacionar. Este dato lo obtenemos presionando F1 sobre el campo de la dynpro y luego Información técnica.
· Introducimos el elemento de datos y ENTER.
· El sistema nos propone a creación del módulo de funciones en la SE37, pulsamos Crear.
· El sistema nos solicita la asignación de un grupo de funciones. Es recomendable crear uno exclusivamente para el Fiel Exit.
· Este módulo de función tiene la particularidad de tener un parámetro de Impor o Entrada y uno de Export o Salida. El parámetro de entrada es INPUT y contendrá el valor del campo al cual se ha asignado el Field Exit.
· El parámetro de salida OUTPUT es el valor que tomará el campo al salir del Field Exit.
· En la solapa Cod fte. Ingresamos el código correspondiente a la validación que deseamos agregar. Por ejemplo un mensaje de error si no es el dato que se solicita.
· FUNTION field_exit_zz_direc2
· IF input EQ ‘CORRIENTE 123’.
· MESSAGE e000(z_clase_men) WITH ‘Nombre no válido).
· ENDIF.
· ENDFUNCTION.
· Si en la función no se quiere modificar el campo donde está colocado el Fiel Exit, al principio de todo debemos escribir OUTPUT = INPUT para devolver el mismo valor que se ingresó.
· Dentro del módulo de función solo se puede trabajar con estos parámetros, pero si se quiere obtener valores de otros campos de la dynpro, se pueden usar otros Field Exit en los cuales se utilizará el comando SET PARAMETER para grabar en memoria el valor del campo y utilizarlo con GET PARAMETER.
· Otra opción es la función GET_DYNP_VALUE para obtener valores de otros campos de la dynpro.
· Una vez terminada la codificación, se debe asignar un programa y dynpro al Field Exit si no se quiere hacer global.
NOTA: Mientras no se haya realizado la asignación de la dynpro, el Field Exit afectará a todas las pantallas donde se encuentre un campo con el elemento de datos.
· Para asignar el programa y dynpro: TX CMOD TX PRFB, seleccionar el Field Exit y botón Asignar prog./dynpro.
· Se pueden asignar varios programas y dynpros al mismo Field Exit.
· Activamos desde Menú/Exit campo/Activar.
 
 
 
Sobre el autor
Publicación académica de Juan Hernández, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Hernández
Profesión: Programador Informático - España - Legajo: XQ15K
✒️Autor de: 125 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: PartTime
Certificación Académica de Juan Hernández