SAP NetWeaver AS ABAP Release 751, ©Copyright 2017 SAP AG. All rights reserved.
ABAP - Keyword Documentation → ABAP - Reference → Predefined Types, Data Objects, Functions, and Constructors → Predefined Data Types → Predefined ABAP Types →Predefined Numeric Types
The data objects of the numeric data types are used to handle number values.
Properties
Type | Length | Default Length | Name |
b | 1 byte | 1-byte integer (internal) | |
s | 2 byte | 2-byte integer (internal) | |
i | 4 byte | 4-byte integer | |
int8 | 8 byte | 8-byte integer | |
p | 1 to 16 bytes | 8 byte | Packed number |
decfloat16 | 8 byte | Decimal floating point number with 16 places | |
decfloat34 | 16 byte | Decimal floating point number with 34 places | |
f | 8 byte | Binary floating point number with 17 places |
Value Ranges and Initial Values
Type | Value Range | Initial Value |
b | 0 to 255 | 0 |
s | -32,768 to +32,767 | 0 |
i | -2,147,483,648 to +2,147,483,647 | 0 |
int8 | -9,223,372,036,854,775,808 to +9,223,372,036,854,775,807 | 0 |
p | The valid length for packed numbers is between 1 and 16 bytes. Two places are packed into one byte, where the last byte only contains one place and the sign (the number of places or digits is calculated from 2 * len1). After the decimal separator, up to 14 decimal places are permitted (as long as the number of decimal places does not exceed the number of places). Depending on the field length len and the number of decimal places dec, the following applies to the value range: (-10^(2len-1) +1) / (10^(+dec)) to (+10^(2len-1) -1) /(10^(+dec)) in increments of 10^(-dec). Any intermediate values are rounded (decimal). Invalid content produces undefined behavior. | 0 |
decfloat16 | Decimal floating point numbers of this type are represented internally with 16 places in accordance with the IEEE-754-2008 standard. Valid values are numbers between 1E385(1E-16 - 1) and -1E-383 for the negative range, 0 and +1E-383 to 1E385(1 - 1E-16) for the positive range. Values lying between the ranges form the subnormal range and are rounded. Outside of the subnormal range, each 16-digit decimal number can be represented precisely with a decimal floating point number of this type | 0 |
decfloat34 | Decimal floating point numbers of this type are represented internally with 34 places in accordance with the IEEE-754-2008 standard. Valid values are numbers between 1E6145(1E-34 - 1) and -1E-6143 for the negative range, 0 and +1E-6143 and 1E6145(1 - 1E-34) for the positive range. Values lying between the ranges form the subnormal range and are rounded. Outside of the subnormal range, each 34-digit decimal number can be represented precisely using a decimal floating point number like this. | 0 |
f | Binary floating point numbers are represented internally in accordance with the IEEE-754 standard (double precision). In ABAP, 17 places are represented (one integer digit and 16 decimal places). Valid values are numbers between -1.7976931348623157E+308 and -2.2250738585072014E-308 for the negative range and between +2.2250738585072014E-308 and +1.7976931348623157E+308 for the positive range, plus 0. Both validity intervals are extended in the direction of zero using subnormal numbers in accordance with the IEEE-754 standard. | 0 |
Programming Guideline
Notes
Example
Declares variables with built-in numeric ABAP types for a numeric calculation.
DATA: num1 TYPE i,
num2 TYPE i,
result TYPE decfloat34.
...
result = num1 / num2.
Executable Example
Value Ranges of Packed Numbers