ABAP Keyword Documentation → ABAP - Reference → Declarative statemnts → Data Types and Data Objects → Declaring Data Objects
STATICS
Other versions: 7.31 | 7.40 | 7.54
Syntax
STATICS stat [options].
Effect
Declaration of static variables stat
. The statement STATICS
for declaring static variables can only be used in
subroutines,
function modules, and static methods.
The naming conventions apply to the stat
name. The syntax for the additions options
is used for declaring normal variables
as with the statement DATA
. Only
the additions READ-ONLY
and BOXED
, and the declaration of
LOB handle structures are not possible.
As with normal local variables, one with STATICS
declared variables can only be viewed in its
procedure. The life of a
variable with STATICS
declared variables corresponds to the same one of a global data object. The variable is generated once when loading the
framework program in the internal mode, and the contents set to the
start value of the VALUE
addition. Calling and ending the procedure have no effect on the life and content.
Note
In instance methods, the statement STATICS
is not allowed. Instead, you can use
static attributes
of the class, declared with CLASS-DATA
.
Example
The subroutine add_one
gets the same result for the variable local
for each call as this is instanced again each time. The static variable static
is already available and its value increased by 1 during each call.
DO 10 TIMES.
PERFORM add_one.
ENDDO.
FORM add_one.
DATA local TYPE i VALUE 10.
STATICS static TYPE i VALUE 10.
local = local + 1.
static = static + 1.
WRITE: / local, static.
ENDFORM.