Ansicht
Dokumentation

ABENLOGEXP_NUMERIC - LOGEXP NUMERIC

ABENLOGEXP_NUMERIC - LOGEXP NUMERIC

ABAP Short Reference   Vendor Master (General Section)  
This documentation is copyright by SAP AG.
SAP E-Book

- Comparison Type of Numeric Data Objects

The following tables show the comparison types for comparisons between numeric data types and other data types. If the type of an operand is not the same as the comparison type, it is converted to this type. The comparison rules for the comparison types determine how the comparison is executed.

Note

If a decimal floating point number is involved in a comparison, the comparison always takes place with the type decfloat34.

Comparisons with Numeric Data Types

- decfloat16, decfloat34 f p int8 i s b
decfloat16, decfloat34 decfloat34 decfloat34 decfloat34 decfloat34 decfloat34 decfloat34 decfloat34
f decfloat34 f f f f f f
p decfloat34 f p p p p p
int8 decfloat34 f p int8 int8 int8 int8
i decfloat34 f p int8 i i i
s decfloat34 f p int8 i s s
b decfloat34 f p int8 i s b

Value Ranges and Length Adjustments

  • When two operands with data type p are compared, numbers with more than 31 places are used internally to ensure that there is no overflow.
  • When two operands with data type p but with different lengths are compared, the shorter operand is converted to the greater length.

  • When two operands with data type p but with different numbers of decimal places are compared, the operand with fewer decimal places is converted to a number with the same number of decimal places as the other operand.

  • When an operand with type p is compared with an operand with type int8, i, s, or b, the comparison type p has 31 places and the number of decimal places of the operand of type p.
  • If the value of an operand of type int8 does not match the value range of a comparison type p, the exception is caught internally, and the comparison delivers the correct result.

Example

The result of this example is a surprise at first, but is caused by the fact that the value 0.15 cannot be represented exactly as a binary floating point number.

Comparisons with Character-Like Data Types

- decfloat16, decfloat34 f p int8 i, s, b
string, c, n decfloat34 f p int8 i

Example

Both comparisons are true. Whereas the comparison type of the first comparison is character-like and different strings do not match, the comparison type of the second comparison, on the other hand, is numeric due to the numeric literal -1. The string 1- contains a number in commercial notation, which is converted to an integer number with the value -1.

Comparisons with Byte-Like Data Types

- decfloat16, decfloat34 f p int8 i, s, b
xstring, x decfloat34 f p int8 i

Note

In conversions of byte-like data types to any numeric type except int8, it should be noted that only the last four bytes are respected. In the case of int8, the last 8 bytes are respected.

Example

The comparison is true for all valid integer numbers of the type i. In the comparison, the byte string created from a number is converted into the original number.

Comparisons with Date Types, Time Types, or Time Stamp Types

- decfloat16, decfloat34 f p int8 i, s, b
d, t decfloat34 f p int8 i
utclong - - - - -

Example

A valid time specification in sy-timlo is converted to the number of seconds since midnight in the comparisons. This number is compared with the number of seconds that corresponds to noon.






ROGBILLS - Synchronize billing plans   ABAP Short Reference  
This documentation is copyright by SAP AG.

Length: 9606 Date: 20240424 Time: 042131     sap01-206 ( 92 ms )