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

&pagelevel(4)&pagelevel

Alle neuen Makros und i.d.R. die Makros, die um die 31-Bit-Schnittstelle erweitert wurden, benutzen zur Identifikation ihrer Schnittstelle den Standardheader.
Der Standardheader ist ein 8 Byte langes Feld am Anfang der Operandenliste (Parameterliste) mit der (normierten) Bezeichnung der Schnittstelle und 4 Byte zur Aufnahme eines Returncodes. Der Standardheader wird vom jeweiligen Makro erzeugt und initialisiert, d.h. mit den gültigen Werten für UNIT, FUNCTION und VERSION versorgt. Bei Makroaufrufen in der E-Form unter Bezug auf die Operandenliste muss unter Umständen der Aufrufer den Standardheader initialisieren. Näheres ist beim jeweiligen Makro angegeben.

Aufbau des Standardheaders:

Byte

Feldinhalt und Bedeutung

0 - 1
2
3
4
5
6 - 7

Bezeichnung der Funktionseinheit (UNIT) mit der verlangten Funktion
Bezeichnung der Funktion (FUNCTION) innerhalb der Funktionseinheit
Bezeichnung des Änderungsstandes (VERSION) der Funktion
Unterwert 2 des Returncodes (SC2)
Unterwert 1 des Returncodes (SC1)
Hauptwert des Returncodes (Maincode)

Folgende Werte des Returncodes sind Konvention:

(SC2)SC1

Maincode

Bedeutung

00000000Erfolgreiche Funktionsausführung. Es gibt keine zusätzlichen Informationen zum Maincode.
01000000Erfolgreiche Funktionsausführung. Es waren keine weiteren Aktionen erforderlich.
0001FFFFDie angeforderte Funktion wird nicht unterstützt (falsche Angabe für UNIT oder FUNCTION im Standardheader). Nicht behebbarer Fehler.
0002FFFFDie angeforderte Funktion ist nicht verfügbar. Nicht behebbarer Fehler.
0003FFFFDie angegebene Version der Schnittstelle wird nicht unterstützt (falsche Versionsangabe im Standardheader). Nicht behebbarer Fehler.
0004FFFFParameterliste nicht auf Wortgrenze ausgerichtet.
0041FFFFDas Subsystem ist nicht vorhanden; es muss explizit erzeugt werden.
0042FFFFDie aufrufende Task ist mit dieser Schnittstelle nicht konnektiert; sie muss explizit konnektiert werden.
0081FFFFSubsystem zurzeit nicht verfügbar.
0082FFFFSubsystem im DELETE- oder HOLD-Zustand.

Der Maincode kennzeichnet das Ergebnis der Funktionsausführung. SC1 dient der Klassifizierung des Hauptwertes. SC2 dient der weiteren Unterteilung des Fehlers in Fehlerklassen oder enthält zusätzliche Diagnoseinformationen.

Bei allen ab BS2000 V9.0 neu eingeführten Makros sollte der Returncode ausschließlich im Standardheader übergeben werden. In einer Übergangsphase kann der Returncode bei manchen Makroschnittstellen 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.