Mismo campo con 2 y 6 decimales en ALV

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • poketina
    Senior Member
    • jul
    • 105

    #1

    Mismo campo con 2 y 6 decimales en ALV

    Hola, me piden que haga lo siguiente: obtengo unos datos del sistema, si un campo en concreto, por ej A, cumple que tiene valor 'X' entonces al visualizar el ALV otro campo, por ej B, saldrá con 6 decimales. En el caso de que el campo A esté vacío, el campo B sólo mostrará 2 decimales.
    Esto se puede hacer de alguna forma ?

    Gracias !!

    un saludo,

    Maria
  • kibo
    Senior Member
    • may
    • 177

    #2
    Si, debes poner un IF cuando armas el fieldcat para determinar si mostras un campo con 6 decimales o uno de 2
    http://diariotitular.com/contacto/

    Comentario

    • poketina
      Senior Member
      • jul
      • 105

      #3
      Pero si yo tengo todos mis datos en una tabla interna, en unos casos es de 6 decimales y en otros de 2, cómo puedo hacer para controlar eso al montar el catálogo ??

      Comentario

      • kibo
        Senior Member
        • may
        • 177

        #4
        Tenes dos opciones, lo ideal seria que utilices lo que te proporciona el std. En el fieldcat tenes dos campos " decimalsfieldnam" y "decimals_out"... realmente nunca los use pero entiendo que sirve para darle formato a los campos con decimales.

        Y la otro opcion mas facil, es tener en la tabla interna dos campos uno que tenga los valores con 2 decimales y otro con 6 y con el IF en el fieldcat decidis si mostras uno u otro.
        http://diariotitular.com/contacto/

        Comentario

        • poketina
          Senior Member
          • jul
          • 105

          #5
          Tengo hecho eso, 2 campos en la tabla iterna, uno con 6 decimales y otro con 2 decimales, pero no sabía que al montar el catalogo pudiera controlarlo....

          Comentario

          • poketina
            Senior Member
            • jul
            • 105

            #6
            bueno, ahora parece que tienen que salir todos con 6 decimales, mi variable de la tabla interna es type p decimals 6, el formato de la estructura que se le pasa a CALL METHOD grid1->set_table_for_first_display es también con 6 decimales.
            La primera vez me saca bien el valor, por ejemplo:
            6,152.000000 pero en cuanto modifico ese campo y pongo por ejemplo 6,500.000000, automáticamente SAP me cambia esa celda y me pone esto: 0.650000. Ahora ya sí que estoy perdida...

            Alguna idea ??

            Gracias !!

            Comentario

            Trabajando...