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 ? :confused: :confused: Gracias !! un saludo, Maria |
Si, debes poner un IF cuando armas el fieldcat para determinar si mostras un campo con 6 decimales o uno de 2
|
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 ??
|
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. |
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....
|
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 !! |
Husos Horarios son GMT. La hora en este momento es 13:45:07. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web