Während Ihr Programm in der iSeriesC-Umgebung ausgeführt wird, wirken sich mehrere Aspekte auf die Commitsteuerung aus.
Zum Verwenden den Commitsteuerung müssen Sie einen Commitsteuerungszyklus explizit mithilfe der Befehle zum Starten der Commitsteuerung (STRCMTCTL) und zum Beenden der Commitsteuerung (ENDCMTCTL) starten und beenden. In IBM® Rational EGL Server for IBM i werden Commitsteuerungszyklen nicht implizit gestartet oder beendet. In DB2 wird die Commitsteuerung jedoch implizit für Programme gestartet, in denen SQL-Ein-/Ausgabeoptionen verwendet werden. Nachdem die Commitsteuerung für den Job gestartet wurde, kann die in IBM i bereitgestellte Commitsteuerung sowohl für native Datenbank-Ein-/Ausgaben als auch für SQL-Ein-/Ausgaben verwendet werden.
Bei Bedarf kann die Commitsteuerung für SQL-Programme in den Schablonen geändert werden. Mit dem COMMIT-Parameter im Befehl CRTSQLCBLI wird die Ebene der Commitsteuerung für SQL-Anweisungen in einem Programm festgelegt. Der LCKLVL-Parameter im Befehl STRCMTCTL hat keine Auswirkungen auf Programme, in denen nur SQL-Ein-/Ausgabeanweisungen verwendet werden.
Wenn kein Commitsteuerungszyklus aktiv ist und im Programm versucht wird, eine Datei zu öffnen, für die eine Commitsteuerung erforderlich ist, wird das Programm mit einer Fehlerbedingung beendet. In den Nachrichten im Jobprotokoll ist die genaue Art des Fehlers beschrieben. Unter diesen Bedingungen wird das Programm abnormal beendet, da darin versucht werden könnte, explizit Commitänderungen an einer Datei vorzunehmen. Dies ist jedoch nur bei einem aktiven Commitsteuerungszyklus möglich.
Weitere Informationen zur Commitsteuerung in iSeries finden Sie im i5/OS Information Center.