Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Standardheader

Alle DVS-Makros benutzen in ihrer 31-Bit-Schnittstelle den Standardheader für BS2000-Makros. Dieser Standardheader ist ein 8-Byte-Feld am Beginn der Operandenliste, das die normierte Bezeichnung der Schnittstelle enthält und Returncodes aufnehmen kann. Er wird vom jeweiligen Makro erzeugt und sollte – wenn möglich – mit der List-Form der MF-Operanden initialisiert werden.

Aufbau des Standardheaders

Feldinhalt

Byte-Position

Bedeutung

UNIT

0-1

bezeichnet die Funktionseinheit, in der die gesuchte Funktion realisiert ist

FUNCTION

2

bezeichnet die Funktion (innerhalb der Funktionseinheit)

VERSION

3

bezeichnet den „Änderungsstand“, d.h. die Versionsnummer der Funktion

SUBCODE2

4

enthält den Sub-Returncode2

SUBCODE1

5

enthält den Sub-Returncode1

MAINCODE

6-7

enthält den Haupt-Returncode

Die Felder SUBCODE2, SUBCODE1, MAINCODE enthalten den Returncode. Der Haupt-Returncode zeigt an, ob eine Operation erfolgreich ausgeführt werden konnte. Im Fehlerfall kann durch die Sub-Returncodes der Fehler festgestellt werden.

Folgende Werte des Returncodes sind Konvention:

SUBCODE2

SUBCODE1

MAINCODE

Bedeutung

X'00'

X'00'

X'0000'

Erfolgreiche Funktionsausführung.
Es gibt keine zusätzlichen Informationen zum MAINCODE.

X'01'

X'00'

X'0000'

Erfolgreiche Funktionsausführung.
Es sind keine weiteren Aktionen erforderlich.

X'00'

X'01'

X'FFFF'

Die angeforderte Funktion wird nicht unterstützt (falsche Angabe für UNIT oder FUNCTION im Standardheader).
Nicht behebbarer Fehler.

X'00'

X'02'

X'FFFF'

Die angeforderte Funktion ist nicht verfügbar.
Nicht behebbarer Fehler.

X'00'

X'03'

X'FFFF'

Die angegebene Version der Schnittstelle wird nicht unterstützt (falsche Versionsangabe im Standardheader).
Nicht behebbarer Fehler.

X'00'

X'04'

X'FFFF'

Parameterliste ist nicht auf Wortgrenze ausgerichtet.

X'00'

X'41'

X'FFFF'

Das Subsystem ist nicht vorhanden; es muss explizit erzeugt werden.

X'00'

X'42'

X'FFFF'

Der aufrufende Ablauf ist mit dieser Schnittstelle nicht konnektiert; er muss explizit konnektiert werden.

X'00'

X'81'

X'FFFF'

Subsystem zurzeit nicht verfügbar.

X'00'

X'82'

X'FFFF'

Subsystem im DELETE- oder HOLD-Zustand.

MAINCODE kennzeichnet das Ergebnis der Funktionsausführung. SUBCODE1 dient der Qualifizierung des Hauptwertes. SUBCODE2 dient der weiteren Unterteilung des Fehlers in Fehlerklassen.

Der Returncode sollte ausschließlich im Standardheader übergeben werden (Ausnahmen DVS-Makros siehe "Fehlermeldungsschlüssel im DVS"). In einer Übergangsphase kann der Returncode aber auch im Register R15 oder sowohl im Standardheader als auch im Register R15 übergeben werden. Um zu prüfen, ob im Standardheader ein Returncode übergeben wurde, sollte das Returncode-Feld mit X'FFFFFFFF' vorbesetzt werden. Das Ergebnis der Prüfung des Standardheaders wird in jedem Fall auch im Register R15 übergeben:

X'00000000':

Standardheader richtig initialisiert; normale Ausführung.

X'0001FFFF'

Falsche Angabe für UNIT oder FUNCTION.

X'0003FFFF':

Falsche Angabe für VERSION.