✒️ABAP Los Field Exits
ABAP Los Field Exits
Field Exits: también llamados "Aplicaciones de campo", son validaciones de los elementos de datos a campos de pantallas o dynpros de SAP.
Los mismos por ser módulos de funciones que son llamados y ejecutados posteriormente de la validaciones de 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, 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 campos de pantalla, se debe proceder al uso de funciones que permiten capturar dichos valores.
Las principales ventajas que presenta un Field Exit son:
- Facilita la validación de campos en un programa estándar sin modificar el código original.
- Puede utilizarse el mismo código para varias transacciones.
- Se puede aplicar globalmente (para todos los programas) o para determinados programas y dynpros que se le asignen.
Las principales desventajas que presentan un Field Exit son:
- Toman de la dynpros (Inport) un solo valor, que es el del campo al cual hace referencia, por lo que no se pueden utilizar tab las internas especificas del programa estándar en el código del Exit.
- El mismo código del Field Exit tiene que servir para todos los programas que se quiera utilizar, por lo que se tiene que especificar en el código que acción tomará de acuerdo al programa en el cual se esta ejecutando.
- No es posible hacer un Debug del código del Field Exit de forma directa, a través de un Breakpoint. Para esto se utilizan mensajes de error para ir viendo que valor van tomando los diferentes objetos (variables, tablas, etc.) y por donde va pasando dentro del código del Field Exit.
Los pasos para implementar un Field Exit: el primer paso para implementar un Firld Exit es dirigirnos a la transacción CMOD (Gestión de proyecto de ampliaciones SAP).
Allí ejecutamos el comando PRFB dentro de la CMOD, sin anteponer /N. En la pantalla siguiente se encuentran todos los Field Exits del sistema. Aquí podemos ver también si están activados a nivel Global (para todas las transacciones) o tienen algún programa y dynpro asignados.
Para crear un Field Exit, seleccionamos el menú Exit campo y opción Crear. En la siguiente ventana de dialogo introducimos el nombre del elemento de datos al cual se quiere realizar al Field Exit. este elemento de datos debe ser el mismo que tiene el campo de la dynpro al cuál se quiere relacionar, este dato lo obtenemos presionando la tecla F1 sobre el campo de la dynpro. Y luego hacemos clic en el botón de información técnica, ingresamos el elemento de datos y hacemos clic en el botón de la tilde verde, a continuación, el sistema nos propone la creación del módulo de funciones en la SE37, por lo que hacemos clic en el botó Crear, luego el sistema nos solicita la asignación de un grupo de funciones, es recomendable crear uno exclusivamente para el Field Exit. También introducimos un Texto breve para el modulo de funciones, este modulo de funciones tiene la particularidad de tener un parámetro de import 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 Cód. fte. vamos a ingresar el código correspondiente a la validación que deseamos agregar. Por ejemplo en este caso emitimos un mensa de error en caso de que el usuario introdusca en el campo de la pantalla el texto 'CORRIENTES 123'.
Si en el módulo de funciones no se quiere modificar el campo donde esta colocado el Field Exit entonces al principio de todo se debe escribir: OUTPUT = INPUT para devolver el mismo valor que se ingresó.
Dentro del módulo de funciones sólo se puede trabajar con estos parámetros, pero si se quiere obtener valores de otros campos de la dynpro se puede utilizar otros Field Exits en los cuales se utilizará comando SET PARAMETER para poder grabar en memoria al valor del campo y utilizando en el Field Exit anterior tomándolo de memoria con GET PARAMETER.
Otra opción es utilizar la función GET_DYNP_VALUE para obtener valores de otro campo 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, es decir para todos los programa).
Para asignar el programa y dynpro se debe ir a la pantalla de administración de Field Exit (CMOD - PRFB), seleccionar el Field Exit y hacemos clic en el botón Asignar prog./dynpro. Seguidamente veremos la siguiente pantalla donde asignamos el nombre del programa y el número de dynpro correspondiente, por ultimo, activamos el Field Exit desde el menú Exit Campo / Activar. Y luego veremos el Field Exit activado.
Ahora vamos a probar nuestro Field Exit, para ello accedemos a la transacción SM30 ya que el elemento de datos al cual le creamos el Field Exit pertenece al campo 'Dirección' de una tabla base de datos Z.
Generaremos una nueva ventana en la tabla, en el campo Dirección introduciremos el valor ' CORRIENTES 123' y presionamos la tecla enter, y visualizaremos en pantalla el mensaje de error que previamente codificamos en nuestro Field Exit.
 
 
 
Sobre el autor
Publicación académica de Javier Miguel Angel Barcelo, en su ámbito de estudios para la Carrera Consultor ABAP.
Javier Miguel Angel Barcelo
Profesión: Militar - Argentina - Legajo: DQ34X
✒️Autor de: 88 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Avanzado
Certificación Académica de Javier Angel