Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

ENASI - Serialisierungskennung zuordnen

&pagelevel(3)&pagelevel

Allgemeines

Anwendungsgebiet:

(Task-)Serialisierung; siehe "(Task-)Serialisierung"

Makrotyp:

S-Typ, MF-Format 1: Standardform/L-/E-Form;

siehe "S-Typ-Makroaufrufe"


ENASI generiert je nach Angabe die 24-Bit- oder die 31-Bit-Schnittstelle. Bei Makrokettung müssen alle Makros der Kette dieselbe Schnittstelle (24-Bit oder 31-Bit-Schnittstelle) benutzen.

Makrobeschreibung

Der Makro ENASI richtet für die Task des Aufrufers eine Serialisierungskennung ein. Wenn eine Serialisierungskennung mit dem angegebenen Namen in dem definierten Geltungsbereich bereits besteht (eingerichtet durch einen ENASI-Makroaufruf in einer anderen Task), bewirkt der Makroaufruf nur eine Zuordnung zwischen der Task des Aufrufers und der Serialisierungskennung. Andernfalls wird die Serialisierungskennung vom System erstellt und der Task des Aufrufers zugeordnet.
Durch diesen Makroaufruf wird außerdem eine Kurzkennung für die Serialisierungskennung zur Verfügung gestellt, die in weiteren Aufrufen zur Beschleunigung der Verarbeitung verwendet werden kann.

Ein Programm kann maximal 2000 Serialisierungskennungen gleichzeitig verwenden.Mit dem CONTINU-Operanden können bis zu 255 ENASI-Aufrufe gekettet werden.

Makroaufrufformat und Operandenbeschreibung

ENASI

{ SINAME=name / SINAMAD={adr / (r)} [,SINAMLN=länge] }

,SCOPE=LOCAL / GROUP / USER_GROUP / GLOBAL

,SIIDRET=adr / (r)

,CONTINU=NO / YES

[,PARMOD=24 / 31]

[,MF=L / (E,..)]

SINAME=name

gibt den Namen der Serialisierungskennung an. Dieser Name ist eine 1 bis 54 Byte lange Zeichenfolge. Der erste auftretende Zwischenraum (X'40') beendet den Namen. Als Zeichen können alle Buchstaben und Ziffern sowie die Sonderzeichen $, # und @ verwendet werden. Ziffern und das Zeichen $ sind als erstes Zeichen nicht erlaubt.

SINAMAD=
bezeichnet den Namen der Serialisierungskennung. Die Regeln für den Aufbau des Namens sind bei dem Operanden SINAME beschrieben.

adr
symbolische Adresse des Feldes, das den Namen enthält

(r)
r = Register, das die Adresse enthält

SINAMLN=
gibt die Länge des Namens der Serialisierungskennung in Byte an. Die Länge muss mindestens 1 Byte sein und darf 54 Byte nicht überschreiten.
Fehlt der Operand, so wird das Längenattribut des SINAMAD-Operanden angenommen, wenn SINAMAD=adr angegeben ist; bei SINAMAD=(r) wird die maximale Länge (54) angenommen.

länge
Länge des Namens der Serialisierungskennung.

SCOPE=
beschreibt den Geltungsbereich (Teilnehmerkreis) für die Serialisierungskennung.

LOCAL
Die Serialisierungskennung wird nur von der Task des Aufrufers benutzt.

GROUP
Teilnehmer sind alle Tasks unter der Benutzerkennung des Aufrufers.

USER_GROUP
Teilnehmer können alle Tasks sein, deren Benutzerkennungen der gleichen Benutzergruppe angehören wie die Benutzerkennung des einrichtenden Teilnehmers.

Der Operandenwert setzt die Existenz von Benutzergruppen voraus und kann daher nur angegeben werden, wenn die Funktionseinheit SRPM des Software-Produkts SE-COS im System vorhanden ist. Vor einem Makroaufruf mit SCOPE=USER_GROUP muss deshalb mit dem Makro GETUGR (siehe Handbuch „SECOS“ [14]) geprüft werden, ob SRPM zur Verfügung steht; abhängig vom Ergebnis (Returncode) ist im Programm zu reagieren.

GLOBAL
Teilnehmer sind alle Tasks im System.

SIIDRET=

bezeichnet die Kurzkennung der Serialisierungskennung. Diese Kurzkennung kann in weiteren Makroaufrufen (ENQAR, DEQAR, CHKSI und DISSI), die sich auf die angegebene Serialisierungskennung beziehen, zur Beschleunigung der Verarbeitung verwendet werden.

adr
symbolische Adresse (Name) eines 4 Byte langen Feldes, in dem die Kurzkennung dem aufrufenden Programm übergeben wird

(r)
r = Register mit dem Adresswert adr

