Der
CICSRequest-Knoten kann unterschiedliche
Antwortnachrichten zurückgeben, die Auskunft über den Erfolg oder Fehlschlag der an
CICS Transaction
Server for z/OS gesendeten Anforderung geben.
Der
CICSRequest-Knoten
besitzt vier Ausgabeterminals:
- Out: Das Ausgabeterminal, von dem die Nachrichtenbaumstruktur, einschließlich der von
CICS zurückgegebenen Daten, weitergegeben wird.
- Failure: Das Ausgabeterminal, an das eine Nachricht weitergeleitet wird, wenn eine
Ausnahmebedingung des CICSRequest-Knotens oder ein Verbindungsfehler zwischen dem CICSRequest-Knoten und CICS erkannt wird.
- Error: Das Ausgabeterminal, an das eine Nachricht weitergeleitet wird, wenn ein
CICS-Fehler (abnormale Beendigung) auftritt.
- Timeout: Das Ausgabeterminal, an das die Nachricht weitergeleitet wird, wenn ein Zeitlimit pro
Anforderung wirksam wird, während eine einzelne Anforderung an
CICS gesendet wird, aber die Anforderung zu viel Zeit
benötigt.
Sie können die Position auswählen, an die die Antwort gesendet werden soll,
indem Sie die Ergebniseigenschaft
Position für
Ausgabedaten des
CICSRequest-Knotens
konfigurieren.
Diese Eigenschaft gibt die Position in der Nachrichtenbaumstruktur an, an der der
CICSRequest-Knoten die Ausgabedaten ablegt.
- Verarbeitung erfolgreicher Aufrufe
Wenn ein CICSRequest-Knoten erfolgreich eine
CICS-Anwendung aufruft, wird die Ergebnisnachricht an
das Ausgabeterminal weitergeleitet.
- Verarbeitung abnormaler Beendigungen von CICS
Eine abnormale Beendigung in CICS hat zur Folge, dass
vom Fehlerterminal (Error) eine Nachricht verbreitet wird. Die Eingabenachricht wird mit dem Feld 'CICS\AbendCode' in 'LocalEnvironment' weitergegeben. Besteht keine Verbindung zu diesem
Fehlerterminal (Failure), geht die abnormale Beendigung verloren.
Wenn der CICSRequest-Knoten bei einer abnormalen Beendigung so konfiguriert ist, dass er an der Brokertransaktion teilnimmt, wird die CICS-Task sofort mittels Rollback rückgängig gemacht. Sind mehrere CICS-Knoten an der Arbeitseinheit beteiligt, wird die CICS-Aktivität für alle diese Knoten rückgängig gemacht, unabhängig davon, ob die abnormale Beendigung durch ein "Error"- oder "Failure"-Terminal verarbeitet wird. Jegliche weitere Arbeit, die von CICS in Verbindung mit der Verarbeitung dieser Nachricht ausgeführt wird, wird in einer neuen Arbeitseinheit durchgeführt. 
Eine Arbeitseinheit ist die Arbeit, die von den Knoten eines Flusses durchgeführt wird, die sich die gleiche Ressource teilen. In diesem Fall ist eine Arbeitseinheit die gesamte Arbeit, die von den mit demselben CICS-Server verbundenen CICSRequest-Knoten eines Flusses durchgeführt wird (verbunden durch eine in der Eigenschaft CICS-Server festgelegte URL bzw. einen konfigurierbaren Service).
Enthält ein Nachrichtenfluss beispielsweise fünf CICS-Knoten, von denen drei mit CICS-Server A und zwei mit CICS-Server B verbunden sind, so bildet die gesamte Arbeit, die von den mit Server A verbundenen Knoten durchgeführt wird, eine Arbeitseinheit und die gesamte Arbeit, die von den mit Server B verbundenen Knoten durchgeführt wird, eine zweite Arbeitseinheit.
Kommt es in einem der mit CICS-Server A verbundenen CICS-Knoten zu einer abnormalen Beendigung, wird die gesamte Arbeit dieser mit Server A verbundenen Knoten zurückgesetzt, da diese eine zusammenhängende Arbeitseinheit bildet. Der erste nachfolgende Arbeitsprozess, der von einem mit Server A verbundenen CICSRequest-Knoten durchgeführt wird, startet daraufhin eine neue Arbeitseinheit. Die Arbeitseinheit von Server B bleibt währenddessen von dem Rollback der Arbeitseinheit von Server A völlig unberührt.
- Verarbeitung von Anforderungszeitlimitüberschreitungen
Wenn für einen CICSRequest-Knoten die
Basiseigenschaft Anforderungszeitlimit (in Sekunden)
konfiguriert ist und die Verarbeitung einer Nachricht länger als das angegebene Zeitlimit dauert,
schlägt die Anforderung fehl und die Nachricht wird vom Zeitlimitterminal weitergegeben. Die Ausgabenachricht enthält den Hauptteil der Eingabenachricht und eine Zeitlimitausnahmebedingung in der 'ExceptionList'.
Falls kein Zeitlimitterminal angeschlossen ist und eine Zeitlimitüberschreitung
eintritt, wird die Anforderungszeitlimit-Ausnahmebedingung an das Fehlerterminal (Failure)
weitergeleitet. Wenn keine Verbindung zum Fehlerterminal (Failure) besteht, gibt der Broker eine Ausnahmebedingung aus und gibt die Steuerung an den nächsten vorangegangenen Knoten zurück, der diese Ausnahmebedingung verarbeiten kann. Das Standardverhalten besteht darin, dass die Nachricht an den
Empfangsknoten zurückgegeben wird.
- Handhabung von Fehlern im Knoten
Alle anderen Fehler werden an das Fehlerterminal (Failure) weitergegeben. Mögliche Fehler sind:
- Eine Kommunikation mit der CICS-Zielregion ist nicht möglich.
- Im CICSRequest-Knoten wurde eine interne
Ausnahmebedingung erkannt.
- Der Nachrichteninhalt ist ungültig. Beispiel: Ein Analysefehler oder eine Eingabenachricht
erstellt eine Struktur, die größer als der Wert für die Basiseigenschaft
Länge des Kommunikationsbereichs ist, die im
CICSRequest-Knoten konfiguriert wird.
Eine ähnliche Situation für den zurückgegebenen Kommunikationsbereich kann nicht erkannt werden.
Wenn die zurückgegebenen Daten beispielsweise größer als der Wert sind, der für die Eigenschaft
Länge des Kommunikationsbereichs festgelegt wurde, kommt
es in CICS zu einem Speicherverlust.
Deshalb muss die Basiseigenschaft Länge des
Kommunikationsbereichs richtig konfiguriert werden.
Sie können die Verbindungsdetails für den
CICSRequest-Knoten mit dem konfigurierbaren Service
CICSConnection ändern. Im Abschnitt
Verbindungsinformationen für den CICSRequest-Knoten ändern finden Sie weitere
Informationen zum Erstellen, Ändern, Protokollieren und Löschen des konfigurierbaren Service
CICSConnection.