🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️ABAP Los Field Exits

ABAP Los Field Exits

ABAP Los Field Exits

1 | ¿ Qué son los Field Exits ?

También llamados ampliaciones de campo, son validaciones de los elementos de datos asociados a campos de pantallas o dynpros de SAP.

Los Field Exits son módulos de funciones que son llamados y ejecutados posteriormente de las validaciones del 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 otros campos de la pantalla, se debe proceder al uso de funciones que permiten capturar dichos valores.

Un ejemplo en donde utilizaríamos un Field Exit es si se quiere insertar un valor en un campo determinado de una dynpro entonces

pondríamos una validación en ese campo a nivel Field Exit para que solo permita insertar determinados valores.

Si ingresamos a la transacción SE37 (Biblioteca de Funciones), colocamos FIELD_EXIT_* y luego pulsamos F4,

visualizaremos todos los Field Exit del sistema.

Imagen 1.1 - Visualizamos los Field Exits existentes en la biblioteca de funciones

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 presenta un Field Exit son:

Toma de la dynpro (Import) un solo valor, que es el del campo al cual hace referencia, por lo que no se pueden utilizar

tablas internas específicas del programa estándar en el código del Field Exit.

El mismo código del Field Exit tiene que servir para todos los programas que se quieran utilizar, por lo que se tiene que

especificar en el código que acción tomará de acuerdo al programa en el cual se esté 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 valores van tomando los diferentes objetos (variables, tablas, etc.)

y por donde va pasando dentro del código del Field Exit.

2 | Pasos para la realizar un Field Exit

El primer paso para realizar un Field Exit es dirigirnos a la transacción CMOD (Gestión de proyectos de ampliaciones SAP).

Imagen 2.1 - Ingresamos a la transacción estándar CMOD.

Allí ejecutamos el comando PRFB dentro de la CMOD, sin anteponer /N.

Imagen 2.2 - En el campo de comandos escribimos PRFB y presionamos enter

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.

Imagen 2.3 - Visualizamos todos los Field Exits del sistema junto con su status

Para crear un Field Exit, seleccionamos el menú Exit campo y la opción Crear.

Imagen 2.4 - Desplegamos la opción del menú Crear para crear un nuevo Field Exit

En la siguiente ventana de diálogo introducimos el del elemento de datos al cual se quiere realizar el Field Exit.

Este elemento de datos debe ser el mismo que tiene el campo de la dynpro al cuál se quiere relacionar.

Imagen 2.5 - El sistema nos solicita el del elemento de datos

Este dato lo obtenemos presionando la tecla F1 sobre el campo de la dynpro y luego presionando el botón de Información técnica

Imagen 2.6 - Visualizamos donde y como obtenemos el del elemento de datos

Ingresamos el elemento de datos y presionamos enter.

Imagen 2.7 - Introducimos el del elemento de datos

A continuación el sistema nos propone la creación del módulo de funciones en la SE37, por lo que presionaremos el botón Crear.

Imagen 2.8 - Creamos el módulo de funciones que nos propone el sistema

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 módulo de funciones.

Imagen 2.9 - Introducimos un grupo de funciones y un texto breve

Este módulo de función 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.

Imagen 2.10 - Dentro de los parámetros de entrada generamos el parámetro INPUT

El parámetro de salida OUTPUT es el valor que tomará el campo al salir del Field Exit.

Imagen 2.11 - Dentro de los parámetros de salida generamos el parámetro OUTPUT

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 mensaje de error en caso de que el usuario introduzca

en el campo de la pantalla el texto 'CORRIENTES 123'.

Imagen 2.12 - Introducimos el código fuente correspondiente a la validación

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 que se ingresó.

Dentro del módulo de función sólo se pueden 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á el comando SET PARAMETER para poder 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.

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 programas).

Mientras no se haya realizado la asignación de la dynpro, el Field Exit afectará 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 administración de Field Exit (CMOD - PRFB),

