✒️ABAP Los Field Exits
ABAP Los Field Exits
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. POR SER MF 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 VER TODOS LOS FIELD EXITS COLOCAMOS FIELD_EXIT_* EN LA TRANSACCIÓN SE37 Y LUEGO F4 VISUALIZAREMOS TODOS LOS FIELD EXITS DEL SISTEMA.
VENTAJAS:
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
DESVENTAJAS:
TOMA DE LA DYNPRO UN SOLO VALOR, QUE ES EL CAMPO AL CUAL HACER REFERENCIA. POR LO QUE NO SE PUEDEN USAR TABLA INTERNAS.
EL MISMO CÓDIGO DEL FIELD EXIT TIENE QUE SERVIR PARA TODOS LO PROGRAMAS QUE SE QUIERAN UTILIZAR, POR LO QUE SE DEBE ESPECIFICAR QUE ACCIÓN TOMARÁ DE ACUERDO AL PROGRAMA QUE LO ESTÁ EJECUTANDO.
NO ES POSIBLE HACER UN DEBUG AL CÓDIGO DEL FIELD EXIT A TRAVÉS DE UN BREAKPOINT.
NO SE PUEDEN UTILIZAR LAS SIGUIENTE SENTENCIAS: BREAKPOINT, CALL SCREEN, CALL DIALOG, CALL TRANSACTION, SUBMIT, COMMIT WORK, ROLLBACK, MESSAGE I ( MENSAJES DE INFORMACIÓN)
PARA PODER ACTIVAR LOS FIELD EXITS DEBEMOS TENER EL PARAMETRO ABAP FIELD EXIT = YES SETEADO EN EL SERVIDOR SE HACE EN LA TRANSACCION RZ10.
PASOS PARA REALIZAR UN FIELD EXIT
1. ENTRAR EN LA TRANSACCIÓN CMOD
2. SE EJECUTA EL COMENTA PRFB DENTRO DE LA CMOD SIN /N
3. SE MUESTRA UNA PANTALLA CON TODOS LOS FIELD EXITS DEL SISTEMA, EN DONDE SE VE SI ESTÁN ACTIVADOS A NIVEL GLOBAL O SOLO PARA ALGÚN PROGRAMA O DYNPRO.
4. IR A LA OPCIÓN DEL MENÚ EXIT CAMPO -> CREAR
5. EN LA SIGUIENTE VENTANA DE DIÁLOGO SE INTRODUCE EL NOMBRE DEL ELEMENTO DE DATOS DEL CAMPO EN DONDE QUEREMOS PROGRAMAR LA FIELD EXIT Y SE DA CONTINUAR
6. A CONTINUACIÓN EL SISTEMA PROPONE EL NOMBRE DEL MÓDULO DE FUNCIONES EN LA SE37 Y SE LE DA CREAR ( RECORDAD CREAR TAMBIÉN EL GRUPO DE FUNCIONES)
7. SE INTRODUCE UN TEXTO BREVE PARA EL MÓDULO DE FUNCIONES
8. EL MODULO DE FUNCION TIENE UN PARÁMETRO DE ENTRADA QUE ES EL INPUT QUE CONTENDRÁ EL VALOR DEL CAMPO AL CUAL SE HA ASIGNADO EL FIELD EXIT.
9. EL PARÁMETRO DE SALIDA ES EL OUTPUT QUE ES EL VALOR QUE TOMARÁ EL CAMPO AL SALIR DEL FIEL EXIT.
10. EN LA PESTAÑA COD FTE SE INTRODUCE EL CÓDIGO CORRESPONDIENTE A LA VALIDACIÓN QUE SE DESEA
11. TERMINADA LA CODIFICACIÓN SE DEBE ASIGNAR UN PROGRAMA Y DYNPRO AL FIELD EXIT SI NO SE DESEA QUE SEA GLOBAL
12. PARA ASIGNARLOS SE VA A LA CMOD-PRFB Y SE SELECCIONA EL FIELD EXIT Y SE PRESIONA EL BOTÓN ASIGNAR PROG/DYNPRO ( SE PUEDEN ASOCIAR VARIOS PROGRAMAS Y DYNPROS A UN MISMO FIELD EXIT)
13. SE ACTIVA DESDE EL MENÚ EXIT CAMPO / ACTIVAR
PUNTOS IMPORTANTES
SI NO SE DESEA MODIFICAR EL VALOR DEL CAMPO SE COLOCA OUTPUT = INPUT
SI SE DESEA OBTENER OTROS VALORES DE OTROS CAMPOS DE LA DYNPRO SE PUEDE UTILIZAR OTROS FIELD EXIT EN DONDE SE UTILIZARÁ SET PARAMETER PARA LLEVARLO A MEMORIA Y GET PARAMETER PARA TRAERLO DE MEMORIA EN EL FIELD EXIT QUE ESTA VALIDANDO.
SE PUEDE USAR LA FUNCIÓN GET_DYNP_VALUE (DYNP_VALUES_READ) PARA OBTENER VALORES DE OTROS CAMPOS DE LA DYNPRO.
UNA VEZ TERMINADA LA CODIFICACION SE DEBE ASIGNAR UN PROGRAMA Y DYNPRO AL FIELD EXIT (SI NO SE QUIERE HACER GLOBAL, ES DECIR PARA TODOS LOS PROGRAMAS)
MIENTRAS NO SE HAYA ASIGNADO A UNA DYNPRO, EL FIELD EXIT AFECTARA A TODAS LAS PANTALLAS DONDE SE ENCUENTRE UN CAMPO CON EL ELEMENTO DE DATOS.
PARA ASIGNAR EL PROGRAMA Y DYNPRO SE DEBE IR A LA PANTALLA DE ADMINISTRACION DE FIELD EXIT (CMOD - PRFB) , SELECCIONAR EL FIELD EXIT Y PRESIONAR EL BOTON ASIGNAR PROG/DYNPRO.
SE PUEDEN ASIGNAR VARIOS PROGRAMAS Y DYNPROS AL MISMO FIELD EXIT.
POR ULTIMO ACTIVAMOS EL FIELD EXIT DESDE EL MENU EXIT CAMPO / ACTIVAR Y LUEGO VEREMOS EL FIELD EXIT ACTIVADO.
TAMBIÉN SE PUEDE UTILIZAR VARIABLES GLOBALES AL GRUPO DE FUNCIONES PARA PODER LEER VALORES DE OTROS CAMPOS DE LA DYNPRO
A NIVEL ADMINISTRACION DEL SISTEMA SAP EXISTE EL PARAMETRO DE INSTANCIA
ABAP FIELD EXIT
CONTROLA LA ACTIVACION O DESACTIVACION DE FIELD EXIT EN EL SISTEMA , SI PENSAMOS EN EL RENDIMIENTO PERFORMANCE DEL SISTEMA SI EL PARAMETRO QUE CONTROLA LA ACTIVACION DEL FIELD EXIT ESTA ACTIVO EL SISTEMA CONSULTARA DOS TABLAS STANDAR LA TDDIR Y LA TDDIRS PARA SABER SI SE DEBE GENERAR UN EXIT DE CAMPO PARA CADA CAMPO EL USUARIO NO NOTARA UNA RELENTIZACION YA QUE LA GENERACION DE LAS DYNPROS ES EXTRAORDINARIAMENTE RAPIDA.
SI DESEAMOS CONOCER EL CONTENIDO DE ALGUN OTRO CAMPO DE LA PANTALLA CUANDO TRABAJAMOS CON FIELD EXIT PODEMOS GUARDAR EL CONTENIDO DE OTROS CAMPOS EN VARIABLES GLOBALES AL GRUPO DE FUNCION TAMBIEN PODEMOS UTILIZAR LA FUNCION DIM_VALUES_READ PARA LEER VALORES DE OTROS CAMPOS DE LA MISMA PANTALLA DEBEMOS CONSIDERAR QUE SI OTROS CAMPOS DE LA PANTALLA TIENE EL MISMO ELEMENTO DE DATOS EL FIELD EXIT APLICARA PARA TODOS ELLOS.
 
 
 
Agradecimiento:
Ha agradecido este aporte: William Lemus
Sobre el autor
Publicación académica de Oscar Guillermo Rodriguez Villate, en su ámbito de estudios para la Carrera Consultor ABAP.
Oscar Guillermo Rodriguez Villate
Profesión: Ingeniero de Sistemas - Colombia - Legajo: WM49P
✒️Autor de: 103 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Certificación Académica de Oscar Rodriguez