Makrotyp: S-Typ (E-Form/L-Form/D-Form/C-Form) (siehe "Typen von Makroaufrufen")
Mit dem Makroaufruf DELPOOL kann der Benutzer von ihm angelegte ISAM-Pools löschen bzw. die Verbindung zwischen seinem Auftrag und ISAM-Pools aufheben. Wird die Verbindung zwischen einem ISAM-Pool und dem letzten an ihn angeschlossenen Auftrag aufgehoben, wird der ISAM-Pool automatisch gelöscht.
Existiert der genannte ISAM-Pool nicht, wird der Makroaufruf mit einer Fehlermeldung abgewiesen.
Bevor ein ISAM-Pool bzw. die Verbindung zwischen Auftrag und ISAM-Pool gelöscht werden kann, müssen mit REMPLNK für die betroffenen Pools alle Einträge in den Pooltabellen gelöscht worden sein. Ist ein Pool noch über seinen Kettungsnamen mit einer Pooltabelle verknüpft, wird DELPOOL mit einer Fehlermeldung abgewiesen.
Hinweis
Taskübergreifende ISAM-Pools (SCOPE=HOST) werden bei der Dateieröffnung automatisch dateispezifisch in einem Data Space angelegt.
Die bis BS2000/OSD-BC V6.0A vorhandenen Geltungsbereiche SCOPE=USERID und SCOPE=USERGROUP werden aus Kompatibilitätsgründen noch akzeptiert, intern jedoch auf SCOPE=HOST (taskübergreifender ISAM-Pool) abgebildet. Für weitere Informationen zu ISAM-Pools in Data Spaces siehe Handbuch „Einführung in das DVS“ [1].
Format
Operation | Operanden |
|
|
| |
| |
|
Operandenbeschreibung
MACID
wird nur in Verbindung mit MF=C ausgewertet und legt jeweils das zweite bis einschließlich vierte Zeichen der Feldnamen und Equates fest, die bei der Makroauflösung im Datenbereich generiert werden.
Voreinstellung: MACID = ISD
= macid
„macid“ ist eine drei Zeichen lange Zeichenfolge, die jeweils das zweite bis vierte Zeichen der generierten Feldnamen und Equates festlegt.
MF
Die Formen des MF-Operanden sind detailliert im Anhang ("Typen von Makroaufrufen") beschrieben.
MODE
gibt an, ob ein bestimmter ISAM-Pool gelöscht/freigegeben werden soll oder alle mit dem Auftrag verbundenen ISAM-Pools.
MODE = SINGLE
Es muss mindestens ein Poolname angegeben werden. Nur der durch NAME, CATID und SCOPE identifizierte ISAM-Pool wird gelöscht/freigegeben.
NAME = poolname
gibt den Namen an, mit dem der ISAM-Pool im CREPOOL-Makro angelegt wurde.
CATID = catid
gibt die Katalogkennung des Pubsets an, dem der ISAM-Pool im CREPOOL-Makroaufruf zugeordnet wurde.
Voreinstellung: die Default-Catid des Auftrags
SCOPE
gibt den Geltungsbereich des ISAM-Pools an, wie er im CREPOOL-Makroaufruf definiert wurde.
Alle Operandenwerte außer TASK werden nur noch aus Kompatibilitätsgründen unterstützt (siehe Hinweis auf "DELPOOL - ISAM-Pool löschen/freigeben").
= TASK
der tasklokale ISAM-Pool „poolname“ wird gelöscht bzw. freigegeben, wenn kein Poolkettungsname mehr besteht; andernfalls wird der Makroaufruf mit Fehlermeldung abgebrochen.
= USERID
= USERGROUP
Die bis BS2000/OSD-BC V6.0A vorhandenen Geltungsbereiche SCOPE=USERID und SCOPE=USERGROUP werden aus Kompatibilitätsgründen noch akzeptiert, intern jedoch auf SCOPE=HOST (taskübergreifender ISAM-Pool) abgebildet.
= HOST
der taskübergreifende ISAM-Pool „poolname“ wird gelöscht bzw. freigegeben, wenn kein Poolkettungsname für den Auftrag mehr besteht (andernfalls: Abbruch mit Fehlermeldung).
MODE = ALL
gibt an, dass alle mit dem Auftrag verbundenen ISAM-Pools (tasklokal und taskübergreifend) gelöscht bzw. freigegeben werden.
PARAM
bezeichnet die Adresse der Operandenliste und wird nur in Verbindung mit MF=E ausgewertet (siehe auch "Typen von Makroaufrufen").
= adr
adr ist die symbolische Adresse (der Name) der Operandenliste.
= (r)
r ist die Nummer des Registers, das die Adresse der Operandenliste enthält. Vor dem Makroaufruf muss das Register mit diesem Adresswert geladen werden.
PREFIX
wird nur in Verbindung mit MF=C oder MF=D ausgewertet und legt das jeweils erste Zeichen der Feldnamen und Equates fest, die bei der Makroauflösung im Datenbereich generiert werden.
Voreinstellung: PREFIX = D
= pre
„pre“ ist ein Zeichen langes Präfix, mit dem die vom Assembler generierten Feldnamen und Equates beginnen sollen.
Returncodes
Die mit der C- oder D-Form des Makros generierten Feldnamen und EQU-Anweisungen für die Returncodes beginnen standardmäßig mit der Zeichenfolge DISD, die durch PREFIX und MACID geändert werden kann.
Die Returncodes werden im Standardheader der Operandenliste hinterlegt.
Maincode | Bedeutung |
DISDOK X'0000' | Makroaufruf war erfolgreich |
DISDNPAR X'0001' | auf die Operandenliste kann nicht zugegriffen werden |
DISDNCAT X'0003' | die Katalogkennung „catid“ ist im System nicht bekannt |
DISDNACC X'0004' | zum Pubset „catid“ besteht keine Verbindung |
DISDINVN X'0005' | der Poolname ist ungültig |
DISDNANF X'0006' | es existiert kein ISAM-Pool mit diesem Namen, dieser Catid und diesem Geltungsbereich |
DISDPUSE X'0009' | in der Pooltabelle des Auftrags bestehen noch Einträge mit Poolkettungsnamen für diesen ISAM-Pool |
DISDSYSE X'000B' | während der Makrobearbeitung trat ein Systemfehler auf |
DISDSPEX X'0014' | Kontingent für ISAM-Pools überschritten |
DISDRNLK X'FFFF' | Makroaufruf konnte nicht ausgeführt werden (Linkage Fehler): Subreturncode1 auswerten! |