Mit dem Aufruf KC_DELETE_OBJECT der Programmschnittstelle zur Administration können Sie während eines Anwendungslaufs Objekte aus der Konfiguration Ihrer Anwendung löschen.
KC_DELETE_OBJECT, siehe "KC_DELETE_OBJECT - Objekte löschen" |
Beim Löschen von Objekten sind zwei Arten zu unterscheiden: das verzögerte Löschen (delay) und das sofortige Löschen (immediate).
verzögertes Löschen (KC_DELETE_OBJECT subopcode1=KC_DELAY)
Verzögertes Löschen heißt, dass die Objekte als gelöscht gekennzeichnet werden. Die Objekte und deren Eigenschaften bleiben in der Objekttabelle stehen. Das verzögerte Löschen wirkt wie eine dauerhafte Sperre, die nicht zurückgenommen werden kann. Das eigentliche Löschen der Objekte aus den Objekttabellen erfolgt erst bei der Neugenerierung, wenn mit dem inversen KDCDEF gearbeitet wird.
Auf ein verzögert gelöschtes Objekt kann kein Benutzer mehr zugreifen. Lediglich die Administration kann noch lesend auf verzögert gelöschte Objekte zugreifen. D.h. es können mit KC_GET_OBJECT oder mit dem Administrationskommando KDCINF Namen und Eigenschaften „verzögert gelöschter“ Objekte gelesen werden. Die Eigenschaften gelöschter Objekte können aber nicht mehr verändert werden. Eine „verzögert gelöschte“ Benutzerkennung kann jedoch durch „sofortiges Löschen“ vollständig aus der Konfiguration entfernt werden.
Durch das verzögerte Löschen eines Objektes wird kein Platz in der Objekttabelle freigegeben. Die Namen dieser Objekte bleiben belegt, d.h. es können innerhalb ihrer Namensklasse keine neuen Objekte mit gleichem Namen dynamisch eingetragen werden. Insbesondere können keine neuen Objekte mit gleichem Namen und gleichem Objekttyp dynamisch erzeugt werden.
Keysets, LU6.1-Sessions, LTACs, LTERM-Partner, Teilprogramme, Transaktionscodes und TAC-Queues können nur durch verzögertes Löschen aus der Konfiguration entfernt werden.
sofortiges Löschen (KC_DELETE_OBJECT subopcode1=KC_IMMEDIATE)
Sofortiges Löschen ist nur für Benutzerkennungen und LU6.1-Verbindungen von standalone UTM-Anwendungen erlaubt.
Sofortiges Löschen aus der Konfiguration heißt, dass das Objekt und dessen Eigenschaften sofort aus der Objekttabelle gelöscht werden. Der Tabellenplatz einer „sofort gelöschten“ Benutzerkennung oder eines CON-Objekts kann direkt wieder von einer neu erzeugten Benutzerkennung bzw. einem neu erzeugten CON-Objekt belegt werden, ohne dass eine Neugenerierung der Anwendung durchgeführt werden muss. Der Name einer sofort gelöschten Benutzerkennung oder eines CON-Objekts bleibt nicht belegt. Es kann direkt nach dem Löschen eine neue Benutzerkennung bzw. ein neues CON-Objekt mit demselben Namen erzeugt werden.
Auf ein so gelöschtes Objekt kann nicht mehr zugegriffen werden, weder lesend noch schreibend, auch nicht vom Administrator.
Pro KC_DELETE_OBJECT-Aufruf können Sie genau ein Objekt löschen (sofort oder verzögert). Innerhalb eines Teilprogramms können Sie mehrere KC_DELETE_OBJECT-Aufrufe hintereinander aufrufen, d.h. mehrere Objekte verschiedenen Typs löschen. Bei Objekten, die miteinander in Beziehung stehen, ist jedoch die Reihenfolge zu beachten, in der diese Objekte gelöscht werden. Ein Objekt, auf das sich andere Objekte beziehen, kann erst gelöscht werden, wenn diese anderen Objekte gelöscht sind bzw. die Beziehung aufgehoben wurde. Z.B. kann die Beziehung zwischen Terminal/Drucker und LTERM-Partner mit KDCSWTCH aufgehoben werden. Regeln, die Sie beim Löschen der Objekte beachten müssen, sind in den folgenden Abschnitten beschrieben.
Sowohl das sofortige als auch das verzögerte Löschen von Objekten erfolgt transaktionsgesichert. Das Objekt ist erst nach erfolgreichem Abschluss der Transaktion gelöscht, in der das KC_DELETE-OBJECT bearbeitet wird.
Gelöscht werden können nur Objekte, die in der Konfiguration enthalten sind. Ein Objekt, das Sie dynamisch in die Konfiguration eintragen, können Sie demnach erst löschen, wenn die Transaktion abgeschlossen ist, in der das Objekt eingetragen wird.
Das Löschen wirkt sowohl bei UTM-F- als auch bei UTM-S-Anwendungen über das Anwendungsende hinaus und kann nicht rückgängig gemacht werden.
UTM-Cluster-Anwendungen (Unix-, Linux- und Windows-Systeme)
In UTM-Cluster-Anwendungen gilt:
Der Aufruf wirkt Cluster-global, d.h. in allen Knoten-Anwendungen werden Objekte aus der Konfiguration gelöscht. In UTM-Cluster-Anwendungen ist nur verzögertes Löschen erlaubt.