Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

STXIT-Routinen (BS2000-Systeme)

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).

Falls nach der Startphase dynamisch Programme mit zugehörigem Laufzeitsystem nachgeladen werden, die eigene STXIT-Routinen anmelden, kann die Aktivierungsreihenfolge der STXIT-Routinen von der hier beschriebenen abweichen.

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.

Für STXIT-Behandlung in ILCS-Programmen beachten Sie bitte auch die Beschreibung in Abschnitt „Ereignisbehandlung in ILCS-Programmen (BS2000-Systeme)".

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)}).