CICS - Temporärer Speicher

In CICS stehen verschiedene Notizblöcke zum Speichern von Daten oder zum Übertragen von Daten zwischen Transaktionen zur Verfügung. Es gibt fünf Speicherbereiche, die von CICS bereitgestellt werden und die wir in diesem Modul diskutieren werden.

COMMAREA

Die COMMAREA verhält sich wie ein Notizblock, mit dem Daten von einem Programm an ein anderes Programm übergeben werden können, entweder innerhalb derselben Transaktion oder von verschiedenen Transaktionen. Es sollte im LINKAGE-ABSCHNITT unter Verwendung des DFHCOMMAREA-Namens definiert werden.

Gemeinsamer Arbeitsbereich

Jede Transaktion in der CICS-Region kann auf den gemeinsamen Arbeitsbereich zugreifen. Daher müssen Format und Verwendung von allen Transaktionen im System vereinbart werden, die sich für die Verwendung entscheiden. In der gesamten CICS-Region gibt es nur eine CWA.

Transaktionsarbeitsbereich

Der Transaktionsarbeitsbereich wird verwendet, um Daten zwischen den Anwendungsprogrammen zu übertragen, die mit derselben Transaktion ausgeführt werden. TWA existiert nur für die Dauer der Transaktion. Seine Größe ist in der Programmsteuertabelle definiert.

Temporäre Speicherwarteschlange

Temporary Storage Queue (TSQ) ist eine Funktion, die vom Temporary Storage Control Program (TSP) bereitgestellt wird.

  • Eine TSQ ist eine Warteschlange von Datensätzen, die von verschiedenen Aufgaben oder Programmen in derselben CICS-Region erstellt, gelesen und gelöscht werden können.

  • Eine Warteschlangenkennung wird verwendet, um TSQ zu identifizieren.

  • Ein Datensatz innerhalb einer TSQ wird durch die relative Position identifiziert, die als Artikelnummer bekannt ist.

  • Auf die Datensätze in TSQ bleibt zugegriffen, bis die gesamte TSQ explizit gelöscht wird.

  • Die Datensätze in TSQ können nacheinander oder direkt gelesen werden.

  • TSQs können in den Hauptspeicher oder den Hilfsspeicher im DASD geschrieben werden.

WRITEQ TS

Dieser Befehl wird verwendet, um Elemente zu einer vorhandenen TSQ hinzuzufügen. Mit diesem Befehl können wir auch eine neue TSQ erstellen. Es folgt die Syntax des Befehls WRITEQ TS -

Syntax

EXEC CICS WRITEQ TS
   QUEUE ('queue-name')
   FROM (queue-record)
   [LENGTH (queue-record-length)]
   [ITEM (item-number)]
   [REWRITE]
   [MAIN /AUXILIARY]
END-EXEC.

Im Folgenden sind die Details der im Befehl WRITEQ TS verwendeten Parameter aufgeführt.

  • Die QUEUE wird durch den Namen identifiziert, der in diesem Parameter erwähnt wird.

  • Mit den Optionen FROM und LENGTH werden der Datensatz, der in die Warteschlange geschrieben werden soll, und seine Länge angegeben.

  • Wenn die Option ITEM angegeben ist, weist CICS dem Datensatz in der Warteschlange eine Artikelnummer zu und setzt den in dieser Option angegebenen Datenbereich auf die Artikelnummer. Wenn der Datensatz eine neue Warteschlange startet, ist die zugewiesene Artikelnummer 1 und die nachfolgenden Artikelnummern folgen nacheinander.

  • Mit der Option REWRITE wird ein Datensatz aktualisiert, der bereits in der Warteschlange vorhanden ist.

  • Die Option MAIN / AUXILIARY wird verwendet, um Datensätze im Haupt- oder Hilfsspeicher zu speichern. Die Standardeinstellung ist AUXILIARY.

READQ TS

Dieser Befehl wird zum Lesen der temporären Speicherwarteschlange verwendet. Es folgt die Syntax von READQ TS -

Syntax

EXEC CICS READQ TS
   QUEUE ('queue-name')
   INTO (queue-record)
   [LENGTH (queue-record-length)]
   [ITEM (item-number)]
   [NEXT]
END-EXEC.

DELETEQ TS

Mit diesem Befehl wird die temporäre Speicherwarteschlange gelöscht. Es folgt die Syntax von DELETEQ TS -

Syntax

EXEC CICS DELETEQ TS
   QUEUE ('queue-name')
END-EXEC.

Transient Data Queue

Die Warteschlange für vorübergehende Daten ist vorübergehender Natur, da sie schnell erstellt und gelöscht werden kann. Es erlaubt nur sequentiellen Zugriff.

  • Der Inhalt der Warteschlange kann nur einmal gelesen werden, da er nach einem Lesevorgang zerstört wird und daher der Name Transient.

  • Es kann nicht aktualisiert werden.

  • Es erfordert einen Eintrag in DCT.

WRITEQ TD

Mit diesem Befehl werden vorübergehende Datenwarteschlangen geschrieben, die immer in eine Datei geschrieben werden. Es folgt die Syntax des Befehls WRITEQ TD -

Syntax

EXEC CICS WRITEQ TD
   QUEUE ('queue-name')
   FROM (queue-record)
   [LENGTH (queue-record-length)]
END-EXEC.

READQ TD

Dieser Befehl wird zum Lesen der Warteschlange für vorübergehende Daten verwendet. Es folgt die Syntax von READQ TD -

Syntax

EXEC CICS READQ TD
   QUEUE ('queue-name')
   INTO (queue-record)
   [LENGTH (queue-record-length)]
END-EXEC.

DELETEQ TD

Mit diesem Befehl wird die Warteschlange für vorübergehende Daten gelöscht. Es folgt die Syntax von DELETEQ TD -

Syntax

EXEC CICS DELETEQ TD
   QUEUE ('queue-name')
END-EXEC.