Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

Fehlermeldungsschlüssel im DVS

Fehlerschlüssel enthalten Informationen über Fehlerzustände von Programmen oder Aufträgen, denen der Anwender Art und Herkunft des Fehlers sowie die zu treffende Maßnahme entnehmen kann. Die DVS-Fehlerschlüssel bieten folgende Vorteile:

  • Die kurze Form gestattet die Verschlüsselung vieler Fehlerfälle.

  • Aus dem Schlüssel kann die Komponente ermittelt werden, bei der der Fehler aufgetreten ist.

  • Bei behebbaren Fehlern kann durch Selbstanalyse eine abnormale Programmbeendigung vermieden werden.

DVS-Fehler beim Programmablauf

Bei folgenden Makroaufrufen der Dateiverwaltung wird der Fehlerschlüssel (mit Subcodes) im Standardheader abgelegt:

  • CATAL mit VERSION=3

  • COMPFIL

  • COPFILE

  • DECFILE

  • DROPTFT

  • ENCFILE

  • ERASE mit VERSION=3

  • FILE mit VERSION=3

  • FSTAT mit VERSION=3/4

  • LFFSNAP

  • LJFSNAP

  • MAILFIL

  • RDTFT mit VERSION=3

  • RELTFT

  • RFFSNAP

  • RJFSNAP

Bei folgenden Makroaufrufen der Dateiverwaltung wird der Fehlerschlüssel (ohne Subcodes) im Register 15 in den beiden niedrigerwertigen Byte abgelegt:

  • CATAL mit VERSION<3

  • CHNGE

  • COPY

  • ERASE mit VERSION<3

  • FILE mit VERSION<3

  • FSTAT mit VERSION<3

  • IMPORT

  • RDTFT ohne VERSION und mit VERSION=2

  • REL

Bei Makroaufrufen der Datenverwaltung (OPEN, CLOSE und Zugriffsmethoden) werden Fehlerschlüssel im Feld ID1ECB des TU-FCB (Distanz X'98') abgespeichert.

Tritt während des Programmlaufs ein DVS-Fehler auf, wird ein Fehlerschlüssel im Dateisteuerblock gespeichert. Ist im Programm keine Routine zur Behandlung des aufgetretenen Fehlers vorgesehen, wird das Programm beendet mit Fehlermeldung auf SYSOUT im Dialog- oder auf SYSLST im Batchbetrieb.

Methodik der Verschlüsselung

w x y z

Der Fehlerschlüssel ist eine vierstellige Sedezimalzahl, deren zweite Ziffer x die Komponente bezeichnet, die den Fehler festgestellt hat. Die Ziffern w, y und z bezeichnen den aufgetretenen Fehler.

Fehlercode-Wertetabelle der Komponenten:

x

Komponente

2

Privilegiertes PAM (PPAM)

3

Katalogverwalter (CMS)

4

Datenspeicherverwalter (ALLOC)

5 und 6

DMS-Kommandos / Assembler-Makros

7

Privilegierte Bandzugriffsmethode (PTAM)

9

UPAM

A

ISAM

B

SAM

C

BTAM

D

OPEN

E

CLOSE

In der Reihenfolge der Komponenten von 216-E16 kommt zum Ausdruck, dass eine Komponente mit höherer Nummer eine Komponente mit niedrigerer Nummer aufrufen kann (und nicht umgekehrt).

Tritt ein Fehler in einer aufgerufenen Komponente auf, wird der Fehlerschlüssel der aufrufenden Komponente übergeben und dabei modifiziert.

Beispiel Generierung und Modifizierung von Fehlerschlüsseln

  • einstufig (Fehler in der aufrufenden Komponente): Ein Anwender ruft UPAM auf, und die Datei ist nicht eröffnet: UPAM setzt den Fehlerschlüssel 0994 im FCB ab und verzweigt über $GOTO und USERERR.

  • zweistufig (Fehler in der aufgerufenen Komponente): Ein Anwender ruft UPAM auf, das seinerseits PPAM aufruft, das einen Ein-/Ausgabe-Fehler entdeckt: In diesem Fall gibt PPAM den Fehlerschlüssel 0227 an UPAM im Register 15 weiter. UPAM ändert diesen Schlüssel zu 0927, setzt ihn im FCB ab und verzweigt über $GOTO nach ERRADR.

