Está en la página 1de 3

Creacin de Field Exit

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 tambin 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 funcin que tiene la particularidad de que slo tiene un parmetro de entrada INPUT y uno de salida OUTPUT. A priori no puedes conocer ningn dato ms, aunque siempre puedes utilizar otras field exits para guardar el contenido de otros campos en variables globales al grupo de funcin, o utilizar la funcin 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 parmetro abap/fieldexit = YES seteado en el servidor (Transaccin RZ10). A continuacin voy a mostrar un ejemplo completo de cmo crear una field exit para el campo Clave de periodificacin de la solapa Control de la transaccin CJ20N. Donde validaremos que ese campo no este vaco.

1) Lo primero que hay que hacer es crear un grupo de funcin. Para eso vamos a la transaccin SE80 y creamos un nuevo grupo de funcin, por ejemplo: Z_ABGR_SCHL

2) Luego debemos crear nuestra funcin FIELD EXIT desde la transaccin SE37 con el nombre FIELD_EXIT_* ( * = nombre que queramos ) y asocindole el grupo de funcin que creamos en el paso anterior. Por ejemplo:

Con esto ya vamos a tener nuestra funcin creada con el parmetro INPUT creado en la solapa Import y con el parmetro OUTPUT en la solapa Export. Para terminar este paso slo resta poner nuestro cdigo en la solapa Cd.fte. y ACTIVAR. Como en este caso slo queremos validar que nuestro campo no quede vaco, el cdigo sera as: IF INPUT IS INITIAL. MESSAGE Complete el campo Clv.periodifica TYPE E. ENDIF. 3) En este paso volvemos a la transaccin SE80 para ACTIVAR y verificar que aparezca la funcin que creamos:

4) El ltimo paso es crear nuestra FIELD EXIT. Esto es muy sencillo, simplemente ejecutamos el reporte RSMODPRF sin parmetros desde la transaccin SE38. All se listarn 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 botn Asignar prog./dynpro. Debemos llenar los campos con el nombre del programa y el nmero de dynpro que queremos que nuestra field exit este asociada (Ver la primera imagen Datos dynpro):

Nuestra field exit nos debera quedar as:

Como vemos el Status de la field es INACTIVO. Por lo tanto nos resta simplemente volver al men Exit campo y clickear en la opcin Activar Con esto ya tenemos nuestra field exit creada y podemos verificar en la transaccin CJ20N que si NO llenamos el campo Clave de periodificacin nos saldr el mensaje de error que pusimos en el paso 2

También podría gustarte