✒️ABAP Los Field Exits
ABAP Los Field Exits
FIELD EXITS: (aplicaciones de campo) son validaciones de los elementos de datos asociados a campos de pantallas o dynpros de SAP. Son modulos de funciones que son llamados y ejecutados posteriormente de las validaciones del sistema estandar. Se ejecutan en instancias de memoria propias y al momento de su ejecucion, solo se dispone del valor del campo, que importa el parametro INPUT y que puede ser modificado a traves del parametro OUTPUT.
Ejemplo: si se quiere insertar un valor en un campo determinado de una dynpro, entonces se pondria una validacion de ese campo a nivel FE para que solo permita insertar determinados valores.
SE37: FIELD_EXIT_* F4 se visualizan todos los FE del sistema.
VENTAJAS:
Facilita la validacion de campos en un program estandar sin modificar el codigo original.
Puede utilizarse el mismo codigo para varias trx.
Se puede aplicar globalmente, para todos los programas o determinados programas y dynpros que se le asignen.
DESVENTAJAS:
Toma de la dynpro un solo valor, que es el del campo al cual hace referencia. NO se puede utilizar tablas internas especificas del programa estandar en el codigo FE.
El mismo codigo del FE tiene que servir para todos los programas que se quieran utilizar.
NO es posible hacer un debug del codigo del FE de forma directa a traves de un break point, para esto se usan mensajes de error.
En un FE No podemos usar ningunas de las siguientes instrucciones: BREAK POINT, CALL SCREEN, CALL DIALOG, CALL TRANSACTION, SUBMIT, COMMIT WORK, ROLLBACK WORK, MESSAGE I
PARA PODER ACTIVAR LOS FE DEBEMOS TENER EL PARAMETRO ABAP_FIELDEXIT = YES SETEADO EN EL SERVIDOR, SE CONFIGURA DESDE LA TRX ESTANDAR RZ10.
Pasos para realizar un FE:
CMOD: Ejecutar el comando (barra de trx) PRFB, se visualizan todos los FE del sistema con su estado.
Seleccionar el menu EXIT CAMPO y CREAR. Ingresar el nombre del elemento de datos al cual se quiere realizar el FE, este elemento de datos debe ser el mismo que tiene el campo de la dynpro al cual se queire relacionar. El dato es obtenido al presionar F1 sobre el campo de la dynpro y luego INFO TECNICA.
Enter, el sistema nos propone crear el modulo de funciones (SE37) CREAR, asignar un grupo de funciones, se recomienda crear un grupo exclusivo para el FE.
Este modulo de funcion tiene la particularidad de tener un aprametro de IMPORT y uno de EXPORT, el INPUT es el de entrada, contiene el valor del campo al cual se ha asignado el FE. El parametro de salida OUTPUT toma el campo al salir del FE.
En la solapa codigo fuente se agrega el codigo de la validacion. Si no se quiere modificar el campo donde esta colocado el FE al inicio de todo se debe escribir OUTPUT = INPUT. Devuelve el mismo valor que se ingreso.
En el modulo solo se trabaja con estos aprametros, apra obtener otros campos de la dynpro se usan otros FE mediante el parametro SET PARAMETER para grabar en memoria el valor del campo y usarlo en el FE anterior o tomandolo de memoria GET PARAMETER. GET_DYNP_VALUE se usa tambien para obtener valores de otros campos de la dynpro.
Se debe asignar un programa y dynpro al FE, caso contrario afecta a todas las pantallas donde se encuentre un campo con el elemento de datos. Asginar : CMOD - PRFB - ASGINAR PROG/DYNPRO.
SE PUEDEN ASIGNAR VARIOS PROGRAMAS Y DYNPROS AL MISMO FE.
EXIT CAMPO / ACTIVAR.
A NIVEL ADM DEL SISTEMA SAP EXISTE EL PARAMETRO DE INSTANCIA ABAP FIELD EXIT EL CUAL CONTROLA LA ACT O DESACT DE LOS FE EN EL SISTEMA. PENSANDO EN LA PERFORMANCE SI EL PARAMETRO ESTA ACTIVO, EL SISTEMA CONSULTA LAS TABLAS TDDIR Y TDDIRS PARA SABER SI SE DEBE GENERAR UN E DE CAMPO APRA CADA CAMPO, NO SE NOTA RALENTIZACION DEL SISTEMA, LA GENERACION DE LAS DYNPRO ES MUY RAPIDA.
DYNP_VALUES_READ funcion usada para leer valores de otros campos de la misma pantalla.
 
 
 
Sobre el autor
Publicación académica de Jose Ignacio Rodini, en su ámbito de estudios para la Carrera Consultor ABAP.
Jose Ignacio Rodini
Profesión: Licenciado en Informatica - Argentina - Legajo: HM58N
✒️Autor de: 115 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Jose Rodini