seleccionar el Field Exit y presionar el botón Asignar prog./dynpro.

Imagen 2.13 - Presionamos el botón para asignar un programa y una dynpro

Seguidamente veremos la siguiente pantalla donde asignaremos el del programa y el número de dynpro correspondiente:

Imagen 2.14 - Introducimos el programa y el número de la dynpro

Se pueden asignar varios programas y dynpros al mismo Field Exit.

Por último, activamos el Field Exit desde el menú Exit Campo / Activar:

Imagen 2.15 - Activamos el field exit

Y luego veremos el Field Exit activado.

Imagen 2.16 - En la columna status visualizamos activo

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 entrada en la tabla, en el campo Dirección introducimos el valor 'CORRIENTES 123' y presionamos la tecla enter.

Imagen 2.17 - Generamos un nuevo registro en la tabla con el campo DIRECCION = 'CORRIENTES 123'

Y visualizaremos en pantalla el mensaje de error que previamente codificamos en nuestro Field Exit.

Imagen 2.18 - Visualizamos en pantalla el mensaje de error correspondiente a la validación


 

 

 


Sobre el autor

Publicación académica de Alex Francisco Lemos Collazos, en su ámbito de estudios para la Carrera Consultor ABAP.

SAP Expert


✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "Los Field Exits" de la mano de nuestros alumnos.

SAP Master

Los field exits son objetos abap utilizados para relacionar un campo de una dynpro de un determinado programa con un código de programa o función. El comando PRFB nos permite accesar a los field exits desde la transaccion estándar CMOD.

Acceder a esta publicación

Creado y Compartido por: Mónica Robles

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

FIELD EXITS. Son ampliaciones de campo, validaciones de los elementos de datos asociados a campos de pantallas o dynpros en SAP, modulos de funciones que se llaman y se ejecutan despues de las validaciones del sistema estandar. Ventajas. Facilita la validacion de los campos de los programas estandar. Se puede utilizar el mismo Codigo en varias transacciones. Se puede utilizar para todos los programas o dynpros que se asignen. Desventajas. Solo se puede tomar del import un solo valor, el valor del campo el cual se hace referencia. Se tiene que especificar en el codigo que accion tomar dependiendo el programa que se ejecuta. No se pueden hacer debugs dentro del Field Exits. En un field exits no es posible utilizar breakpoints,...

Acceder a esta publicación

Creado y Compartido por: Erick Omar Mármol Ascencio / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Senior

Field exits: es la ampliacion de campo, es decir son validaciones de los elementos de datos asociados a campos de pantalla o dynpros SAP se ejecutan en instancias de memorias propias donde solo disponen del valor campo que llega en el INPUT y que se puede modificar a traves del OUTPUT realizar un field exit: *cmod, alli ejecutamos el comando PRFB dentro de la CMDO sin anteponer el /N * luego se encuentran todos los field exits del sistema * para crearlo hacemos click en exit campo/ crear * introducimos el nombre del elemento de datos activamos el campo con exit campo/ activar......

Acceder a esta publicación

Creado y Compartido por: Chystian Julian Giraldo Botero

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Expert


FIELD EXITS: Tambien llamados ampliaciones de campo, Son validciones de los elementos de datos asociados a campos de pantallas o dynpros de SAP. Transaccion SE37: (biblioteca de funciones) colocamos FIELD_EXIT_* luego F4 visualizamos todos los Field Exit de sistema. Si no se le asigna una dynpro, el Field Exit afectara a todas las pantallas donde se encuentre un elemento de datos. IDEAS: Se pueden asignar varios programas y dynpros al mismo field Exit.

Acceder a esta publicación

