ABAP Keyword Documentation → ABAP - Reference → Processing Internal Data → Character String and Byte String Processing → Statements for Character String and Byte String Processing → WRITE - TO
WRITE - Predefined Formats
The predefined output format of the statements WRITE
... TO and WRITE
depends
on the data type and user-specific settings. It is partly dependent on the length available. In WRITE ... TO
, this is the length of the target variable; in WRITE
this is the
output length. If the length is not sufficient, the variables are truncated as specified in the predefined
cutoff behavior.
Other versions: 7.31 | 7.40 | 7.54
Orientation
The following table shows the predefined alignment for the predefined ABAP types.
Data Type | Orientation |
---|---|
Numeric Data Types | Right-aligned |
Character-like data types | Left-aligned |
Byte-like data types | Left-aligned |
General Format
Numeric Data Types
- In the numerical data types (
b
,s
), i andp
, the last position on the right is reserved for the plus/minus sign (this also applies tob
, even though these numbers are always positive). Negative values are given a minus "-" here in the result and positive values a blank. The thousand separators defined in the user master record are inserted if there is enough length available.
- If enough length is available, decimal floating point numbers with the data types
decfloat16
anddecfloat34
are displayed in mathematical notation and with the thousand separtors defined in the user master data. If there is not enough length for the fractional portion of the number, it is rounded commercially to the number of positions available. If there is not enough length for the whole part of the number, the value is formatted in scientific notation without thousand separators. Negative numbers are prefixed with a minus sign in both cases. An exponent is always displayed with a sign, but with no leading zeros. Trailing zeros in the fractional portion are not shown.
- A binary floating point number with the type
f
is formatted in scientific notation, prefixed with a sign (empty if the number is positive), a position before the decimal separator, a maximum of 16 decimal places, the character "E", and a three-figure exponent, including sign.
Notes
- If there is not enough space to display a number using these rules, an exception is raised for decimal floating point numbers only. Other numerical types are truncated and flagged with "*".
- Note for data types
b
ands
that the predefined output lengths for lists ignore the place that is reserved for the sign. This can lead to unexpected effects.
- For information about the number format with regards to decimal and thousands separators, see below.
Character-like data types
Data objects with character-like data types are formatted in accordance with the code page. For information about character-like date fields and time fields, see below.
Byte-Like Data Types
Byte-like data objects are formatted in hexadecimal format, where one byte is represented by two characters.
Number, Date, and Time Formats
With one exception, numbers, date formats, and time formats are defined by the current
formatting setting of the
language environment,
which can be configured using SET COUNTRY
.
Number Output
The predefind number format for the output of numerical fields (which decimal and thousands separators are selected) is defined by the current formatting setting. The formats available correspond to the country-specific number formats. Thousands separators are inserted only if there is enough length available.
Date Output
The predefined date format for the output of character-like date fields of type d
and time stamps is defined by the current
formatting setting. The formats available correspond to the
country-specific date formats. Separators are inserted only if there is enough length available. A character-like date field is formatted regardless of its content.
Time Output
Character-like time fields of type t
and times specified in time stamps are
by default always displayed in 24-hour format with colons as separators. Separators are inserted only
if there is enough length available. To use a 12-hour format defined in the current formatting settings,
you must use the addition ENVIRONMENT TIME FORMAT
. A character-like time field is formatted regardless of its content.
Time Stamp Output
The output of time stamps for which the addition
TIME ZONE
is specified is constructed from a date output and a time output in the current format, separated by a blank. The 12-hour
time format is not possible and the decimal separator for fractions of seconds is always a comma (,
).
Example