!!TODO!!

XML Import

Ausführliche Beschreibung

Alle XML-Importjobs entsprechen alle demselben Schema und können daher zum großen Teil allgemein behandelt werden. Sie haben alle dieselben Eingabeparameter und im Wesentlichen dieselben Rückgabeparameter. So gibt es beispielsweise den Job 'XMLInsert', der die Übergabeparameter 'Flags', 'Options' und 'XML' besitzt.

Durch die 'Flags' wird das allgemeine Verhalten des Jobs (z. B. Fehlerlistengenerierung oder XML-Validierung) gesteuert. Über den Parameter 'Options' können bestimmte Überprüfungen (z. B. Schüsselfeldprüfung) an- bzw. ausgeschaltet werden. Der Parameter 'XML' enthält die Daten, die das einzufügende Objekt beschreiben. Der Parameter 'JobUserGUID' ermöglich es, den Benutzerkontext für diesen Job zu ändern.

Beispiel:

Das Beispiel zeigt ein XML, mit dem ein Dokument vom Typ 'Dokumenttyp-Name', der im Schrank 'Schrank-Name' liegt, mit dem Job 'XMLInsert' eingefügt wird. Dabei wird in den Indexdaten des neuen Dokumentes das Feld mit dem Namen 'Feld-Name' der Wert 'Mein Wert' eingefügt.

<?xml version="1.0" encoding="UTF-8"?>
<DMSData>
<Archive name="Schrank-Name">
<ObjectType name="Dokumenttyp-Name" type="DOCUMENT">
<Object>
<Fields>
<Field name="Feld-Name">Mein Wert</Field>
</Fields>
</Object>
</ObjectType>
</Archive>
</DMSData>

Als Rückgabeparameter gibt es einerseits die Objekt-ID des neu eingefügten Objektes, des Weiteren gibt es optional (siehe Flags) einen XML-Text, der die aufgetretenen Fehler beschreibt. Jeder Job hat über die Parameter hinaus einen Rückgabewert. Dieser ist im Erfolgsfall '0' oder qualifiziert einen eventuell aufgetretenen Fehler grob.

Der Parameter 'XML'

Über den Parameter 'XML' wird die Objektbeschreibung im XML-Format übergeben. Das XML muss Base64 kodiert werden, da der Server ansonsten Probleme hat, Sonderzeichen zu übertragen. Auch UTF-16/UCS-4-Formate könnten ansonsten nicht übertragen werden. Zu der XML-Struktur existiert ein Schema, gegen das das XML validiert werden kann. Um dieses Schema einsehen zu können, existiert der Job 'GetXMLSchema'. Diesem übergibt man im Parameter Schema den Wert 'DMSData' und erhält in der Rückgabe-Dateiliste das Import-Schema. Werden Attribute gesetzt, sollen sie jedoch nicht vom Job ausgewertet werden, so sind Text-Attribute mit dem Leer String '' zu setzen, numerische Attribute sind mit dem Wert '-1' vorzubelegen.

Das Import-Schema

Der hierarchische Aufbau der XML-Struktur entspricht der folgenden Grafik.

picture-rId17

Beschreibung des XML-Schemas

DMSData: Dieser Tag stellt das Root Tag des XML dar. Über das optionale Attribut 'query_language' lässt sich die Sprache für die DMS Bezeichner angeben. Als Wert wird der entsprechende Sprachcode erwartet, z. B. '7' für Deutsch oder '9' für Englisch. Wird diese Attribut nicht angegeben oder auf '0' gesetzt, wird als Anfragesprache die Defaultsprache angenommen.

Archive: Über die Attribute dieser Tags wird der Schrank identifiziert, in dem der zu behandelnde Objekttyp liegt oder einfügt werden soll. Werden keine möglichen Attribute angegeben, wird versucht, anhand des zu importierenden Objekttypen den entsprechenden Schrank zu ermitteln. Dieses geht jedoch zu Lasten der Performance und sollte daher nach Möglichkeit vermieden werden. Der Schrank kann anhand seiner Attribute id (ID des Objekttyps), name (Name des Schranks), internal_name (interner Schrankname) oder osguid (GUID des Schranks) identifiziert werden.

