Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

(Task-)Serialisierung

&pagelevel(4)&pagelevel

Makro

Kurzbeschreibung

CHKSI

prüft die Warteschlangenbelegung einer Serialisierungskennung

DEQAR

hebt die (exklusive) Belegung einer Serialisierungskennung durch die Task des Aufrufers auf

DISSI

löst die Zuordnung der Task zu der Serialisierungskennung. Die Serialisierungskennung wird gelöscht, wenn sie von keiner weiteren Task benutzt wird

ENASI

ordnet die Task einer Serialisierungskennung zu. Die Serialisierungskennung wird eingerichtet, wenn sie nicht schon von einer anderen Task benutzt wird

ENQAR

fordert die (exklusive) Belegung einer Serialisierungskennung. Die Anforderung wird in eine Warteschlange eingetragen

Einleitung

Dem Anwender wird ein Verfahren (semaphore-type mechanism) zur Verfügung gestellt, das serielle Zugriffe zu bestimmten Serialisierungskennungen ermöglicht.

Serialisierungskennung

Eine Serialiserungskennung ist mit keiner speziellen „Eigenschaft“ assoziiert. Es ist Aufgabe des Anwenders, eine Serialisierungskennung mit einer bestimmten „Eigenschaft“ oder einem bestimmten „Dasein“ zu verknüpfen.

Die Serialisierungskennung wird identifiziert mittels eines Namens oder mittels einer Kurzkennung, die dem Anwender zur Verfügung gestellt wird und in weiteren Aufrufen zur Beschleunigung der Verarbeitung verwendet werden kann.

Geltungsbereich einer Serialisierungskennung (SCOPE-Operand)

Der Operand SCOPE definiert den Geltungsbereich (Teilnehmerkreis) einer Serialisierungskennung. Der Geltungsbereich kann eine Task, alle Tasks einer Benutzerkennung oder alle Tasks im System umfassen.

Verwendung einer Serialisierungskennung ermöglichen

Eine Serialisierungskennung muss der Task zugeordnet sein, bevor eine (exklusive) Belegungsanforderung (ENQAR) für die Serialisierungskennung angenommen wird.
Eine Serialisierungskennung wird der Task mittels eines ENASI-Makroaufrufs (ENAble Serialization Item) explizit oder mittels eines ENQAR-Makroaufrufs (mit Namen) implizit zugeordnet. Wenn eine Serialisierungskennung mit dem angegebenen Namen in dem definierten Geltungsbereich bereits besteht (eingerichtet durch einen ENASI-Aufruf in einer anderen Task), bewirkt der Aufruf nur eine Zuordnung zwischen der Task mit dem aufrufenden Programm und der Serialisierungskennung. Andernfalls wird die Serialisierungskennung vom System erstellt und zugeordnet. Nur bei Verwendung des ENASI-Aufrufs wird eine Kurzkennung für die Serialisierungskennung zur Verfügung gestellt.

Einer Task können maximal 2000 Serialisierungskennungen gleichzeitig zugeordnet sein.

Zuordnung zu einer Serialisierungskennung aufheben

Die Zuordnung zu einer Serialisierungskennung wird aufgehoben, entweder explizit mittels eines DISSI-Aufrufs (DISable Serialization Item) oder implizit mittels eines DEQAR-Aufrufs (DEQueue Access Request) mit dem Operanden DISSI. Verwendet keine weitere Task diese Serialisierungskennung, so wird sie gelöscht.

Ein ENASI-Aufruf für eine Serialisierungskennung, deren Verwendung zuvor bereits beendet wurde, führt nicht unbedingt zu derselben Kurzkennung wie wie im vorhergehenden ENASI-Aufruf.

Programmbeendigung

Mit Programmbeendigung wird die Zuordnung der Task zu allen verwendeten Serialisierungskennungen aufgehoben.

Belegungsanforderung für eine Serialisierungskennung (ENQAR-Makro)

Der Makro ENQAR (ENQueue Access Request) fordert die (exklusive) Belegung der angegebenen Serialisierungskennung. Die Anforderung wird in die Warteschlange dieser Serialisierungskennung eingetragen und die Task solange in den Wartezustand versetzt, bis sie die erste Task in dieser Warteschlange ist. Danach läuft die Task weiter und belegt die Serialisierungskennung solange, bis ein DEQAR-Aufruf (DEQueue Access Request) für diese Serialisierungskennung gegeben wird.

Ist keine Serialisierungskennung mit dem angegebenen Namen im definierten Geltungsbereich vorhanden, so wird sie eingerichtet und zugeordnet (implizite Enable-Funktion).

Durch den COND-Operanden bestimmt der Anwender, ob die Belegungsanforderung unmittelbar befriedigt werden soll oder ob eine Wartezeit akzeptiert wird. Der LIFETIM-Operand spezifiziert die Wartezeit.

Belegung einer Serialisierungskennung beenden (DEQAR-Makro)

Der Makro DEQAR (DEQueue Access Request) beendet die Belegung der Serialisierungskennung durch die Task.

Die Beendigung kann in der Task erfolgen, die die Belegung angefordert hat, oder in jeder anderen Task, die dieser Serialisierungskennung auch zugeordnet ist. (Operand HOLDER=ANY im DEQAR-Aufruf).

Wahlweise (DISSI-Operand) kann zugleich auch die Zuordnung der Task zu der Serialisierungskennung aufgehoben werden (implizite Disable Funktion).

Prüfen der Serialisierungskennung (CHKSI-Makro)

Der Makro CHKSI (CHeck Serialisation Item) informiert über Verfügbarkeit und Belegung (Task des Aufrufers oder andere Tasks) der angegebenen Serialisierungskennung. Die Information wird als Returncode (Register R15) übergeben.