Ir al contenido
Programación ABAP

CONVERT_TO_FRACTION

Convierte un número decimal en una fracción con numerador y denominador.

Módulo de funciónVarios
Transacción
SE37
Grupo
Varios
Actualizado
21 de octubre de 2026

Para qué sirve

CONVERT_TO_FRACTION recibe un número decimal y devuelve un numerador y un denominador cuya división da ese número, por ejemplo 0,75 = 3/4. Se usa en conversiones de unidades.

Las conversiones entre unidades de medida de SAP (tabla T006) se guardan precisamente como numerador y denominador.

Parámetros

Firma por confirmar. Aquí figuran solo los datos que conocemos con seguridad. Antes de usarla, comprueba los parámetros exactos en la transacción SE37 de tu sistema.

Ejemplo

ABAP
" Sin función: fracción a partir de un decimal con 4 decimales
DATA: lv_valor TYPE p DECIMALS 4 VALUE '0.75',
      lv_num   TYPE i,
      lv_den   TYPE i VALUE 10000.

lv_num = lv_valor * lv_den.
" Simplificar con el máximo común divisor
DATA(lv_a) = lv_num.
DATA(lv_b) = lv_den.
WHILE lv_b <> 0.
  DATA(lv_r) = lv_a MOD lv_b.
  lv_a = lv_b.
  lv_b = lv_r.
ENDWHILE.
lv_num = lv_num / lv_a.     " 3
lv_den = lv_den / lv_a.     " 4

Errores y excepciones habituales

  • Fracciones periódicas: 0,3333 no da exactamente 1/3; limita la precisión.

Relacionadas

Funciones relacionadas

ROUNDMD_CONVERT_MATERIAL_UNIT

Más en Varios

CONVERSION_EXIT_ALPHA_OUTPUTCONVERSION_EXIT_ALPHA_INPUTCLAF_CLASSIFICATION_OF_OBJECTSCLOI_PUT_SIGN_IN_FRONTENQUE_SLEEPENQUEUE_READF4_DXFILENAME_TOPRECURSIONMM_ADDRESS_GETQF05_RANDOM_INTEGERSAPGUI_PROGRESS_INDICATORSPELL_AMOUNTSXPG_COMMAND_EXECUTE

Transacciones y tablas

SE37T006

¿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