Fehlercodes

Jeder Job-Aufruf liefert einen ganzzahligen Rückgabewert: 0 bedeutet Erfolg, jeder andere Wert einen Fehler (siehe Einleitung). Diese Seite sammelt die bislang dokumentierten Fehlercodes zentral, gegliedert nach Bedeutung.

Diese Übersicht ist neu und noch nicht vollständig. Sie enthält ausschließlich Fehlercodes, die an anderer Stelle der Dokumentation oder aus konkreten Implementierungen beschrieben sind, und wird fortlaufend ergänzt. Das Fehlen eines Codes bedeutet nicht, dass er nicht auftreten kann.

Alle Codes sind ganzzahlige (INT)-Rückgabewerte desselben Mechanismus. Sie sind in der Regel nicht jobspezifisch, sondern gelten übergreifend für die Job-Aufrufe (z. B. dms.XMLInsert, dms.XMLUpdate, dms.XMLImport, dms.GetResultList, Check-in/Check-out). Die Code-Spalte führt den dezimalen Rückgabewert (vorzeichenbehaftete 32-Bit-Ganzzahl). In der Jobs-Spalte sind die gegen einen enaio®-Server verifizierten Auslöser vermerkt.

1. Jobabhängige Besonderheiten

Folgende Beobachtungen wurden direkt gegen einen Testserver verifiziert und sind beim Auswerten der Rückgabewerte zu beachten:

  • Dieselbe Fehlerursache liefert je nach Job einen anderen Code:

  • dms.XMLImport meldet XML-Strukturfehler als generisches -1. Die eigentliche Diagnose steht nur im DMSResult-Buffer, nicht im Rückgabewert. dms.GetResultList liefert dagegen spezifische Codes (-1016 / -1029).

  • Jeder Server-Namespace hat eigene Codes für Parameterfehler. Die dms.-Jobs liefern kleine, dokumentierte Codes (-1024 / -1025) oder -1; std., mng., wfm. und krn.* liefern stattdessen große, HRESULT-artige Werte (siehe Parameterfehler nach Namespace).

  • Kein-Fehler-Fälle: Manche Jobs liefern bei einer fachlich negativen Antwort dennoch 0 — das Ergebnis steckt im Ausgabewert, nicht im Rückgabewert. Beispiele: dms.GetUserData und dms.IsUserData mit unbekanntem Namen; krn.VerifyPassword mit falschem Passwort; ado.ExecuteSQL mit ungültigem SQL (return_code = 0 und leeres Ergebnis — der SQL-Fehler wird verschluckt, eine Fehlererkennung darf sich hier nicht auf den Rückgabewert verlassen).

  • Konfigurationsabhängige Befunde: dms.XMLMove kann eine serverseitig konfigurierte Zielkapazität durchsetzen (-89 bei Überschreitung). -1012 (Register in ein eigenes Kind verschieben) war auf dem Testserver nicht reproduzierbar — der Move wurde mit return_code = 0 zugelassen; das Verhalten ist somit nicht garantiert.

2. Parameterfehler nach Namespace

Jeder Server-Namespace liefert für Parameterfehler eigene Codes, gegliedert nach Fehlerklasse. Die dms.-Jobs geben kleine, in dieser Liste dokumentierte Codes zurück; die übrigen Namespaces (std., mng., wfm., krn.*) liefern stattdessen große, HRESULT-artige Werte:

Namespace Parameter fehlt Parametertyp falsch Wert nicht unterstützt

dms.*

-1024 / -1025

-1024

std.*

-1043201825

-1043201825

mng.*

-1043332470

-1043332106

wfm.*

-1043332470

-1043332106

krn.*

-1043332815

Diese Tabelle ist nicht abschließend. Auch weitere Namespaces und Jobs (std., mng., wfm., lic., …) können eigene, große HRESULT-artige Werte für Parameterfehler zurückgeben.

3. Allgemeine Fehler

Code Bedeutung Jobs

-1

Allgemeiner Fehler (nicht näher spezifizierbar).

dms.XMLImport bei XML-Strukturfehlern (Details nur im DMSResult-Buffer) (verifiziert)

-2

Kein Schrank angegeben.

-4

Kein Registertyp angegeben.

-6

Kein Dokumenttyp angegeben.

-10

Erforderliche Mappen-Identifikation fehlt. Server-Meldung: The location of the object that should be inserted is unknown.

dms.XMLImport (Dokument-Insert ohne folder_id/register_id) (verifiziert)

-11

Erforderliche Dokument-Identifikation fehlt.

