![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Los Field Exits
ABAP Los Field Exits
![ABAP Los Field Exits ABAP Los Field Exits](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/24.jpg)
FIELD EXITS
Conocidos como ampliaciones de campo, son validaciones de los elementos de datos asociados a campos de pantallas o dynpros.
Son modulos de funciones que son llamados y ejecutados posteriormente de las validaciones del sistema estándar.
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 param INPUT y que puede ser modificado a través del param OUTPUT.
Ejemplo se puede usar un Field Exit, para validar que se introduzcan solo determinados valores en un campo X.
VENTAJAS:
Facilita la validacion de campos en un prog estándar sin modificar el código orig.
se puede utilizar el mismo código para varias transacciones.
se puede aplicar de manera global o para determinados progs o dynpros que se le asignen.
DESVENTAJAS:
No se pueden manejar tablas internas, ya que toma de la dynpro (import) un solo valor q es del campo del que hace referencia
El mismo código tiene que servir para todos los progs q se quieran utilizar, por lo que en el código debe especificar las acciones
No se puede hacer un debug de manera directa con breakpoint, se utilizan msgs de error para ir viendo valores de los difs objs.
No se pueden usar ninguna de las siguientes instrucciones:
breakpoint, call screen, call dialog, call transaction, submit,commit work, rollback work,msgs i.
Para poder activar los Field Exits, debe estar en el servidor seteado el parametro Field Exit = YES, configurable con transacción RZ10
-->Para configurar un Field Exit.
1. ir a la transacción CMOD, despues a PRFB (así directo din /), presenta un listado de los Field Exits exitentes indicando si
son globales o para determinados progs.
2. Para crear uno, menú Exit campo --> Crear
3. Indicar nombre elemento de datos al cual se le agregará el field Exit., mismo elemento de datos que tiene el campo de la dynpro al que se quiere relacionar.
--Para obtener este dato, desde la dynpro, F1 sobre el campo y click en el icono de Información técnica.
4. El sistema propone crear el módulo de funciones en la se37, damos Crear.
5. el sistema pide la asignación de un gpo de funciones, usar o crear uno exclusivo para Field Exit, poner una descripción para el módulo de funciones y grabar.
Al crear el modulo de funciones, tiene varias pestañas, Import, Export donde solo tenemos un param el de Input y el Output y en la pestaña de Cod Fte, se agragar la validación deseada.
Ejem: If input EQ '' ....
Si en la función 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 q se ingresó.
Si se desea obtener valores de otros campos de la dynpro se pueden utilizar otros Field Exits, utilizar el parámetro SET PARAMETER para grabar en memoria al valor del campo y utilizarlo 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 otros campos de la dynpro.
Tambien podemos usar la función DYN_VALUES_READ Para leer valores de otros campos de la dynpro.
al final de la codificación se debe asignar un prog y dynpro al field Exit (sino se quiere hacer global). Mientras no se haya hecho la asignación de la dynpro afectará a todas las pantallas donde se encuentre un campo con ese elemento de datos.
Para hacer la asignación ir a CMOD - PRFB, click en botón Asignar prog/dynpro y especificar nombre de prog. y núm de dynpro. * Se puede asignar varios progs y dynpros al mismo field Exit.
* Activar el Field Exit desde menú Exit campo -> Activar
* Para probar el Field Exit, en la SM30 para agregar una nueva entrada a la tabla y probar la validación del elemento de datos.
***A nivel administración de SAP existe el parámetro que permite la Activación/Inactivación de los Field Exit, es ABAP_FIELDEXIT. Si está activo el sistema consulta las tablas tddir y tddirs para saber si se debe generar un field exit para cada campo.
 
 
 
Agradecimiento:
Ha agradecido este aporte: William Lemus
Sobre el autor
Publicación académica de Elda Martinez Soto, en su ámbito de estudios para la Carrera Consultor ABAP.
Elda Martinez Soto
Profesión: Ing. en Sistemas Computacionales - Mexico - Legajo: WW94O
✒️Autor de: 30 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Elda Martinez