Gadgets para Blogger

Como crear un field Exit

Les dejo un paso a paso que encontre en el sitio:

http://danielpanaro.wordpress.com/2007/11/08/creacion-de-field-exit/

y que a muchos les sera de gran utilidad.

Una field exit es como una user exit que se utiliza para relacionar un campo determinado de una dynpro (pantalla) con un programa determinado.

A una FIELD EXIT se le llama también EXIT DE CAMPO. Se hace a nivel delelemento 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 de las siguientes instrucciones:

  • BREAK-POINT

  • CALL SCREEN

  • CALL DIALOG

  • CALL TRANSACTION

  • SUBMIT

  • COMMIT WORK

  • ROLLBACK WORK

  • MESSAGE I

NOTA: Para poder activar los Field Exits debemos tener el parámetro
abap/fieldexit = YES seteado en el servidor (Transacción RZ10).


A continuación voy a mostrar un ejemplo completo de cómo crear una field exit para el campo “Clave de periodificación” de la solapa Control de la transacción CJ20N.Donde validaremos que ese campo no este vacío.

image

image

1º) Lo primero que hay que hacer es crear un grupo de función. Para eso vamos a la transacción SE80 y creamos un nuevo grupo de función, por ejemplo:Z_ABGR_SCHL

image

2º) Luego debemos crear nuestra función FIELD EXIT desde la transacción SE37 con el nombre FIELD_EXIT_* ( * = nombre que queramos ) y asociándole el grupo de función que creamos en el paso anterior. Por ejemplo:

image

Con esto ya vamos a tener nuestra función creada con el parámetro INPUT creado en la solapa Import y con el parámetro OUTPUT en la solapa Export.

Para terminar este paso sólo resta poner nuestro código en la solapa Cód.fte. y ACTIVAR.
Como en este caso sólo queremos validar que nuestro campo no quede vacío, el código sería así:

IF INPUT IS INITIAL.

MESSAGE ‘Complete el campo Clv.periodifica’ TYPE ‘E’.

ENDIF.

3º) En este paso volvemos a la transacción SE80 para ACTIVAR y verificar que aparezca la función que creamos:

image

4º) El último paso es crear nuestra FIELD EXIT. Esto es muy sencillo, simplementeejecutamos el reporte RSMODPRF sin parámetros desde la transacción SE38.

Allí se listarán todas las field exits existentes. Para crear la nuestra clickeamos en el menú “Exit campo–>Crear e ingresamos nuestro elemento de datos, en este caso ABGR_SCHL. Veremos que nuestra field exit se agrega a la lista.

Finalmente, seleccionamos la field exit que acabamos de crear y clickeamos en el botón “Asignar prog./dynpro“. Debemos llenar los campos con el nombre del programa y el número de dynpro que queremos que nuestra field exit este asociada (Ver la primera imagen – Datos dynpro):

image

Nuestra field exit nos debería quedar así:

image

Como vemos el Status de la field es INACTIVO. Por lo tanto nos resta simplemente volver al menú “Exit campo” y clickear en la opción Activar

No hay comentarios:

Publicar un comentario

Esperamos tus comentarios y sugerencias para mejorar el sitio.

Related Posts