std.DeleteObject
Dieser Job identifiziert ein Objekt (Dokument, Register, Ordner) über die angegebenen Parameter und löscht es — wahlweise in den Papierkorb (reversibel) oder endgültig (nicht mehr wiederherstellbar). Der Job ist der zentrale Löschpfad für DMS-Objekte.
Die Parameter dwParentID und dwParentType werden nur für Dokumente beachtet. Hat ein
Dokument mehrere Einträge in der Tabelle sdrel (Mehrfach-Ablage) und sind
dwParentID = 0 und dwParentType = 0, werden alle Ablagen entfernt; mit gesetztem
Parent wird gezielt nur diese eine Ablage gelöscht.
1. Eingabeparameter
| Name | Typ | Pflicht | Beschreibung |
|---|---|---|---|
|
STRING |
Ja |
Methode zum Löschen: |
|
INT |
Ja |
ID des Objekts |
|
INT |
Ja |
Typ des zu löschenden Objekts |
|
INT |
Ja |
ID des übergeordneten Objekts. |
|
INT |
Ja |
Typ des übergeordneten Objekts. |
|
STRING |
Nein |
|
|
STRING |
Nein |
Generischer enaio®-Mechanismus zum Wechsel des effektiven Anwenderkontextes für die Operation. Der angegebene Benutzername wird für Berechtigungsprüfung und History-Eintrag herangezogen, auch wenn die Verbindung unter einem technischen Service-User läuft. |
2. Ausgabeparameter
| Name | Typ | Abhängigkeit | Beschreibung |
|---|---|---|---|
|
STRING |
Optional |
Wird nur zurückgegeben, wenn ein zu löschendes Register/Schrank Unterobjekte enthält. |
|
INT |
Optional |
Immer |
3. Rückgabe
(INT): 0 = Job erfolgreich, sonst Fehlercode (z. B. Objekt existiert nicht, fehlende
Lösch-Berechtigung, Foreign-Key-Constraint, Objekt ist gesperrt).
4. Hinweise
-
Wiederherstellbar bei
Recycle— ein im Papierkorb liegendes Objekt kann über die Wiederherstellungs-Funktion zurückgeholt werden, solange es nicht endgültig (Delete) gelöscht wurde. -
History-Eintrag — jede Löschung erzeugt einen Audit-Eintrag in
osobjhist; derosuser-Wert dort entspricht dem über$SwitchContextUserName$gewechselten Benutzer (sonst dem Connection-User). Der History-Eintrag bleibt auch nach endgültigem Löschen erhalten. -
Asynchrone Index-Bereinigung — nach erfolgreicher Löschung wird eine Nachricht in die Queue
FULLTEXTDELETE(oscpmqueue) eingestellt, damit der Volltext-Indexer den Index-Eintrag entfernt. Direkt nach Rückkehr aus diesem Job kann das Objekt also noch kurz im Volltextindex sichtbar sein, bis der Indexer die Nachricht abgearbeitet hat — siehe Capture- und Processing-Messages (CP). -
Mehrfach-Ablage —
Recyclemit gesetztemdwParentID/dwParentTypeentfernt nur die adressierte Ablage; beidwParentID = 0werden alle Ablagen des Objekts entfernt.
5. Verwandte Jobs
-
std.RestoreObject — stellt ein per
Recyclegelöschtes Objekt aus dem Papierkorb wieder her -
std.DeleteDocument — spezifische Variante für reine Dokument-Objekte;
std.DeleteObjectist der generische Pfad für beliebige Objekttypen -
std.DeleteDocumentVersion — löscht eine einzelne Dokumentenversion, nicht das gesamte Objekt
-
dms.XMLDelete — XML-basierte Löschvariante über die generische XML-Schnittstelle der DMS-Engine
-
std.CreateCPMessages — erzeugt CP-Nachrichten (analog zum impliziten
FULLTEXTDELETE-Enqueue dieses Jobs)