Eine openUTM-Transaktion beginnt mit dem Starten eines Teilprogramms und endet mit dem Setzen eines Sicherungspunktes durch Beenden des Teilprogramms (siehe openUTM-Handbuch „ Konzepte und Funktionen“).
Der Sicherungspunkt ist Aufsetzpunkt nach dem Zurücksetzen der nachfolgenden Transaktion.
Ausnahme:
Bei bestimmten Beendigungsarten, z.B. PEND KP beendet sich das Teilprogramm, setzt aber keinen Sicherungspunkt und beendet die Transaktion nicht.
In einer openUTM-Transaktion darf nur eine Datenbank-Transaktion (DB-Transaktion) ablaufen.
Bei CALL-DML-Transaktionen wird die Beendigung durch eine ETA-Anweisung angestoßen. Nach dieser ETA-Anweisung darf keine weitere DB-Anweisung innerhalb der openUTM-Transaktion erfolgen.
Bei openUTM-Anwendungen sind die geketteten CALL-DML-Anweisungen „Anweisung; ETA“ und „ETA; BTA“ nicht zulässig.Bei SQL-Transaktionen innerhalb von openUTM-Transaktionen ist weder COMMIT WORK noch ROLLBACK WORK zulässig. Das Ende der DB-Transaktion wird durch den PEND angestoßen.
Das Zurücksetzen einer SESAM/SQL-openUTM-Transaktion bedeutet, dass sowohl die DB-Transaktion als auch die openUTM-Transaktion zurückgesetzt wird.
Das DB/DC-System SESAM/SQL-openUTM synchronisiert das Ende der openUTM-Transaktion mit dem Ende der DB-Transaktion (siehe openUTM-Handbücher „ Anwendungen generieren und betreiben“ und „ Konzepte und Funktionen“).
Die Synchronisation läuft wie folgt ab:
Bei CALL-DML-Transaktionen:
Das Ende der DB-Transaktion im openUTM-Teilprogramm wird angestoßen. Die DB-Transaktion wird dann nicht geschlossen, da noch Fehler auftreten können, die einen Abschluss der openUTM-Transaktion verhindern.
SESAM/SQL informiert openUTM über den Wunsch „Ende der DB-Transaktion“ und verzögert dieses Ende bis zum Ende der openUTM-Transaktion.
Danach ist das openUTM-Teilprogramm noch tätig mit Aufgaben, die zur openUTM-Transaktion, aber nicht mehr zur DB-Transaktion gehören, wie z.B. Format- oder Druckausgaben.Bei SQL-Transaktionen:
Das Ende der DB-Transaktion und das Ende der openUTM-Transaktion werden gleichzeitig angestoßen (durch den PEND).
Die DB/DC-Transaktion ist erfolgreich abgeschlossen, wenn die DB-Transaktion ordnungsgemäß beendet wurde und die Änderungen von UTM-Bereichen festgeschrieben wurden.Gesperrte Betriebsmittel werden nun freigegeben.
Bild 36: Synchronisation von DB-Transaktion und openUTM-Transaktion