Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Processing Internal Data →  Numeric Calculations →  Numerical Functions 

abs, sign, ceil, floor, trunc, frac - Numerical Functions

The following table shows the general numerical functions for a single unnamed argument with any numerical data type. These functions are overloaded with the effect that the return value can have different numerical types.

Other versions: 7.31 | 7.40 | 7.54


... func( arg ) ...


The argument of a general numerical function must be an individual data object outside an arithmetic expression, and can itself be a numeric expression within an arithmetic expression.

Effect of the general numerical functions.

Function func Return Value
abs Absolute value of argument arg
sign Sign of argument arg: -1, if the value of argis negative; 0, if the value of arg is 0; 1, if the value of arg is positive
ceil Smallest integer that is not less than the value of the argument arg is
floor Largest integer that is not greater than the value of the argument arg is
trunc Value of the integer part of the argument arg
frac Value of the decimal places of the argument arg

The following applies with regard to the data type of the return value:

  • With the exception of an arithmetic expression, the data type of the argument determines the data type of the return value.
  • Within an arithmetic expression, the argument of the function contributes to the calculation type of the entire expression and the function is calculated using the calculation type. If the argument itself is an arithmetic expression, its operands contribute to the entire calculation type and the argument is also calculated with this type.

If the argument of a numerical function outside of an arithmetic expression has no numerical data type, i, p, decfloat16, decfloat34, or f its data type determines the type of return value as follows:

  • d and t give i
  • c, n and string give p
  • x and xstring givei

Before the calculation of the function, the argument is converted into the respective type..


The functions described here are some of the functions that can be used in the obsolete extended functional operand positions, even if their argument is a single data object.


For a demonstration of the numeric functions, see Numeric Functions.