Skip to content

ABAP Keyword Documentation →  ABAP - Reference →  Program Flow Logic →  Expressions and Functions for Conditions →  log_exp - Logical Expressions →  rel_exp - Predicates →  rel_exp - Predicate Expressions 

rel_exp - IS INITIAL

Other versions: 7.31 | 7.40 | 7.54


... operand IS [NOT] INITIAL ...


This predicate expression checks whether the operand operand is initial. The expression is true, if the operand contains its type-specific initial value. Any data objects can be specified for operand. This is an extended functional operand position in which, alongside functional method calls, constructor expressions, or table expressions, certain predefined functions can also be specified.

With the addition NOT, the expression is true if the operand contains a value other than its type-specific initial value


... operand IS NOT INITIAL ...
can have a predicative method call as a short form.

  • It is possible, but not recommended, to always specify predefined functions or expressions as operand, for example:

  • It is better to use str IS INITIAL or itab IS INITIAL instead of strlen( str ) IS INITIAL or lines( itab ) IS INITIAL.

  • It is better to use the arguments of the constructor expression instead of VALUE type( ... ) IS INITIAL.


The logical expression in the IF statement is true if the internal table in the SELECT statement was filled with rows.

DATA spfli_tab TYPE TABLE OF spfli.
CLEAR spfli_tab.
       FROM spfli
       WHERE ...
       INTO TABLE @spfli_tab.

IF spfli_tab IS NOT INITIAL.