Liste der DVS-Fehlerschlüssel

Makroaufruf IDEMS

Die Erläuterungen, die den Fehlerschlüsseln zugeordnet sind, stehen in einer Liste. Diese Liste kann ganz oder teilweise ausgegeben werden mithilfe des Makroaufrufs IDEMS.

Operation

Operanden

Bemerkung

IDEMS

[ALL=Y]

alle Fehlerschlüssel werden generiert


[,PAM=Y]

nur PPAM-Schlüssel


[,CATAL=Y]

nur CMS-Schlüssel


[,ALLOC=Y]

nur ALLOC-Schlüssel


[,CMDMAC=Y]

nur Schlüssel für DMS-Kommandos/Makros Teil 1


[,CMDNMAC=Y]

nur Schlüssel für DMS-Kommandos/Makros Teil 2


[,NPAM=Y]

nur UPAM-Schlüssel


[,ISAM=Y]

nur ISAM-Schlüssel


[,SAM=Y]

nur SAM-Schlüssel


[,BTAM=Y]

nur BTAM-Schlüssel


[,OPEN=Y]

nur Schlüssel der OPEN-Verarbeitung


[,CLOSE=Y]

nur Schlüssel der CLOSE-Verarbeitung


[,P=buchstabe]

Präfix für die symbolischen Namen der DVS-Meldungen;
Standardwert: I
Für „P=“ wird kein Buchstabe generiert.


Präfix der Systemmeldungen

Bei der Ausgabe von Systemmeldungen wird dem Fehlerschlüssel die Meldungsklasse „DMS“ vorangestellt (0D33 -> DMS0D33). Mit dem Kommando bzw. der Standardanweisung HELP-MSG-INFORMATION können zu einem Meldungsschlüssel Meldungstext sowie weitere Angaben zu Fehlerursache und -behandlung in deutsch bzw. englisch ausgegeben werden.

Ausnahmen

  • ISAM: für ISAM gilt stets als Meldungsschlüssel 0AAz (0 <= z <= F), auch bei den Systemmeldungen.

    Beispiel
    Wenn PPAM nach ISAM-Aufruf einen Fehler feststellt, wird immer der '0AA9' im FCB eingetragen. Der Eintrag in der IDEMS-Liste lautet „SYSTEM ERROR, HARDWARE“. ISAM gibt diese Meldung für alle in PPAM festgestellten Fehler aus.
  • OPEN: Bei Eröffnen von ISAM-Dateien können Fehler auftreten, die nicht über den Fehlerschlüssel analysierbar sind.

    Beispiel
    Wenn eine ISAM-Datei im INPUT-Modus eröffnet wird, wird die „erste PAM-Seite“ gelesen. Sie enthält immer den Kontrollblock (NK-ISAM) oder den höchsten Indexblock (K-ISAM).
    Nach einem Ein-/Ausgabe-Fehler geschieht Folgendes:

    Bild 11: Fehlerablauf nach einem Ein-/Ausgabe-Fehler

    Hinweis

        Dieser Fehler hat im IDEMS-Makroaufruf eine andere Bedeutung, hier aber steht er für Ein-/Ausgabe-Fehler.

  • CLOSE: Um alle noch ausstehenden Ein-/Ausgaben zu beenden, ruft die Routine CLOSE die Zugriffsmethode der Datei auf.

Hilfen für die Fehleranalyse

Zur Analyse eines Fehlerschlüssels gibt es folgende Hilfsmittel:

  • Bedeutung in der IDEMS-Liste aufsuchen.

  • Werden in einem Programm Makroaufrufe der Dateiverwaltung benutzt, sollte der Anwender den Fehlerschlüssel (im Standardheader bzw. in Register 15) immer überprüfen. Falls der Fehlerschlüssel not equal 0 ist, sollte das Programm beendet werden oder eine gründliche Analyse des Fehlerschlüssels vorgenommen werden.