Hinweise zur transaktionsübergreifenden Affinität in einem CICSplex

Ein CICSplex besteht aus zwei oder mehr CICS-Regionen, die unter Verwendung von CICS-Funktionen für die übergreifende Kommunikation miteinander verbunden sind. Eine CICS-Funktion namens dynamisches Transaktionsrouting unterstützt den Lastausgleich, indem eine Transaktion aus einem Terminal dynamisch an eine der Regionen weitergeleitet wird, die über die Ressourcen für die Verarbeitung der Transaktion verfügen.

Die transaktionsübergreifende Affinität liegt vor, wenn zwei oder mehr CICS-Transaktionen einander Informationen auf eine Weise übergeben, die eine Ausführung der Transaktionen in derselben CICS-Region erforderlich macht. Wenn die transaktionsübergreifende Affinität vorliegt, müssen Sie die Transaktionen für CICS definieren, damit sie in derselben Region weitergeleitet werden.

In den folgenden Abschnitten sind Hinweise zum Transaktionsrouting für CICS-Programme beschrieben, die mit EGL erstellt wurden. Ein umfassendere Erläuterung des Transaktionsroutings enthält die Veröffentlichung Dynamic Routing in a CICSplex, IBM Form SC33-1012.

Segmentierte Programme

Segmentierte Programme verwenden eine temporäre Speicherwarteschlange (die Arbeitsdatenbank), um den Status des Programmdatenaustausches während einer Anweisung converse oder show zu speichern. Alle Segmente des Datenaustausches müssen auf dieselbe temporäre Speicherwarteschlange zugreifen können und weiterhin dieselbe Terminal-ID verwenden.

EGL-Datentabellen für Aktualisierung gemeinsam nutzen

Programme können gemeinsam genutzte EGL-Datentabellen in der CICS-Umgebung aktualisieren. Die gemeinsam genutzte Datentabelle wird mit der CICS-Funktion GETMAIN angefordert; Aktualisierungen sind nur für Programme zugänglich, die in derselben Region ausgeführt werden. Alle Transaktionen, die von der Übergabe von Informationen über eine gemeinsam genutzte Datentabelle abhängig sind, müssen an dieselbe Region weitergeleitet werden.

Temporäre Speicherwarteschlangen

Die EGL-Unterstützung für temporäre Speicherwarteschlangen setzt voraus, dass der Zugriff auf die Warteschlangen serialisiert ist. Das generierte Programm setzt dies durch die Verwendung der CICS-Funktionen ENQ und DEQ mit dem Warteschlangennamen als Ressourcennamen um. Die Funktionen ENQ und DEQ sind nur im Bereich einer einzelnen Region gültig. Mit einer der folgenden Aktionen können Sie sicherstellen, dass der Zugriff auf die Warteschlange serialisiert ist.
  • Definieren Sie die temporäre Speicherwarteschlange als lokale Warteschlange.
  • Leiten Sie alle Transaktionen, die auf die Warteschlange zugreifen, an dieselbe Region weiter.
  • Verwenden Sie für den Warteschlangennamen eine Konvention, die die Terminal-ID aus sysVar.terminalID als Teil des Warteschlangennamens einschließt, damit für jedes Terminal eine separate Warteschlange verwendet wird. Da gleichzeitig jeweils nur eine einzige Transaktion aus jedem Terminal aktiv ist, ist der Zugriff auf die Warteschlange serialisiert.

Weitere Informationen zur Verwendung von temporären Speicherwarteschlangen beim Transaktionsrouting enthält das CICS-Handbuch.

Warteschlange mit transienten Daten für Druckausgabe verwenden

Druckausgabe kann an eine Warteschlange mit transienten Daten weitergeleitet werden. Das Programm sammelt die Druckausgabe in einer temporären Speicherwarteschlange. Sobald die Ausgabe vollständig ist, kopiert das Programm die Ausgabe in die Warteschlange mit transienten Daten. Zu diesem Zweck wird die Funktion ENQ/DEQ verwendet, damit sichergestellt ist, dass keine Ausgabe von mehreren Transaktionen in demselben System vorhanden ist.

Da die Funktion ENQ/DEQ nur innerhalb einer Region gültig ist, müssen Sie die Warteschlange als lokale Warteschlange definieren, um eingefügte Ausgabe von mehreren Regionen zu verhindern.

Falls Sie die Warteschlange so definiert haben, dass das Terminaldruckprogramm FZETPRT ausgelöst wird, müssen Sie auch die Transaktion für FZETPRT als lokale Transaktion der Region definieren, in der sich die Warteschlange befindet.

Fehlerzielwarteschlange

Fehlernachrichten aus Rational COBOL Runtime können an eine Warteschlange mit transienten Daten übertragen werden, die als 'Fehlerzielwarteschlange' bezeichnet wird. Definieren Sie die Warteschlange als lokale Warteschlange für jede Region, in der ein EGL-Programm ausgeführt werden kann. Dies stellt sicher, dass Nachrichten, die sich auf einen einzelnen Fehler beziehen, nicht mit Nachrichten über einen anderen Fehler gemischt werden, der zur gleichen Zeit in einer anderen Region auftritt.

Inaktivierung bei Ausführungseinheitenfehler

Eine der Optionen, die bei Verwendung des Diagnosesteuerdienstprogramms angegeben werden kann, ist die Inaktivierung einer Transaktion, wenn für diese Transaktion ein Ausführungseinheitenfehler festgestellt wird.

Die Inaktivierungsaktion wird mit der CICS-Funktion SET implementiert und ist nur für die Region gültig, in der der Fehler auftrat.

CICS-Dienstprogrammfunktion für Regionsaffinität

Die CICS-Dienstprogramme von Rational COBOL Runtime führen Funktionen aus, die eine Regionsaffinität aufweisen. Daher müssen Sie sicherstellen, dass die Transaktion anhand der Benutzer-ID, des Namens der logischen Einheit oder des alternativen Transaktionsnamens an die gewünschte Region weitergeleitet wird. In der folgenden Tabelle sind die Dienstprogramme, die Standardtransaktions-IDs und die Funktionsbeschreibungen aufgeführt.

Tabelle 1. Regionsabhängige Dienstprogramme
Dienstprogramm Standard-ID Funktionsbeschreibung
CICS-Dienstprogrammmenü ELAM Menü zur Auswahl der anderen Dienstprogramme (außer Traceerstellung).
Neue Kopie ELAN Lädt eine neue Kopie von einem Programm, einer Bibliothek, einem Service, einer Formulargruppe oder einer Datentabelle in der Region.
Diagnosenachrichtendruck ELAU Druckt die der Region zugeordnete Fehlernachrichtenwarteschlange.
Diagnosesteuerungsoptionen ELAC Legt Fehlermeldungsoptionen für Rational COBOL Runtime fest. Ist regionsabhängig, falls die Optionsdatei (RDO-Datei namens ELACFIL) für jede Region lokal definiert ist. Ist nicht regionsabhängig, falls ELACFIL als gemeinsam genutzte Datei definiert ist, auf die über eine Dateieignerregion zugegriffen wird.
Traceerstellung ELAZ Von diesem Dienstprogramm festgelegte Traceoptionen werden in Speicher gespeichert, der durch eine CICS-Funktion GETMAIN in der Region angefordert wird, und sind nur in der Region gültig, in der die ELAZ-Transaktion ausgeführt wurde.

Feedback