Das OSI TP-Protokoll ermöglicht es, wahlweise mit globaler Transaktionssicherung zu arbeiten (Functional Unit Commit) oder ohne globale Transaktionssicherung (Cooperative Processing).
OSI TP mit Functional Unit Commit
Falls bei OSI TP die Functional Unit Commit gewählt ist, gibt es beim Rücksetzen von Transaktionen (Rollback) mit PEND RS keinen Unterschied zu LU6.1.
Beim Vorgangs-Wiederanlauf nach PEND RS gleicht das Verhalten dem bei LU6.1- mit einer Ausnahme: Das OSI TP-Protokoll ermöglicht keinen Wiederanlauf eines unterbrochenen Dialogs.
Zusätzlich kann bei OSI TP mit PGWT CM ein Sicherungspunkt gesetzt werden. Die nachfolgende Transaktion darf dann nur mit PGWT RB zurücksetzt werden. In diesem Fall wird immer in das Teilprogramm zurückgekehrt, das den PGWT RB abgesetzt hat. Es findet kein Vorgangs-Wiederanlauf statt.
OSI TP ohne Functional Unit Commit
Falls die Functional Unit Commit nicht ausgewählt ist, wird der Auftraggeber-Vorgang bei einem Fehler im Auftragnehmer-Vorgang oder bei Verbindungsverlust nicht automatisch zurückgesetzt: Er wird mit dem beim letzten PEND angegebenen Teilprogramm fortgesetzt. Er erhält jedoch eine Fehlernachricht (mit Vorgangs-Status "Z" und Transaktionsstatus "U"), falls er auf ein Ergebnis vom Auftragnehmer wartet, und kann ebenfalls mit Rücksetzen reagieren.
Bei einem Fehler im Auftraggeber-Vorgang setzt openUTM die Transaktionen in Auftraggeber- und Auftragnehmer-Vorgang zurück und beendet den Auftragnehmer-Vorgang. Hat der Auftraggeber-Vorgang bereits einen Sicherungspunkt erreicht, wird nach dem Rücksetzen der Transaktion ein Vorgangs-Wiederanlauf durchgeführt. Das Folge-Teilprogramm erhält eine Fehlernachricht mit Vorgangs-Status "Z" und Transaktionsstatus "U".
Ein globaler Vorgangs-Wiederanlauf ist nicht möglich, da keine gemeinsamen Sicherungspunkte existieren.
Bei den Aufrufen zum programmierten Rücksetzen ist Folgendes zu beachten:
PEND RS
Beim Aufruf im Auftraggeber-Vorgang:
- Alle Auftragnehmer-Vorgänge, mit denen ohne Functional Unit Commit kommuniziert wird, werden beendet.
Bei einem Aufruf in einem Auftragnehmer-Vorgang:
Falls die vorhergehende Transaktion mit PEND SP beendet wurde, wird bei einem PEND RS die lokale Transaktion zurückgesetzt und der Vorgang mit dem beim PEND SP spezifizierten Folge-Teilprogramm fortgesetzt.
Falls die vorhergehende Transaktion nicht mit PEND SP beendet wurde und der Vorgang unter einer Benutzerkennung ohne Wiederanlaufeigenschaft läuft, so wird der Vorgang auf den letzten Sicherungspunkt zurückgesetzt und der Dialog mit dem Auftraggeber beendet.
In allen anderen Fällen beendet openUTM den Vorgang mit PEND FR.
PGWT RB
PGWT RB setzt die aktuelle Transaktion zurück und setzt das Teilprogramm fort.
PEND ER/FR
Beim Aufruf im Auftraggeber-Vorgang gibt es keine Besonderheit: Die Transaktionen in Auftraggeber und allen seinen Auftragnehmern werden zurückgesetzt und die Auftragnehmer beendet.
Beim Aufruf im Auftragnehmer -Vorgang wird der Auftragnehmer zurückgesetzt und beendet, der Auftraggeber-Vorgang jedoch mit dem beim letzten PEND angegebenen Teilprogramm fortgesetzt. Der Auftraggeber-Vorgang kann die vom Auftragnehmer mit MPUT bereitgestellte Nachricht lesen.
RSET
Der RSET-Aufruf wirkt immer nur auf den lokalen Vorgang. Die Einstellung RSET=GLOBAL der KDCDEF-Anweisung UTMD hat keine Wirkung. Diese Einstellung wirkt nur bei verteilter Verarbeitung mit globaler Transaktionssicherung (siehe "Programmiertes Rücksetzen").