| Java™-Generierung |
- sysLib.rollback() nimmt Änderungen an den folgenden Ressourcen zurück:
- Relationalen Datenbanken
- WebSphere MQ-Nachrichtenwarteschlangen
- Fernen Serverprogrammen, die mithilfe einer clientgesteuerten Arbeitseinheit (UOW) aufgerufen wurden
- Rufen Sie die Funktion 'sysLib.rollback()' nicht über ein generiertes
Java-Programm auf, das Sie mithilfe einer Enterprise JavaBean (EJB) aufgerufen haben. EJBs können nicht auf die
Transaktion zugreifen, in der sie ausgeführt werden.
|
| CICS für z/OS |
- Die Funktion 'sysLib.rollback()' resultiert in einer
CICS-Anweisung SYNCPOINT ROLLBACK, mit der Änderungen an relationalen Datenbanken,
an WebSphere MQ-Nachrichtenwarteschlangen und an Dateien, die als wiederherstellbare Ressourcen definiert sind,
rückgängig gemacht werden.
- Wenn ein Aufruf an ein fernes CICS-basiertes COBOL-Programm eine clientgesteuerte Arbeitseinheit (UOW) einschließt, dann nimmt ein generiertes Programm oder ein
generierter Wrapper von Java auch die Aktualisierungen zurück, die von einem fernen COBOL-Programm vorgenommen werden
(einschließlich Aktualisierungen an wiederherstellbaren CICS-Dateien). Weitere
Informationen finden Sie unter
'luwControl' im Element 'callLink'.
- Über Fernzugriff aufgerufene Stapelverarbeitungsprogramme (Programme, die sich auf einem anderen System befinden als das aufrufende Programm) können die
Funktion 'sysLib.rollback()' aufrufen.
Wenn Sie das Attribut 'luwControl' auf SERVER setzen, funktioniert die
Rollback-Operation ordnungsgemäß. Wenn Sie das Attribut auf 'CLIENT' setzen, löst EGL eine Laufzeitausnahmebedingung (RuntimeException) aus.
'sysLib.rollback()'
macht Änderungen an Spooldateien rückgängig.
|
| IMS BMP |
Die Funktion 'sysLib.rollback()' resultiert in einem DL/I-Aufruf ROLB. Ausgabedaten,
die in eine serielle Datei geschrieben werden, die einem nicht sofort wirksamen alternativen Programmkommunikationsblock (PCB) zugeordnet ist,
werden ebenfalls zurückgesetzt. |
| IMS/VS |
Die Funktion 'sysLib.rollback()' resultiert in einem DL/I-Aufruf ROLB. Ausgabedaten,
die in eine serielle Datei geschrieben werden, die einem nicht sofort wirksamen alternativen Programmkommunikationsblock (PCB) zugeordnet ist,
werden ebenfalls zurückgesetzt. |
| JavaScript-Generierung |
Die Funktion 'sysLib.rollback()' wird nicht unterstützt. |
| WebSphere MQ-Nachrichtenwarteschlangen |
- Aktualisierungen an Nachrichtenwarteschlangen sind nur dann wiederherstellbar, wenn die Eigenschaft
'includeMsgInTransaction' im Abschnitt 'MQRecord' auf YES gesetzt ist.
- Die Anweisungen zum Abrufen und Hinzufügen von Nachrichten ('get' und 'add') werden beide von den
Funktionen 'sysLib.commit()' und 'sysLib.rollback()' für wiederherstellbare Nachrichten beeinflusst. Wenn
Sie die Funktion
'sysLib.rollback()' nach der Anweisung 'get' für eine wiederherstellbare Nachricht ausgeben, wird die Nachricht
erneut in die Eingabewarteschlange gestellt, damit die Eingabenachricht nicht verloren geht, wenn die Transaktion nicht erfolgreich abgeschlossen wird. Außerdem gilt:
Wenn Sie die Funktion 'sysLib.rollback()' nach der Anweisung 'add' für eine wiederherstellbare Nachricht
ausgeben,
wird die Nachricht aus der Warteschlange gelöscht.
|
| z/OS batch |
- Wenn das Programm unter dem Terminalüberwachungsprogramm TSO für SQL-Zugriff ausgeführt wird und Sie 'sysLib.rollback()' aufrufen,
resultiert dies in der SQL-Anweisung ROLLBACK WORK.
- Wenn das Programm als DL/I-Stapeljob ausgeführt wird und Sie DL/I- oder SQL-Anforderungen abgesetzt haben, wird ein DL/I-Aufruf ROLB ausgegeben. Wenn der
Stapeljob startet, müssen Sie den IMS-Stapelparameter 'BKO=Y' angeben, um sicherzustellen, dass der
ROLB-Aufruf berücksichtigt wird. Wenn Sie 'BKO=N' angeben, gibt DL/I den Statuscode AL für den ROLB-Aufruf zurück. Das Programm behandelt
AL als sporadisch auftretenden Fehler und gibt keine Fehlernachricht aus. Geben Sie BKO als Parameter in dem Jobabschnitt an, der das
IMS-Steuerprogramm DFSRRC00 aufruft.
- Serielle Dateien oder Druckdateien, die GSAM-Dateien zugeordnet sind, und die Verwendung von
'sysLib.audit()' resultieren in DL/I-Anforderungen und führen zur Ausgabe des DL/I-Aufrufs ROLB.
- EGL-Programme, die DL/I nicht verwenden, geben nur dann eine Rollback-Operation aus, wenn das betreffende
Programm Änderungen an einer SQL-Tabelle vorgenommen hat. Bei Änderungen an einer SQL-Tabelle, die von einem Nicht-EGL-Programm (oder einem Nicht-VisualAge
Generator-Programm) vorgenommen wurden, findet keine Rollback-Operation statt.
|