Ir al contenido
Programación ABAP

ROUND

Redondea un número a los decimales indicados, hacia arriba, hacia abajo o comercialmente.

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

Alternativa moderna. Usa la función integrada round( val = … dec = … mode = … ).

Para qué sirve

ROUND redondea un valor numérico a un número de decimales. El parámetro SIGN indica el tipo de redondeo: '+' hacia arriba, '-' hacia abajo y 'X' redondeo comercial.

En ABAP moderno existe la función integrada round( ), con varios modos de redondeo, y no hace falta llamar a ningún módulo.

Parámetros

Importing

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

ParámetroTipoDescripción
DECIMALS—Decimales a los que se redondea.
INPUTObligatorio—Valor que se redondea.
SIGN—'+' arriba, '-' abajo, 'X' comercial.

Exporting

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

ParámetroTipoDescripción
OUTPUT—Valor redondeado.

Excepciones

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

ExcepciónCuándo se produce
INPUT_INVALDValor de entrada no válido (así, con esa ortografía).
OVERFLOWDesbordamiento.
TYPE_INVALIDTipo de dato no admitido.

Ejemplo

ABAP
DATA lv_valor TYPE p DECIMALS 2.

CALL FUNCTION 'ROUND'
  EXPORTING
    decimals      = 0
    input         = '1234.56'
    sign          = '+'
  IMPORTING
    output        = lv_valor
  EXCEPTIONS
    input_invald  = 1
    overflow      = 2
    type_invalid  = 3
    OTHERS        = 4.
" lv_valor = 1235.00

Hoy lo harías así: round( )

Ahora
DATA(lv_arriba)    = round( val = '1234.56' dec = 0 mode = cl_abap_math=>round_up ).
DATA(lv_abajo)     = round( val = '1234.56' dec = 0 mode = cl_abap_math=>round_down ).
DATA(lv_comercial) = round( val = '1234.56' dec = 1 ).

Errores y excepciones habituales

  • INPUT_INVALD: la excepción se escribe así en el sistema (sin la I).

Relacionadas

Funciones relacionadas

CONVERT_TO_FRACTIONQF05_RANDOM_INTEGER

Más en Varios

CONVERSION_EXIT_ALPHA_OUTPUTCONVERSION_EXIT_ALPHA_INPUTCLAF_CLASSIFICATION_OF_OBJECTSCLOI_PUT_SIGN_IN_FRONTENQUE_SLEEPENQUEUE_READF4_DXFILENAME_TOPRECURSIONMM_ADDRESS_GETSAPGUI_PROGRESS_INDICATORSPELL_AMOUNTSXPG_COMMAND_EXECUTETH_DELETE_USER

Transacciones y tablas

SE37

En abap.es

¿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