Initialwert prüfen 

Folgender logischer Ausdruck überprüft, ob ein Feld seinen Initialwert hat:

.... <f> IS INITIAL .....

Der Ausdruck ist wahr, wenn das Feld <f> seinen typgerechten Initialwert enthält. Im allgemeinen enthält jedes Feld, ob Einzelfeld oder aggregiertes Feld, seinen Initialwert nach Durchführung der Anweisung CLEAR <f>.

REPORT demo_log_expr_is_initial .

DATA flag(1) TYPE c VALUE 'X'.

IF flag IS INITIAL.
  WRITE / 'Flag is initial'.
ELSE.
  WRITE / 'Flag is not initial'.
ENDIF.

CLEAR flag.

IF flag IS INITIAL.
  WRITE / 'Flag is initial'.
ELSE.
  WRITE / 'Flag is not initial'.
ENDIF.

Die Listenausgabe sieht folgendermaßen aus:

Flag is not initial

Flag is initial.

In diesem Beispiel enthält das Zeichenfeld FLAG nach der Deklarierung durch die Anweisung DATA nicht seinen Initialwert, weil es mit Hilfe des Parameters VALUE auf den Startwert X gesetzt wurde. Nach der Anweisung CLEAR enthält es den Initialwert.