Arbeitseinheit für Wiederherstellung festlegen

Die Systemfunktion sysLib.commit() benachrichtigt EGL darüber, dass die aktuelle Arbeitseinheit für die Wiederherstellung abgeschlossen ist und eine neue Arbeitseinheit gestartet werden kann.

Diese Systemfunktion gibt einen CICS-Befehl SYNCPOINT aus.

Die Systemfunktion sysLib.commit() ist beim Abschluss eines Programms (Anweisung exit program, transfer oder show) impliziert. Sie können die Funktion sysLib.commit() während der Ausführung eines Programms jederzeit explizit aufrufen. Hierbei hat es sich bewährt, die Funktion sysLib.commit() aus Programmen heraus aufzurufen, die Anweisungen get forUpdate, replace, delete oder add mit einer Logikschleife am Abschluss einer logischen Arbeitseinheit enthalten, damit das Programm nicht mehrere Sperren hält.

Achten Sie auf die Verhinderung von Deadlocks, wenn Sie mit gemeinsam genutzten lokalen VSAM-Ressourcen für CICS aus einem generierten EGL-Programm heraus auf Dateien zugreifen. Bei Verwendung von gemeinsam genutzten lokalen Ressourcen und einer Anweisung get next oder get previous für eine Datei rufen Sie sysLib.commit() am Abschluss einer logischen Arbeitseinheit auf. Dieser Aufruf muss vor dem Versuch erfolgen, eine Anweisung get forUpdate, replace, delete oder add auszuführen, die eine exklusive Nutzung von Ressourcen erfordert. Auf diese Weise wird die Position get next freigegeben und eine spätere Aktualisierung der Datei ermöglicht.

Falls Sie Anweisungen transfer to program als Ersatz für Anweisungen transfer to transaction definieren, müssen Sie beachten, dass die Arbeitseinheit für die Wiederherstellung bei transfer to program angehalten wird und Sie sysLib.commit() aufrufen müssen, wenn die Arbeitseinheit beendet werden soll.

Ein Befehl SYNCPOINT findet für eine Anweisung transfer to program unter den folgenden Bedingungen statt:

Feedback