ObjectType: Innerhalb dieser Tags wird der Objekttyp des zu behandelnden Objektes festgelegt. In den Attributen muss über den Typ ('type') festgelegt werden, ob es sich um einen Ordner, Register oder Dokument handelt (Mögliche Werte sind 'FOLDER', REGISTER' und 'DOCUMENT'). Der Objekttyp selbst kann anhand seiner Attribute: name (Name), internal_name (interner Name), id (Objekttyp ID), table (Tabellenname), osguid (GUID) oder einer gültigen Kombination aus maintype und cotype (Haupt- und Untertyp) ermittelt werden.

Object: Dieser Tag umfasst Informationen zum konkret zu behandelnden Objekt. Muss durch den Job ein bereits bestehendes Objekt auf dem Server festgelegt werden (z. B. bei XMLUpdate), so muss hier die object_id (ID des Ordners, Registers oder Dokuments) als Attribut hinterlegt werden. Soll ein Standort festgelegt werden (z. B. bei XMLInsert()), so wird dieser hier als Kombination von register_id, register_type (Registerid, Registertyp) und/oder folder_id (Ordnerid) beschrieben. Zusätzlich ist es möglich, im Fall eines Dokumentes den maintype (Haupttypen) festzulegen. Varianten von W-Dokumenten können durch Füllen des Attributes 'variantparent_id' (ID des Dokuments, dem die Variante hinzugefügt werden soll) angegeben werden (siehe auch Options: Variantsamelevel, Variantsetactive). Die Unterelemente dieser Tags müssen unbedingt in der vorgegebenen Reihenfolge im XML angegeben werden. Es ist möglich, durch die Angabe des Attributes 'concurrency_timestamp' im Zusammenhang mit dem Zeitstempel des Feldes 'MODIFYTIME', das vorab angefragt werden muss, zu überprüfen, ob dieses Objekt seit seiner Abfrage von einem anderen Benutzer verändert worden ist. In diesem Falle wird eine Aktualisierung verweigert. Über das Attribut sourceparent_id kann beim Verschieben und Löschen eines Dokumentes, das mehrere Standorte besitzt, bestimmt werden, welcher Standort verschoben werden soll.

Warnung: Wird der Haupttyp eines Dokumentes geändert, wenn gleichzeitig die Dokumentenhistorie geführt wird, dann wird bei der Wiederherstellung einer älteren Dokumentversion lediglich das Dokument wiederhergestellt, nicht jedoch der geänderte Haupttyp. Dieses kann bei der Bearbeitung des Dokumentes zu Inkonsistenzen führen!

Fields: Dieser Tag darf für jedes Objekt lediglich einmal vorhanden sein und stellt eine Liste aller Felder dar, die behandelt werden sollen.

Field: Dieser Tag beschreibt das Feld, das eingefügt oder verändert werden soll. Das Feld kann anhand der Attribute: name (Name des Feldes auf dem Datenblatt), internal_name (interner Feldname), dbname (Feldname in Datenbank), sortpos (Tabposition auf dem Datenblatt) oder der osguid (GUID) identifiziert werden. Der Text des Elementes enthält den Wert, der dem Feld zugeordnet werden soll. Dabei ist es auch möglich einen Wert auf 'leer' zu setzen, indem man das Attribut ' field_function' (s.u.) angibt. Ist das Feld ein Systemfeld, so ist dieses dadurch zu kennzeichnen, dass das System-Attribut (system) den Wert '1' erhält. Mögliche Systemfelder sind:

Datenbankname Interner Name Bedeutung
OSOWNER OBJECT_USERGUID Besitzer des Objektes
FOREIGNID OBJECT_FOREIGNID Fremd ID eines Verweises
SYSTEMID OBJECT_SYSTEMID System ID eines Objektes

Warnung: Wird über die System ID (=0) und eine entsprechende Foreign ID auf ein Dokument verwiesen, das wiederum ein Variantenverwaltung besitzt, so kann es zu inkonsistenten Zuständen kommen, wenn Varianten mit Haupttypen aktiviert werden, die nicht mit dem Haupttyp des Verweises übereinstimmen!

Darüber hinaus kann optimonal ein Attribut 'field_function' gesetzt werden. Es existieren folgende erlaubt Werte:

Attributwert Bedeutung
NULL Der Feldwert wird leer eingefügt (Als DB-Null)
OBJECT_ID Der Wert des Feldes entspricht der eindeutigen internen ID des Objektes
USER Der Name des abgemeldeteten Benutzers

MultiFields: Dieser Tag darf für jedes Objekt lediglich einmal vorhanden sein und stellt eine Liste aller Mehrfachfelder dar, die behandelt werden sollen. Mehrfachfelder sind nur im Falle von Dokumenten erlaubt.

Multifield: Durch dieses Element wird ein bestimmtes Mehrfachfeld eines Dokumentes identifiziert. Das Multifeld kann anhand der Attribute: name (Name des Mehrfachfelds), internal_name (interner Name), dbname (Name des Feldes in der Datenbank) oder der osguid (GUID) identifiziert werden.

Page: Dieses Element bezeichnet eine bestimmte Seite, dessen Seitennummer in dem Attribut id angegeben werden muss.

Value: Hier stehen die entsprechenden Werte, die den angegebenen Seiten entsprechen. Der Wert steht im Text des Elementes.

TableFields: Dieser Tag darf für jedes Objekt lediglich einmal vorhanden sein und stellt eine Liste aller zu behandelnden Tabellenfelder des Objektes dar.

TableField: Durch dieses Element wird ein bestimmtes Tabellenfeld (Table control) eines Objektes identifiziert. Ein Tabellenfeld kann anhand der Attribute: name (Name), internal_name (interner Name), dbname (Name in der Datenbank) oder der osguid (GUID) identifiziert werden.

Row: Dieser Tag beschreibt eine Zeile eines Tabellenfeldes. Es ist damit die Zusammenfassung aller Spalten einer bestimmten Zeile. (Alternativ zu dieser Angabe von Tabellenfeldeinträgen kann man diese auch durch eine (LOL) Angabe von Rows und Columns bestimmen. Siehe unten).

Field: Dieser Tag ist der Wert einer konkreten Spalte einer Zeile des Tabellenfeldes. Es kann lediglich über die Attribute name (Name), internal_name (internen Namen) oder dbname (Name in der Datenbank) identifiziert werden. Der Elementtext beinhaltet den Wert, der hinzugefügt werden soll.
Darüber hinaus kann optimonal ein Attribut 'field_function' gesetzt werden (zu Details: siehe oben)

ODER

Columns: Dieser Tag ist eine Sammlung von Column-Tags.

Column: Dieser Tag beschreibt ein Feld innerhalb eines Tabellencontrols. Das Feld kann anhand seiner Attribute name (Name), internal_name (internen Namen) oder dbname (Name in der Datenbank) werden. In den folgenden Tags unter Rows stehen die Feldwerte in der Reihenfolge, in der hier die Spalten aufgeführt worden sind.

Rows: Dieser Tag beschreibt eine Liste von Row-Tags und damit eine Sammlung von Zeilen des Tabellen Controls.

Row: Hier wird eine Zeile beschrieben, die einer Zeile in dem Tabellen Control entspricht.

Value: Dieser Tag beschreibt einen Feldwert einer Zeile. Das zugeordnete Feld muss unter dem Tag 'Column' an der entsprechenden Stelle ebenfalls angegeben worden sein. Der Text des Elementes entspricht dem Wert des Feldes.
Darüber hinaus kann optimonal ein Attribut 'field_function' gesetzt werden (zu Details: siehe oben)

Remarks: Dieser Tag beschreibt eine Liste von Notizen, die dem Objekt zugeordnet werden sollen.

RemarkText: Dieser Tag beschreibt einen Notiztext für das angegebene Objekt. Der Elementtext entspricht dem Text der Notiz.

RemarkObject: Dieser Tag beschreibt ein Objekt, das über die Notizen mit dem angegebenen Objekt verknüpft werden soll. Das zu verknüpfende Objekt ist über die Attribute object_id (ID des Objekts) und object_type (Typ des Objekts) zu bestimmen.

Der Parameter 'Flags'

Jeder Job besitzt einen Parameter Flags. Durch die Flags können das allgemeine Verhalten des Jobs gesteuert werden. Die Flags können auch kombiniert werden. Soll zum Beispiel eine Fehlerliste in Dateiform (Flags = 1) und UTF-16 codiert (Flags = 16) zurückgeliefert werden, muss im Parameter Flags der Wert '17' (1+16) übergeben werden. Es existieren folgende Flags:

Flag Beschreibung
1 Die Fehlerliste wird in Dateiform zurückgeliefert.
2 Der Job liefert keine Fehlerliste zurück.
4 Durch den Job wird keine Validierung mit der XSD-Datei durchgeführt.
8 Die mitgelieferten Dateien werden am Server nicht gelöscht.
16 Die zurückgelieferte Fehlerliste wird in UTF-16 codiert. (Defaultwert UTF-8)

Der Parameter 'Options'

Durch den Parameter 'Options' können bestimmte Überprüfungen an- bzw. ausgeschaltet werden. Dies kann teilweise zu erheblicher Performancesteigerung führen. Der Parameterwert ist eine Semikolon-separierte Liste mit dem Format OPTION1=1;OPTION2=0;....

Option Beschreibung Default nutzbar im Job
APPENDFILESTOFRONT gibt an für Update und varinatenerzeugung ob anzuhängende Files vor (1) oder nach dem Bestehenden angehängt werden (0) (0) Option nicht aktiv XMLInsert
XMLUpdate
ARCHIVABLE gibt an, ob das Dokument den Status archivierbar (1) oder nicht archivierbar erhält (0) XMLInsert:
(0)Option nicht aktivXMLUpdate:
Option nicht definiert XMLInsert
XMLUpdate
XMLCopy
ARCHIVEIMMEDIATELY gibt an, ob das Dokument sofort archiviert wird (1) oder nicht (0)Hinweis: Kann das Dokument nicht archiviert werden, wird kein Dokument ohne Seiten angelegt. (0) Option nicht aktiv XMLInsert
ARCHIVEIMMEDIATELYOBJDEF gibt an, ob zu einem Dokument, das sofort archiviert wird (ARCHIVEIMMEDIATELY), die Objektdefinition ebenfalls archiviert wird (1) oder nicht (0). (0) Option nicht aktiv XMLInsert
CHECKACCESS für das Objekt werden die Benutzerrechte geprüft (1) oder nicht geprüft (0) (1) Option aktiv XMLInsert
XMLUpdate
XMLMove
XMLDelete
XMLCopy
CHECKCATALOGUE es wird geprüft, ob alle übergebenen Katalogeinträge auch im Original-Katalog enthalten sind (1) oder nicht geprüft (0) (1) Option aktiv XMLInsert
XMLUpdate
CHECKEXISTENCE es wird geprüft, ob das angegebene Objekt an der angegebenen Position existiert (1) oder nicht geprüft (0) (1) Option aktiv XMLInsert XMLUpdate
XMLMove
XMLDelete
XMLCopy
CHECKKEYFIELDS es wird geprüft, ob Schlüsselfelder eindeutig sind (1) oder nicht geprüft (0) (1) Option aktiv XMLInsert
XMLUpdate
CHECKOBLIGATION es wird geprüft, ob alle Pflichtfelder gesetzt wurden (1) oder nicht geprüft (0) (1) Option aktiv XMLInsert
XMLUpdate
CHECKPOSITION es wird geprüft, ob angegebene (Ziel-)Objekte (z. B. Ordner) existieren (1) oder nicht geprüft (0) (1) Option aktiv XMLMove
XMLCopy
CHECKREADONLY es wird geprüft, ob keine Felder verändert wurden, für die keine Schreibrechte bestehen (1) oder nicht geprüft (0) (1) Option aktiv XMLUpdate
DELETECASCADING gibt an, ob Objekte kaskadierend gelöscht werden sollen, auch wenn sie Unterobjekte enthalten (1) oder nicht (0) (0)Option nicht aktiv XMLDelete
COPYCASCADING gibt an, ob Objekte kaskadierend kopiert werden sollen, wenn sie Unterobjekte enthalten (1) oder nicht (0) (0)Option nicht aktiv XMLCopy
FULLTEXTFILEATTACHED Gibt an, ob die letzte übermittelte Datei die Volltextdaten für das Dokument enthalten soll (1) oder nicht (0) (0)Option nicht aktiv XMLInsertXMLUpdate
HARDDELETE gibt an, ob das Objekt endgültig gelöscht werden soll, also nicht in den Papierkorb verschoben wird (1) oder nicht (0) (0)Option nicht aktiv XMLDelete
INITFIELDS gibt an, ob alle nicht gesetzten Felder mit den Defaultwerten belegt werden sollen (1) oder nicht (0) (1) Option aktiv XMLInsert
XMLUpdate
INUSERTRAY gibt an, ob das Objekt in die Benutzer-Ablage eingefügt werden soll (1) oder nicht (0) (0) Option nicht aktiv XMLMoveXMLInsert
INWFTRAY gibt an, ob das Objekt in die Workflow-Ablage eingefügt werden soll (1) oder nicht (0) (0) Option nicht aktiv XMLMoveXMLInsert
REPLACEFILES gibt an, ob bereits gespeicherten Dateien durch die übergebenen Dateien ersetzt (1) oder angehängt werden (0) XMLInsert (Varianten): (1) Option aktiv, XMLUpdate: (0) Option nicht aktiv XMLUpdateXMLInsert
REPLACEMULTIFIELDS gibt an, ob die übergebenen Multifelder die Originalen ersetzen sollen (1) oder angehängt werden (0) (0) Option nicht aktiv XMLUpdate
REPLACEREMARKS gibt an, ob die übergebenen Notizen die Originalen ersetzen sollen (1)oder angehängt werden (0) (0 )Option nicht aktiv XMLUpdate
REPLACETABLEFIELDS gibt an, ob die übergebenen Tabellenfelder die Originalen ersetzen sollen (1) oder angehängt werden (0) (0) Option nicht aktiv XMLUpdate
TRUNCATEVALUES gibt an, ob übergebene Strings abgeschnitten werden sollen, wenn sie länger sind, als definiert (1) oder nicht (0) (0) Option nicht aktiv XMLInsert
XMLUpdate
TYPELESS gibt an, ob das Objekt als typenlos in die Ablage eingefügt werden soll (1) oder nicht (0) (0) Option nicht aktiv XMLInsert
UPDATEALLFIELDS gibt an, ob nicht angegebene Felder auf leer gesetzt werden sollen (1) oder nicht (0) (0) Option nicht aktiv XMLInsert
XMLUpdate
VARIANTSAMELEVEL gibt an, ob die Variante auf der gleichen Ebene (1) oder als 'Untervariante' (0) eingefügt werden soll (0) Option nicht aktiv XMLInsert
VARIANTSETACTIVE gibt an, ob die neue Variante im selben Schritt als 'Aktive' (1) gesetzt wird oder nicht (0) (0) Option nicht aktiv XMLInsert
VARIANTTRANSFERRETENTION gibt an, ob die neue Variante die geplante Retention Zeit vom Original Dokument übernehmen soll (1) oder nicht (0) (0) Option nicht aktiv XMLInsert
LINKDOCUMENT gibt an, ob ein Dokument nur einen neuen Standort erhalten soll (1) oder nicht (0) (0) Option nicht aktiv XMLCopy
WFTOUSERTRAY Gibt an, ob beim Verschieben eines Dokumentes dieses von der Workflowablage in die Benutzerablage verschoben werden soll (1) oder nicht (0) (0) Option nicht aktiv XMLMove
KEEPLINKWHENEXISTS Gibt an, ob ein bereits existierender Link als Fehler gewertet werden soll (1) oder nicht (0)
(Gilt für XMLCopy nur in Zusammenhang mit der Option LINKDOCUMENT) (0) Option nicht aktiv XMLCopy
XMLMove
DELETEVARIANTMODE Gibt an, ob das Löschen einer gegebenen inaktiven Variante zum Löschen des gesamten Variantenbaums führt (1) oder nicht (0) (0) Option nicht aktiv XMLDelete
COPYINDEXONLY Gibt an, ob nur die Indexdaten kopiert werden (1) oder nicht (0) (0) Option nicht aktiv XMLCopy
COPYCREATEHISTORY Gibt an, ob Informationen zum Kopieren in die Historie eingetragen werden (1) oder nicht (0) (1) Option aktiv XMLCopy

Der Parameter 'JobUserGUID'

Durch den Parameter 'JobUserGUID' kann der Benutzer Kontext des XML Jobs geändert werden. Dies gilt im Zusammenhang mit allen XMLImport-Jobs, also allen Jobs 'XML…', die Modifikationen an Objekten im DMS vornehmen. Wird hier die GUID des Benutzers angegeben, so werden alle Checks (z. B. Zugriffsrechte), sowie Ablagen oder ähnliches nur von dem angegebenen Benutzer verwendet.

Achtung: Diese Option ist lediglich verfügbar, wenn die entsprechenden Jobs von anderen Jobs aus dem Server heraus aufgerufen werden. Einem Client wird das Setzen dieser Option jedoch stets verweigert!

Der Parameter 'File_N'

Jedem Job, der Übergabe Dateien auswertet, kann stattdessen eine Anzahl Parameter übergeben werden. Die Parameter lauten aufsteigend File_0, File_1, usw. Dieser Parameter ist vom Typ String und beinhaltet einen Datei-Pfad, die Datei muss somit nicht mehr in der Dateiliste übertragen werden. Dieses ist für den Fall gedacht, dass der Aufrufer sich selber auf dem Rechner des Servers befindet, in dem Fall fällt der Übertragungsaufwand der Datei über den Netzwerkadapter weg. Es ist in diesem Falle aber unbedingt sicherzustellen, dass dieser Pfad (ob lokal oder UNC-Notation) vom Server mit lesenden bzw. schreibenden Rechten erreichbar ist. Es kann entweder nur eine Liste von Dateien übergeben werden oder eben eine Menge File-Parameter, eine Mischung von beidem ist nicht zulässig.

Der Rückgabewert

Jeder Job generiert neben jobspezifischen Rückgabewerteneine Rückgabenummer. Diese ist im Erfolgsfall stets '0'. Ist ein Fehler aufgetreten, so kann er über die Rückgabenummer grob qualifiziert werden. Für eine detaillierte Analyse sind jedoch die genauen Fehlermeldungen unerlässlich. Es existieren folgende Rückgabenummern:

Fehlernummer Beschreibung
0 Der Job ist erfolgreich ausgeführt worden.
-1 Es ist ein allgemeiner Fehler aufgetreten. (In diesem Falle kann der Fehler nicht näher spezifiziert werden)
-2 Es ist kein Schrank angegeben worden.
-3 Der angegebene Schrank ist unbekannt.
-4 Es ist kein Registertyp angegeben worden.
-5 Der angegebene Registertyp ist unbekannt.
-6 Es wurde kein Dokumenttyp angegeben.
-7 Der angegebene Dokumenttyp ist unbekannt.
-8 Das angegebene Register befindet sich nicht im angegebenen Ordner.
-9 Der angegebene Dokumenttyp ist in dem angegebenen Schrank nicht zugelassen.
-10 Die benötigte Identifizierung des Ordners fehlt.
-11 Die benötigte Identifizierung des Dokumentes fehlt.
-12 Die benötigte Identifizierung des Registers fehlt.
-13 Die benötigte Identifizierung des Registers ist unbekannt.
-14 Die benötigte Identifizierung des Ordners ist unbekannt.
-15 Die benötigte Identifizierung des Dokumentes ist unbekannt.
-16 Die Aktualisierung des Ordners ist fehlgeschlagen.
-17 Die Aktualisierung des Dokumentes ist fehlgeschlagen.
-18 Die Aktualisierung des Registers ist fehlgeschlagen.
-21 Das Dokument wurde bereits archiviert.
-22 Das angegebene/benötigte Objekt ist unbekannt.
-23 Die ID des angegebenen Registers existiert nicht auf dem Archivserver.
-24 Der Feldname konnte nicht aufgelöst werden.
-28 Der Wert für ein gegebenes Feld ist nicht erlaubt.
-29 Die angegebene ObjektId ist ungültig.
-30 Die Pflichtfelder sind nicht gefüllt worden.
-31 Der angegebene Wert stimmt nicht mit dem Typ auf dem Archivserver überein.
-32 Die angegebene/benötigte Datei existiert nicht.
-40 Ein Übergabeparameter ist fehlerhaft oder fehlt vollständig.
-47 Der Benutzer besitzt die entsprechenden Rechte auf dem Archivserver nicht.
-51 Das Dokument besitzt keine Seiten.
-65 Es konnte kein Index vom Server bezogen werden.
-68 Das Verschieben von Ordnern ist nicht erlaubt.
-89 Die Beziehung zwischen Dokument und Register ist nicht erlaubt.
-90 Verweisdokumente können nicht ohne Angabe eines Standortes verschoben werden
-94 Es sind keine Dokument-Seiten erlaubt.
-1001 Der angegebene Wert konnte im zugehörigen Katalog nicht gefunden werden.
-1002 Das Schlüsselfeld ist nicht eindeutig.
-1003 Es wurde versucht, ein schreibgeschütztes Feld zu setzen.
-1004 Es wurde keine Dokumentliste angegeben.
-1005 Das angegebene Objekt liegt ist mit einem Workflow-Prozess verbunden.
-1006 Die angefragte Funktionalität ist in der vorliegenden Version nicht implementiert.
-1007 Beim Lesen der Objektdefinitionen vom ObjDefReader ist ein Fehler aufgetreten.
-1008 Es konnte auf ein angefordertes File nicht zugegriffen werden.
-1009 Das Objekt liegt im Papierkorb.
-1010 Das Dokument liegt in einer Mappe.
-1011 Die Rekurrierungstiefe ist zu groß, die Aktion wurde abgebrochen.
-1012 Das Zielregister ist ein Kind des zu verschiebenden Registers.
-1013 Es wurde eine System ID, jedoch keine Foreign ID angegeben.
-1014 Einem Verweisdokument können keine Seiten hinzugefügt werden.
-1015 Das Dokument kann nicht auf ein anderes Dokument verweisen, da es Seiten besitzt.
-1016 Beim Parsen des XML Textes ist ein Fehler aufgetreten.
-1017 Bei der Validierung des XML Textes ist ein Fehler aufgetreten.
-1018 Der XML Text ist unvollständig.
-1019 Der angegebene Besitzer konnte nicht ermittelt werden.
-1020 Der Objekttyp ist bei dieser Operation ungültig.
-1021 Es darf nicht kaskadierend gelöscht werden, das Objekt besitzt jedoch noch Unterobjekte.
-1022 Der Verweis wurde nicht gefunden.
-1023 Das angegebene Systemfeld darf nicht vom Benutzer geändert werden.
-1024 Ein Jobparameter fehlt.
-1025 Der angegebene Parameterwert ist ungültig.
-1026 Es ist für den Benutzer nicht möglich, die Rechteprüfung abzustellen.
-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.
-1030 Ein Objekttyp ist auf dem DMS Server nicht gefunden worden.
-1031 Ein Objekt Feld ist auf dem DMS Server nicht gefunden worden.
-1032 Der Job wurde auf Benutzeranfrage hin abgebrochen.
-1033 Die angegebene Bedingung ist ungültig.
-1034 Ein XML Attribut ist fehlerhaft.
-1035 Ein notwendiges XML Attribut fehlt.
-1036 Es dürfen nur Dokumente ausgecheckt werden.
-1037 Das Dokument ist eingecheckt worden.
-1038 Das Dokument ist ausgecheckt worden.
-1039 Das Dokument wurde an einen anderen Benutzer ausgecheckt.
-1040 Das Dokument wurde an eine andere Station ausgecheckt.
-1041 Das Dokument kann nicht ausgecheckt worden, da es keine Seiten besitzt.
-1042 Das Dokument befindet sich nicht in der Workflow-Ablage.
-1043 Das Dokument befindet sich in der Workflow-Ablage.
-1044 Die Parent-Variante des Dokumentes konnte nicht ermittelt werden.
-1045 Es dürfen nur für W-Dokumente neue Varianten angelegt werden.
-1046 Die Dokument-Variante konnte nicht ermittelt werden.
-1047 Die Angaben für die Benutzerdaten sind nicht eindeutig
-1048 Ein konkurrierende Aktualisierung eines Objektes ist fehlgeschlagen
-1049 Die Anfrage wurde nicht gefunden
-1050 Die Kopie des Objektes existiert bereits an dem angegebenen Standort
-1051 Das Anfrageformat wird nicht unterstützt
-1052 Der Schrankname konnte nicht ausgelesen werden
-1053 Der Dokumentenname konnte nicht ausgelesen werden
-1054 Der Registername konnte nicht ausgelesen werden
-1055 Ein Ausdruck besitzt ein ungültiges Format
-1056 Der Sektionsname ist ungültig
-1057 Allgemeiner Fehler beim Auslesen der Anfrage
-1058 Unbekannter Anfragetyp
-1059 Die Neue Variante ist angelegt worden, konnte jedoch nicht auf 'Aktiv' gesetzt werden
-1060 Die Anfrage konnte nicht bearbeitet werden.
-1061 Das Verschieben bzw. Verlinken von Objekten ist systemweit gesperrt
-1062 Der Standort des Objektes konnte nicht ermittelt werden
-1063 Das Dokument existiert bereits an dem Standort
-1064 Das Kopieren von Objekten mit Schlüsselfeldern ist nicht erlaubt
-1065 Das angegebene Passwort ist falsch
-1066 Das neue und das alte Passwort unterscheiden sich nicht
-1067 Die Volltextanfrage enthält nur zu ignorierende Wörter
-1068 Es steht nicht genügend Speicher zur Verfügung
-1069 Der Zugriff auf einen Systemressource wurde verweigert.
-1070 Im Job XMLImport ist als Aktion bzgl. der Anzahl von Treffern 'Fehler' angegeben worden

Jobübergreifende Restriktionen

Die folgenden Beschreibungen sind allgemeingültig, gelten also für alle XML Import Jobs.

Datums- und Zeitformate

Datumsfelder können in den unten aufgeführten Formaten importiert werden. Dabei entspricht TT dem immer zweistelligen Tag ('09' statt '9'), MM dem Monat und JJ dem zweistelligen bzw. JJJJ dem vierstelligen Jahr.

Zeitfelder können im Format HH:MM:SS, wobei HH der zweistelligen Stunden, MM den Minuten und SS der Sekunden entspricht, importiert werden. Zeitstempel werden grundsätzlich im Format TT.MM.JJJJ HH:MM:SS importiert, wobei das Datum und die Zeit durch ein Leerzeichen getrennt sind.

Besondere Feldtypen

Zusätzliche Feldwerte

Alle Felder können den Wert über das Attribut ' field_function' auch den Wert NULL annehmen. In diesem Fall bedeutet dies, dass das Feld als leer erwünscht wird. Ein numerisches Feld oder auch Textfeld kann den Wert der internen ID des Objektes über dasselbe Attribut annehmen. In diesem Falle wird der Wert des Feldes durch die neue oder bestehende ID des entsprechenden Objektes ersetzt.

Die XML-Fehlerliste

Sollte ein Fehler aufgetreten sein, so kann er zwar anhand der Fehlernummer im Rückgabewert bestimmt werden, jedoch ist der exakt aufgetretene Fehler oftmals nicht hinreichend genau beschrieben. Aus diesem Grund erzeugen alle Jobs eine Fehlerliste. Diese kann im Job nach der Ausführung mit GetErrorList() ermittelt werden. In dieser Fehlerliste stehen die genauen Beschreibungen der zuletzt aufgetretenen Fehler. Die zuerst beschriebenen Fehler sind die aussagekräftigsten. Diese Fehlerliste wird auch standardmäßig im Rückgabeparameter 'DMSResult' als XML geliefert. Optional kann dieses XML auch als Rückgabe-Datei zurückgeliefert werden.

Beispiel:

XML-Fehlerliste

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DMSData>
<Messages>
<Message Sourcename="oxjobdms">Das Feld &gt;Tabelle - Spalte2&lt; besitzt 
einen Katalog; der Wert &gt;7&lt; konnte jedoch nicht im Katalog
gefunden werden</Message>
<Message Sourcename="oxjobdms">SAX Fehler: Common exception</Message>
<Message Sourcename="oxjobdms">Beim XML Import ist ein Fehler 
aufgetreten</Message>
</Messages>
</DMSData>

Ansonsten können alle auf dem Server aufgetretenen Fehler im Rahmen der üblichen Serverprotokollierung eingesehen werden.


TOC abn adm ado cnv dms dtr krn lic med mng ocr std vtx wfm