-12

Erforderliche Register-Identifikation fehlt.

-16

Aktualisierung der Mappe fehlgeschlagen.

-17

Aktualisierung des Dokuments fehlgeschlagen.

-18

Aktualisierung des Registers fehlgeschlagen.

-24

Der Feldname konnte nicht aufgelöst werden. Server-Meldung: The DMS field >…< could not be found.

dms.XMLImport (unbekanntes Feld) (verifiziert)

-28

Der Wert für das angegebene Feld ist nicht zulässig.

-29

Die angegebene Objekt-ID ist ungültig.

-30

Die Pflichtfelder wurden nicht ausgefüllt. Server-Meldung: Field >…< is required, but was not filled out.

dms.XMLImport (verifiziert)

-31

Der angegebene Wert entspricht nicht dem Typ auf dem Archivserver. Server-Meldung: invalid date format … / Invalid decimal format.

dms.XMLImport (ungültiger Datums-/Dezimalwert) (verifiziert)

-40

Ein Übergabeparameter ist fehlerhaft oder fehlt.

-65

Es konnte kein Index vom Server bezogen werden.

-1004

Es wurde keine Dokumentliste angegeben.

-1006

Die angeforderte Funktionalität ist in der aktuellen Version nicht implementiert.

-1007

Beim Lesen der Objektdefinitionen ist ein Fehler aufgetreten.

-1013

Es wurde eine System-ID, aber keine Fremd-ID angegeben.

-1016

Beim Parsen des XML-Texts ist ein Fehler aufgetreten. Server-Meldung: Missing type ident attributes.

dms.GetResultList (fehlerhaftes XML / fehlendes Typ-Attribut) (verifiziert)

-1017

Bei der Validierung des XML-Texts ist ein Fehler aufgetreten.

-1018

Der XML-Text ist unvollständig.

-1024

Ein Job-Parameter fehlt oder hat den falschen Typ. Server-Meldung: A required parameter was not specified: … bzw. Parameter <…> has an invalid type: <1> instead of <2>.

dms.GetObjectDetails (fehlend und falscher Typ), dms.GetObjectTypeByID, dms.RemoveStoredQuery, dms.IsUserData, dms.GetUserData (verifiziert)

-1025

Der angegebene Parameterwert ist ungültig oder fehlt. Server-Meldung: Missing argument >XML< / …not specified: QueryID.

dms.GetResultList, dms.ExecuteStoredQuery, dms.GetStoredQuery (verifiziert)

-1027

Für ein Tabellenfeld wurden mehr Werte angegeben als Spalten vorhanden sind.

-1028

Beim Einfügen der Notiz-Objekte/-Texte ist ein Fehler aufgetreten.

-1029

Ein XML-Element ist unbekannt oder falsch positioniert. Server-Meldung: Unknown or incorrectly positioned XML element: ….

dms.GetResultList (verifiziert)

-1032

Der Job wurde auf Benutzerwunsch abgebrochen.

-1033

Die angegebene Bedingung ist ungültig.

-1034

Ein XML-Attribut ist ungültig.

-1035

Ein erforderliches XML-Attribut fehlt.

-1047

Die Userdata-Angaben sind nicht eindeutig.

-1051

Das Abfrageformat wird nicht unterstützt.

-1055

Ein Ausdruck hat ein ungültiges Format.

-1056

Der Sektionsname ist ungültig.

-1057

Allgemeiner Fehler beim Lesen der Abfrage.

-1058

Unbekannter Abfragetyp.

-1060

Die Abfrage konnte nicht verarbeitet werden.

-1067

Die Volltextabfrage enthält nur Wörter, die ignoriert werden sollen.

-1068

Es ist nicht genügend Speicher verfügbar.

-1043267169

Ein als Pflicht markierter GUID-Parameter ist leer (GUID '<Parametername>' is not set).

wfm.GetRunningActivities

-1043201825

Fehlender oder typfalscher Parameter im std.*-Namespace. Großer, HRESULT-artiger Wert (siehe Parameterfehler nach Namespace).

std.GetObjectInfo

-1043332470

Fehlender Parameter im mng.-/wfm.-Namespace. Großer, HRESULT-artiger Wert (siehe Parameterfehler nach Namespace).

mng.GetUserAttributes, wfm.GetWorkflowList

-1043332106

Falscher Parametertyp im mng.-/wfm.-Namespace. Großer, HRESULT-artiger Wert (siehe Parameterfehler nach Namespace).