Creado y Compartido por: Ernesto Aristides Romano

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Field exits o exits de campo: son módulos de funciones que son llamados despues de las validaciones en transacciones estándard. FIELD_EXIT_* Transacción CMOD. Ejecutamos el comando PRFB dentro del CMOD, sin anteponer /N. (TRUCO) Nos mostrará la lista de los Fields exits. Menú: Exit campo --> Crear. Nombre del elemento de datos. Igual al elemento de datos de la dynpro. (para ver el elmento de datos pulsar F1 sobre el campo de la dynpro) Creamos el módulo de funciones y su módulo de funciones. Pestaña input(recibe datos), pestaña export(valor que tomará el Field Exit al salir). Pestaña Cód. fte. pondremos la lógica. Para...

Acceder a esta publicación

Creado y Compartido por: Javier Exposito Diaz

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

FIELD EXITS.- Validaciones de elementos de datos asociados a campos de pantallas o dynpros de SAP. Visualizar lista de field_exits .- se37 > FIELD_EXIT_* > F4 No es posible hacer debug con breaks directamente, sino con mensajes de error. Creación: Tx: CMOD > ejecutar comando PRFB > se despliegan todos los Field Exits del sistema. > Exit campo > crear > escribir el campo de la dynpro que se quiere validar. > enter > el sistema nos propone la creación del módulo de funciones en la SE37, > crear > asignar grupo de funciones(recomendación: crear uno exclusivo) La función del FIELD_EXIT se crea con un parámetro de Import y Export. Si se quiere obtener valores de otros...

Acceder a esta publicación

Creado y Compartido por: Ana Patricia Sánchez Paredes

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Field Exits Field Exits, also known as field enhancements, validate data elements associated with screens or dynpros in SAP. They're function modules executed after the system's standard validations. These modules have their own memory space. While running, they only have one INPUT parameter that can be altered through a single OUTPUT parameter. They're useful for ensuring fields accept only specific values. You can discover all existing Field Exits in the system by entering 'FIELD_EXIT_*' in transaction SE37 and pressing F4. Advantages of using Field Exits include: Simplifying field validation in standard programs without altering the original code. Reusable code across multiple transactions. Global validity in the system or restricted...

Acceder a esta publicación

Creado y Compartido por: Jaime Eduardo Gomez Arango / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

FIELD EXITS llamados apliaciones de campo, son validaciones de los elementos de datos asociados a campos o dynpros de SAP., son modulos de funciones para activar un field exit se debe hacerlo en el servidor por medio de la transaccion RZ10 Transaccion SE37 biblioteca de funciones COMANDO PRFB cuando ya estemos en la transaccion CMOD y probar el field exit mediante la transaccion SM30

Acceder a esta publicación

Creado y Compartido por: Andres Felipe Escobar Lopez

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

Field Exits Son validaciones de los elementos de datos asociados a campos de dynpros Son llamados después de validar el campo de una dynpro Desde la Tx SE37, si escribimos FIELD_EXIT_* las veremos todas Desde la Tx CMOD llamamos a la Tx PRFB (sin el /n) y obtendremos todos los Field Exits Sólo tiene acceso al valor de la dynpro al que hace referencia Para obtener el valor de otros campos de la dynpro: SET PARAMETER desde el otro campo GET PARAMETER desde el que queremos recuperar el valor usar función GET_DYNP_VALUE

Acceder a esta publicación

Creado y Compartido por: Xavier Martinez Garsaball

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Master

A una FIELD EXIT se le llama también EXIT DE CAMPO. Se hace a nivel del elemento de datos. En ella puedes poner tus comprobaciones para un campo en el programa que quieras. Puedes tener varias field exit para un mismo campo en distintas pantallas. Una FIELD EXIT es una función que tiene la particularidad de que sólo tiene un parámetro de entrada INPUT y uno de salida OUTPUT. A priori no puedes conocer ningún dato más, aunque siempre puedes utilizar otras field exits para guardar el contenido de otros campos en variables globales al grupo de función, o utilizar la función DYNP_VALUES_READ para leer valores de otros campos de la misma pantalla. En un Field exit NO podemos usar ninguna...

Acceder a esta publicación

Creado y Compartido por: Juan Carlos Ayala Chira

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 79.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!