What does it do? Built-in> floating point function for which a floating point number> is expected as an unnamed argument. Floating point functions are overloaded so that the return value can have the type decfloat34> or f >. Decimal floating point numbers> can only be used as arguments of exp>, log>, log10> , and sqrt>. The argument of a floating point function must be a single data object outside an arithmetic expression and can be an arithmetic expression itself within an arithmetic expression. The following table shows the floating point function and how it works. Function <(>num_func<)>>Meaning>Definition Range> ABAP_KEY acos>arccosine[-1,1], no decfloat34> ABAP_KEY asin>arcsine[-1,1], no decfloat34> ABAP_KEY atan>arctangent-, no decfloat34> ABAP_KEY cos>cosine -, no decfloat34> ABAP_KEY sin>sine -, no decfloat34> ABAP_KEY tan>tangent -, no decfloat34> ABAP_KEY cosh>hyperbolic cosine -, no decfloat34> ABAP_KEY sinh>hyperbolic sine -, no decfloat34> ABAP_KEY tanh>hyperbolic tangent -, no decfloat34> ABAP_KEY exp>Exponential function for base e[-709, 709] for type f> and [-14144, 14149] for type decfloat34> ABAP_KEY log>Natural logarithm> 0 ABAP_KEY log10>Logarithm to base 10> 0 ABAP_KEY sqrt>Square root>= 0 Functions for which no decfloat34> is specified cannot currently have the calculation type> decfloat34>. If one of these functions is specified in an expression with this calculation type, a syntax error occurs or the exception CX_SY_UNSUPPORTED_FUNCTION> is raised. The following applies to the floating point arithmetic> in which a floating point function is calculated, and to the data type of the return value:
If the argument has the type decfloat16> or decfloat34>, a floating point function is calculated in decimal floating point arithmetic and the return value has the type decfloat34>.
If a floating point function is used in an arithmetic expression> whose calculation type> is decfloat34 >, or that contains a numeric expression> of type decfloat34> as an argument, it also calculates a return value with the type decfloat34> and the argument is first converted to the data type decfloat34>, if necessary.
In all other cases, floating point functions use binary floating point arithmetic to calculate a return value with type f> and the argument is first converted to the data type f>, if necessary. Functions with a definition range require the value of arg> to be within the specified limits. Arguments within the definition ranges are guaranteed to be error-free for the exponential function exp>, since the results are then within the value ranges> for binary> or decimal> floating point numbers> in accordance with IEEE-754. For arguments less than -709, the result for binary floating point numbers is a subnormal number, 0, depending on the platform, or a catchable exception of the class CX_SY_ARITHMETIC_OVERFLOW> is raised from a specific value. The trigonometric functions sin>, cos>, and tan> are defined for any arguments, but the results become imprecise if the argument is greater than approximately 100,000,000.
Latest notes:
The atan> function is undefined for odd multiples of pi/2>, but the definition range of atan> is not restricted since an argument of this function can never contain the precise value of pi/2>. NON_V5_HINTS
The functions listed here are some of the functions that can be used in the obsolete extended functional operand positions> if their argument is a single data object. ABAP_HINT_END
ABAP_EXAMPLE_VX5 The results in the internal table should all have the value 1 or be very close to this value. ABEXA 01031 ABAP_EXAMPLE_END