mng., wfm. (z. B. mng.GetUserAttributes, wfm.AdminTerminateProcess)

-1043332815

Nicht unterstützter Parameterwert im krn.*-Namespace (info number not supported). Großer, HRESULT-artiger Wert (siehe Parameterfehler nach Namespace).

krn.GetServerInfo

4. Objekt / Ressource nicht gefunden

Code Bedeutung Jobs

-3

Angegebener Schrank unbekannt.

-5

Angegebener Registertyp unbekannt.

-7

Angegebener Dokumenttyp unbekannt. Server-Meldung: The cabinet for object >…< could not be determined.

dms.XMLImport (unbekannter Objekttyp) (verifiziert)

-13

Erforderliche Register-Identifikation unbekannt.

-14

Erforderliche Mappen-Identifikation unbekannt.

-15

Erforderliche Dokument-Identifikation unbekannt.

-22

Das angegebene/erforderliche Objekt ist unbekannt. Server-Meldung: …no object with identifier >…< could be found.

dms.XMLUpdate, dms.XMLDelete, dms.XMLMove (object_id existiert nicht) (verifiziert)

-23

Die ID des angegebenen Registers existiert nicht auf dem Archivserver.

-32

Die angegebene/erforderliche Datei existiert nicht.

-1001

Der angegebene Wert konnte im zugehörigen Katalog nicht gefunden werden.

-1019

Der angegebene Eigentümer konnte nicht ermittelt werden.

-1022

Die Referenz wurde nicht gefunden.

-1030

Ein Objekttyp wurde auf dem DMS-Server nicht gefunden. Server-Meldung: DMS object >…< in cabinet >< could not be found.

dms.GetResultList (unbekannter Objekttyp) (verifiziert)

-1031

Ein Objektfeld wurde auf dem DMS-Server nicht gefunden. Server-Meldung: The DMS field >…< could not be found. Achtung: dms.XMLImport liefert für dieselbe Meldung -24.

dms.GetResultList (unbekanntes Feld) (verifiziert)

-1044

Die übergeordnete Variante des Dokuments konnte nicht ermittelt werden.

-1046

Die Dokumentvariante konnte nicht ermittelt werden. Server-Meldung: Document with ID … could not be found … not a version.

dms.XMLImport (variantparent_id zeigt auf kein Versions- bzw. nicht existierendes Dokument) (verifiziert)

-1049

Die Abfrage wurde nicht gefunden. Server-Meldung: Saved query with ID … was not found.

dms.ExecuteStoredQuery, dms.GetStoredQuery, dms.RemoveStoredQuery (unbekannte Query-ID) (verifiziert)

-1052

Der Schrankname konnte nicht gelesen werden.

-1053

Der Dokumentname konnte nicht gelesen werden.

-1054

Der Registername konnte nicht gelesen werden.

-1062

Der Ablageort des Objekts konnte nicht ermittelt werden.

5. Falscher Zustand / ungültige Operation

Code Bedeutung Jobs

-8

Das angegebene Register befindet sich nicht in der angegebenen Mappe.

-9

Der angegebene Dokumenttyp ist im angegebenen Schrank nicht zulässig.

-21

Das Dokument wurde bereits archiviert.

-51

Das Dokument hat keine Seiten.

-68

Das Verschieben von Mappen ist nicht zulässig. Server-Meldung: This operation is not allowed for an object of main type >0<.

dms.XMLMove (Ordner verschieben nicht erlaubt) (verifiziert)

-89

Die Beziehung zwischen Dokument und Register ist nicht zulässig. Server-Meldung: The relationship between document and register is not allowed bzw. bei dms.XMLMove The parent folder >…< was not found… / maximum count … will be exceeded.

dms.XMLImport (Dokument an unzulässigem Speicherort); dms.XMLMove (Ziel-Ordner nicht gefunden / Zielkapazität überschritten) (verifiziert)

-90

Verweisdokumente können nicht ohne Angabe eines Ablageorts verschoben werden.

-94

Dokumentseiten sind nicht zulässig.

-1002

Das Schlüsselfeld ist nicht eindeutig. Server-Meldung: Combination >…< of key fields already exists….

dms.XMLImport (Key-Field-Kombination nicht eindeutig) (verifiziert)

-1005

Das angegebene Objekt ist mit einem Workflow-Prozess verbunden.

-1009

Das Objekt befindet sich im Papierkorb. Server-Meldung: The object is in the recycle bin.

dms.XMLDelete (Objekt bereits im Papierkorb) (verifiziert)

-1010

