Dar formato a los datos en la ALV

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • andresf02
    Senior Member
    • nov
    • 190

    #1

    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
    Senior Member
    • nov
    • 142

    #2
    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.
    Editado por última vez por melerogalan; 31/05/2010, 11:51:00.
    Cada vez que un programador hace una hora extra, Dios mata a un gatito...tenlo en cuenta

    Comentario

    • andresf02
      Senior Member
      • nov
      • 190

      #3
      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

      Comentario

      • andresf02
        Senior Member
        • nov
        • 190

        #4
        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

        Comentario

        • melerogalan
          Senior Member
          • nov
          • 142

          #5
          Gracias por reponderte.

          Saludos.
          Cada vez que un programador hace una hora extra, Dios mata a un gatito...tenlo en cuenta

          Comentario

          Trabajando...