Den Event-Exit VORGANG ruft openUTM beim Start und beim Beenden eines Vorgangs auf, ebenso bei fehlerhaftem Beenden und beim Wiederanlauf.
Auch wenn ein Vorgang aus mehreren Transaktionen besteht, die in verschiedenen Teilprogrammen bearbeitet werden, so wird beim Vorgangsende derselbe Event-Exit VORGANG wie bei Vorgangsbeginn aufgerufen.
Wird der Event-Exit VORGANG bei Vorgangsende aufgerufen und tritt dabei ein Fehler auf, so wird die letzte Transaktion des Vorgangs nicht mehr zurückgesetzt.
Programmierhinweise
Der Event-Exit VORGANG darf keine KDCS-Aufrufe verwenden.
Die längste Bearbeitungszeit des Event-Exits VORGANG sollte kleiner sein als die Zeit (in Sekunden), die maximal auf ein von einem anderen Prozess gesperrtes Betriebsmittel gewartet werden soll (KDCDEF-Anweisung MAX, Operand RESWAIT, Wert time2), da UTM während des Event-Exits VORGANG am Vorgangsende Betriebsmittel gesperrt hat.
Der Event-Exit VORGANG wird mit Rücksprunganweisung verlassen.
Sie können auf KB-Kopf und SPAB zugreifen, der KB-Programmbereich und der SPAB enthalten aber keine relevanten Daten.
openUTM trägt für dieses Exit-Programm im Feld KCKNZVG/kccv_status des KB-Kopfes das Vorgangs-Kennzeichen ein. Es kann folgende Werte annehmen:
F
erster Teilprogrammlauf eines Dialog-Vorgangs
C
erster Teilprogrammlauf eines geketteten Vorgangs
A
erster Teilprogrammlauf eines Asynchron-Vorgangs
R
Wiederanlauf eines Vorgangs
Z
fehlerhaftes Ende eines Vorgangs
E
Ende eines Vorgangs
D
Beenden des Vorgangs bei Verbindungsabbau bzw. -verlust, falls für die UTM-Benutzerkennung RESTART=NO generiert ist.
Ob das Exit-Programm in einem Dialog- oder Asynchron-Vorgang läuft, wird im Programmindikator (Feld KCPRIND) angezeigt:
A
Das Teilprogramm läuft in einem Asynchron-Vorgang
D
Das Teilprogramm läuft in einem Dialog-Vorgang
Beachten Sie, dass der Event-Exit VORGANG bei Verteilter Transaktionsverarbeitung nach Vorgangsende von einem anderen Prozess bearbeitet werden kann als das letzte Teilprogramm des Vorgangs.
Generierungshinweise
Zu einer Anwendung kann es mehrere Event-Exit VORGANG geben.
Welcher Event-Exit VORGANG für welchen Vorgang aufgerufen wird, legt man mit der TAC-Anweisung, Operand EXIT=Vorgangs-TAC fest. Auch die ereignisgesteuerten Vorgänge BADTACS, MSGTAC und SIGNON können einen Event-Exit VORGANG haben.
Für jeden Event-Exit VORGANG ist eine PROGRAM-Anweisung nötig.