Ir al contenido
Programación ABAP

CONVERT_TO_LOCAL_CURRENCY

Convierte un importe en moneda extranjera a la moneda local con el tipo de cambio de una fecha.

Módulo de funciónConversión de moneda
Transacción
SE37
Grupo
Conversión de moneda
Actualizado
21 de octubre de 2026

Para qué sirve

CONVERT_TO_LOCAL_CURRENCY calcula el importe en moneda local a partir de un importe en moneda extranjera, usando el tipo de cambio de la tabla TCURR vigente en la fecha indicada. Por defecto usa la clase de cotización 'M' (tipo medio).

También devuelve el tipo de cambio y los factores aplicados, útiles para mostrar cómo se ha hecho el cálculo. La función inversa es CONVERT_TO_FOREIGN_CURRENCY.

Parámetros

Esta función tiene muchos parámetros; aquí están los más usados. La lista completa se ve en la transacción SE37.

Importing

Lo que recibe la función. En CALL FUNCTION se pasan tras EXPORTING.

ParámetroTipoDescripción
DATEObligatorioSY-DATUMFecha del tipo de cambio.
FOREIGN_AMOUNTObligatorio—Importe en moneda extranjera.
FOREIGN_CURRENCYObligatorioTCURC-WAERSMoneda extranjera.
LOCAL_CURRENCYObligatorioTCURC-WAERSMoneda local.
RATE—Tipo de cambio fijo; 0 = leer de la TCURR.Por defecto: 0
TYPE_OF_RATETCURR-KURSTClase de cotización.Por defecto: 'M'

Exporting

Lo que devuelve. En CALL FUNCTION se recogen tras IMPORTING.

ParámetroTipoDescripción
EXCHANGE_RATE—Tipo de cambio aplicado.
FOREIGN_FACTOR—Factor de la moneda extranjera.
LOCAL_AMOUNT—Importe en moneda local.
LOCAL_FACTOR—Factor de la moneda local.

Excepciones

Errores que devuelve en sy-subrc, en el bloque EXCEPTIONS.

ExcepciónCuándo se produce
NO_RATE_FOUNDNo hay tipo de cambio para esa fecha.
OVERFLOWDesbordamiento.
NO_FACTORS_FOUNDNo hay factores de conversión.
NO_SPREAD_FOUNDNo hay diferencial.
DERIVED_2_TIMESTipo derivado dos veces.

Ejemplo

ABAP
DATA lv_eur TYPE p DECIMALS 2.

CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
  EXPORTING
    date             = sy-datum
    foreign_amount   = '1000.00'
    foreign_currency = 'USD'
    local_currency   = 'EUR'
    type_of_rate     = 'M'
  IMPORTING
    local_amount     = lv_eur
  EXCEPTIONS
    no_rate_found    = 1
    overflow         = 2
    no_factors_found = 3
    OTHERS           = 4.

Errores y excepciones habituales

  • NO_RATE_FOUND: no hay cotización en la TCURR para esa pareja de monedas y clase de cotización con fecha anterior o igual a DATE (mantenla en la OB08).
  • Importe multiplicado por 100: las monedas sin decimales (JPY) se guardan desplazadas; usa siempre campos de tipo moneda con su referencia.

Relacionadas

Funciones relacionadas

CONVERT_TO_FOREIGN_CURRENCYFI_PERIOD_CHECK

Transacciones y tablas

OB08SE37TCURRTCURFTCURC

¿Dudas con esta función?

Pregunta en el foro de abap.es: la comunidad lleva años resolviendo dudas de ABAP en español.

Preguntar en el foro

Actualizado: 21 de octubre de 2026