Hallo,

- Bei Einsatz von Commitment Controll ist die ACTGRP von höchster Wichtigkeit

Kannst Du das noch etwas erläutern ?
Der Unterlassungswert beim STRCMTCTL für Commitment Scope ist *ACTGRP, d.h. ein Rollback ist nur innerhalb der gleichen Aktivierungsgruppe möglich.

Arbeitet man mit diesem Default und mehreren Aktivierungsgruppen, kommt es bei Transaktionen, die sich über mehrere Aktivierungsgruppen hinziehen bei einem Rollback zu unerwünschten Ergebnissen, d.h. es wird nicht alles zurückgesetzt.

Aus diesem Grund sollte man, solange man keine echte ILE-Umgebung hat und die Commitment Control nicht ordentlich auf Aktivierungsgruppen-Ebene gesteuert wird den Commitment Scope im STRCMTCTL auf *JOB setzen.

Wurde die Commitment Control nicht gestartet, d.h. der CL-Befehl STRCMTCTL noch nicht ausgeführt und ein SQL-Insert, Update oder Delete unter Commitment Control ausgeführt (unabhängig davon ob STRSQL verwendet wird oder ob das SQL-Statement in einem (Service-)Programm oder einer Stored Procedure ausgeführt wird), wird STRCMTCTL automatisch mit Unterlassungswerten gestartet.

Commitment Control kann innerhalb eines Jobs nur einmalig gestartet werden. Eine Änderung ist nicht möglich, sondern lediglich die Beendigung (mit ENDCMTCTL) und eine erneute Ausführung des STRCMTCTLs.

Birgitta