Informationen zum Mustercode 'CICS Transaction Server for z/OS Connectivity'
Der Mustercode 'CICS Transaction Server for z/OS Connectivity'
basiert auf einem Szenario, in dem ein Datensatz aus einer in CICS definierten Dateiressource abgerufen werden soll.
Das folgende Diagramm veranschaulicht die Architektur bei Verwendung der CICS-Konnektivität in einem Nachrichtenfluss.

Der Mustercode 'CICS Transaction Server for z/OS Connectivity' veranschaulicht die folgenden Tasks:
- Einbindung des 'CICSRequest'-Knotens in einen Nachrichtenfluss, um eine Verbindung zu CICS zur Ausführung eines Programms in der Zielregion herzustellen.
- Einbindung von Daten aus der Eingabenachricht als Teil des Kommunikationsbereichs, der an CICS gesendet bzw. aus CICS empfangen wird.
- Interpretation der Rückkehrcodes von CICS
- Handhabung der Abbrüche von CICS
Das CICS-Programm DFH$AXCS empfängt einen Kommunikationsbereich, um eine Datei zu öffnen, zu durchsuchen und zu schließen. DFH$AXCS verwendet die zusammen mit CICS bereitgestellten FILEA-Musterdaten. Bei FILEA handelt es sich um eine KSDS-Datei (Datei in Schlüsselfolge), die Beispielaccountinformationen enthält und mit einer aus sechs Zeichen bestehenden Satznummer indexiert ist. Mit DFH$AXCS wird auf diese Datei zugegriffen. Für dieses Programm werden als Eingabeargumente ein Befehl, der Name einer Dateiressource und eine Datensatz-ID angegeben. Der Befehl gibt an, ob der Mustercode die Datei öffnen, durchsuchen, aktualisieren oder schließen soll. Die Dateiressource verweist auf die Definition einer installierten Dateiressource, die den realen KSDS-Daten zugeordnet ist. Die Satznummer dient beim Lesen oder Aktualisieren der Datei als Schlüssel. Der Mustercode gibt drei Aufrufe an CICS aus: zum Öffnen der Datei, zum Durchsuchen eines Datensatzes und anschließend zum Schließen der Datei.
Eingabenachrichten
Zur Ausführung des Mustercodes 'CICS Transaction Server
for z/OS Connectivity' stehen drei Eingabenachrichten zur Verfügung:
- Eine XML-Nachricht, mit der aus FILEA der Datensatz 111111 abgerufen wird.
<?xml version="1.0"?>
<data>
<file>FILEA</file>
<record>111111</record>
</data>
- Eine XML-Nachricht, mit der aus FILEA der Datensatz 222222 abgerufen wird.
<?xml version="1.0"?>
<data>
<file>FILEA</file>
<record>222222</record>
</data>
- Eine XML-Nachricht, mit der versucht werden soll, eine nicht vorhandene Datei zu öffnen.
<?xml version="1.0"?>
<data>
<file>FILEB</file>
<record></record>
</data>
Ausgabenachrichten
Bei der Ausführung des Mustercodes 'CICS Transaction Server
for z/OS Connectivity' können vier Ausgabenachrichten empfangen werden:
- Der aus FILEA abgerufene Datensatz 111111 wird in XML umgewandelt:
<?xml version="1.0" encoding="UTF-8"?>
<record>
<stat></stat>
<recid>111111</recid>
<name>C. BAKER</name>
<address>OTTAWA, ONTARIO</address>
<phone>51212003</phone>
<date>26 11 81</date>
<amount>$0011.00</amount>
<comment>*********</comment>
</record>
- Der aus FILEA abgerufene Datensatz 222222 wird in XML umgewandelt:
<?xml version="1.0" encoding="UTF-8"?>
<record>
<stat></stat>
<recid>222222</recid>
<name>DR E. GRIFFITHS</name>
<address>FRANKFURT, GERMANY</address>
<phone>20034151</phone>
<date>26 11 81</date>
<amount>$0022.00</amount>
<comment>*********</comment>
</record>
- Die XML-Nachricht, die bei dem Versuch, eine nicht vorhandene Datei zu öffnen, empfangen wird:
<?xml version="1.0" encoding="UTF-8"?>
<record>
<stat>File could not be found</stat>
</record>
- Wird einer der CICSRequest-Knoten im Nachrichtenfluss oder im untergeordneten Nachrichtenfluss abnormal beendet, wird vom Fehlerterminal des CICSRequest-Knotens ein Abbruchcode gesendet, der an den Rechenknoten "Convert abend code to XML" weitergegeben wird. Anschließend erstellt der Rechenknoten eine XML-Nachricht, die den CICS-Abbruchcode (1234) enthält:
<?xml version="1.0" encoding="UTF-8"?>
<error>
<abendcode1234/abendcode>
</error>
Das folgende Diagramm veranschaulicht den Hauptnachrichtenfluss des Mustercodes 'CICS Transaction Server for z/OS Connectivity'.

