Das Attribut INITIAL wird durch Angabe der INITIAL-Klausel im PROGRAM-ID-Paragrafen des Programms erzeugt („INITIAL-Klausel“, "PROGRAM-ID-Paragraf ").
Der Initialzustand bedeutet Folgendes:
Die internen Daten des Programms, die in der WORKING-STORAGE SECTION bzw. in der LOCAL-STORAGE SECTION definiert sind, sind initialisiert. Wird für ein Datenfeld die VALUE-Klausel verwendet, wird das Datenfeld mit dem definierten Wert versehen. Ist keine VALUE-Klausel angegeben, ist der Anfangswert des Datenfeldes unbestimmt.
Zum Programm gehörende (interne) Dateien sind geschlossen.
Die Steuerungsmechanismen für alle im Programm enthaltenen PERFORM-Anweisungen befinden sich im Initialzustand.
Eine GO TO-Anweisung, auf die sich eine im selben Programm enthaltene ALTER-Anweisung bezieht, befindet sich im Initialzustand.
Ein Programm befindet sich im Initialzustand,
wenn es das erste Mal in einer Ablaufeinheit aufgerufen wird,
wenn es das erste Mal aufgerufen wird, nachdem es selbst oder ein Programm, in dem es direkt oder indirekt enthalten ist, Objekt einer CANCEL-Anweisung war,
bei jedem Aufruf, wenn es das INITIAL-Attribut besitzt.
wenn es direkt oder indirekt in einem Programm enthalten ist, das das INITIAL-Attribut besitzt, und wenn es nach dem Aufruf dieses Programms das erste Mal aufgerufen wird.
Beispiel 12-4
Anweisung 1: Programm B-PROG befindet sich im Initialzustand (Regel 1 und 3).
Anweisung 2: Programm B-PROG befindet sich im Initialzustand (Regel 3).
Anweisung 3: Programm C-PROG befindet sich im Initialzustand (Regel 1 und 4).
Anweisung 4: Programm D-PROG befindet sich im Initialzustand (Regel 1 und 4)
Anweisung 5: Programm C-PROG befindet sich nicht im Initialzustand.
Anweisung 6: Programm C-PROG befindet sich im Initialzustand (Regel 2).