✒️ABAP Los Field Exits
ABAP Los Field Exits
Unidad 3: Ampliaciones y Notas en SAP.
Lección 4: Field Exits.
1.- Que son los Field Exits?
También conocidos como ampliaciones de campo, son validaciones de los elementos de datos asociados a pantallas o dynpros de SAP.
Los Field Exits son módulos de funciones que se ejecutan después de las validaciones estándar del sistema. Estos módulos tienen un espacio de memoria propio. Mientras se ejecutan solo tienen un parámetro de entrada INPUT que puede ser modificado a través de un único parámetro de salida. OUTPUT.
Se pueden utilizar para validar que el campo solo admite unos determinados valores.
Es posible conocer todos los Field Exit existentes en el sistema. Para ello en la transacción SE37 informaremos FIELD_EXIT_* y pulsaremos F4.
El uso de Field Exits tiene las siguientes ventajas:
- Facilitar la validación de campos en un programa estándar sin modificar el código original.
- El mismo código podrá utilizarse en varias transacciones.
- Puede tener una validez global en el sistema o solo en determinados programas y dynpros.
Como desventajas podemos considerar:
- Toma de la dynpro un solo valor que es el del campo a que hace referencia. No es posible utilizar tablas internas específicas del programa estándar en su código.
- El mismo código del Field Exit ha de servir para todos los programas a los que se asigne. Por tanto si su comportamiento no debe ser uniforme habrá que especifcar que acciones hay que tomar en función del programa.
- No es posible debugar el código de un Field Exit mediante Breakpoint. Hay que utilizar mensajes para saber por donde vamos y el contenido de los datos en el tratados.
En el código de un Field Exit no podemos utilizar ninguna de las siguientes instrucciones ABAP:
- Breakpoint
- Call Screen
- Call Dialog
- Call Transacction.
- Submit
- Commit Work
- Rollback Work.
- Mensajes tipo I.
Para que podamos utilizar los Field Exits debemos tener en el servidor el parámetro ABAP Field Exit = Yes. Este parámetro se puede configurar mediante la transacción RZ10.
2.- Como realizar un Field Exit.
- Vamos a CMOD y ejecutamos en la pantalla de comandos PRFB. No ara falta anteponer /n.
- La siguiente pantalla mostrará todos los Field Exit del sistema. Entre la información relevante que aporta de cada uno de ellos está su ámbito de actuación. Si es global o afecta a un programa y dynpro concretos, su estatus (activo o inactivo).
- Si deseamos crear Field Exits adicionales iremos a la opción de menu Exit campo --> Crear.
- En la ventana de diálogo que surgirá informamos el elemento de datos sobre el cual se aplicará el Field Exit. El elemento de datos debe ser el mismo del campo de la dypro al que estará relacionado. Confirmar.
- En la siguiente ventana el sistema propondrá el nombre de un módulo de funciones a crear. posteriormente si creamos el módulo de funciones nos solicitarán un grupo de funciones para el mismo. es recomendable que el Field Exit tenga uno propio. Deberemos informar una descripción breve.
El módulo de función constará de un solo parámetro de entrada INPUT que contendrá el valor actual del campo sobre el que aplica el Field exit y un solo parámetro de salida OUTPUT que tendrá el valor del campo al salir del Field exit.
En la pestaña Cód.fte. informaremos el código de la validación a agregar. Si la validación no va a modificar el valor del campo a la salida podemos hacer la asignación OUTPUT = INPUT como primera línea de código del Field Exit.
Dentro del módulo solo se podrá trabajar con dichos parámetros si queremos obtener valores de otros campos de la dynpro. Podemos obtenerlos de otros Field Exits en cuyo código insertaremos la sentencia SET PARAMETER para guardar en memoria su valor y poder recuperar el mismo mediante GET PARAMETER en el nuestro. Otra opción es la sentencia GAT_DYN_VALUE para obtener otros datos de la dynpro sin tener que acudir a otros Field Exit.
Terminada la codificación asignaremos el FIELD EXIT a un programa y una dynpro o bien le daremos un ámbito global. Destaquemos que la afectación del Field Exit mientras no se limite la asignación a una dynpro afectará a todas las pantallas donde exista un campo con el elemento de datos afectado.
Para asignar un Field Exit a un programa /dynpro pulsaremos el botón Asignar prog./dynpro dentro de CMOD - PRFB). en la ventana de diálogo informaremos el programa y la dynpro que corresponda. Es posible asignar mas de un programa y dynpro a un Field Exit.
- Por último activaremos el Field Exit mediante la opción de menú Exit Campo --> Activar.
 
 
 
Sobre el autor
Publicación académica de Francisco Compte Sanchez, en su ámbito de estudios para la Carrera Consultor ABAP.
Francisco Compte Sanchez
Profesión: Sap Business&integration Architect - España - Legajo: QQ38S
✒️Autor de: 105 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Consultor sap mm y sd con algún conocimiento abap a nivel de debug. quiero consolidar conocimientos técnicos para reforzar mi perfil profesional.
Certificación Académica de Francisco Compte