|
#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 |
#2
|
||||
|
||||
Si, debes poner un IF cuando armas el fieldcat para determinar si mostras un campo con 6 decimales o uno de 2
|
#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 ??
|
#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. |
#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....
|
#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 !! |
Herramientas | Buscar en Tema |
Desplegado | |
|
|