Ver Mensaje Individual
  #3  
Viejo 24/08/07, 05:14:43
Avatar de abapedro
abapedro abapedro is offline
Member
 
Fecha de Ingreso: mar 2007
Mensajes: 83
Smile Field-exit para campo "Z"

Hola,

Primero creo que conviene aclarar conceptos.

En el diccionario ABAP se definen tipos particulares de datos mediante el concepto de "elemento de datos".

Por ejemplo, si quisiera definir un campo que solamente alojará valores numericos entre 0 y 100, puedo crear un elemento de datos y llamarlo "Z0A100". El elemento se definiría como de tipo "entero" de longitud 3 e incluso se puede restringir a un dominio de valores (000 a 100).

A partir del elemento puedo definir campos en tablas (o en estructuras, o en programas, etc), definiendo el campo como del elemento de datos previamente definido.

Un "field-exit" es una rútina de validación que se conecta DIRECTAMENTE AL ELEMENTO DE DATOS (no al campo) y que se ejecuta cuando un campo de pantalla (de un dynpro) que esté definido a partir de ese elemento recibe un valor (sea nuevo o sea modificación de un valor previo).

Los field-exit tienen varias "trampas":

1. Solo se ejecutan si el campo recibe dato
2. Reciben como única entrada el valor del campo y producen como única posible salida el valor del campo
3. No se pueden ejecutar paso a paso (debug)
4. Solamente pueden generar mensajes de error (no permiten mensajes de advertencia o de confirmación)
5. Si no se especifica un programa y un dynpro en particular, el field-exit opera en TODOS los dynpros que empleen campos definidos a partir del elemento de datos correspondiente

El dominio de un elemento de datos es un primer nivel de validación pues puede restringir los valores admisibles.

El field-exit se emplea para realizar validaciones mas refinadas.

En el caso presente estimo que es suficiente con crear un dominio entero con valores límites 0 y 100 y definir el elemento de datos con ese dominio. Por último, los campos "Z" se definen sobre el elemento de datos.

Espero que esta explicación le sea útil.
Responder Con Cita