MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Ayuda para validar campo Z (foro/showthread.php?t=7190)

Carlos Valero 21/08/07 18:29:45

Ayuda para validar campo Z
 
Hola a todos, a ver si me pueden ayudar con este tema:

En una tabla estandar de SAP (ESSR) se tuvo la necesidad de agregar dos campos adicionales de avance porcentual (campos Z), mismos que se agregaron mediante un include. Ahora se necesita validar que esos campos que son de tipo entero de tres digitos se validen para que no se capturen valores mayores a 100. Me han dicho que eso se hace mediante un field exit, de lo cual no tengo ni la menor idea de como funcione. Ojala me puedan orientar sobre como implementar un field exit para este caso o si existe alguna otra solucion para este caso, salugos y gracias por su ayuda.

miguelig 22/08/07 16:47:57

PARA VERSIONES POSTERIORES A LA 4.6B, EJECUTAR EL REPORT RSMODPRF

create la funcion
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 pantalla.

Cuando creas el primera field exit, ésta es a nivel global, es decir actuaría sobre cualquier campo que esté definido con el elemento de datos sobre el que has creado la field exit.


Si lo que se pretende es que la field exit sólo actue a nivel de determinados dynpro, se ha de seleccionar la field exit, y seleccionar Asignar prog/dynpro, entonces aparecerá una ventana en la que te pedirá un nº de función y el programa / dynpro sobre el que quieres que actue la field exit. Si se declara alguna field exit a nivel de dynpro, no funcionará la field exit a nivel global.

Cuando ya se ha haya definido la field exit, se debe activar para que funcione

espero q te sirva

abapedro 24/08/07 05:14:43

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.

Danielecc 15/12/08 17:55:24

cool
 
Abapedro, creo que esa es la mejor explicacion que he leido de Field-Exit.

Tienes alguna igual para User Exit :D ?

saludos...

damlaplata 21/11/11 14:43:19

Copado
 
Si la explicacion es excelente..
Idem a a Danielecc..otra para User Exit?
Por lo que entendi, puedo usar el fiel-exit para validar elementos de datos..y tengo que especificar algunas cosas....pero existen funciones predeterminadas de abap para validar campos numericos o campos caracteres?...y reutilizarlas en mis reportes de alguna manera..en vez de hacer uso de las field-exit(esta nunca la he usado..pero se ve mas compleja).
Por ejemplo si tengo un campo string y tendria que validar solo letras..puedo hacer una funcion que recorra el string y vaya comparando(aunque esto ya es un cliche en la programacion hacerlo); creeria que abap o sap tienen estas funciones o algo por estilo que permita hacerlo.
Alguien sabe que se puede hacer esto? O me estoy haciendo ilusiones?


Husos Horarios son GMT. La hora en este momento es 09:35:11.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web