UNIDAD 3 Lección 4: Field Exits
Field exits:
- También llamados ampliaciones de campo, son validaciones de los elem.datos asociados a campos de pantallas o dynpros de SAP.
- Son Módulos de funciones llamados posteriormente a validaciones del sistema standard, por ello, durante su ejecución sólo se dispone del valor del campo (parámetro INPUT) que se puede modificar (parámetro OUTPUT). Para el uso de otros campos de pantalla se deben usar funciones ad hoc:
* SET PARAMETER GET PARAMETER.
* GET_DYNP_VALUE
- Podemos ver todos los Field exit del sistema ingresando en Trx SE37 (Biblioteca de funciones) el valor FIELD_EXIT_* y pulsando F4.
- Ventajas:
* Facilita validación de campo en prog.standard sin modificarlo.
* Puede usarse el mismo código para varias Trx’s.
* Se puede aplicar globalmente (para todos los programas) o para determinados programas dynpros.
- Desventajas:
* Toma de la dynpro (Import) un solo valor (el campo referido), no pudiendo usarse p.ej. tablas internas del programa standard.
* El mismo código del Field exit tiene que servir para todos los programas que se quieran usar, obligando a especificar en el código la acción a tomar de acuerdo al programa en el cual se esté ejecutando.
* No es posible hacer debug con breakpoint.
- IMPORTANTE: En un Field exit NO se puede usar: breakpoint, call screen, call dialog, call transaction, submit, commit work, rollback work, message i.
- Para activar un Field exit el parámetro ABAP Field_exit debe valer YES (usando Trx RZ10).
Con ese valor, el Sistema consulta dos tablas: TDDIR y TDDIRS.
Pasos para realizar Field exist:
-
En Trx CMOD-Gestión de proyectos de ampliaciones SAP ejecutar comando PRFB (sin anteponer /N). En pantalla sgte se muestran todos los Field exit del sistema.
-
Para crear un Field exit: /Exit campo/Crear, luego ingresar nombre elem.datos (del campo de pantalla).
-
Luego, Sistema nos propone crear módulo de funciones en Trx SE37. Le damos click en Crear.
-
Luego le asignamos un Grupo de Funciones (recomendable crear uno exclusivamente para el Field exit), y un texto breve para el módulo de funciones.
-
Este módulo de función tiene la particularidad de tener un parámetro de entrada (INPUT con valor del campo asignado el Field exit), y uno de salida (OUTPUT) con el valor que tendrá el campo al salir del Field exit.
-
En solapa Cód.Fte. agregamos el código de validación.
Para no modificar el valor del campo, al principio se debe colocar OUTPUT = INPUT.
Para acceder a otros campos de pantalla: SET PARAMETER GET PARAMETER, o GET_DYNP_VALUE.
-
Para activar Field Exit: /Exit campo/Activar.
- NOTA: Se pueden asignar varios pgm y dynpros al mismo field exit. Si no se especifica alguno, el field exit afectará a todas las pantallas con un campo con ese elemento de datos.