Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Besonderheiten bei Rollback und Wiederanlauf

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.

Um auch beim Rücksetzen einer Transaktion einen konsistenten Ablauf zu gewährleisten, wird empfohlen, innerhalb einer verteilten Transaktion entweder nur PGWT- oder nur PEND-Aufrufe zu verwenden.
  • 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").