Das Dokument befindet sich in einem Portfolio.

-1011

Die Rekursionstiefe ist zu groß, die Aktion wurde abgebrochen.

-1012

Das Zielregister ist ein Kind des zu verschiebenden Registers.

-1014

An ein Verweisdokument können keine Seiten angehängt werden.

-1015

Das Dokument kann kein anderes Dokument referenzieren, da es Seiten besitzt.

-1020

Der Objekttyp ist für diese Operation ungültig.

-1021

Das kaskadierende Löschen ist nicht zulässig, das Objekt hat noch Kindobjekte. Server-Meldung: Cascade deletion is not allowed….

dms.XMLDelete (Objekt hat noch Kindobjekte) (verifiziert)

-1036

Es dürfen nur Dokumente aus-/eingecheckt werden. Server-Meldung: Only documents can be checked in and out….

dms.CheckOutDocument (Zielobjekt ist kein Dokument) (verifiziert)

-1037

Das Dokument wurde eingecheckt. Server-Meldung: The document was not checked out….

dms.UndoCheckOutDocument (Dokument war nicht ausgecheckt) (verifiziert)

-1038

Das Dokument wurde ausgecheckt.

-1039

Das Dokument wurde von einem anderen Benutzer ausgecheckt.

-1040

Das Dokument wurde an einer anderen Station ausgecheckt.

-1041

Das Dokument kann nicht ausgecheckt werden, da es keine Seiten besitzt. Server-Meldung: The requested document contains no pages….

dms.CheckOutDocument (Dokument ohne Seiten) (verifiziert)

-1042

Das Dokument befindet sich nicht in der Workflow-Ablage.

-1043

Das Dokument befindet sich in der Workflow-Ablage.

-1045

Neue Varianten dürfen nur für W-Dokumente erstellt werden.

-1048

Eine gleichzeitige Aktualisierung eines Objekts ist fehlgeschlagen (veralteter concurrency_timestamp / OBJECT_MODIFYTIME). Server-Meldung: A concurrent update of an object failed.

dms.XMLUpdate (verifiziert)

-1050

Die Kopie des Objekts existiert bereits am angegebenen Ablageort.

-1059

Die neue Variante wurde erstellt, konnte aber nicht auf „Aktiv" gesetzt werden.

-1061

Das Verschieben oder Verknüpfen von Objekten ist systemweit gesperrt.

-1063

Das Dokument existiert bereits am Ablageort.

-1064

Das Kopieren von Objekten mit Schlüsselfeldern ist nicht zulässig.

-1070

Es wurde als Aktion für die Trefferanzahl Error angegeben.

dms.XMLImport (Quellcode-Kommentar)

6. Zugriff verweigert

Code Bedeutung Jobs

-47

Der Benutzer hat nicht die erforderlichen Rechte auf dem Archivserver.

-1003

Es wurde versucht, ein schreibgeschütztes Feld zu setzen.

-1008

Auf eine angeforderte Datei konnte nicht zugegriffen werden.

-1023

Das angegebene Systemfeld kann vom Benutzer nicht geändert werden.

-1026

Es ist dem Benutzer nicht möglich, die Rechteprüfung zu deaktivieren.

-1065

Das angegebene Passwort ist falsch. Server-Meldung: The password entered by user >…< does not match….

krn.SessionChangePassword (falsches altes Passwort) (verifiziert)

-1066

Das neue und das alte Passwort sind identisch.

-1069

Der Zugriff auf eine Systemressource wurde verweigert.

dms.GetObjectDetails (Rechteprüfung vor ID-Prüfung) (beobachtet)

-1042674726

Die Lizenz LIS fehlt, obwohl OSFTS mit intrafind verwendet wird.

vtx.OpenObjectQuery

-1040906164

Dem aufrufenden Benutzer fehlt die Systemrolle 4 (Administrator: Konfiguration Sicherheitssystem). Meldung: User {username} does not have permission to configure the security system. Please contact your administrator.

Verändernde mng-Jobs für Benutzer und Gruppen (z. B. mng.CreateUser)

31523546

Dem aufrufenden Benutzer fehlt die Systemrolle 109 (Server: Skript ausführen, R_SRV_SCRIPT_JOB). Meldung: Job <krn.RunScript> can only be executed by a user who owns the system roles [R_SRV_SCRIPT_JOB(109)]. Der Wert ist HRESULT-artig kodiert (0x1E102DA); das Low-Word 0x2DA (730) trägt den eigentlichen Fehler.

krn.RunScript (verifiziert)