Ansicht
Dokumentation

ABENDECIMAL_FLOATING_POINT_FIELD - DECIMAL FLOATING POINT FIELD

ABENDECIMAL_FLOATING_POINT_FIELD - DECIMAL FLOATING POINT FIELD

General Data in Customer Master   General Material Data  
This documentation is copyright by SAP AG.
SAP E-Book

Decimal Floating Point Numbers in ABAP Dictionary

In decimal floating point numbers, a maximum of 16 or 34 decimal places are returned exactly in the mantissa depending on the data type.

Handling in ABAP Dictionary

In ABAP Dictionary, the following data types are available for decimal floating numbers:

  • DF16_DEC, DF16_RAW, and DF16_SCL for 16-digit numbers.
  • DF34_DEC, DF34_RAW, and DF34_SCL for 34-digit numbers.

The following applies to these data types:

  • DF16_DEC and DF34_DEC

    In database fields of this type, decimal floating point numbers are stored as a packed number (format DEC). The length and the number of decimal places must be specified when defining a data type in ABAP Dictionary. Calculations (SELECT with appropriate SQL expressions or with the aggregate functions SUM and AVG, UPDATE with SET +, and -) can be performed on the database for this type. When there is a write to the database, the system implicitly rounds off to the number of decimal places and decimal overflows can occur.
  • DF16_RAW and DF34_RAW

    In database fields of this type, decimal floating point numbers are stored as binary (In RAW format). The length is set to 16 or 34 places. Values can be sorted, compared, and used in indices. For this type, no calculations can be executed on the database. Since it is an SAP-specific format, corresponding fields also cannot be edited in Native SQL statements using ADBC. The scaling is lost when writing to the database.
  • DF16_SCL and DF34_SCL

    Data type for decimal floating point numbers with scaling. In database fields of this type, decimal floating point numbers are stored in the same way as DF16_RAW or DF34_RAW (length 16 or 34 places, and the same restrictions apply). The scaling must be specified in a direct successor database field with type INT2. When a decimal floating point number is written, this field is automatically filled with the scaling and during reading, the scaling is automatically taken from it.

Handling in Dynpros

In a domain, or directly in a structure component created using one of the types for decimal floating numbers, one of the following output styles is always defined. The output style determines how a decimal floating point number is displayed on the screen of a dynpro.

  • Simple - default, mathematical or scientific notation (depending on space)
  • Sign on the right - commercial notation
  • Scaling-preserving - Format with preservation of scaling, including trailing zeros after the decimal place
  • Scientific - Scientific notation
  • Scientific with leading zero - Scientific notation with a 0 before the decimal point.
  • Scaling-preserving scientific - Scientific notation including trailing zeros in the mantissa.
  • Technical - Scientific notation whereby the exponent is always an integer and a multiple of 3.

For dynpro fields whose data type is not defined in ABAP Dictionary, the output style can also be determined in Screen Painter.

Handling in ABAP Programs

The ABAP types which correspond to the 16 or 34 figure decimal floating numbers in ABAP Dictionary are decfloat16 and decfloat34, which are handled internally according to the IEEE-754-2008 standard, and are supported by all ABAP operations. In arithmetic SQL expressions, decimal floating point numbers are not supported.

The STYLE addition after WRITE [TO] and the STYLE formatting option in embedded expressions are available for the formatting of decimal floating numbers in programs. These overwrite the output style defined in ABAP Dictionary.






Vendor Master (General Section)   General Data in Customer Master  
This documentation is copyright by SAP AG.

Length: 5427 Date: 20240425 Time: 231743     sap01-206 ( 89 ms )