Makrotyp: 0-Typ
Mit dem EXLST-Makroaufruf erstellt der Anwender eine Liste von symbolischen Adressen, die auf Programmroutinen verweisen, in denen Ereignisse, die zur Unterbrechung der normalen Verarbeitung führten, ausgewertet und bearbeitet werden können.
Für jedes Ereignis gibt es einen speziellen Operanden im EXLST-Makro. Ist zu diesem Operanden eine symbolische Adresse im Makroaufruf angegeben, kann das DVS bei Auftreten des Ereignisses an die entsprechende Programmroutine verzweigen. Wird der Operand nicht oder nur mit einem Nullstring versorgt, führt das Auftreten des Ereignisses zum Abbruch – es sei denn, über den Operanden COMMON wurde eine allgemein gültige Fehlerbehandlungs-Routine adressiert.
Die trifft jedoch nicht für die Operanden zu, mit denen bei der OPEN-Verarbeitung der FCB verändert werden kann oder mit denen der Benutzer bei OPEN- oder CLOSE-Verarbeitung eigene Bandkennsätze schreibt. Sind diese Operanden im EXLST-Makroaufruf genannt, verzweigt das DVS automatisch zu den so adressierten Programmroutinen.
Format
Operation | Operanden |
|
|
Operandenbeschreibung
relaus
symbolische Adresse im Assembler-Programm
PARMOD
Gibt den für den FCB geltenden Generierungsmodus für den Makroaufruf an.
Voreinstellung: | der durch den Makro GPARMOD oder den Assembler voreingestellte Wert für den Generierungsmodus |
= 24
Der Makroaufruf wird mit der Expansion für die 24-Bit-Schnittstelle aufgelöst. Das Objekt ist nur im 24-Bit-Adressierungsmodus ablauffähig, d.h. im 16-MB-Adressraum.
= 31
Der Makroaufruf wird adressierungsmodus-unabhängig generiert, das Objekt ist im 2-GB-Adressraum ablauffähig.
CLOSER
Bei der CLOSE-Verarbeitung trat ein Fehler auf. Der Fehlerschlüssel im FCB-Feld ID1ECB beschreibt den Zustand genauer.
CLOSPOS
Für Band-Eingabedateien mit Nichtstandardkennsätzen:
der Anwender kann ein Band, für das ein CLOSE-Makro mit REPOS oder LEAVE aufgerufen wurde, mit BTAM-Makroaufrufen positionieren. Die CLOSE-Verarbeitung wird nach Beendigung der CLOSPOS-Routine fortgesetzt. Wird der CLOSPOS-Ausgang nicht definiert, führt das System die Positionierung durch.
COMMON
Die Steuerung geht an diese Adresse, wenn für den aufgetretenen Fehler kein spezieller Ausgang angegeben wurde.
Ausnahmen:
CLOSPOS | LABEOV | OPENC | OPENZ |
EOVCTRL | LABERR | OPENV | WLRERR |
LABEND | LABGN | OPENX |
Wenn die Verarbeitung durch ein Ereignis unterbrochen wird, für das kein EXLST-Operand angegeben wurde, geht die Steuerung an die mit COMMON adressierte Routine.
Ausnahmen bilden die o.g. Operanden, die einen Eingriff in die Verarbeitung „erwarten“.
Siehe auch Tabellen „Fehlerausgänge“ am Schluss der EXLST-Beschreibung.
DLOCK
Nur für UPAM-Verarbeitung von Plattendateien:
Deadlock: für einen Auftrag, der bereits Sperren hält, wurden weitere Sperren angefordert, die nicht verfügbar sind.
Der Deadlock-Ausgang wird nach der im FCB-Operanden PAMTOUT angegebenen Wartezeit angesprungen. In der DLOCK-Routine müssen zunächst die „alten“ Sperren freigegeben werden, bevor erneut Sperren angefordert werden können – andernfalls wird das Programm abgebrochen.
DUPEKY
Nur für ISAM:
es wurde versucht, einen Satz in die ISAM-Datei zu schreiben, dessen Schlüssel bereits vorhanden ist, und zwar
mit dem Makro INSRT, der auch zusammen mit DUPEKY=YES in FILE oder FCB nicht für das Schreiben von Sätzen mit gleichen Schlüsseln verwendet werden kann, oder
mit dem Makroaufruf PUT, ohne dass vorher DUPEKY=YES definiert wurde.
EOFADDR
Nur für Eingabedateien:
beim Versuch, einen Satz zu lesen, wurde das Dateiende erreicht.
Nach Prüfung aller Kennsätze aktiviert das DVS die EOFADDR-Routine, in der der Anwender die Datei schließen kann.
EOVCTRL
Um nach dem Bereitstellen eines Folgebandes die Kontrolle vom System an den Benutzer zu übertragen, ist dieser Ausgang anzugeben.
Für Eingabedateien:
wird nur bei Mehrspuldateien für jede Folgespule aktiviert, nachdem das System die Standard-Anfangskennsätze des Folgebandes und der Benutzer – falls erforderlich – im LABGN-Ausgang seine Kennsätze geprüft hat.
Bei Ausgabedateien:
Dieser Ausgang wird nur bei Mehrbanddateien und da auch nur bei den Folgebändern aktiviert, nachdem das System das Prüfen und Schreiben der Standard-Anfangskennsätze (VOL, HDR) beendet hat.
Dieser Ausgang ist mit dem Makro EXRTN zu verlassen.
ERRADDR
Während der Dateiverarbeitung trat ein Hardwarefehler auf oder eine Ein-/ Ausgabe wurde abnormal beendet. Status-Byte, Standard-Geräte-Byte, Ablaufteil-Markierungsbyte sowie die 3 Fehler-Bytes werden im FCB gespeichert. Bei ISAM-Verarbeitung können ISAM-Blöcke inkonsistent sein (SAM verwendet die Ausgänge: EOFADDR, ERROPT, USERERR)
ERROPT
Für SAM-Eingabedateien:
beim Lesen eines Blocks trat ein Parity-Fehler auf: das DVS führt mehrere Leseversuche durch, bevor es den Block als fehlerhaft ausweist und versucht, eine ERROPT-Routine zu aktivieren. Ist kein ERROPT-Fehlerausgang vorgesehen, wird das Programm beendet.
Im EXLST-Makroaufruf kann der Programmierer bestimmen. ob er einen Lesefehler ignorieren will, den fehlerhaften Block übergehen will oder eine Fehlerbehandlung in einer ERROPT-Routine durchführen will.
Für SAM-Ausgabedateien:
ERROPT ist nur dann relevant, wenn kein WLRERR-Ausgang definiert wurde und Sätze falscher Länge auftreten.
= SKIP
Der fehlerhafte Block soll übergangen werden, d.h.: es werden dem Programm keine Sätze dieses Blocks bereitgestellt. Der nächste Block wird gelesen, und die Verarbeitung wird mit dem ersten Satz dieses Folgeblocks fortgesetzt.
= IGNORE
Der Fehler soll ignoriert werden, die Sätze des fehlerhaften Blocks werden dem Programm zur Verarbeitung zur Verfügung gestellt.
= relaus
symbolische Adresse einer Anwenderroutine – in dieser Routine darf kein GET-Makro aufgerufen werden für die Datei, zu der der fehlerhafte Block gehört. Die Routine kann das Register 0 auswerten, das die Adresse des fehlerhaften Blocks enthält und ein Kennzeichen für die weitere Verarbeitung setzen (im Register 0). Die Verarbeitung wird mit dem Makroaufruf EXRTN fortgesetzt.
Enthält das Mehrzweckregister 0 den Wert X'00000001', wird der aktuelle Block übergangen (entspricht SKIP) und die Verarbeitung ab dem nächsten Block fortgesetzt. Jede andere Anzeige bedeutet, dass der Block so verarbeitet werden soll, als ob kein Fehler aufgetreten wäre.
ISPERR
Für ISAM-Dateien mit Index- und Datenteil auf verschiedenen privaten Platten:
Für die Erweiterung des Indexteils steht nicht genügend Platz zur Verfügung (bei diesen ISAM-Dateien kann der Speicherplatz separat für den Index- oder für den Datenteil erweitert werden (vgl. FILE-Makro)).
LABEND
Für Banddateien:
Zum Prüfen/Erstellen von Benutzer-Dateiendekennsätzen; wird dieser Ausgang nicht verwendet, ignoriert das System alle Benutzerkennsätze.
Bei Eingabedateien:
Nach dem Erkennen des Dateiendes aktiviert das System den LABEND-Ausgang, bevor der EOFADDR-Ausgang aktiviert wird. Der Benutzer kann in dieser Routine seine Dateiendekennsätze (UTL) prüfen. Das System stellt ihm im Register 0 die Adresse eines UTL zur Verfügung. Für Eingabedateien mit Nichtstandardkennsätzen erhält der Benutzer über den LABEND-Ausgang die Möglichkeit, seine Kennsätze, falls vorhanden, bei Dateiende einzulesen und zu prüfen.
Bei Ausgabedateien:
Der LABEND-Ausgang wird nach dem Schließen der Datei durch den Benutzer und dem Schreiben der Benutzer-Endekennsätze (UTL) aktiviert. Das System stellt in Register 0 eine Adresse zur Verfügung, an der der Benutzer seine UTL-Kennsätze bereitstellen muss. Für Ausgabedateien mit Nichtstandardkennsätzen erhält der Benutzer, nachdem er den CLOSE-Makroaufruf angestoßen hat, hier die Kontrolle zum Schreiben der Nichtstandardkennsätze.
Nachdem die Kontrolle wieder an das System zurückgegeben wurde (LBRET-Makroaufruf), wird die CLOSE-Verarbeitung abgeschlossen.
LABEOV
Für Banddateien:
Zum Prüfen/Erstellen von Benutzer-Bandendekennsätzen.
Bei Eingabedateien:
wird der LABEOV-Ausgang aktiviert, nachdem das Bandende erkannt und die Endekennsätze geschrieben wurden. Hier kann der Benutzer die Benutzerkennsätze (UTL) prüfen. Im Register 0 wird ihm vom System die Adresse eines UTL zur Verfügung gestellt. Bei Eingabedateien mit Nichtstandardkennsätzen kann der Benutzer über diesen Ausgang seine Kennsätze hinter seiner Datei, falls vorhanden, einlesen und prüfen.
Bei Ausgabedateien:
wird dieser Ausgang aktiviert, wenn das System Bandende erkannt hat (oder ein FEOV-Makro aufgerufen wurde) und die Bandendekennsätze (EOV) geschrieben sind. Das System stellt in Register 0 eine Adresse zur Verfügung, an der der Benutzer seine Endekennsätze (UTL) bereitstellen muss. Für Ausgabedateien mit Nichtstandardkennsätzen erhält der Benutzer über diesen Ausgang die Kontrolle vom System entweder nach Erkennen von Bandende, oder wenn er einen FEOV-Makroaufruf abgesetzt hat, um seine Kennsätze zu schreiben.
Bei BTAM-Verarbeitung muss der Benutzer nach Erkennen von Bandende im Feld ERRBYTE einen FEOV-Makro aufrufen. SAM leitet automatisch die EOV-Bearbeitung ein. Nachdem die Kontrolle dem System zurückgegeben wurde (LBRET-Makroaufruf), kann der Bandwechsel durchgeführt werden.
LABERR
Für Banddateien:
für Dateien mit Standardkennsätzen verzweigt das System zu diesem Ausgang, wenn während der Bandende-Verarbeitung ein Fehler aufgetreten ist. Folgender Fehler-Code wird in das ID1ECB-Feld des FCB übertragen:
X'0DE9' | Anstatt der erwarteten EOV-/EOF-Kennsätze wurde eine Bandmarke gelesen. |
X'0DEA' | Es wurde nicht der erwartete EOV-/EOF-Kennsatz gelesen. |
X'0DEB' | Bandende (Doppel-Abschnittsmarke) wurde erkannt, ohne dass die erwarteten EOV/EOF-Kennsätze gelesen wurden. |
X'0DEC' | Prüfung des Blockzählers war negativ. |
Der Benutzer muss die Kontrolle mit dem EXRTN-Makroaufruf wieder an das System zurückgeben.
Das Register 0 muss einen der folgenden Werte enthalten, um dem System mitzuteilen, wie es weiterarbeiten soll:
X'00' | Bandwechsel durchführen, als ob die richtigen EOV/EOF-Kennsätze gelesen worden wären |
X'01' | Prozess mit Fehler beenden |
X'02' | Dateiende-Verarbeitung durchführen |
Wird der LABERR-Ausgang nicht verwendet und tritt einer der oben beschriebenen Zustände auf, so gibt das System dem Benutzer eine Fehlermeldung. Er kann entweder das Programm fortsetzen oder eine CLOSE-Routine anstoßen.
Wird dieser Ausgang nicht angegeben, ignoriert das System Benutzerkennsätze bei Eingabedateien, und es können für Ausgabedateien keine erstellt werden!
LABGN
Für Banddateien:
Bei Eingabedateien:
wird der LABGN-Ausgang nach Prüfung der Standardanfangskennsätze (VOL, HDR) aktiviert; in der LABGN-Routine können die Benutzer-Anfangskennsätze (UHL) geprüft werden. Die Adresse des Kennsatzes im Puffer wird im Register 0 an das Benutzerprogramm übergeben. Enthält die Datei Nichtstandardkennsätze, kann der Benutzer in der LABGN-Routine seine Kennsätze einlesen und prüfen.
Bei Ausgabedateien, nach OPEN-Verarbeitung, und nach Prüfen und Schreiben der Standard-Anfangskennsätze:
Im Register 0 stellt das System dem Benutzer eine Adresse zur Verfügung, an der er seine Kennsätze (UHL) bereitstellen muss. Soll die Datei Nichtstandardkennsätze erhalten, können sie in der LABGN-Routine erstellt werden.
Wird die Kontrolle wieder an das System zurückgegeben, (LBRET-Makroaufruf), muss das Band bei OPEN EXTEND hinter den letzten Datenblock bzw. bei OPEN REVERSE vor den ersten Datenblock positioniert sein. Gilt TPMARK = YES, wird das Band bei OPEN INPUT um eine Abschnittsmarke zurückgespult, bei OPEN REVERSE um eine Abschnittsmarke vorgespult. Bei TPMARK=NO setzt das System voraus, dass das Band vor den ersten Datenblock positioniert ist.
LOCK
Die Datei ist gesperrt; sie kann nicht eröffnet werden, weil sie bereits von einem anderen Auftrag eröffnet wurde und die OPEN-Modi unverträglich sind: mindestens einer der Aufträge hat einen OPEN-Modus not equal INPUT gewählt.
NODEV
Es ist kein Gerät frei, auf dem der private Datenträger bereitgestellt werden kann, oder der private Datenträger wird z.Z. von einem anderen Anwender genutzt (vorherige Gerätereservierung empfohlen!).
NOFIND
Für ISAM:
die Aktionmakroaufrufe GETKY, ELIM (mit KEY-Angabe) oder GETFL konnten nicht erfolgreich ausgeführt werden:
GETKY / ELIM – die Datei enthält keinen Satz mit dem angegebenen Schlüssel
GETFL – der definierte Dateibereich enthält keinen Satz, der die Flag-Bedingung erfüllt.
NOSPACE
Für Plattendateien:
der benötigte Speicherplatz kann nicht bereitgestellt werden.
OPENC
Die Datei war bei einer vorhergehenden Bearbeitung als Ausgabedatei eröffnet und wurde nicht ordnungsgemäß geschlossen. In der OPENC-Routine kann der VERIF-Makro genutzt werden, um die Datei zu schließen und die Konsistenz wiederherzustellen. (Das Feld ID1ECB des FCB enthält den DVS-Fehlercode X'0DD1'). Ohne OPENC-Ausgang setzt das System die OPEN-Verarbeitung fort.
OPENER
Fehler beim Eröffnen der Datei: z.B. Widerspruch im FCB, der Datei wurde kein Speicherplatz zugewiesen. Ein Fehlerschlüssel, der den Zustand näher beschreibt, wird im FCB gespeichert.
OPENV
Für Banddateien:
Für Dateien mit Standardkennsätzen:
In der OPENV-Routine kann der Benutzer die UVL-Kennsätze prüfen (bei Eingabedateien) bzw. schreiben (für Ausgabedateien). Im Register 0 stellt das DVS die Adresse zur Verfügung, an der bei Eingabedateien der Kennsatz zu finden ist oder an der der Benutzer bei Ausgabedateien den Kennsatz bereitstellen muss. Für Ausgabedateien kann OPENV zum Positionieren oder Schreiben von (maximal 9) Benutzerkennsätzen (UVL) verwendet werden. Der Benutzer kann alle erforderlichen BTAM-Makroaufrufe absetzen.
Für Eingabedateien mit Nichtstandardkennsätzen:
Der Benutzer kann am OPENV-Ausgang seine Bandanfangskennsätze (wenn vorhanden) einlesen und prüfen.
Bevor der Benutzer die Kontrolle an das System zurückgibt (EXRTN-Makroaufruf), muss er das Band vor die Anfangskennsätze (HDR) der Datei – falls vorhanden – positionieren. Das Positionieren kann auch über FSEQ (siehe FILE/FCB) erfolgen. Der Benutzer ist für die korrekte Positionierung verantwortlich. Während des Positionierens kann das Benutzerprogramm keinen Bandwechsel durchführen.
OPENX
Der FCB wurde im Laufe der OPEN-Verarbeitung bereits auf Grund von Angaben in der TFT oder dem Katalog aktualisiert. Das Programm kann nun sicherstellen, dass alle Parameter so vorliegen, dass der OPEN ohne Fehler beendet werden kann. Bei OPEN= OUTPUT/OUTIN ist der FCB zwar über die TFT aktualisiert, der Katalogeintrag jedoch noch nicht. Die Verarbeitung wird nach Aufruf des EXRTN-Makros fortgesetzt.
OPENZ
Bei Dateien, die OUTPUT oder OUTIN eröffnet werden, ist zu dem Zeitpunkt, an dem der OPENZ-Ausgang genommen wird, die Katalogverarbeitung bereits abgeschlossen; es muss noch die abschließende OPEN-Verarbeitung durchgeführt werden.
In der OPENZ-Routine kann der FCB so modifiziert werden, dass die Verarbeitung durchgeführt werden kann: z.B. kann der Anwender eine Datei mit einer anderen als der im Katalog eingetragenen Zugriffsmethode bearbeiten.
Nach Aufruf des EXRTN-Makros wird die Verarbeitung fortgesetzt.
PASSER
Für eine geschützte Datei wurde ein falsches Kennwort angegeben.
PGLOCK
Nur zusammen mit SHARUPD=YES für UPAM oder ISAM:
vom aufrufenden Auftrag angeforderte Sperren können nicht gesetzt werden, weil sie bereits von einem anderen Auftrag gesetzt wurden; es besteht jedoch keine Deadlock-Gefahr.
UPAM:
die im FCB-Operanden PAMTOUT bestimmte Wartezeit ist abgelaufen, wenn dieser Ausgang angesprungen wird.
ISAM:
ist eine PGLOCK-Routine vorhanden, wartet ISAM nicht auf eine Satzsperre. Gilt PGLOCK=NO wird der Auftrag in eine Warteschlange eingereiht, der Benutzer wird dann nicht davon informiert, dass der Satz bereits von einem anderen Auftrag gesperrt wurde.
Wurde eine Datei mit SHARUPD=YES eröffnet, kann bei allen ISAM-Makroaufrufen die Steuerung an diesen Ausgang übergeben werden (ausgenommen OSTAT). Wenn der Ausgang PGLOCK genommen wird, ist der interne Zeiger falsch, es sei denn, der Zustand wurde durch PUTX- oder ELIM-Makroaufruf (ohne KEY) verursacht. Daher ist es unbedingt erforderlich, diesen Zeiger zurückzupositionieren, bevor ein Makroaufruf ausgegeben wird, der voraussetzt, dass der Zeiger richtig steht (z.B. bei GET, GETR und GETFL). Der Zeiger kann zurückpositioniert werden mit dem RETRY-Makroaufruf oder neu positioniert werden mit einem der ISAM-Aktionsmakroaufrufe GETKY, SETL, PUT, STORE, INSRT oder ELIM (mit KEY). Werden GET, GETR oder GETFL aufgerufen, bevor der Zeiger zurückpositioniert wurde, wird die Steuerung an den USERERR-Ausgang übergeben.
Wurde der Zustand, der dazu führte, dass der PGLOCK-Ausgang genommen wurde, durch PUTX- oder ELIM-Makroaufruf (ohne KEY) verursacht, bleibt der Datenblock gesperrt und ein Zurückpositionieren ist nicht erforderlich.
SEQCHK
Für ISAM:
ein Satz, der mit einem PUT-Makroaufruf in eine ISAM-Datei aufgenommen werden soll, enthält einen Satzschlüssel, der kleiner ist als der höchste Schlüssel der vorhandenen ISAM-Datei.
USERERR
Das Programm versucht eine unzulässige oder fehlerhafte Aktion auszuführen, wie z.B. Schreiben in eine mit INPUT eröffnete Datei, Aufruf eines PUTX- oder ELIM-Makros (ohne Schlüssel) für eine SHARUPD eröffnete ISAM-Datei ohne vorherige Sperre, unzulässiger PAM-Operationsschlüssel u.a.
WLRERR
Ein Satz mit falscher Länge wurde gelesen. Bei geblockten Sätzen fester Länge wird die Satzlänge als falsch betrachtet, wenn die Blocklänge nicht ein Vielfaches der im FCB-Eintrag RECSIZE definierten Satzlänge ist, bis zu der im FCB-Eintrag BLKSIZE definierten maximalen Blocklänge. Somit ist es zulässig, kurze Blöcke logischer Sätze zu lesen, ohne die Anzeige „falsche Satzlänge“ zu erhalten. Bei Sätzen variabler Länge ist die Satzlänge falsch, wenn sie sich nicht mehr mit der angegebenen Satzlänge im Steuerfeld des Blockzählers deckt.
Für Dateien mit Satzformat U braucht kein WLRERR-Ausgang vorgesehen zu werden, da die Satzlänge bei diesen Sätzen nicht überprüft wird.
Wird einem Programm an diesem Ausgang die Steuerung übertragen, enthält das Mehrzweckregister 0 die Adresse des fehlerhaften Blocks. Soll der Verarbeitungsablauf fortgesetzt werden, so muss der EXRTN-Makro aufgerufen werden. Enthält das Mehrzweckregister 0 den Wert X'00000001', wird der derzeitige Block übersprungen und die Verarbeitung ab dem nächsten Block fortgesetzt. Jede andere Anzeige bedeutet, dass der Block so verarbeitet werden soll, als ob kein Fehler aufgetreten wäre.
Ist für WLRERR keine separate Fehlerbehandlung vorgesehen, prüft das DVS beim Eintreten des Ereignisses „falsche Satzlänge“ die Angaben im ERROPT-Operanden:
ERROPT not equal NO: der Satz mit „falscher Länge“ wird behandelt wie ein fehlerhafter Block und die Steuerung an die bei ERROPT genannte Adresse übergeben.
ERROPT = NO: der Auftrag wird abgebrochen.
Hinweise zur Programmierung
Die Register 14, 15, 0 und 1 sind DVS-Parameter-Register. Es gilt deshalb: falls nicht explizit anders beschrieben, kann der Anwender nicht davon ausgehen, dass diese Register einen definierten Wert haben, wenn er beim EXLST-Ausgang die Kontrolle erhält.
Die folgenden Tabellen zeigen, wann welche EXLST-Ausgänge verwendet werden:
Fehlerausgang | STD | NSTD | ISAM | PAM | BTAM | Angabe | Angabe | Angabe |
CLOSER | A | A | A | A | A | N | N | N |
CLOSPOS | N | A | N | A | A | N | A | A |
DLOCK | N | N | N | A | N | A | N | A |
DUPEKY | N | N | A | N | N | A | N | A |
EOFADDR | A | A | A | A(1) | A(2) | A | N | A |
EOVCTRL | A | A | N | N | A | A | A | N |
ERRADDR | A | A | A | A | A | A | N | A |
ERROPT | A | A | N | N | N | A | A | N |
ISPERR | N | N | A | N | N | A | N | A |
LABEND | A | A | N | A | A | X | A | A(3) |
LABEOV | A | A | N | A | A | X | A | A(3) |
LABERR | A | X | N | A | A | X | A | A(3) |
LABGN | A | A | N | A | A | X | A | A(3) |
LOCK | A | A | A | A | N | N | N | A |
NODEV | A | A | A | A | A | N | N | N |
NOFIND | N | N | A | N | N | A | N | A |
NOSPACE | A | N | A | N | N | A | N | A/N(SAM) |
OPENC | A | N | A | A | N | N | N | sinnvoll |
OPENER | A | A | A | A | A | N | N | N |
OPENV | A | A | N | A | A | X | A | A(3) |
OPENX | A | A | A | A | A | A | A | N |
OPENZ | A | A | A | A | A | A | A | N |
PASSER | A | A | A | A | A | N | N | N |
PGLOCK | N | N | A | A | N | A | N | A |
SEQCHK | N | N | A | N | N | A | N | A |
USERERR | A | A | A | A | A | A | N | A |
WLRERR | A | A | N | N | N | A | A | N |
Bedeutung der Einträge
EXLST- | COMMON- | FCB-Schlüssel | 1) | Bedeutung |
CLOSER | Z | 2C | A | Datei wird als geschlossen angesehen |
CLOSPOS | N | 70 | N | Nur für Dateien mit Standardkennsätzen |
DLOCK | Z | 3C | A | Keine weiteren Sperrungen bis alle Sperrungen aufgehoben sind |
DUPEKY | Z | 54 | A | |
EOFADDR | Z | 40 | A | |
EOVCTRL | N | 34 | N | |
ERRADDR | Z | 44 | A | Fehlerschlüssel und/oder Endebyte (PAM und BTAM) |
ERROPT | N | 48 | A | Endebyte gespeichert im FCB |
ISPERR | Z | 50 | A | |
LABEND | N | 30 | N | Datei wird als geschlossen angesehen |
LABEOV | N | 28 | N | - |
LABERR | N | 6C | N | Nur für Dateien mit Standardkennsätzen |
LABGN | N | 24 | N | - |
LOCK | Z | 10 | A | |
NODEV | Z | 14 | A | |
NOFIND | Z | 58 | A | |
NOSPACE | Z | 4C | A | |
OPENC | N | 68 | N | |
OPENER | Z | 08 | A | Fehlercode im FCB gespeichert |
OPENV | N | 1C | N | |
OPENX | N | 04 | N | |
OPENZ | N | 18 | N | |
PASSER | Z | 0C | A | |
PGLOCK | Z | 38 | A | |
SEQCHK | Z | 60 | A | |
USERERR | Z | 5C | A | Fehlerschlüssel gespeichert im FCB |
WLRERR | N | 64 | N | Endebyte im FCB gespeichert |
Legende
A | zulässig |
X | nicht zulässig |
Z | zutreffend |
N | nicht zutreffend |
(1) | nur bei der *DUMMY-Datei |
(2) | nur bei FEOV verwendet |
(3) | nur bei Angabe von LABEL=NSTD |
1) | Das Programm wird beendet, falls der Ausgang nicht angegeben wurde und das Ereignis eintritt |