Ver Mensaje Individual
  #3  
Viejo 31/08/11, 11:58:59
daniel1050 daniel1050 is offline
Member
 
Fecha de Ingreso: oct 2010
Mensajes: 58


Seguramente lo mas posible es como te dijo jtristan, que tenga que ver con el formato de separacion de decimales que estas utilizando.

Fijate de convertir si queres cada nro al formato correcto antes de hacer la cuenta.

tendrias que hacer algo asi como te pongo en el ejemplo de abajo, aplicandolo para ambas variables la del 10.000 y la del 1.13 .


La idea es primero fijarse en que formato estas trabajando , luego convertir las variables que contienen los nros a su formato y por ultimo realizar la operacion.

DATA: v_importe_actual TYPE bseg-wrbtr.


*Obtengo el formato decimal del sistema en la variable FORMATO_DEC
SELECT SINGLE dcpfm
INTO formato_dec
FROM usr01
WHERE bname = sy-uname.

DATA: v_separador_decimal TYPE c.
DATA: v_separador_miles TYPE c.

CASE formato_dec.
WHEN ' '. " Coma decimal.
v_separador_decimal = ','.
v_separador_miles = '.'.
WHEN 'X'.
v_separador_decimal = '.'.
v_separador_miles = ','.
WHEN 'Y'.
v_separador_decimal = ','.
v_separador_miles = ' '.
ENDCASE.

CLEAR v_importe_actual.

* En esta funcion convertis el importe al formato correcto
CALL FUNCTION 'HRCM_STRING_TO_AMOUNT_CONVERT'
EXPORTING
string = t_input-wrbtr
decimal_separator = v_separador_decimal
thousands_separator = v_separador_miles
waers = 'INR'
IMPORTING
betrg = v_importe_actual
EXCEPTIONS
convert_error = 1
OTHERS = 2.
Responder Con Cita