Der Aspekt Prozedur-Unterbrechung gilt nur für Prozeduren, die im Dialog bzw. im Vordergrund aufgerufen werden (mit CALL- oder INCLUDE-PROCEDURE). Zu unterscheiden sind Unterbrechungen von der Systemebene und prozedurinterne Unterbrechungen.
Prozedurintern kann der Prozedurlauf jederzeit mit dem Kommando HOLD-PROCEDURE unterbrochen werden. Von der Systemebene aus kann eine Prozedur mit der Funktionstaste
unterbrochen werden, wenn dies zulässig ist. Ob eine Prozedur unterbrechbar ist, kann bereits im Prozedurkopf eingestellt werden, im Kommando SET-PROCEDURE-OPTIONS, Operand INTERRUPT-ALLOWED. Diese Einstellung kann später im Prozedurrumpf mit dem Kommando MODIFY-PROCEDURE-OPTIONS verändert werden, ebenfalls mit dem Operanden INTERRUPT-ALLOWED. Auf diese Weise kann für einzelne Teile der Prozedur Unterbrechbarkeit ein- oder ausgeschaltet werden. Beim Prozeduraufruf kann die Einstellung für die Unterbrechbarkeit nicht geändert werden.Bei beiden Arten der Unterbrechung (mit dem Kommando HOLD-PROCEDURE und der Funktionstaste
) wird der Prozedurlauf fortgesetzt, wenn auf der Systemebene das Kommando RESUME-PROCEDURE eingegeben wird.Wenn eine Prozedur nicht unterbrechbar ist, während des Prozedurlaufs jedoch mit der Funktionstaste
eine Unterbrechung angefordert wird, wird dies ignoriert.Während der Prozedurunterbrechung kann der Benutzer auf Systemebene im Dialog zum Beispiel Kommandos aufrufen, um die SYSFILE-Umgebung zu prüfen oder zu verändern. Er kann auf alle prozedurlokalen Variablen der unterbrochenen Prozedur zugreifen. Der Unterbrechungsdialog gehört also zum Sichtbarkeitsbereich der unterbrochenen Prozedur.
Während eines Unterbrechungsdialogs können auch Variablen deklariert werden, die anschließend als prozedurlokale Variablen der unterbrochenen Prozedur gelten. Wenn zum Beispiel innerhalb einer Prozedur versucht wird, auf eine Variable zuzugreifen, die nicht deklariert ist, kann im Rahmen der entsprechenden Fehlerbehandlung die Prozedur unterbrochen und die fehlende Variable auf der Systemebene deklariert werden.