#1
|
|||
|
|||
Problema con conversión de tipos
Hola a todos,
tengo un problema con el campo stko-base_quan. Cuando lo utilizo en abap sucede que si, por ejemplo, tiene un valor 1.345 al usarlo en abap el punto de los miles lo toma como el separador de decimales. El camplo es un quan(13, 3), lo podéis ver en la misma tabla. ¿Cómo puedo conseguir que me lo coja como un separador de miles y no de decimales? Gracias de antemano. Saludos. |
#2
|
||||
|
||||
He...creo que te estas equivocando....
Una cosa es como se muestra la información ( la ',' o '.' como separador decimal se configura en el perfil del usuario ) y otra es la representación interna de los datos, donde SIEMPRE es el '.' separador decimal y no hay mas. Otra cosa es que pintes la variable en una variable de carcteres WRITE <VAR_NUMERICA> TO <VAR_CARACTERES> UNIT <CAMPO_QUAN>. Y luego uses el TRASLATE <VAR_CARACTERES> USING ',.' . Lo mismo al revés, si tienes '1000,98' porque tu usuario tiene la coma como decimal , pues TRASLATE <VAR> USIGN ',.' para que lo convierta en '1000.98' y eso a la variable numerica. |
#3
|
|||
|
|||
Problema con conversión de tipos
Crounly,
el problema que tengo no es a la hora de pintar la variable sino cuando opero con ella. Concretamente tengo lo siguiente: mat-unidad = ( t_stpo-comp_qty / t_stko-base_quan ) * t_stko-kausfb. Cuando estoy depurando el programa el contenido de los campos es el siguiente: t_stpo-comp_qty = 7,220 t_stko-base_quan = 100 t_stko-kausfb = 77.66 Los campos t_stpo-comp_qty y t_stko-base_quan son de tipo quan(13, 3) y el t_stko-kausfb es de tipo decimal (5, 3). El dump que me da cuando intento hacer la operación es: CX_SY_CONVERSION_NO_NUMBER "The program attempted to interpret the value " 7,220 " as a number, but since the value contravenes the rules for correct number formats, this was not possible." Si se te ocurre cualquier idea será bienvenida. Muchas gracias. |
#4
|
||||
|
||||
ese t_stpo-comp_qty = 7,220, seguro que es una variable de caracter
Y la coma, te aparece por el perfil de usuario ( SU01 -> pestaña valores fijos ) Tendras que hacer un TRALATE t_stpo-comp_qty USING ',.' para sustituir la coma decimal por punto. Prueba y nos cuentas Suerte |
#5
|
|||
|
|||
Problema con conversión de tipos
Buenas,
pues al final lo he solucionado usando la función call function 'RS_CONV_EX_2_IN_NO_DD' exporting input_external = stko-base_quan importing output_internal = menge_cab exceptions error_message = 100 others = 200. donde menge_cab lo tengo declarado como: data: menge_cab type p decimals 3. Muchas gracias por la ayuda. Saludos. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|