Ir al contenido
Programación ABAP

CONVERT_TO_FOREIGN_CURRENCY

Convierte un importe en moneda local a una moneda extranjera 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_FOREIGN_CURRENCY es la inversa de CONVERT_TO_LOCAL_CURRENCY: a partir de un importe en moneda local calcula el importe en moneda extranjera con el tipo de cambio de la TCURR vigente en la fecha.

Usa por defecto la clase de cotización 'M'. Devuelve también el tipo de cambio aplicado y los factores.

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_CURRENCYObligatorioTCURC-WAERSMoneda extranjera.
LOCAL_AMOUNTObligatorio—Importe en moneda local.
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_AMOUNT—Importe en moneda extranjera.
FOREIGN_FACTOR—Factor de la moneda extranjera.
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_usd TYPE p DECIMALS 2.

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

Errores y excepciones habituales

  • NO_RATE_FOUND: falta la cotización en la OB08 para esa fecha y clase de cotización.

Relacionadas

Funciones relacionadas

CONVERT_TO_LOCAL_CURRENCY

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