Knotentyp |
Knotenname |
MQInput |
CICS_IN |
Rechnen |
Set Open Command, Convert FILE not found to XML, Convert FILEA record to XML, Convert abend code to XML |
CICSRequest |
Open FILEA |
Filter |
Check FILEA opened |
Untergeordneter Fluss |
CICSConnectivityProcessFILEA |
MQOutput |
CICS_OUT, CICS_ERROR |
Das folgende Diagramm veranschaulicht den untergeordneten Nachrichtenfluss 'CICSConnectivityProcessFILEA' des Mustercodes 'CICS Transaction Server for z/OS Connectivity'.

Knotentyp |
Knotenname |
Input |
Input |
Rechnen |
Set Browse Command, Set Close Command |
CICSRequest |
Browse FILEA, Close FILEA |
Output |
Output, Error |
Weitere Informationen zu den im Mustercode 'CICS Transaction Server for z/OS Connectivity' verwendeten Knoten finden Sie in der Dokumentation zu WebSphere Message Broker im Abschnitt Integrierte Knoten.
Routing der FILEA-Nachrichten
Wird eine der FILEA-Nachrichten in die Eingabewarteschlange eingereiht, durchläuft sie die Knoten. Wenn eine der Warteschlangen inaktiviert ist, kann die Nachricht dieser Route nicht folgen.
Im folgenden Abschnitt wird der Weg beschrieben, den die FILEA-Nachrichten nehmen, sowie die Funktion der Knoten im Hauptnachrichtenfluss des Mustercodes 'CICS Transaction Server for z/OS Connectivity' und im untergeordneten Nachrichtenfluss 'CICSConnectivityProcessFILEA':
- CICS_IN: Der MQINPUT-Knoten "CICS_IN" ruft die Eingabenachricht aus der Eingabewarteschlange ab.
- Set Open Command: Mit dem Rechenknoten "Set Open Command" werden die Nachrichtengruppe, der Nachrichtentyp und das Nachrichtenformat gesetzt; auf Basis dieser Angaben wird der Kommunikationsbereich erstellt, der an CICS gesendet werden soll. Der Kommunikationsbereich hat die in der Copybook-Datei dfh$axcs_cpybooks.cpy definierte Struktur. Der Knoten setzt den für das CICS-Programm DFH$AXCS erforderlichen Eröffnungsparameter (AXCS_COMMAND = 1). Darüber hinaus setzt der Knoten den Parameter AXCS_FILE auf den in der XML-Eingabenachricht angegebenen Wert data.file. Anschließend speichert der Knoten den Wert data.record aus der XML-Eingabenachricht in der lokalen Umgebung, wo er für den Aufruf des CICSRequest-Knotens "Browse FILEA" verwendet wird.
- Open FILEA: Der CICSRequest-Knoten "Open FILEA" stellt eine Verbindung zu CICS her und öffnet die FILEA-Ressource. Die Eigenschaft CICS server (CICS-Server) des CICSRequest-Knotens wird für die Verwendung des konfigurierbaren CICSConnection-Service gesetzt (siehe Abschnitt Mustercode 'CICS Transaction Server for z/OS Connectivity' konfigurieren).
Die Eigenschaften Program name (Programmname) und Commarea length (Länge des Kommunikationsbereichs) werden gesetzt und der im Rechenknoten "Set Open Command" erstellte Kommunikationsbereich wird an CICS gesendet.
CICS führt daraufhin das Programm DFH$AXCS aus und FILEA wird geöffnet. Die Struktur des Kommunikationsbereichs, der von CICS an WebSphere Message Broker zurückgegeben wird, ist mit der Struktur des abgehenden Kommunikationsbereichs (dfh$axcs_cpybooks.cpy) identisch.
- Check FILEA opened: Der Filterknoten "Check FILEA opened" überprüft den CICS-Rückkehrcode, um festzustellen, ob die Datei auf dem Hostsystem erfolgreich geöffnet werden konnte. War diese Operation erfolgreich, wird die Nachricht an den untergeordneten Nachrichtenfluss 'CICSConnectivityProcessFILEA' weitergegeben.
- Untergeordneter Nachrichtenfluss 'CICSConnectivityProcessFILEA':
- Set Browse Command: Der Rechenknoten "Set Browse Command" setzt den für das CICS-Programm DFH$AXCS erforderlichen Parameter browse (AXCS_COMMAND = 2). Der Rechenknoten "Set Browse Command" ruft außerdem den Wert data.record aus der lokalen Umgebung ('localEnvironment') ab und setzt den Parameter ('localEnvironment') ab und setzt den Parameter AXCS_RIFLD, der den Datensatz angibt, der von DFH$AXCS aus FILEA abgerufen werden soll.
- Browse FILEA: Der CICSRequest-Knoten "Browse FILEA" weist CICS an, FILEA nach dem Datensatz zu durchsuchen und diesen anschließend abzurufen.
- Set Close Command: Der Rechenknoten "Set Close Command" setzt den Parameter close (AXCS_COMMAND = 3).
- Close FILEA: Der letzte CICSRequest-Knoten "Close FILEA" schließlich sendet den Kommunikationsbereich an CICS und FILEA wird geschlossen.
- Convert FILEA record to XML: Die Hauptnachricht, die in diesem Nachrichtenfluss von einem Knoten zum nächsten weitergegeben wird, ist der vom Knoten "Set Open Command" erstellte Kommunikationsbereich, der an CICS bzw. von CICS übergeben wird. Von vorrangigem Interesse sind nun die Daten, die aus dem Knoten "Browse FILEA" abgerufen werden.
Der Rechenknoten "Convert FILEA record to XML" erstellt eine XML-Nachricht, die den umgewandelten Bytestrom des FILEA-Datensatzes enthält, und wandelt die Nachricht in ein XML-Format um (siehe Abschnitt 'Ausgabenachrichten').
- CICS_OUT: Der MQOutput-Knoten "CICS_OUT" reiht die Nachricht in die Ausgabewarteschlange CICS_OUT ein.
- Convert abend code to XML: Der Rechenknoten "Convert abend code to XML" ist für die Fehlerbehandlung zuständig. Jeder CICSRequest-Knoten im Nachrichtenfluss und im untergeordneten Nachrichtenfluss verfügt über ein eigenes Fehlerterminal, das mit diesem Knoten verbunden ist. Der Rechenknoten erstellt eine XML-Nachricht, die den CICS-Abbruchcode enthält (siehe Abschnitt 'Ausgabenachrichten').
- CICS_ERROR: Der MQOutput-Knoten "CICS_ERROR" reiht die Nachricht in die Ausgabewarteschlange CICS_ERROR ein.
Routing der FILEB-Nachrichten
Die FILEB-Nachricht nimmt denselben Weg wie die FILEA-Nachrichten, jedoch mit den folgenden Unterschieden:
- Open FILEA: Der CICSRequest-Knoten "Open FILEA" versucht, FILEB zu öffnen, eine nicht vorhandene Datei in der CICS-Host-Region.
- Check FILEA opened: Der Filterknoten "Check FILEA opened" legt den Rückkehrcode 12 fest und die Nachricht wird direkt an den Rechenknoten "Convert FILE not found to XML" weitergegeben.
- Convert FILE not found to XML: Da kein abgerufener Datensatz vorhanden ist, der vom Rechenknoten "Convert FILE not found to XML" umgewandelt werden könnte, erstellt der Rechenknoten "Convert FILE not found to XML" eine Informationsnachricht.
Dieser Mustercode soll veranschaulichen, wie eine Eingabenachricht gelesen, eine Verbindung zu CICS hergestellt und ein Datensatz aus FILEA abgerufen wird. Die Satzdaten werden in das XML-Format konvertiert und in eine Warteschlange ausgegeben. Kann die Datei nicht gefunden werden, wird eine Informationsnachricht erstellt.
Weitere Informationen finden Sie unter Mit CICS Transaction Server for z/OS arbeiten in der Dokumentation für WebSphere Message Broker.
Vor Ausführung des Mustercodes müssen Sie zunächst die unter Mustercode 'CICS Transaction Server for z/OS Connectivity' konfigurieren aufgeführten Schritte ausführen.
Zurück zum Beginn des
Mustercodes