Skip to main content

xSuite Interface Windows Prism 5.x – Online-Hilfe

Löschung von Daten

DeleteBatches()

Diese Funktion löscht Stapel eines bestimmten Status inklusive der zugehörigen Dokumente aus der Verwaltungsdatenbank.

Im Rahmen dieser Makroausführung wird immer versucht, die zugehörigen Dateianlagen aus dem Storage zu löschen. Diese Löschung wird unabhängig von der Eigenschaft Backup.DeleteFromStorage ausgeführt, da sich diese Eigenschaft nur auf das reguläre Backup bezieht.

Parameter

Datentyp

Beschreibung

1

Text

Verarbeitungsstatus der Stapel, die gelöscht werden

Standardwert: Finished

Wenn mehrere Statuswerte berücksichtigt werden sollen, müssen diese Statuswerte als Array angegeben werden.

2

Text

optionale Angabe eines Mindestalters der zu löschenden Stapel

Die Löschung beschränkt sich dann auf Stapel, die mindestens dieses Alter erreicht haben.

Syntax: siehe ***Age unter Verschiedenes

3

Text

optionaler Name des Szenarios der zu löschenden Stapel, wenn deren Auswahl auf ein bestimmtes Szenario eingeschränkt werden soll

Der Name bezieht sich auf das ursprüngliche Szenario vor einem dynamischen Szenariowechsel (Eigenschaft OriginalScenario). Wenn mehrere Szenarien berücksichtigt werden sollten, müssen diese Szenarien als Array angegeben werden.

Beispiele

DeleteBatches(["Finished", "Canceled"], "10d") löscht alle Stapel im Status "Finished" oder "Canceled", die mindestens 10 Tage alt sind.

DeleteEmptyFolders()

Diese Funktion löscht leere Ordner aus dem Dateisystem. Diese Ordner dürfen zwar leere Unterordner enthalten, aber keine Dateien auf jeglicher Unterordnerebene.

Parameter

Datentyp

Beschreibung

1*

Text

vollständiger Pfad der zu löschenden Ordner

Der Pfad kann Wildcard-Zeichen enthalten. Außer beim Wurzelelement (Laufwerk oder Freigabe) sind auf allen Ebenen des Pfades die Wildcard-Zeichen ? (einzelnes Zeichen) und * (keines oder beliebig viele Zeichen) in den Ordnernamen nutzbar. Zudem kann ** als Platzhalter für mehrere Ordnerebenen genutzt werden.

Beispiele

DeleteEmptyFolders("c:/test/*") löscht alle leeren Ordner, die sich direkt unterhalb von c:/test befinden.

DeleteFiles(), DeleteFolders()

Diese Funktionen löschen Dateien oder Ordner aus dem Dateisystem.

Parameter

Datentyp

Beschreibung

1*

Text

vollständiger Pfad der zu löschenden Dateien oder Ordner

Außer beim Wurzelelement (Laufwerk oder Freigabe) sind auf allen Ebenen des Pfades die Wildcard-Zeichen ? (einzelnes Zeichen) und * (keines oder beliebig viele Zeichen) in den Ordner- und dem Dateinamen nutzbar. Zudem kann ** als Platzhalter für mehrere Ordnerebenen genutzt werden.

2

Text

optionale Angabe eines Mindestalters der zu löschenden Objekte

Die Löschung beschränkt sich dann auf Objekte, die mindestens dieses Alter erreicht haben.

Bei Dateien bezieht sich das Alter direkt auf deren Erstelldatum oder das letzte Änderungsdatum. Bei Ordnern bezieht sich dies auf den neuesten Datumswert über alle enthaltenen Dateien auf jeglicher Unterordnerebene.

Syntax: siehe ***Age unter Verschiedenes

Hinweis

Prinzipiell sollten keine Ordner gelöscht werden, die noch aktiv in Benutzung sind, z. B. Log-Unterordner mit dem Tagesdatum. Zur Reduzierung der Dateisystemzugriffe merkt sich das Programm beim ersten Zugriff die Existenz eines Ordners bis zum nächsten Programmstart. Ein zwischenzeitlich gelöschter Ordner wird also nicht erneut automatisch angelegt.

Beispiele

Beispiele, für die die Existenz dieser beiden Dateien angenommen wird:

  • c:\logs\mandant1\2025-01-01\test.log

  • c:\logs\mandant2\2025-01-01\test.log

DeleteFiles("c:/logs/mandant*/????-??-??/*.log") findet beide Dateien zur Löschung.

DeleteFiles("c:/logs/*/*.log") findet keine Datei, weil eine Ordnerebene zu wenig angegeben ist

DeleteFiles("c:/logs/**/*.log") findet die Dateien, weil ** variabel viele Ordnerebenen einschließt.

DeleteFiles("c:/logs/*/*/*.log") findet die Dateien, weil alle Ordnerebenen explizit angegeben sind. Diese Variante ist tendenziell performanter als die vorherige Variante, weil das Programm nicht vorausschauend über beliebig viele Ebenen suchen muss.

DeleteDbLogEntries()

Diese Funktion löscht alte Log-Einträge, die ein Mindestalter überschritten haben, aus der Datenbank, sofern das Logging in eine Datenbanktabelle aktiv ist. Die Funktion ist zudem nur nutzbar, wenn das Logging in die interne Datenbank erfolgt, also Logging.Database.Type: "Internal" gesetzt ist.

Parameter

Datentyp

Beschreibung

1

Text

Angabe eines Mindestalters der zu löschenden Einträge

Abweichend von den anderen Delete***()-Funktionen ist das Alter hier das einzige Selektionskriterium. Daher muss immer ein konkreter Wert – oder der nicht leere Standardwert – gesetzt sein, weil ein uneingeschränktes Löschen aller Log-Einträge in der Praxis wenig sinnvoll ist.

Syntax: siehe ***Age unter Verschiedenes

Standardwert: 7d (7 Tage)

Beispiele

DeleteDbLogEntries("10d") löscht alle Log-Einträge, die mindestens 10 Tage alt sind.