CONTINU=
Durch diesen Operanden kann eine Kettung von bis zu 255 ENASI-Aufrufen erfolgen.

NO
Dies ist der letzte (bzw. einzige) Aufruf einer Folge.

YES
Unmittelbar nach diesem ENASI-Aufruf folgt ein weiterer.

MF=
Zur allgemeinen Beschreibung des Operanden MF, der dazugehörenden Operandenwerte und der evtl. nachfolgenden Operanden (z.B. für einen Präfix) siehe Abschnitt „S-Typ-Makroaufrufe“. Die gültigen MF-Werte sind zu Beginn der Makrobeschreibung bei „Makrotyp“ angegeben und aus dem Aufrufformat ersichtlich.

PARMOD=
steuert die Makroauflösung. Es wird entweder die 24-Bit- oder die 31-Bit-Schnittstelle generiert.
Wenn PARMOD nicht spezifiziert wird, erfolgt die Makroauflösung entsprechend der Angabe für den Makro GPARMOD oder der Voreinstellung für den Assembler (= 24-Bit-Schnittstelle).

24
Die 24-Bit-Schnittstelle wird generiert. Datenlisten und Befehle benutzen 24-Bit-Adressen (Adressraum <= 16 MB).

31
Die 31-Bit-Schnittstelle wird generiert. Datenlisten und Befehle benutzen 31-Bit-Adressen (Adressraum <= 2 GB). Datenlisten beginnen mit dem Standardheader.

Hinweise zum Makroaufruf

  • Die dem aufrufenden Programm übergebene Kurzkennung für die Serialisierungskennung kann in weiteren Aufrufen an Stelle des Namens verwendet werden, um die Verarbeitung zu beschleunigen.

  • Ein explizites Enable für eine Serialisierungskennung ist nur erforderlich, wenn der Benutzer die beschleunigte Verarbeitung wünscht, die durch die Verwendung der Kurzkennung ermöglicht wird. Ist dies nicht der Fall, kann der Benutzer von der impliziten Enable-Funktion Gebrauch machen (s. ENQAR-/DEQAR-Makroaufrufe).

  • Eine Task kann eine Serialisierungskennung nur verwenden, wenn ein zugehöriges Enable (explizit oder implizit) für diese Task verarbeitet wurde.

  • Jeder zweite Enable-Aufruf (explizit oder implizit) in einem Programm für eine Serialisierungskennung, die bereits vorher in einem expliziten Enable angegeben und deren Verwendung wieder beendet wurde (siehe DISSI-Aufruf), bekommt nicht notwendigerweise dieselbe Kurzkennung wie im ersten Enable-Aufruf.

  • Ist derselbe Name für eine Serialisierungskennung in zwei Enable-Aufrufen mit zwei verschiedenen Geltungsbereichen angegeben, werden zwei unterscheidbare Serialisierungskennungen vom System verarbeitet.

  • Der Geltungsbereich einer Kurzkennung ist derselbe wie der Geltungsbereich des zugeordneten Namens.

  • Bei der Verwendung von MF=L ist zu beachten:
    Zur Ausführung muss nur ein Makroaufruf mit MF=E gegeben werden, unabhängig davon, ob dieser Aufruf für eine Anforderung oder für eine Folge von Anforderungen gilt. Der Datenbereich bei einer Folge von Anforderungen wird durch Kettung der Makroaufrufe (MF=L) durch den CONTINU-Operand erzeugt.

Rückinformation und Fehleranzeigen

Register R1 enthält die Adresse des Datenbereichs.

R15:

+---------------+
|   |   |   |   |
|b|b| | | | |a|a|
+---------------+

Über die Ausführung des Makros ENASI wird ein gegliederter Returncode (aa=primärer RC, bb=sekundärer RC) im Register R15 übergeben.

X'bb'

X'aa'

Erläuterung

X'04'

X'00'

Alle Enable-Aufrufe wurden ausgeführt:
Mindestens eine Serialisierungskennung wurde eingerichtet.

X'08'

X'00'

Alle Enable-Aufrufe wurden ausgeführt:
Die Verwendung mindestens einer Serialisierungskennung wurde ermöglicht.

X'0C'

X'04'

Nicht alle Enable-Aufrufe wurden ausgeführt:
Mindestens eine Serialisierungkennung wurde von der Task des Aufrufers bereits
verwendet.

X'10'

X'04'

Nicht alle Enable-Aufrufe wurden ausgeführt:
Es wurden ungültige Operanden angegeben

  • ungültige Adresse

  • ungültige Länge

  • ungültiger Name

  • nichtdefinierter Geltungsbereich oder CONTINU-Wert

X'18'

X'04'

Nicht alle Enable-Aufrufe wurden ausgeführt:
Die maximal erlaubte Anzahl von gleichzeitig verwendeten Serialisierungskennungen
wurde überschritten.