Auf BS2000-Systemen ist es möglich, für bestimmte Ereignisse (z.B. Adressfehler, Programmende) STXIT-Routinen zu definieren. Diese Routinen werden vom Betriebssystem (nicht von openUTM) aktiviert, wenn ein solches Ereignis eintritt (siehe BS2000-Handbuch „Makroaufrufe an den Ablaufteil“).
openUTM stellt eigene STXIT-Routinen zur Verfügung, die vor dem Aufruf des START-Exits geöffnet werden. Ausnahme: TIMER/RTIMER, die direkt nach dem START-Exit geöffnet und von openUTM für die Überprüfung der Teilprogramm-Laufzeit verwendet werden (siehe TIME-Parameter der TAC-Anweisung).
Sie können eigene, parallele STXIT-Routinen definieren, die zusätzlich zu den von openUTM definierten STXIT-Routinen aktiviert werden. Wenn Sie den Startparameter STXIT=OFF angeben, werden nur die von Ihnen erstellten STXIT-Routinen aktiviert (UTM-STXIT-Routinen werden nicht aktiviert). Letzteres ist nur möglich, wenn die Anwendung im Dialog gestartet wurde.
Die von Ihnen erstellten STXIT-Routinen werden immer vor der UTM-STXIT-Routine aktiviert (Ausnahme: RUNOUT).
Die von Ihnen erstellten STXIT-Routinen müssen mit EXIT CONTINU=YES beendet werden. Andernfalls garantiert openUTM nicht für eine korrekte Fehlerbehandlung (z.B. PEND ER in bestimmten Situationen). Die STXIT-Routinen von openUTM werden mit EXIT CONTINU=NO beendet.
Bitte beachten Sie, das im Anwendungsprogramm keine Timer-Funktionen wie die C-Bibliotheksfunktion alarm() oder das Makro SETIC (Intervallzeitgeber setzen) verwendet werden dürfen, zumindest dann nicht, wenn für den aktuellen TAC der jeweilige Timer generiert ist (KDCDEF-Generierung TAC TIME={time1 | (time1,time2)}).