CheckoutDocument

CheckoutDocument
Main
History-Relevant
Rückgabewert
 
RET
   
Parameterliste
DocumentId
IN
LONG_NUMERIC_IDENTIFIER
>DOCUMENT.DOCUMENTID
VersionId
IN
LONG_NUMERIC_IDENTIFIER
>VERSION.VERSIONID
CheckoutPlace
IN
LONG_STRING
>DOCUMENT.CHECKOUTPLACE
Kurzbeschreibung:
Dieser Service macht ein Checkout auf einem Dokument. Konkret wird ein Eintrag in DOCUMENT markiert und eine temporäre Version (Einträge in die Tabellen VERSION, FILE) angelegt auf welcher fortan gearbeitet wird.
Als VersionNo bekommt die „Arbeitsversion“ diejenige seiner Originalversion, welche als Grundlage dient.
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 die Option ‚MANAGEMENT’ nicht lizenziert ist (1) *
  • Wenn das Dokument über die DocumentId nicht gefunden wird (2/3)
  • Wenn auf der verknüpften Sicherheitszone die Modify-Rechte fehlen (4) **
  • Wenn keine CurrentVersion für den Checkout vorliegt (keine Angabe der VersionId) (5)
  • Wenn die gewünschte Version für den Checkout nicht gefunden oder verwendet werden kann (6)
  • Wenn das Dokument bereits ausgecheckt ist (7)
  • Wenn das Dokument den VersioningMode OFF besitzt und RELEASED ist (8)
  • Wenn das Dokument den VersioningMode OFF besitzt und die gewünschte Version nicht die Neueste ist (9)
  • Wenn aufgrund der Sichtbarkeit (Visibility) das Auschecken für den ContextUser nicht erlaubt ist (10)
  • Wenn der Archivierungsstatus auf ‚PENDING’, ‚PROCESSING’ oder ‚ARCHIVED’ steht; sich das Dokument also bereits in der Archivierung befindet oder bereits archiviert ist (11)
  • Wenn die Dateien der Checkout-Version (noch) nicht physikalisch verfügbar sind (12)
  • Wenn der Archivierungsstatus auf ‚INITIATED’ steht und der ArchivePendingTS bereits verstrichen ist (13)
Bemerkungen:
(1): CheckoutDocNWhtMgntOpn
(2): GetDocNEx
(3): CheckoutDocNEx
(4): CheckoutDocInsuffPriv
(5): CheckoutNoCheckoutVrs
(6): CheckoutCheckoutVrsNEx
(7): CheckoutDocAlreadyCheckedOutByUser
(8): CheckoutDocRsdAndVrsModeOff
(9): CheckoutDocNHighAndVrsModeOff
(10): CheckoutDocBlkInsuffPriv
(11): CheckoutDocBlkWrongArcState
(12): CheckoutDocFilesNAvail
(13): CheckoutDocBlkOutdatedArcState
Sofern der CheckoutPlace mit einem Leerstring übergeben wird, so wird der DefaultCheckoutPlace des ContextUsers auf dem Dokument eingetragen!
Die Version für den Checkout ist über die VersionId identifiziert (ungleich 0) oder sie ist die Current- oder wenn diese nicht sichtbar ist, die Released-Version des Dokuments
* Ist das Dokument im Archivierungsstatus „INITIATED“ darf diese Prüfung nicht gemacht werden sonst wären alle Kunden mit Verkaufsdokument-Archivierung gezwungen die „MANAGEMENT“-Option zu kaufen
** Handelt es sich um ein Dokument im Archivierungsstatus „INITIATED“ so wird zusätzlich das Admin-Recht auf der Sicherheitszone benötigt!
Das Attribut „ExcludeFromIndex“ der neu erstellten Datei-Referenzen wird gemäss referenzierter Datei gesetzt.