|
Main
|
History-Relevant
|
Rückgabewert
|
|
RET
|
|
|
Parameterliste
|
DocumentId
|
IN
|
LONG_NUMERIC_IDENTIFIER
|
>DOCUMENT.DOCUMENTID
|
FileId
|
IN
|
LONG_NUMERIC_IDENTIFIER
|
>FILE.FILEID
|
Kurzbeschreibung:
Dieser Service verändert einen DOCUMENT/VERSION-Eintrag indem ein
bestehender Eintrag in der Tabelle FILE angepasst wird.
Zuerst wird das Document geladen. Anschliessend wird die korrekte
Version zugeladen. Nun wird in einem
ersten Schritt der Eintrag der Tabelle FILE gelesen. Sofern ein
physikalisches Dokument existiert, wird dieses entfernt (Anhand der
Version kann das Storage etabliert werden).
Nachdem in einem zweiten Schritt die Datei über das Storage
physikalisch entfernt worden ist, wird dann in einem dritten Schritt der
aktuelle File-Zustand auf der Datenbank nachgeführt.
Fehlerhandling/Plausibilisierung:
Generell gelten die Regeln (PK, AK, FK, Unique, NotNull) der Datenbank.
Die zusätzlichen Fehler sind:
-
Aufgrund von Validator-Prüfungen (VD)
-
Wenn das Document über die DocumentId nicht gefunden wird
(1)
-
Wenn die korrekte Version nicht gefunden wird (2)
-
Wenn das File über die FileId nicht gefunden wird (3/4)
-
Wenn für die korrekte Version die Modify-Rechte fehlen
(5)
-
Wenn die Version zur FileId von der Checkout-Version des
Dokuments abweicht (6)
-
Wenn der FileAccess nicht registriert ist (7)
-
Der StorageDirectorAndProtector im FileAccess nicht registriert
ist (8)
-
Wenn das Löschen der bestehenden Datei aufgrund des geschlossenen
StorageDirectors blockiert wurde (9)
-
Wenn das Löschen der bestehenden Datei aufgrund des „ReadOnly“
StorageDirectors blockiert wurde (10)
-
Wenn die bestehende Datei nicht gelöscht werden kann weil sie
physikalisch nicht existiert (11)
-
Wenn das Dokument nicht ausgecheckt ist (12)
-
Wenn das Dokument nicht vom ContextUser ausgecheckt wurde
(13)
Bemerkungen:
(1): GetDocNEx
(2): GetVrsNEx
(3): GetFileNEx
(4): ModFileNEx
(5):
ModFileInsuffPriv
(6):
ModDocResetFileVrsMsm
(7):
EnvFileAccNReg
(8):
EnvStrgDirAndProtNReg
(9):
EnvStrgDirAndProtDestrBlkClosedStrg
(10):
EnvStrgDirAndProtDestrBlkReadOnlyStrg
(11):
EnvStrgDirAndProtDestrBlkFileNEx
(12):
ModDocNCheckedOut
(13):
ModDocCheckoutUsrMsm
Das hier betroffene Datei-Gefäss zeigt anschliessend an diese
Service-Ausführung wieder auf die referenzierte Datei.
Das Attribut „ExcludeFromIndex“ wird dabei ebenfalls automatisch wieder
gemäss der referenzierten Datei gesetzt.