ABAP Keyword Documentation → ABAP − Reference → Declarations → Declaration Statements → Data Types and Data Objects → Declaring Data Objects
CONSTANTS
Other versions: 7.31 | 7.40 | 7.54
Syntax
CONSTANTS const [options].
Effect
This statement declares a constant data object, const
for short. The content of a constant cannot be changed at runtime of an ABAP program. It can only be used as an operand in
reader positions of ABAP statements. Constants declared in the declaration part of a class or an interface are
static attributes of that class or interface.
The naming conventions apply to the name
const. The syntax of the additions options
of the statement
CONSTANTS statement for declaring constants matches the statement
DATA for declaring variables. Only the additions
READ-ONLY and BOXED
plus declarations of LOB handle structures are not possible. The statement INCLUDE
cannot be used within the declaration of a structure.
Unlike the statement DATA
, an
initial value with the
addition VALUE
must be specified
when using the statement CONSTANTS
. The same restrictions as for DATA
apply. This has the following implications for the declaration of constants with
deep data types:
-
A start value
val
can be specified for the ABAP typesstring
andxstring
only. -
Constant internal tables, reference variables, and structures with components that are not just character-like and flat can be assigned their
initial value by
IS INITIAL
only, and are therefore always initial.
Notes
-
If the class component selector is used, the interface name can also be used to access static attributes of interfaces declared using
CONSTANTS
. -
Constants are stored in the PXA and are available to all programs.
Example
The statements below declare a numeric constant, a constant structure, and a constant reference. The reference can be used in comparisons, for example, or passed to procedures.
CONSTANTS pi TYPE p LENGTH 8 DECIMALS 14
VALUE '3.14159265358979'.
CONSTANTS: BEGIN OF sap_ag,
zip_code TYPE n LENGTH 5 VALUE '69189',
city TYPE string VALUE `Walldorf`,
country TYPE string VALUE `Germany`,
END OF sap_ag.
CONSTANTS null_pointer TYPE REF TO object VALUE IS INITIAL.