Skip to content

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

nmax, nmin - Numeric Extremum Functions

Other versions: 7.31 | 7.40 | 7.54

Syntax Forms

... nmax|nmin( val1 = arg1 val2 = arg2 [val3 = arg3] ... [val9 = arg9] ) ...


These functions return the value of the greatest or the least of the arguments passed. A minimum of two arguments, arg1 and arg2, and a maximum of nine arguments must be passed. Here, the optional input parameters val3 to val9 must be filled in ascending order without gaps. The arguments arg1 to arg9 are numeric expression positions.

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

  • In an arithmetic expression, the arguments of the function contribute to the calculation type of the entire expression and the function is calculated using the calculation type. If an argument itself is an arithmetic expression, its operands contribute to the entire calculation type and the argument is also calculated using this type.


  • The extremum functions cmax and cmin can be used to determine character-like extreme values.
  • When using two input parameters:
result =  nmax|nmin( val1 = arg1 val2 = arg2 )

the evaluation of the functions is equivalent to:

IF num1 >= num2 | num1 <= num2.
  result = num1.
  result = num2.
When using more than two input parameters, an equivalent control structure would be more complex.


Determines the lesser of two time stamps in packed numbers. Here, the initial value of the conditional operator COND is not regarded as the least value.

CONSTANTS max_ts TYPE timestamp VALUE 999999999999999. 

DATA: ts1 TYPE timestamp, 
      ts2 TYPE timestamp. 


DATA(min_ts) = nmin( val1 = COND timestamp( WHEN ts1 IS INITIAL 
                                           THEN max_ts ELSE ts1 ) 
                     val2 = COND timestamp( WHEN ts2 IS INITIAL 
                                           THEN max_ts ELSE ts2 ) ).

Executable Example

Extremum Functions nmax, nmin