MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 23/11/11, 08:21:00
davidr davidr is offline
Member
 
Fecha de Ingreso: ene 2007
Mensajes: 72
Question 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.
Responder Con Cita
  #2  
Viejo 23/11/11, 10:07:35
Avatar de crounly
crounly crounly is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Localización: Zaragoza, España
Mensajes: 227
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.
Responder Con Cita
  #3  
Viejo 23/11/11, 15:14:53
davidr davidr is offline
Member
 
Fecha de Ingreso: ene 2007
Mensajes: 72
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.
Responder Con Cita
  #4  
Viejo 23/11/11, 17:12:41
Avatar de crounly
crounly crounly is offline
Senior Member
 
Fecha de Ingreso: nov 2006
Localización: Zaragoza, España
Mensajes: 227
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
Responder Con Cita
  #5  
Viejo 24/11/11, 08:56:50
davidr davidr is offline
Member
 
Fecha de Ingreso: ene 2007
Mensajes: 72
Smile 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.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 23:18:34.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web