DMS-Engine (Engine dms)
Der DMS Executor umfasst Jobs zum Anfragen und Bearbeiten von Indexdaten, DMS-Objekten und Mappen unter Berücksichtigung des Sicherheitssystems. Weiterhin existieren Jobs um das Sicherheitssystem auf Objektebene zu verwalten.
1. Objektverwaltung
1.1. Allgemeine Beschreibung der XML-Import-Jobs
Alle XML-Import-Jobs folgen demselben Schema und können zum großen Teil allgemein behandelt werden.
Sie besitzen dieselben Eingabeparameter (Flags, Options, XML) und im Wesentlichen dieselben Rückgabeparameter.
Über Flags wird das allgemeine Verhalten des Jobs gesteuert (z. B. Fehlerlistengenerierung oder XML-Validierung).
Über Options können bestimmte Überprüfungen (z. B. Schlüsselfeldprüfung) an- bzw. ausgeschaltet werden.
XML enthält die Daten, die das einzufügende Objekt beschreiben.
JobUserGUID ermöglicht es, den Benutzerkontext für diesen Job zu ändern.
1.1.1. Das Import-Schema
Das XML-Argument muss Base64-kodiert übergeben werden, da der Server anderenfalls Probleme mit Sonderzeichen oder UTF-16/UCS-4-Formaten hätte.
Zu der XML-Struktur existiert ein Schema, das mit dms.GetXMLSchema (Parameter Schema = "DMSData") abgerufen werden kann.
Werden Attribute gesetzt, die vom Job nicht ausgewertet werden sollen, sind Text-Attribute mit dem Leer-String "" und numerische Attribute mit -1 vorzubelegen.
<?xml version="1.0" encoding="UTF-8"?>
<DMSData>
<Archive internal_name="patient">
<ObjectType internal_name="medical_letter" type="DOCUMENT">
<Object>
<Fields>
<Field internal_name="firstname">Max</Field>
</Fields>
</Object>
</ObjectType>
</Archive>
</DMSData>
XML-Elemente
DMSData-
Wurzelelement. Über das optionale Attribut
query_languagelässt sich die Sprache für DMS-Bezeichner angeben (z. B."7"für Deutsch,"9"für Englisch). Wird das Attribut weggelassen oder auf"0"gesetzt, gilt die Server-Standardsprache. Archive-
Identifiziert den Schrank, in dem der Objekttyp liegt oder eingefügt werden soll. Wird kein Attribut angegeben, versucht der Server den Schrank anhand des Objekttyps zu ermitteln — dies geht jedoch zu Lasten der Performance. Identifikationsattribute:
internal_name(interner Schrankname),name(Schrankname),id(Objekttyp-ID),osguid(GUID). ObjectType-
Legt den Objekttyp des zu behandelnden Objekts fest. Das Attribut
typeist Pflicht und gibt an, ob es sich um einen Ordner (FOLDER), ein Register (REGISTER) oder ein Dokument (DOCUMENT) handelt. Identifikationsattribute:internal_name,name,id,table,osguid, oder eine gültige Kombination ausmaintypeundcotype(siehe Objekttyp-ID). Object-
Enthält Informationen zum konkret zu behandelnden Objekt. Bei Jobs, die ein bestehendes Objekt voraussetzen (z. B. dms.XMLUpdate), muss
object_idals Attribut angegeben werden. Für die Standortangabe (z. B. bei dms.XMLInsert) werdenregister_id,register_typeund/oderfolder_idverwendet. Bei Dokumenten kannmaintypegesetzt werden. Varianten von W-Dokumenten werden übervariantparent_id(ID des Elterndokuments) angegeben. Überconcurrency_timestamp(kombiniert mit dem FeldwertMODIFYTIME) kann geprüft werden, ob das Objekt seit der Abfrage von einem anderen Benutzer geändert wurde.sourceparent_idbestimmt beim Verschieben/Löschen von Dokumenten mit mehreren Standorten, welcher Standort betroffen ist. Fields-
Darf pro Objekt nur einmal vorhanden sein. Enthält die Liste der zu behandelnden Felder.
Field-
Beschreibt ein einzelnes Feld. Identifikationsattribute:
internal_name,name,dbname,sortpos,osguid. Der Elementtext enthält den zuzuweisenden Wert. Systemfelder werden über das Attributsystem="1"gekennzeichnet. Folgende Systemfelder können überFieldgesetzt werden:Datenbankname Interner Name Bedeutung OSOWNERBesitzer des Objektes
FOREIGNIDFremd-ID eines Verweises
SYSTEMIDSystem-ID eines Objektes
Über das optionale Attribut
field_functionkann ein berechneter Wert gesetzt werden:Attributwert Bedeutung NULLFeldwert wird als DB-NULL eingefügt (Feld leer)
Feldwert entspricht der internen ID des Objektes
USERFeldwert entspricht dem Namen des angemeldeten Benutzers
MultiFields-
Darf pro Objekt nur einmal vorhanden sein. Enthält die Liste der zu behandelnden Mehrfachfelder (nur bei Dokumenten erlaubt).
Multifield-
Identifiziert ein bestimmtes Mehrfachfeld. Identifikationsattribute:
internal_name,name,dbname,osguid. Page-
Bezeichnet eine bestimmte Seite des Mehrfachfelds; die Seitennummer steht im Attribut
id. Value-
Enthält den Wert für die zugeordnete Seite (als Elementtext).
TableFields-
Darf pro Objekt nur einmal vorhanden sein. Enthält die Liste der zu behandelnden Tabellenfelder.
TableField-
Identifiziert ein Tabellenfeld (Table Control). Identifikationsattribute:
internal_name,name,dbname,osguid. Row(innerhalb vonTableField)-
Beschreibt eine Zeile des Tabellenfelds (Zusammenfassung aller Spalten einer Zeile).
Field(innerhalb vonRow)-
Wert einer konkreten Spalte; Identifikation über
internal_name,nameoderdbname.Alternativ zur
Row/Field-Schreibweise können Zeilen durchColumns/Rows/Value-Elemente beschrieben werden: Columns-
Definiert die Spaltenreihenfolge für die folgende Werteliste.
Column-
Beschreibt eine Spalte; Identifikation über
internal_name,nameoderdbname. Rows-
Liste von
Row-Elementen. Row(innerhalb vonRows)-
Eine Zeile; die Reihenfolge der Werte entspricht der unter
Columnsdefinierten Spaltenreihenfolge. Value(innerhalb vonRow)-
Wert einer Spalte als Elementtext.
Remarks-
Liste von Notizen (
RemarkTextoderRemarkObject). RemarkText-
Notiztext für das Objekt (als Elementtext).
RemarkObject-
Verknüpft das Objekt über die Notizen mit einem anderen Objekt. Attribute:
object_id(ID des Objekts),object_type(Typ des Objekts).
1.1.2. Parameter Flags
Über Flags wird das allgemeine Verhalten des Jobs gesteuert.
Die Flags können addiert werden (z. B. 1 + 16 = 17 für Fehlerliste als Datei in UTF-16).
| Flag (dezimal) | Beschreibung |
|---|---|
|
Die Fehlerliste wird in Dateiform zurückgeliefert. |
|
Der Job liefert keine Fehlerliste zurück. |
|
Keine Validierung der XML-Daten gegen die XSD-Datei. |
|
Die mitgelieferten Dateien werden am Server nicht gelöscht. |
|
Die zurückgelieferte Fehlerliste wird in UTF-16 kodiert (Standard: UTF-8). |
1.1.3. Parameter Options
Über Options können bestimmte Überprüfungen aktiviert oder deaktiviert werden.
Der Wert ist eine Semikolon-separierte Liste im Format OPTION1=1;OPTION2=0;….
Deaktivierung kann zu erheblicher Performance-Steigerung führen.
| Option | Beschreibung | Default | Nutzbar in |
|---|---|---|---|
Gibt an, ob beim Update und der Variantenerzeugung anzuhängende Dateien vor ( |
|
||
Gibt an, ob das Dokument den Status „archivierbar" ( |
dms.XMLInsert: |
dms.XMLInsert, dms.XMLUpdate, dms.XMLCopy, dms.XMLUnknownToKnown |
|
Gibt an, ob das Dokument sofort archiviert wird ( |
|
||
Gibt an, ob zu einem sofort archivierten Dokument ( |
|
||
Benutzerrechte für das Objekt werden geprüft ( |
|
dms.XMLInsert, dms.XMLUpdate, dms.XMLMove, dms.XMLDelete, dms.XMLCopy, dms.XMLUnknownToKnown |
|
Es wird geprüft, ob alle übergebenen Katalogeinträge im Original-Katalog vorhanden sind ( |
|
||
Es wird geprüft, ob das angegebene Objekt an der angegebenen Position existiert ( |
|
dms.XMLInsert, dms.XMLUpdate, dms.XMLMove, dms.XMLDelete, dms.XMLCopy, dms.XMLUnknownToKnown |
|
Es wird geprüft, ob Schlüsselfelder eindeutig sind ( |
|
||
Es wird geprüft, ob alle Pflichtfelder gesetzt wurden ( |
|
||
Es wird geprüft, ob angegebene (Ziel-)Objekte (z. B. Ordner) existieren ( |
|
||
Es wird geprüft, ob keine Felder verändert wurden, für die keine Schreibrechte bestehen ( |
|
||
Gibt an, ob Objekte kaskadierend kopiert werden sollen, wenn sie Unterobjekte enthalten ( |
|
||
Gibt an, ob nur die Indexdaten kopiert werden ( |
|
||
Gibt an, ob Informationen zum Kopieren in die Historie eingetragen werden ( |
|
||
Gibt an, ob Objekte kaskadierend gelöscht werden sollen, auch wenn sie Unterobjekte enthalten ( |
|
||
Gibt an, ob das Löschen einer inaktiven Variante zum Löschen des gesamten Variantenbaums führt ( |
|
||
Gibt an, ob die letzte übermittelte Datei Volltextdaten für das Dokument enthalten soll ( |
|
||
Gibt an, ob das Objekt endgültig gelöscht werden soll (nicht in den Papierkorb, |
|
||
Gibt an, ob alle nicht gesetzten Felder mit den Standardwerten belegt werden sollen ( |
|
||
Gibt an, ob das Objekt in die Benutzer-Ablage eingefügt werden soll ( |
|
||
Gibt an, ob das Objekt in die Workflow-Ablage eingefügt werden soll ( |
|
||
Gibt an, ob ein bereits existierender Link nicht als Fehler gewertet werden soll ( |
|
||
Gibt an, ob ein Dokument nur einen neuen Standort erhalten soll ( |
|
||
Gibt an, ob bereits gespeicherte Dateien durch die übergebenen ersetzt ( |
dms.XMLInsert (Varianten): |
||
Gibt an, ob die übergebenen Mehrfachfelder die originalen ersetzen ( |
|
||
Gibt an, ob die übergebenen Notizen die originalen ersetzen ( |
|
||
Gibt an, ob die übergebenen Tabellenfelder die originalen ersetzen ( |
|
||
Gibt an, ob übergebene Strings abgeschnitten werden sollen, wenn sie länger sind als definiert ( |
|
||
Gibt an, ob das Objekt als typenlos in die Ablage eingefügt werden soll ( |
|
||
Gibt an, ob nicht angegebene Felder auf leer gesetzt werden sollen ( |
|
||
Gibt an, ob die Variante auf der gleichen Ebene ( |
|
||
Gibt an, ob die neue Variante im selben Schritt als „Aktive" gesetzt wird ( |
|
||
Gibt an, ob die neue Variante die geplante Retention-Zeit des Original-Dokuments übernehmen soll ( |
|
||
Gibt an, ob beim Verschieben eines Dokuments dieses von der Workflow-Ablage in die Benutzer-Ablage verschoben werden soll ( |
|
1.1.4. Parameter JobUserGUID
Über JobUserGUID kann der Benutzerkontext des XML-Jobs geändert werden.
Wird hier die GUID eines Benutzers angegeben, so werden alle Prüfungen (z. B. Zugriffsrechte) sowie Ablageoperationen mit dem angegebenen Benutzer durchgeführt.
| Diese Option ist nur verfügbar, wenn die Jobs serverseitig aus anderen Jobs heraus aufgerufen werden. Einem Client wird das Setzen dieser Option stets verweigert. |
1.1.5. Parameter File_N
Alternativ zur Dateiübertragung über den TCP-Stream können Dateipfade als Parameter File_0, File_1 usw. (aufsteigend) übergeben werden.
Der Parameter ist vom Typ STRING und enthält den vollständigen Dateipfad (lokal oder UNC-Notation).
Dies setzt voraus, dass der Aufrufer sich auf demselben Rechner wie der Server befindet und der Pfad vom Server mit den erforderlichen Rechten erreichbar ist.
Es kann entweder nur eine Dateiliste oder ausschließlich File_N-Parameter übergeben werden — eine Mischung beider Varianten ist nicht zulässig.
|
1.1.6. Rückgabewerte
Neben jobspezifischen Rückgabewerten liefert jeder Job eine Rückgabenummer.
Diese ist im Erfolgsfall 0. Bei Fehler kann die Nummer zur groben Qualifizierung genutzt werden;
für eine detaillierte Analyse ist die XML-Fehlerliste (Parameter DMSResult) erforderlich.
Die vollständige Liste der Fehlercodes – gegliedert nach Bedeutung und mit verifizierten Job-Zuordnungen – ist zentral unter Fehlercodes dokumentiert.
1.1.7. Jobübergreifende Restriktionen
Datums- und Zeitformate
Datumsfelder können in folgenden Formaten importiert werden (TT = zweistelliger Tag, MM = Monat, JJ/JJJJ = zwei-/vierstelliges Jahr):
-
TTMMJJ -
TTMMJJJJ -
TT.MM.JJJJ
Zeitfelder werden im Format HH:MM:SS importiert.
Zeitstempel werden im Format TT.MM.JJJJ HH:MM:SS importiert (Datum und Uhrzeit durch ein Leerzeichen getrennt).
Besondere Feldtypen
-
Ein Kontrollkästchen darf nur die Werte
0oder1enthalten. -
Eine Optionsschaltfläche kann über den Namen der ersten Schaltfläche (nach Tabulatorreihenfolge) oder den Namen des Gruppenfeldes identifiziert werden. Erlaubte Werte beginnen bei
0. -
Die Feldtypen Patientenart, Seite, Geschlecht und Frage akzeptieren sowohl den ersten Buchstaben als auch den vollständig ausgeschriebenen Wert.
-
Dezimalwerte dürfen mit einem Plus- oder Minuszeichen beginnen; Vor- und Nachkommastellen können durch Punkt oder Komma getrennt werden.
-
In mehrzeiligen Textfeldern werden einzelne Zeilen durch Carriage Return + Line Feed getrennt; in XML durch die Kombination

. -
In einem mehrsprachigen Katalog müssen die technischen Werte (entsprechend den Datenbankwerten) hinterlegt werden.
1.1.8. Die XML-Fehlerliste
Bei einem Fehler wird im Rückgabeparameter DMSResult standardmäßig eine XML-Fehlerliste zurückgeliefert.
Optional kann diese auch als Rückgabedatei geliefert werden (Flags = 1).
| Die zuerst aufgeführten Fehler in der Liste sind die aussagekräftigsten. |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DMSData>
<Messages>
<Message Sourcename="oxjobdms">Das Feld >Tabelle - Spalte2< besitzt
einen Katalog; der Wert >7< 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>
2. Dokumentsperre
Jobs zum exklusiven Sperren und Freigeben von Dokumentdateien, um parallele Bearbeitung durch mehrere Benutzer zu verhindern.
3. Systemkonfiguration
Jobs zur Abfrage der Archivstruktur und Objekttypdefinitionen sowie konzeptionelle Referenzen.
-
Objekttyp-ID — Aufbau und Berechnung der numerischen
objecttypeidausmaintypeundcotype
6. Sicherheitssystem
6.1. Ausführliche Beschreibung
Mit der Version 4.50 steht, zusätzlich zum bestehenden Rechtesystem, ein Sicherheitssystem auf Objektebene (SSOL) zur Verfügung. Bei diesem System kann für jedes Objekt ein sogenannter Security Descriptor (SD) erzeugt werden, der auf eine Access Control List (ACL) — eine Liste von Zugriffssteuerungseinträgen (ACE — Access Control Entry) — verweist. Mit einem Zugriffssteuerungseintrag lassen sich für einen Benutzer oder eine Benutzergruppe Zugriffsberechtigungen für das Ändern von Indexdaten sowie das Ändern, Löschen und Exportieren von Objekten festlegen.
Im DMS Executor sind dafür Jobs zur Bearbeitung der Zugriffsstrukturen für dieses Sicherheitssystem implementiert. Weiterhin existiert mit dms.CheckPermission ein Job, der unabhängig vom verwendeten Rechtesystem die Zugriffsrechte auf ein bestimmtes Objekt prüft.
6.1.1. XML-Format der Zugriffssteuerungseinträge
Um die Liste der Zugriffssteuerungseinträge zu beschreiben, wird XML verwendet. Die Jobs dms.CreateSD, dms.ReadSD und dms.SetSD verwenden dasselbe XML-Schema, welches über dms.GetXMLSchema abgerufen werden kann.
<DMSAccess timestamp="" version="4.50">
<ACL ossd="" object_type="" object_id="">
<UserACE modify_index="0" modify_object="0" delete_object="0"
export_object="0" osuid=""/>
<GroupACE modify_index="0" modify_object="0" delete_object="0"
export_object="0" osgid=""/>
</ACL>
</DMSAccess>
<DMSAccess>-Attribute:
timestamp-
Erstellzeitpunkt der Access Control List (Format:
JJJJ-MM-DDTHH:MM:SS). version-
Produktversionsnummer.
<ACL>-Attribute:
ossd(STRING)-
GUID des Security Descriptor.
object_type(INT)-
Objekttyp.
object_id(INT)-
ID der Objektinstanz.
<UserACE>- bzw. <GroupACE>-Attribute:
osuid(STRING)-
GUID des Benutzers (
<UserACE>). osgid(STRING)-
GUID der Benutzergruppe (
<GroupACE>). modify_index(INT)-
Zugriffsart „Indexdaten schreiben":
0= nicht gesetzt,1= erlaubt,2= verboten. modify_object(INT)-
Zugriffsart „Objekt bearbeiten":
0= nicht gesetzt,1= erlaubt,2= verboten. delete_object(INT)-
Zugriffsart „Objekt löschen":
0= nicht gesetzt,1= erlaubt,2= verboten. export_object(INT)-
Zugriffsart „Objekt exportieren":
0= nicht gesetzt,1= erlaubt,2= verboten.
6.1.2. Glossar
- SSOL
-
Security System at Object Level — Sicherheitssystem auf Objektebene.
- ACE
-
Access Control Entry (Zugriffssteuerungseintrag) — enthält für einen Benutzer oder eine Benutzergruppe die erlaubten oder verbotenen Zugriffsarten.
- ACL
-
Access Control List (Zugriffssteuerungsliste) — Liste aller ACEs, die einem Objekt zugeordnet sind.
- SD
-
Security Descriptor — für jedes Objekt kann ein Security Descriptor erzeugt werden, welcher eine ACL identifiziert. Für Objekte mit SD gilt das SSOL; für Objekte ohne SD gilt das bisherige Rechtesystem auf Objekttypebene.
7. Mappen
7.1. Ausführliche Beschreibung
Diese Jobs dienen dem Anfragen und Bearbeiten von Mappen.
7.1.1. Portfolio-XML-Format
<Portfolios>
<Portfolio id="123" created="135233432" creator="jdoe"
recipient="muster" subject="Mustermappe" objtype="13072">
<Objects>
<Object objecttype_id="13072" id="12"/>
<Object objecttype_id="13072" id="34"/>
</Objects>
</Portfolio>
</Portfolios>
Das Wurzelelement <Portfolios> kann entfallen, wenn nur ein Eintrag definiert wurde.
<Portfolio>-Attribute:
id(INT)-
ID der Mappe.
created(INT)-
Zeitstempel der Erzeugung.
creator(STRING)-
Name des Anlegers.
recipient(STRING)-
Empfänger.
subject(STRING)-
Titel der Mappe.
objtype(INT)-
Objekttyp, auf den die Mappe eingeschränkt ist.
<Objects> enthält die Liste der Objekte (Ordner, Register, Dokumente) in der Mappe.
<Object>-Attribute:
objecttype_id(INT)-
Objekttyp.
id(INT)-
ID der Objektinstanz.
8. Benutzerbezogene Daten
8.1. Ausführliche Beschreibung
Die Jobs dieses Bereiches dienen der Verwaltung beliebiger benutzerbezogener Daten. Jeder Dateneintrag ist durch einen frei wählbaren Namen (maximale Länge 100), einen Typ und die Benutzer-ID gekennzeichnet. Die Benutzer-ID wird von den Jobs automatisch aus der ID des angemeldeten Benutzers bestimmt. Der Wert des Eintrags wird in ein BLOB-Feld geschrieben und kann beliebigen Inhalt haben.
| Der Typ ist nicht frei wählbar. Wird ein neuer Typ benötigt, muss dieser zunächst registriert werden. |
| Typ | Beschreibung |
|---|---|
|
Gespeicherte Anfragen |
|
Externe Programme |
|
AS.INI |
|
Ordnerstruktur unter „Desktop" |
|
Erweiterte Anfragen |
|
Daten aus jetziger aslisten.dat |
|
AS-Objekt im Desktopbereich |
|
Einträge für Listenfelder |
|
Reserviert |
|
Importkonfiguration dBase III |
|
Importkonfiguration dBase IV |
|
Importkonfiguration dBase V / ASCII mit Trennzeichen |
|
Importkonfiguration ASCII feste Feldlänge |
|
Reserviert |
|
Importkonfiguration XML linear |
|
Importkonfiguration MS Access |
|
Importkonfiguration Excel 3 |
|
Importkonfiguration Excel 4 |
|
Importkonfiguration Excel 5 |
|
Importkonfiguration Excel 8 |
|
Externe Importkonfiguration |
|
Importkonfiguration ODBC |
|
Reserviert für Importkonfigurationen |
|
Benutzer-/Gruppen-Exportkonfigurationen |
|
Benutzer-/Gruppen-Importkonfigurationen |
|
Konfiguration automatisches Löschen von Benutzerpapierkörben |
|
Client/Index-Scankonfiguration |
|
Stempelvorlagen für Folien |
|
Nächste Position für öffentliche gespeicherte Anfragen |
|
Favoriten für WF-Addon |
|
Einstellungen für Window-Gadget |
|
Benutzerbezogene Konfigurationsinformationen für Zusatzanwendungen |
9. Events
OS-Events sind serverseitig gespeicherte Scripts, die das Verhalten von enaio®-Clients und -Server steuern. Sie werden an Objekttypen oder die gesamte Anwendung gebunden und bei definierten Ereignissen ausgeführt. Jedes Event legt die Zielplattform (Desktop-Client, Server, WebClient), den UI-Kontext (Datenblatt, Trefferliste, Anfrage, Application) sowie die Scriptsprache (JavaScript oder VBScript) fest.
9.1. JSON-Struktur
Die Events werden als JSON-Objekt im Ausgabeparameter JSON (BASE64-kodiert) zurückgeliefert.
Das Wurzelobjekt enthält das Array osevents mit einem Element pro Event:
{
"osevents": [
{
"id": 9,
"event_code": 13,
"os_class_name": "2",
"object_class": 3,
"app_class": 1,
"is_js": false,
"os_event_params": "B6ACC477B34F41D6BDBEBE13025F243B",
"modify_user": "ROOT",
"last_modified": 1774686279,
"vb_code": "'OnClickButton"
},
{
"id": 1,
"event_code": 5000,
"os_class_name": "Application",
"object_class": 2,
"app_class": 2,
"is_js": true,
"os_event_params": "krn.EmptyJob",
"modify_user": "ROOT",
"last_modified": 1752738837,
"vb_code": "const value = rc.apps.inputParams.get(\"Status\").value;\nif (value !== \"freigegeben\") throw Error(\"Nicht freigegeben.\");"
},
{
"id": 38,
"event_code": 10005,
"os_class_name": "Application",
"object_class": 2,
"app_class": 2,
"is_js": true,
"os_event_params": "MeineServerBibliothek",
"modify_user": "ROOT",
"last_modified": 1774688890,
"vb_code": "// Einbindung: const utils = require(\"MeineServerBibliothek\")\nfunction formatDate(ts) { return new Date(ts).toISOString().slice(0, 10); }\nmodule.exports = { formatDate };"
}
]
}
9.2. Felder
| Feld | Typ | Abhängigkeit | Beschreibung |
|---|---|---|---|
integer |
— |
Interner Datenbankprimärschlüssel des Events in der Tabelle |
|
integer |
— |
Ereignistyp — legt fest, wann das Script ausgeführt wird. |
|
integer |
— |
Numerische Repräsentation des UI-Kontexts (redundant zum |
|
integer |
— |
Zielplattform (redundant zum |
|
string |
— |
Zielobjekttyp: |
|
boolean |
— |
Scriptsprache: |
|
string |
— |
Ausführbarer Scriptcode (JavaScript oder VBScript). |
|
string |
Optional |
Kontext-Parameter — Inhalt abhängig vom |
|
string |
— |
Login-Name des enaio®-Benutzers, der das Event zuletzt bearbeitet hat |
|
integer |
— |
Unix-Timestamp der letzten Änderung (Sekunden seit 01.01.1970 UTC) |
9.2.1. Feld id
Interner Datenbankprimärschlüssel des Events in der Tabelle osevents. Eindeutig pro Event-Instanz.
Abhängigkeiten: keine
9.2.2. Feld event_code
Legt den Typ des Ereignisses fest — also wann das Script ausgeführt wird. Der Wert entspricht der Spalte eventcode in der Tabelle oseventcodes und kann gegen diese aufgelöst werden, um den Ereignisnamen, den UI-Kontext (objectclass) und die Zielplattform (appclass) zu ermitteln.
SELECT eventname, objectclass, appclass, descrshort
FROM oseventcodes
WHERE eventcode = <event_code>
Abhängigkeiten:
-
Bestimmt die inhaltliche Bedeutung von
object_classundapp_class -
Bestimmt das erwartete Format von
os_event_params(siehe Feldos_event_params) -
Unabhängig von
is_js— derevent_codedefiniert nur den Auslösezeitpunkt, nicht die Scriptsprache. EinOnShow-Event (code 1) ist code 1 unabhängig davon, ob es als VBScript oder JavaScript hinterlegt ist. Ausnahmen: WebClient-Events (11000–11024) undJavascriptLibrary-Events (10005/10006) sind immeris_js=true.
Wertebereiche:
| Bereich | Name | Plattform | Kontext |
|---|---|---|---|
|
Standard Client-Events |
Client |
Datenblatt, Trefferliste, Anfrage, Application |
|
Sammeländerungs-Events |
Client |
Sammeländerung |
|
Schrank-Events |
Client |
Schrank |
|
Server-Events |
Server |
Application, Server-Events |
|
Globale Scripts & Bibliotheken |
Client / Server |
Objekttyp, Application |
|
WebClient-Events |
WebClient |
Datenblatt, Trefferliste, Application |
1 → OnShow (Client / Datenblatt)
13 → OnClickItem (Client / Datenblatt)
5000 → KernelBeforeJob (Server / Application)
5002 → JoblBeforeObject (Server / Server-Events)
10005 → JavascriptLibrary (Server / Application)
11021 → OnAddLocation (WebClient / Trefferliste)
9.2.3. Feld object_class
Numerische Repräsentation des UI-Kontexts, in dem das Event ausgelöst wird. Entspricht inhaltlich der Spalte objectclass in oseventcodes, jedoch als Integer kodiert. Der Wert ist redundant zum event_code — er lässt sich direkt daraus ableiten.
Abhängigkeiten: immer konsistent mit dem event_code, kein eigenständiger Informationsgehalt über event_code hinaus.
| Wert | Bedeutung |
|---|---|
|
Anfrage |
|
Application (server-/anwendungsweit) |
|
Datenblatt |
|
gespeicherte Anfrage (event_code 6, 7 — Wert aus Sequenz abgeleitet, nicht direkt beobachtet) |
|
Objekttyp |
|
Sammeländerung |
|
Schrank |
|
Server-Events |
|
Trefferliste |
3 → Event gehört zum Datenblatt-Kontext (OnShow, BeforeValidate, …)
9 → Event gehört zum Trefferlisten-Kontext (BeforeDelete, OnMove, …)
8 → Event gehört zu Server-Events (JoblBeforeObject, JobAfterObject)
9.2.4. Feld app_class
Gibt die Zielplattform des Events an — also auf welchem Client-Typ oder dem Server das Script ausgeführt wird. Entspricht der Spalte appclass in oseventcodes, jedoch als Integer kodiert. Ist wie object_class redundant zum event_code.
| Wert | Bedeutung |
|---|---|
|
Client (Desktop-Client) |
|
Server |
|
WebClient |
1 → Script läuft im Desktop-Client
2 → Script läuft auf dem Server
3 → Script läuft im WebClient (immer is_js=true)
9.2.5. Feld os_class_name
Identifiziert den Zielobjekttyp, an den das Event gebunden ist. Der Wert ist entweder der String "Application" (für server- oder anwendungsweite Events) oder ein numerischer String, der der globalen type_id eines Objekttyps entspricht.
Die type_id ergibt sich intern als (maintype << 16) | cotype und kann über dms.GetObjDef aufgelöst werden. Die zurückgelieferte asobjdef-XML enthält den internen Namen und den zugehörigen Schrank des Objekttyps.
Abhängigkeiten:
-
Maßgeblich ist
object_class: ist sie2(Application), enthältos_class_nameden Wert"Application"; bei anderen Werten (3Datenblatt,5Objekttyp etc.) enthält das Feld einetype_id -
GlobalObjectTypeScript(event_code10002) ist an einen konkreten Objekttyp gebunden (object_class=5) —os_class_nameenthält hier einetype_id, obwohlapp_class=1(Client) -
JavascriptLibrary Client(event_code10006) hatobject_class=2(Application) —os_class_nameist hier"Application", obwohlapp_class=1(Client) -
Die Faustregel „
app_class=1→ `type_id`" gilt daher nicht allgemein
"Application" → server-/anwendungsweites Event (KernelBeforeJob, OnSessionLogin, …)
"2" → type_id 2 → Objekttyp mit internem Namen "DefinitionTests"
"6488064" → type_id 6488064 → z.B. ein Register-Objekttyp in einem anderen Schrank
"262144" → type_id 262144 → z.B. ein Dokument-Objekttyp
9.2.6. Feld is_js
Gibt die Scriptsprache des in vb_code enthaltenen Codes an.
| Wert | Sprache | Laufzeit |
|---|---|---|
|
JavaScript (ECMAScript) |
enaio® JS-Engine ( |
|
VBScript |
Legacy enaio® VBScript-Engine |
Abhängigkeiten:
-
WebClient-Events (
app_class=3) sind immeris_js=true -
JavascriptLibrary-Events (code 10005/10006) sind immeris_js=true
true → JavaScript-Event, nutzt rc.apps.inputParams, rc.apps.outputParams, etc.
false → VBScript-Event, Legacy-API
9.2.7. Feld vb_code
Enthält den ausführbaren Scriptcode des Events. Trotz des Feldnamens vb_code kann der Inhalt sowohl VBScript (wenn is_js=false) als auch JavaScript (wenn is_js=true) sein.
Abhängigkeiten:
-
Scriptsprache wird durch
is_jsbestimmt -
Bei JavaScript steht die
rc-API zur Verfügung (rc.apps,rc.lib,rc.com) -
Bei
JavascriptLibrary-Events (code 10005/10006) enthält das Feld wiederverwendbaren Bibliothekscode, der überrequire("<os_event_params>")eingebunden wird
9.2.8. Feld os_event_params
Optionaler Kontext-Parameter — der Inhalt ist abhängig vom event_code. Das Feld ist leer, wenn kein spezifischer Kontext konfiguriert wurde (z.B. bei Events, die für den gesamten Objekttyp gelten).
| Event-Code(s) | Event-Name(n) | Inhalt | Bedeutung |
|---|---|---|---|
|
|
Job-Name |
Script wird nur bei diesem spezifischen Job ausgeführt |
|
|
Job-Name |
Script wird nur bei diesem spezifischen Job ausgeführt |
|
|
Feld-GUID (Button) |
Auflösbar über dms.GetObjDef → Feld mit übereinstimmender |
|
|
Feld-GUID |
Auflösbar über dms.GetObjDef → Feld mit übereinstimmender |
|
|
Feld-GUID |
Auflösbar über dms.GetObjDef → Feld mit übereinstimmender |
|
|
Feld-GUID (PageControl) |
Auflösbar über dms.GetObjDef → PageControl-Feld mit übereinstimmender |
|
|
Bibliotheksname |
Name, unter dem die Bibliothek per |
alle anderen |
— |
leer ( |
Event gilt für den gesamten Objekttyp ohne Feldeinschränkung |
GUIDs in os_event_params entsprechen dem Attribut osguid eines Feldes in der asobjdef-XML, die über dms.GetObjDef abgerufen wird. Der zugehörige Objekttyp ist über os_class_name (→ type_id) bestimmbar.
"" → kein spezifisches UI-Element (gilt für gesamten Objekttyp)
"krn.EmptyJob" → KernelBeforeJob: nur bei Ausführung von krn.EmptyJob
"std.DoArchive" → JoblBeforeObject: nur bei Archivierung (std.DoArchive)
"B6ACC477B34F41D6BDBEBE13025F243B" → GUID eines Button-Feldes (OnClickItem)
"AD61A45160D24D9CB48E9F5BA399563D" → GUID eines Eingabefeldes (OnFocusGained)
"329C7E04A5CC4BC3AFF2F8798808914A" → GUID eines PageControl-Feldes (OnEnterPage / OnLeavePage)
"MeineServerBibliothek" → Bibliotheksname für Server-JavascriptLibrary
"MeineClientBibliothek" → Bibliotheksname für Client-JavascriptLibrary
9.3. Event-Codes
Die Event-Codes entsprechen der Spalte eventcode in der Datenbanktabelle oseventcodes und können über folgende Abfrage aufgelöst werden:
SELECT eventname, objectclass, appclass, descrshort
FROM oseventcodes
WHERE eventcode = <event_code>
Die Nummerierung der Event-Codes ist nicht lückenlos. Code 38 existiert nicht (Sequenz springt von 37 zu 39). Im Bereich Globale Scripts existieren 10003 und 10004 nicht (Sequenz springt von 10002 zu 10005). Diese Lücken sind systembedingt und kein Fehler.
|
9.3.1. Standard Client-Events (1–43) — Desktop-Client
| Code | Name | Beschreibung |
|---|---|---|
|
|
Nachdem das Datenblatt geöffnet und mit Werten gefüllt wurde |
|
|
Vor der Validierung der Daten durch den Client |
|
|
Nach erfolgreichem Speichern |
|
|
Wenn ein Menüelement oder eine Schaltfläche angeklickt wurde |
|
|
Wenn eine Seite des Page-Controls aktiviert wird |
|
|
Vor dem Abbrechen des Datenblattes |
|
|
Wenn der Eingabefokus in ein Control gesetzt wird |
|
|
Wenn die Eingabe in ein Control abgeschlossen ist |
|
|
Bevor einem ListControl eine Zeile hinzugefügt wird |
|
|
Bevor aus einem ListControl eine Zeile entfernt wird |
|
|
Nach der Validierung der Daten durch den Client |
|
|
Wenn eine andere Seite des Page-Controls aktiviert wird |
|
|
Wenn der Fokus in eine Zelle eines TabellenControls gesetzt wird |
|
|
Wenn die Eingabe in eine Zelle eines TabellenControls abgeschlossen ist |
| Code | Name | Beschreibung |
|---|---|---|
|
|
Bevor die eigentliche Anfrage durchgeführt wird |
| Code | Name | Beschreibung |
|---|---|---|
|
|
Nachdem eine Anfrage beendet wurde |
|
|
Bevor ein Objekt gelöscht wird |
|
|
Nachdem ein Objekt gelöscht wurde |
|
|
Bevor ein Dokument oder Ordner geöffnet wird |
|
|
Wenn ein Objekt per Drag & Drop innerhalb eines Schrankes verschoben wird |
|
|
Wenn ein Objekt per Drag & Drop kopiert und ein neuer Standort hinzugefügt wird |
|
|
Vor dem Senden des Dokuments zum Applikationsserver |
|
|
Nach dem Senden des Dokuments zum Applikationsserver |
|
|
Bevor auf einem Dokument „Auschecken zurücknehmen" ausgeführt wird |
|
|
Vor dem Wiederherstellen eines Objektes aus dem Papierkorb |
|
|
Nach dem Wiederherstellen eines Objektes aus dem Papierkorb |
|
|
Wenn ein Objekt per Drag & Drop in einen anderen Schrank verschoben wird |
|
|
Wenn eine Kopie von einem Dokument oder Register erzeugt wird |
| Code | Name | Beschreibung |
|---|---|---|
|
|
Bevor eine gespeicherte Anfrage gestartet wurde |
|
|
Nachdem eine gespeicherte Anfrage beendet wurde |
|
|
Nachdem sich der Benutzer angemeldet hat |
|
|
Bevor sich der Benutzer ausloggt |
|
|
Wenn eine voreingestellte Uhrzeit erreicht ist |
|
|
Nachdem der Client fertig initialisiert ist |
|
|
Bevor der Client geschlossen wird |
|
|
Vor dem Verlinken zweier Objekte |
|
|
Nach dem Verlinken zweier Objekte |
|
|
Vor dem Löschen zweier verlinkter Objekte |
|
|
Nach dem Löschen zweier verlinkter Objekte |
|
|
Nachdem ein Eintrag in einer Trefferliste ausgewählt wurde |
|
|
Nach einer Serverbenachrichtigung |
|
|
Bevor der Relationsdialog geöffnet wird |
9.3.2. Sammeländerungs-Events (100–104) — Desktop-Client
| Code | Name | Beschreibung |
|---|---|---|
|
|
Vor der Validierung der Daten in der Sammeländerung |
|
|
Nachdem das Sammeländerungs-Datenblatt geöffnet wurde |
|
|
Wenn ein Menüelement oder eine Schaltfläche angeklickt wurde |
|
|
Wenn eine Seite des Page-Controls aktiviert wird |
|
|
Nach der Validierung der Daten in der Sammeländerung |
9.3.3. Schrank-Events (200) — Desktop-Client
| Code | Name | Beschreibung |
|---|---|---|
|
|
Nach dem Drag & Drop einer Datei aus dem Dateisystem in einen Ordner |
9.3.4. Server-Events (5000–5012) — Server
| Code | Name | Kontext | Beschreibung |
|---|---|---|---|
|
|
Application |
Vor der Ausführung eines Jobs |
|
|
Application |
Nach der Ausführung eines Jobs |
|
|
Server-Events |
Vor der Bearbeitung eines Objektes eines bestimmten Objekttyps |
|
|
Server-Events |
Nach der Bearbeitung eines Objektes eines bestimmten Objekttyps |
|
|
Application |
Bevor ein Archivlauf beginnt |
|
|
Application |
Bevor ein Medium erstmalig beschrieben wird |
|
|
Application |
Bevor ein Medium innerhalb eines Archivlaufes beschrieben wird |
|
|
Application |
Nachdem die Archivierung auf einem Medium abgeschlossen ist |
|
|
Application |
Nachdem ein Medium endgültig abgeschlossen wurde |
|
|
Application |
Am Ende der Archivierung |
|
|
Application |
Wenn ein Fehler in die Rep-Datei geschrieben wird |
|
|
Application |
Bei jedem Eintrag in die Historie eines Objektes |
|
|
Application |
Bei jedem Anmeldeversuch |
9.3.5. Globale Scripts & Bibliotheken (10000–10006) — Client / Server
| Code | Name | Plattform | Beschreibung |
|---|---|---|---|
|
|
Client |
Wird an jedes andere Client-Script angehängt |
|
|
Server |
Wird an jedes andere Server-Script angehängt |
|
|
Client |
Wird an jeden Objekttyp gehängt |
|
|
Server |
Wiederverwendbare JS-Bibliothek, einbindbar per |
|
|
Client |
Wiederverwendbare JS-Bibliothek, einbindbar per |
9.3.6. WebClient-Events (11000–11024) — WebClient
| Code | Name | Beschreibung |
|---|---|---|
|
|
Nachdem das Datenblatt geöffnet und mit Werten gefüllt wurde |
|
|
Vor der Validierung der Daten |
|
|
Nach erfolgreichem Speichern |
|
|
Wenn ein Menüelement oder eine Schaltfläche angeklickt wurde |
|
|
Vor dem Abbrechen des Datenblattes |
|
|
Wenn der Eingabefokus in ein Control gesetzt wird |
|
|
Wenn die Eingabe in ein Control abgeschlossen ist |
|
|
Bevor einem ListControl eine Zeile hinzugefügt wird |
|
|
Bevor aus einem ListControl eine Zeile entfernt wird |
|
|
Nach der Validierung der Daten |
|
|
Wenn eine andere Seite des Page-Controls aktiviert wird |
|
|
Wenn eine Seite des Page-Controls aktiviert wird |
|
|
Wenn der Fokus in eine Zelle eines TabellenControls gesetzt wird |
|
|
Wenn die Eingabe in eine Zelle eines TabellenControls abgeschlossen ist |
| Code | Name | Beschreibung |
|---|---|---|
|
|
Nachdem eine Anfrage beendet wurde |
|
|
Bevor ein Dokument oder Ordner geöffnet wird |
|
|
Wenn ein Objekt per Drag & Drop innerhalb eines Schrankes verschoben wird |
|
|
Wenn ein Objekt per Drag & Drop kopiert und ein neuer Standort hinzugefügt wird |
|
|
Wenn eine Kopie von einem Dokument oder Register erzeugt wird |
|
|
Bevor ein Objekt gelöscht wird |
|
|
Nachdem ein Objekt gelöscht wurde |
| Code | Name | Beschreibung |
|---|---|---|
|
|
Wird an jedes andere WebClient-Script angehängt |
|
|
Wird an jeden Objekttyp gehängt |
|
|
Bevor die eigentliche Anfrage durchgeführt wird |
|
|
Nachdem sich der Benutzer angemeldet hat |
9.4. Abhängigkeitsdiagramm
┌─────────────┐
│ event_code │
└──────┬──────┘
│
├──► object_class Numerische Repräsentation des UI-Kontexts
│ (redundant, direkt aus event_code ableitbar)
│
├──► app_class Zielplattform
│ 1 = Client │ 2 = Server │ 3 = WebClient
│
└──► os_event_params Format abhängig vom event_code
│
├── KernelBeforeJob / KernelAfterJob ──────► Job-Name (z.B. "krn.EmptyJob")
├── JoblBeforeObject / JobAfterObject ──────► Job-Name (z.B. "std.DoArchive")
├── OnClickItem ────────────────────────────► Feld-GUID (Button)
├── OnFocusGained / OnValueChanged ─────────► Feld-GUID (Eingabefeld)
├── OnEnterPage / OnLeavePage ──────────────► Feld-GUID (PageControl)
├── JavascriptLibrary ──────────────────────► Bibliotheksname (für require())
└── alle anderen ───────────────────────────► leer
┌────────────────┐
│ os_class_name │
└───────┬────────┘
│
├── "Application" ──► server-/anwendungsweites Event, kein Objekttyp-Bezug
│
└── "<integer>" ──► type_id ──► dms.GetObjDef (asobjdef-XML)
└──► Objekttyp (interner Name, Schrank)
┌──────────────────────────────────────┐
│ os_event_params (wenn GUID-Format) │
└──────────────────┬───────────────────┘
│
└──► dms.GetObjDef (asobjdef-XML)
└──► Feld mit übereinstimmender osguid
└──► Bezeichnung, interner Name, Control-Typ
15. Nicht dokumentierte Endpunkte
Folgende Jobs werden vom enaio®-Server in der dms-Engine bereitgestellt, sind in dieser Dokumentation aber derzeit nicht beschrieben:
- Relationen
-
dms.AddRel,dms.AddRelText,dms.AddRelTextLang,dms.DelRel,dms.DelRelText,dms.ModRel,dms.ModRelText,dms.ModRelTextLang,dms.RetrieveRelations,dms.RetrieveRelTexts - Collaboration und Projekte
-
dms.ClearCollaborationDocuments,dms.DeleteCollaborationDocuments,dms.GetIngoingCollaborationDocuments,dms.GetOutgoingCollaborationDocuments,dms.MarkColabProjects,dms.UpdateCollaborationDocuments,dms.UpdateCollaborationDocumentsEx - Wiedervorlagen (in der dms-Engine, ergänzend zu den abn-Wiedervorlagen)
-
dms.AddToRevisit,dms.RemoveRevisit,dms.SetRevisitFlag - Abos und Benachrichtigungen (in der dms-Engine, ergänzend zur abn-Engine)
-
dms.RemoveAboNotification - Recherche und Volltext
-
dms.GetFulltextResult,dms.GetLinkedObjects,dms.GetSimilarMails - Konfiguration
-
dms.GetConfValuesAsString - Direkte Insert-/Update-/Move-/Delete-Jobs (Legacy, vor der XML-Schicht)
-
dms.DeleteObject,dms.InsertIntoArchive,dms.InsertIntoDocument,dms.InsertIntoRegister,dms.MoveObject,dms.UpdateDocFileList,dms.UpdateDocumentData,dms.UpdateRegisterData - Archivanforderungen
-
dms.StartArchiveRequest,dms.StartDocRequest,dms.StartRegRequest,dms.UpdateArchiveData - Schatten- und Indexdaten
-
dms.ConvertClauses,dms.OnRightsChanged,dms.RestoreEcmClauses - Schema und Berechtigungen
-
dms.GetShortObjectTypeFieldsInfo,dms.GetUserTypePermissions,dms.GetXMLSystemFields - Sonstige
-
dms.ChangePassword,dms.SAPSetBarcodeFlags,dms.ShowAccessStorage
16. DMS-Referenz
16.1. Systemfelder
Folgende Systemfelder können in XML-Anfragen einbezogen werden.
16.1.1. Allgemeine Objektfelder
OBJECT_ID
Interner Name |
|
osguid |
1100 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Ordner, Register, Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Interne ID des Objektes. Kann im XML-Import über das Attribut |
OBJECT_COUNT
Interner Name |
|
osguid |
1101 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Anzahl der Dokumentdateien (Seiten) eines Dokumentes. |
OBJECT_FLAGS
Interner Name |
|
osguid |
1102 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Statusflags des Dokumentes, z. B. ob das Dokument archivierbar ist oder bereits archiviert wurde. |
OBJECT_AVID
Interner Name |
|
osguid |
1103 |
DB |
|
Typ |
Text |
Länge |
255 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Benutzername des Archivars, der das Dokument archiviert hat. |
OBJECT_AVDATE
Interner Name |
|
osguid |
1104 |
DB |
|
Typ |
Datum |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Datum der Archivierung des Dokumentes. |
OBJECT_CRID
Interner Name |
|
osguid |
1105 |
DB |
|
Typ |
Text |
Länge |
255 |
Verfügbar bei |
Ordner, Register, Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Benutzername des Erstellers des Objektes. |
OBJECT_CRDATE
Interner Name |
|
osguid |
1106 |
DB |
|
Typ |
Datum |
Länge |
10 |
Verfügbar bei |
Ordner, Register, Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Erstellungsdatum des Objektes. |
OBJECT_TIME
Interner Name |
|
osguid |
1107 |
DB |
|
Typ |
Zeitstempel |
Länge |
10 |
Verfügbar bei |
Ordner, Register, Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Zeitstempel des Objektes (Zeitpunkt der letzten Indexdatenänderung). |
OBJECT_MAIN
Interner Name |
|
osguid |
1108 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Haupttyp des Dokumentes, z. B. |
OBJECT_CO
Interner Name |
|
osguid |
1109 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Untertyp des Dokumentes. |
OBJECT_MEDDOCID
Interner Name |
|
osguid |
1110 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
ID des Archivierungsmediums der Dokumentdatei. |
OBJECT_MEDDIAID
Interner Name |
|
osguid |
1111 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
ID des Archivierungsmediums der Vorschaudatei (Dia). |
OBJECT_MEDDOCNA
Interner Name |
|
osguid |
1112 |
DB |
|
Typ |
Text |
Länge |
24 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Mediumname der Dokumentdatei auf dem Archivierungsmedium. |
OBJECT_MEDDIANA
Interner Name |
|
osguid |
1113 |
DB |
|
Typ |
Text |
Länge |
24 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Mediumname der Vorschaudatei (Dia) auf dem Archivierungsmedium. |
OBJECT_LINKS
Interner Name |
|
osguid |
1114 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Ordner, Register, Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Anzahl der Verknüpfungen des Objektes. |
OBJECT_VERID
Interner Name |
|
osguid |
1115 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Versionsnummer des Dokumentes. |
OBJECT_LOCKUSER
Interner Name |
|
osguid |
1116 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Sperrstatus des Dokumentes. Mögliche Anzeigewerte: |
OBJECT_SYSTEMID
Interner Name |
|
osguid |
1117 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Ordner, Register, Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
System-ID des Objektes. Kann im XML-Import gesetzt werden, um ein Objekt einem externen System zuzuordnen. Wird auch zum Setzen von Verweisdokumenten per dms.XMLUpdate verwendet. |
OBJECT_MODIFYTIME
Interner Name |
|
osguid |
1118 |
DB |
|
Typ |
Zeitstempel |
Länge |
10 |
Verfügbar bei |
Ordner, Register, Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Zeitstempel der letzten Änderung am Objekt. |
OBJECT_MODIFYUSER
Interner Name |
|
osguid |
1119 |
DB |
|
Typ |
Text |
Länge |
256 |
Verfügbar bei |
Ordner, Register, Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Benutzername des letzten Bearbeiters des Objektes. |
OBJECT_FOREIGNID
Interner Name |
|
osguid |
1124 |
DB |
|
Typ |
Text |
Länge |
248 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Fremd-ID eines Verweisdokumentes. Wird per dms.XMLUpdate gesetzt oder mit |
OBJECT_USERGUID
Interner Name |
|
osguid |
1125 |
DB |
|
Typ |
Text |
Länge |
32 |
Verfügbar bei |
Ordner, Register, Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
GUID des Eigentümers des Objektes. Im XML-Import wird der Eigentümer über den Benutzernamen (nicht die GUID) gesetzt. Der Anzeigetext enthält den Namen; die GUID wird als |
OBJECT_DELETED
Interner Name |
|
osguid |
1126 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Ordner, Register, Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Markierung für in den Papierkorb verschobene Objekte. |
OBJECT_INDEXHISTFLAGS
Interner Name |
|
osguid |
1127 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Ordner, Register, Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Flags zur Steuerung der Indexdaten-Historisierung. |
OBJECT_DOCHISTFLAGS
Interner Name |
|
osguid |
1128 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Flags zur Steuerung der Dokumentdatei-Historisierung. |
OBJECT_OSSD
Interner Name |
|
osguid |
1129 |
DB |
|
Typ |
Text |
Länge |
32 |
Verfügbar bei |
Ordner, Register, Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
ID des Security Descriptors des Objektes. Wird von den Zugriffssteuerungs-Jobs dms.SetSD, dms.ReadSD und dms.CreateSD verwendet. |
OBJECT_MIMETYPEID
Interner Name |
|
osguid |
1900 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
MIME-Typ-ID der Dokumentdatei. Verweist auf die über dms.GetOsMimetypes abrufbare MIME-Typ-Liste. |
OBJECT_FILESIZE
Interner Name |
|
osguid |
1902 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Größe der Dokumentdatei in Bytes. |
OBJECT_DOCPAGECOUNT
Interner Name |
|
osguid |
— |
DB |
— |
Typ |
Zahl |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Anzahl der realen Dokumentseiten. |
OBJECT_RETENTION_PLANNED
Interner Name |
|
osguid |
1903 |
DB |
|
Typ |
Datum |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Geplantes Aufbewahrungsenddatum des Dokumentes (vor Bestätigung durch den Benutzer). |
OBJECT_LOCATIONSCOUNT
Interner Name |
|
osguid |
1993 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Anzahl der Ablageorte eines Dokumentes bei Mehrfach-Ablage. |
OBJECT_RETENTION
Interner Name |
|
osguid |
1904 |
DB |
|
Typ |
Datum |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Verbindliches Aufbewahrungsenddatum des Dokumentes. Dokumente dürfen vor Ablauf dieses Datums nicht gelöscht werden. |
OBJECT_SIGNSTATE
Interner Name |
|
osguid |
1906 |
DB |
|
Typ |
Zahl |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Signaturzustand des Dokumentes. |
16.1.2. Stammdaten-Felder
STAMM_ID
Interner Name |
|
osguid |
1000 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
— |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Interne ID der Ordner-Stammdaten. |
STAMM_TIME
Interner Name |
|
osguid |
1001 |
DB |
|
Typ |
Zeitstempel |
Länge |
10 |
Verfügbar bei |
— |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Zeitstempel der Ordner-Stammdaten. |
STAMM_LINKS
Interner Name |
|
osguid |
1002 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
— |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Anzahl der Verknüpfungen in den Ordner-Stammdaten. |
16.1.3. Registerfelder
REG_ID
Interner Name |
|
osguid |
1120 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Register |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
Interne ID des Registers. |
REG_STAID
Interner Name |
|
osguid |
1121 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Register |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
ID des übergeordneten Ordners (Stamm-ID) des Registers. |
REG_PARID
Interner Name |
|
osguid |
1122 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Register |
In dms.GetObjectDetails verfügbar |
Ja |
Beschreibung |
ID des übergeordneten Registers bei hierarchisch verschachtelten Registern. |
16.1.4. Strukturdaten-Felder
SDSTA_ID
Interner Name |
|
osguid |
1130 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
Ordner-ID (Stamm-ID) in den Strukturdaten des Dokumentes. |
SDOBJ_ID
Interner Name |
|
osguid |
1131 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
Objekt-ID in den Strukturdaten des Dokumentes. |
SDOBJTYPE
Interner Name |
|
osguid |
1132 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
Objekttyp in den Strukturdaten des Dokumentes. |
SDREG_ID
Interner Name |
|
osguid |
1133 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
Register-ID in den Strukturdaten des Dokumentes. |
SDDEL
Interner Name |
|
osguid |
1134 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
Löschmarkierung in den Strukturdaten des Dokumentes. |
SDTIME
Interner Name |
|
osguid |
1135 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
Zeitstempel in den Strukturdaten des Dokumentes. |
SDREG_TYPE
Interner Name |
|
osguid |
1136 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
Registertyp in den Strukturdaten des Dokumentes. |
16.1.5. Ordner- und Registerbezugsfelder
FOLDERID
Interner Name |
|
osguid |
1181 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Register |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
ID des übergeordneten Ordners des Registers. |
FOLDERTYPE
Interner Name |
|
osguid |
1182 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Register |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
Typ des übergeordneten Ordners des Registers. |
REGISTERID
Interner Name |
|
osguid |
1183 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Register |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
ID des Registers, in dem das Objekt abgelegt ist. |
REGISTERTYPE
Interner Name |
|
osguid |
1184 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Register |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
Typ des Registers, in dem das Objekt abgelegt ist. |
PARENTREGID
Interner Name |
|
osguid |
1185 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Register |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
ID des übergeordneten Registers bei hierarchisch verschachtelten Registern. |
PARENTREGTYPE
Interner Name |
|
osguid |
1186 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Register |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
Typ des übergeordneten Registers bei hierarchisch verschachtelten Registern. |
16.1.6. Mappen-Felder
MDDEL
Interner Name |
|
osguid |
1140 |
DB |
|
Typ |
Text |
Länge |
5 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
Löschmarkierung der Mappen-Zuordnung. |
MDTIME
Interner Name |
|
osguid |
1141 |
DB |
|
Typ |
Zeitstempel |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
Zeitstempel der Mappen-Zuordnung. |
MDMAP_ID
Interner Name |
|
osguid |
1142 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
ID der Mappe (Portfolio), der das Dokument zugeordnet ist. Wird von dms.AddPortfolio und dms.DelPortfolio verwendet. |
MDSTA_ID
Interner Name |
|
osguid |
1143 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
Ordner-ID (Stamm-ID) in den Mappen-Zuordnungsdaten. |
MDOBJ_ID
Interner Name |
|
osguid |
1144 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
Objekt-ID in den Mappen-Zuordnungsdaten. |
MDOBJTYPE
Interner Name |
|
osguid |
1145 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
Objekttyp in den Mappen-Zuordnungsdaten. |
MDMOD
Interner Name |
|
osguid |
1146 |
DB |
|
Typ |
Text |
Länge |
5 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
Modul-Identifier der Mappen-Zuordnung. |
MDIN
Interner Name |
|
osguid |
1147 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
Eingangswert der Mappen-Zuordnung (Zielreferenz). |
MDOUT
Interner Name |
|
osguid |
1148 |
DB |
|
Typ |
Text |
Länge |
10 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
Ausgangswert der Mappen-Zuordnung (Quellreferenz). |
MDCOUNT
Interner Name |
|
osguid |
1149 |
DB |
|
Typ |
Text |
Länge |
5 |
Verfügbar bei |
Dokument |
In dms.GetObjectDetails verfügbar |
Nein |
Beschreibung |
Anzahl der Objekte in der Mappen-Zuordnung. |
16.2. Datumsformate
Formatierungsanweisungen für Datumsfelder werden durch ein Prozentzeichen (%) eingeleitet.
Zeichenfolgen ohne führendes % werden unverändert in den Ergebnisstring kopiert.
| Formatierung | Beschreibung |
|---|---|
|
Abgekürzter Wochentagsname |
|
Wochentagsname (vollständig) |
|
Abgekürzter Monatsname |
|
Monatsname (vollständig) |
|
Datums- und Zeitrepräsentation entsprechend der lokalen Einstellungen |
|
Tag im Monat numerisch (01–31) |
|
Tag im Jahr numerisch (001–366) |
|
Monat als Zahl (01–12) |
|
Kalenderwoche mit Sonntag als erstem Wochentag (00–53) |
|
Wochentag als Zahl (0–6; Sonntag = 0) |
|
Wochentag als Zahl (0–6; Montag = 0) |
|
Datumsrepräsentation entsprechend der lokalen Einstellungen |
|
Zeitrepräsentation entsprechend der lokalen Einstellungen |
|
Zweistellige Jahresangabe (00–99) |
|
Vierstellige Jahresangabe |
|
(Abgekürzter) Name der Zeitzone; leer, wenn Zeitzone unbekannt |
|
Prozentzeichen |