MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Dar formato a los datos en la ALV (foro/showthread.php?t=37037)

andresf02 31/05/10 00:16:58

Dar formato a los datos en la ALV
 
Buenas noches.

Tengo un reporte con datos de tipo CHAR(30) y FLPT (punto flotante).

Cuando elguno de los valores tipo CHAR es vacio, en el ALV, el campo aparece vacio, pero cuando uno de los campos numericos es vacio, se muestra:
0.00000000000000E+0.

He visto en algunas transacciones que en el ALV es posible dar formato a los datos como por ejemplo que si el campo numerico es vacio no se muestre nada, o por ejemplo concatenar el valor numerico con una cadena que le describa el tipo de dato. Por ejemplo, si el valor en la tabla es 1.00000000000E+1, en el ALV se muestra:

"1.0 Semanas" (concatenan el valor punto flotante con una cadena).


Si alguien me puede indicar como se llama esto es abap o algun ejemplo, muchas gracias.

melerogalan 31/05/10 11:38:14

Hola amigo.

Hay muchas opciones en un ALV para dar salida.

En el Fieldcat existe varias opciones, quizas te interese:
NO_ZERO - Control LVA: Suprimir los ceros en la salida -> Marca el campo 'X' .

EDIT_MASK- Control LVA: Máscara edición para salida -> .

Busca la estructura del fieldcat(En ALV OO es LVC_S_FCAT) y veras los campos exsitentes.

Sigo mirando y he encontrado este campo "DECIMALS_O - Control LVA: Cantidad de decimales para salida" o "DECIMALS - Cantidad de decimales", no se que diferencia habra en ambos.

Respecto a crear "1.0 Semanas", lo mejor es concatenar lo que quieras en una variable tipo string y mostrar este campo en el ALV, modifica la FIELDCAT para mostrar el nombre de columna correcto y la longitud adecuda y listo.


Saludos.

andresf02 31/05/10 21:10:09

Buenas Tardes


Estuve revisando los atributos pero no he logrado que un valor FLTP, por ejemplo, 1.62000000000E+1 se me muestre como 1.60

Intente con el atributo INTTYPE pero seguia mostrandose igual con el exponente.


Por favor su ayuda

andresf02 31/05/10 21:30:14

ya lo solucioné,

Existe el atributo EXPONENT al cual se le pasa un valor entero:


Para no mostrar la E+, se le pasa el valor 0
para mostrar E+2 se le pasa el valor 2 y asi

melerogalan 01/06/10 09:13:02

Gracias por reponderte.

Saludos.:)


Husos Horarios son GMT. La hora en este momento es 04:56:52.

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