Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

@UNLOAD - Entladen eines Moduls

&pagelevel(3)&pagelevel

Mit der Anweisung @UNLOAD können Ladeeinheiten oder einzelne Module, die mit @USE oder @RUN geladen wurden, wieder entladen werden. Gleichzeitig werden Anweisungsroutinen, die der entladenen Einheit zugewiesen sind, deaktiviert und deren Benutzeranweisungssymbole ungültig gesetzt.

Operation

Operanden

F-Modus, L-Modus

@UNLOAD

{ UNIT=entry

 | MODULE=entry

 | (name) }

UNIT=entry

Die Ladeeinheit (UNIT) mit dem Namen entry soll komplett entladen
werden. Der EDT teilt beim Laden von externen Anweisungsroutinen mit
@USE bzw. von Anwenderroutinen mit @RUN dem Binder-Lader-System
den Namen des angegebenen Moduls bzw. des Einsprungpunkts (ENTRY)
als UNIT-Name mit. Durch Angabe dieses Namens bei @UNLOAD wird die
komplette Ladeeinheit, einschließlich aller evtl. durch Autolink nachgeladenen
Module entladen.

MODULE=entry

Der Modul mit dem Namen entry soll entladen werden. Im Gegensatz zum
Verhalten bei Angabe von UNIT wird hier nur der angegebene Modul
entladen.

name

Name des Moduls, der entladen werden soll. Dieses Format wird nur noch
aus Kompatibilitätsgründen unterstützt.

Wenn die Anweisung @UNLOAD zum Entladen einer Ladeeinheit bzw. eines Moduls geführt hat, bereinigt der EDT anschließend die Liste der vereinbarten Anweisungsroutinen. Dabei wird eine Anweisungsroutine nur über die bei entry bzw. name angegebene Zeichenkette identifiziert, ohne die Ladestruktur zu berücksichtigen. Alle Anweisungsroutinen mit dem angegebenen Namen werden deaktiviert und deren Benutzeranweisungssymbole werden ungültig gesetzt. Anweisungsroutinen, die mit @USE ...,ENTRY=* definiert
wurden, werden dabei nicht berücksichtigt, d.h. das entsprechende Benutzeranweisungssymbol bleibt gültig und die entladene Ladeeinheit wird beim nächsten Aufruf mit dem entsprechenden Einsprungpunkt ggf. neu geladen.

Die Anweisung @UNLOAD gehört zu den sicherheitsrelevanten Anweisungen des EDT (siehe hierzu auch Abschnitt „Zugriffsschutz“). In nichtunterbrechbaren Systemprozeduren im Dialog und bei Eingabe von einer Datei (Lesen mit RDATA von SYSDTA ungleich SYSCMD, Abarbeiten einer Start-Prozedur) wird die Anweisung abgewiesen.

Der Versuch, Module zu entladen, die intern vom EDT nachgeladen wurden, wird mit der Meldung EDT1907 abgewiesen.

Die gleiche Meldung wird auch ausgegeben, wenn der Modul aus anderen Gründen nicht entladen werden kann. Mögliche Ursachen sind ein falscher Modulname, die Angabe eines Moduls, der mehrfach benutzbar geladen ist sowie die Angabe eines CSECT- oder ENTRY-Namens, der bei der @USE-bzw. @RUN-Anweisung nicht zu einem Ladevorgang geführt hat.

Hinweis

Bei Angabe von entry sind bis zu 32 Zeichen lange Namen erlaubt, Groß-und Kleinschreibung wird unterschieden. Für name sind nur 8 Zeichen erlaubt, eingegebene Kleinbuchstaben werden in Großbuchstaben umgewandelt.

Achtung

Der EDT löscht bei @UNLOAD nur die Benutzeranweisungssymbole, denen die angegebene Ladeeinheit bzw. der angegebene Modul direkt zugewiesen war. Benutzeranweisungssymbole, die sich auf andere Einsprungpunkte (ENTRY) innerhalb der Ladeeinheit beziehen, bleiben erhalten und verweisen anschließend auf ungültige Adressen. Der Anwender ist selbst dafür verantwortlich, dass derartige Benutzeranweisungssymbole nach dem Entladen nicht mehr verwendet werden.