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.

Beispiel — XMLInsert für ein Dokument
<?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_language lä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 type ist 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 aus maintype und cotype (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_id als Attribut angegeben werden. Für die Standortangabe (z. B. bei dms.XMLInsert) werden register_id, register_type und/oder folder_id verwendet. Bei Dokumenten kann maintype gesetzt werden. Varianten von W-Dokumenten werden über variantparent_id (ID des Elterndokuments) angegeben. Über concurrency_timestamp (kombiniert mit dem Feldwert MODIFYTIME) kann geprüft werden, ob das Objekt seit der Abfrage von einem anderen Benutzer geändert wurde. sourceparent_id bestimmt 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 Attribut system="1" gekennzeichnet. Folgende Systemfelder können über Field gesetzt werden:

Datenbankname Interner Name Bedeutung

OSOWNER

OBJECT_USERGUID

Besitzer des Objektes

FOREIGNID

OBJECT_FOREIGNID

Fremd-ID eines Verweises

SYSTEMID

OBJECT_SYSTEMID

System-ID eines Objektes

Über das optionale Attribut field_function kann ein berechneter Wert gesetzt werden:

Attributwert Bedeutung

NULL

Feldwert wird als DB-NULL eingefügt (Feld leer)

OBJECT_ID

Feldwert entspricht der internen ID des Objektes

USER

Feldwert 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 von TableField)

Beschreibt eine Zeile des Tabellenfelds (Zusammenfassung aller Spalten einer Zeile).

Field (innerhalb von Row)

Wert einer konkreten Spalte; Identifikation über internal_name, name oder dbname.

Alternativ zur Row/Field-Schreibweise können Zeilen durch Columns/Rows/Value-Elemente beschrieben werden:

Columns

Definiert die Spaltenreihenfolge für die folgende Werteliste.

Column

Beschreibt eine Spalte; Identifikation über internal_name, name oder dbname.

Rows

Liste von Row-Elementen.

Row (innerhalb von Rows)

Eine Zeile; die Reihenfolge der Werte entspricht der unter Columns definierten Spaltenreihenfolge.

Value (innerhalb von Row)

Wert einer Spalte als Elementtext.

Remarks

Liste von Notizen (RemarkText oder RemarkObject).

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

1

Die Fehlerliste wird in Dateiform zurückgeliefert.

2

Der Job liefert keine Fehlerliste zurück.

4

Keine Validierung der XML-Daten gegen die XSD-Datei.

8

Die mitgelieferten Dateien werden am Server nicht gelöscht.

16

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

APPENDFILESTOFRONT

Gibt an, ob beim Update und der Variantenerzeugung anzuhängende Dateien vor (1) oder nach (0) dem Bestehenden angehängt werden.

0 (inaktiv)

dms.XMLInsert, dms.XMLUpdate

ARCHIVABLE

Gibt an, ob das Dokument den Status „archivierbar" (1) oder „nicht archivierbar" (0) erhält.

dms.XMLInsert: 0 (inaktiv); dms.XMLUpdate: keine Änderung

dms.XMLInsert, dms.XMLUpdate, dms.XMLCopy, dms.XMLUnknownToKnown

ARCHIVEIMMEDIATELY

Gibt an, ob das Dokument sofort archiviert wird (1) oder nicht (0). Kann das Dokument nicht archiviert werden, wird kein Dokument ohne Seiten angelegt.

0 (inaktiv)

dms.XMLInsert, dms.XMLUnknownToKnown

ARCHIVEIMMEDIATELYOBJDEF

Gibt an, ob zu einem sofort archivierten Dokument (ARCHIVEIMMEDIATELY) die Objektdefinition ebenfalls archiviert wird (1) oder nicht (0).

0 (inaktiv)

dms.XMLInsert, dms.XMLUnknownToKnown

CHECKACCESS

Benutzerrechte für das Objekt werden geprüft (1) oder nicht geprüft (0).

1 (aktiv)

dms.XMLInsert, dms.XMLUpdate, dms.XMLMove, dms.XMLDelete, dms.XMLCopy, dms.XMLUnknownToKnown

CHECKCATALOGUE

Es wird geprüft, ob alle übergebenen Katalogeinträge im Original-Katalog vorhanden sind (1) oder nicht (0).

1 (aktiv)

dms.XMLInsert, dms.XMLUpdate, dms.XMLUnknownToKnown

CHECKEXISTENCE

Es wird geprüft, ob das angegebene Objekt an der angegebenen Position existiert (1) oder nicht (0).

1 (aktiv)

dms.XMLInsert, dms.XMLUpdate, dms.XMLMove, dms.XMLDelete, dms.XMLCopy, dms.XMLUnknownToKnown

CHECKKEYFIELDS

Es wird geprüft, ob Schlüsselfelder eindeutig sind (1) oder nicht (0).

1 (aktiv)

dms.XMLInsert, dms.XMLUpdate, dms.XMLUnknownToKnown

CHECKOBLIGATION

Es wird geprüft, ob alle Pflichtfelder gesetzt wurden (1) oder nicht (0).

1 (aktiv)

dms.XMLInsert, dms.XMLUpdate, dms.XMLUnknownToKnown

CHECKPOSITION

Es wird geprüft, ob angegebene (Ziel-)Objekte (z. B. Ordner) existieren (1) oder nicht (0).

1 (aktiv)

dms.XMLMove, dms.XMLCopy

CHECKREADONLY

Es wird geprüft, ob keine Felder verändert wurden, für die keine Schreibrechte bestehen (1) oder nicht (0).

1 (aktiv)

dms.XMLUpdate

COPYCASCADING

Gibt an, ob Objekte kaskadierend kopiert werden sollen, wenn sie Unterobjekte enthalten (1) oder nicht (0).

0 (inaktiv)

dms.XMLCopy

COPYINDEXONLY

Gibt an, ob nur die Indexdaten kopiert werden (1) oder nicht (0).

0 (inaktiv)

dms.XMLCopy

COPYCREATEHISTORY

Gibt an, ob Informationen zum Kopieren in die Historie eingetragen werden (1) oder nicht (0).

1 (aktiv)

dms.XMLCopy

DELETECASCADING

Gibt an, ob Objekte kaskadierend gelöscht werden sollen, auch wenn sie Unterobjekte enthalten (1) oder nicht (0).

0 (inaktiv)

dms.XMLDelete

DELETEVARIANTMODE

Gibt an, ob das Löschen einer inaktiven Variante zum Löschen des gesamten Variantenbaums führt (1) oder nicht (0).

0 (inaktiv)

dms.XMLDelete

FULLTEXTFILEATTACHED

Gibt an, ob die letzte übermittelte Datei Volltextdaten für das Dokument enthalten soll (1) oder nicht (0).

0 (inaktiv)

dms.XMLInsert, dms.XMLUpdate, dms.XMLUnknownToKnown

HARDDELETE

Gibt an, ob das Objekt endgültig gelöscht werden soll (nicht in den Papierkorb, 1) oder nicht (0).

0 (inaktiv)

dms.XMLDelete

INITFIELDS

Gibt an, ob alle nicht gesetzten Felder mit den Standardwerten belegt werden sollen (1) oder nicht (0).

1 (aktiv)

dms.XMLInsert, dms.XMLUpdate, dms.XMLUnknownToKnown

INUSERTRAY

Gibt an, ob das Objekt in die Benutzer-Ablage eingefügt werden soll (1) oder nicht (0).

0 (inaktiv)

dms.XMLMove, dms.XMLInsert, dms.XMLUnknownToKnown

INWFTRAY

Gibt an, ob das Objekt in die Workflow-Ablage eingefügt werden soll (1) oder nicht (0).

0 (inaktiv)

dms.XMLMove, dms.XMLInsert, dms.XMLUnknownToKnown

KEEPLINKWHENEXISTS

Gibt an, ob ein bereits existierender Link nicht als Fehler gewertet werden soll (1) oder schon (0). Bei dms.XMLCopy nur in Verbindung mit LINKDOCUMENT.

0 (inaktiv)

dms.XMLCopy, dms.XMLMove

LINKDOCUMENT

Gibt an, ob ein Dokument nur einen neuen Standort erhalten soll (1) oder nicht (0).

0 (inaktiv)

dms.XMLCopy

REPLACEFILES

Gibt an, ob bereits gespeicherte Dateien durch die übergebenen ersetzt (1) oder angehängt werden (0).

dms.XMLInsert (Varianten): 1 (aktiv); dms.XMLUpdate: 0 (inaktiv)

dms.XMLUpdate, dms.XMLInsert

REPLACEMULTIFIELDS

Gibt an, ob die übergebenen Mehrfachfelder die originalen ersetzen (1) oder angehängt werden (0).

0 (inaktiv)

dms.XMLUpdate

REPLACEREMARKS

Gibt an, ob die übergebenen Notizen die originalen ersetzen (1) oder angehängt werden (0).

0 (inaktiv)

dms.XMLUpdate

REPLACETABLEFIELDS

Gibt an, ob die übergebenen Tabellenfelder die originalen ersetzen (1) oder angehängt werden (0).

0 (inaktiv)

dms.XMLUpdate

TRUNCATEVALUES

Gibt an, ob übergebene Strings abgeschnitten werden sollen, wenn sie länger sind als definiert (1) oder nicht (0).

0 (inaktiv)

dms.XMLInsert, dms.XMLUnknownToKnown, dms.XMLUpdate

TYPELESS

Gibt an, ob das Objekt als typenlos in die Ablage eingefügt werden soll (1) oder nicht (0).

0 (inaktiv)

dms.XMLInsert

UPDATEALLFIELDS

Gibt an, ob nicht angegebene Felder auf leer gesetzt werden sollen (1) oder nicht (0).

0 (inaktiv)

dms.XMLInsert, dms.XMLUnknownToKnown, dms.XMLUpdate

VARIANTSAMELEVEL

Gibt an, ob die Variante auf der gleichen Ebene (1) oder als „Untervariante" (0) eingefügt werden soll.

0 (inaktiv)

dms.XMLInsert, dms.XMLUnknownToKnown

VARIANTSETACTIVE

Gibt an, ob die neue Variante im selben Schritt als „Aktive" gesetzt wird (1) oder nicht (0).

0 (inaktiv)

dms.XMLInsert, dms.XMLUnknownToKnown

VARIANTTRANSFERRETENTION

Gibt an, ob die neue Variante die geplante Retention-Zeit des Original-Dokuments übernehmen soll (1) oder nicht (0).

0 (inaktiv)

dms.XMLInsert, dms.XMLUnknownToKnown

WFTOUSERTRAY

Gibt an, ob beim Verschieben eines Dokuments dieses von der Workflow-Ablage in die Benutzer-Ablage verschoben werden soll (1) oder nicht (0).

0 (inaktiv)

dms.XMLMove

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.

Fehlernummer Beschreibung

0

Job erfolgreich ausgeführt.

-1

Allgemeiner Fehler (nicht näher spezifizierbar).

-2

Kein Schrank angegeben.

-3

Angegebener Schrank unbekannt.

-4

Kein Registertyp angegeben.

-5

Angegebener Registertyp unbekannt.

-6

Kein Dokumenttyp angegeben.

-7

Angegebener Dokumenttyp unbekannt.

-8

Das angegebene Register befindet sich nicht im angegebenen Ordner.

-9

Der angegebene Dokumenttyp ist in dem angegebenen Schrank nicht zugelassen.

-10

Benötigte Identifizierung des Ordners fehlt.

-11

Benötigte Identifizierung des Dokuments fehlt.

-12

Benötigte Identifizierung des Registers fehlt.

-13

Benötigte Identifizierung des Registers ist unbekannt.

-14

Benötigte Identifizierung des Ordners ist unbekannt.

-15

Benötigte Identifizierung des Dokuments ist unbekannt.

-16

Aktualisierung des Ordners fehlgeschlagen.

-17

Aktualisierung des Dokuments fehlgeschlagen.

-18

Aktualisierung des Registers 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 Objekt-ID 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 Dokumentseiten 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 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 eine angeforderte Datei 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 Objektfeld 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 werden, 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 Elternvariante des Dokuments konnte nicht ermittelt werden.

-1045

Es dürfen nur für W-Dokumente neue Varianten angelegt werden.

-1046

Die Dokumentvariante konnte nicht ermittelt werden.

-1047

Die Angaben für die Benutzerdaten sind nicht eindeutig.

-1048

Eine 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 wurde angelegt, 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 eine Systemressource wurde verweigert.

-1070

Im Job dms.XMLImport ist als Aktion bezüglich der Trefferzahl „Fehler" angegeben worden.

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 0 oder 1 enthalten.

  • 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 &#10.

  • In einem mehrsprachigen Katalog müssen die technischen Werte (entsprechend den Datenbankwerten) hinterlegt werden.

Zusätzliche Feldwerte

Alle Felder können den Wert über field_function="NULL" leer gesetzt werden. Über field_function="OBJECT_ID" erhält das Feld die interne ID des Objektes.

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.
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>

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.

5. Gespeicherte Abfragen

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.

Beispiel — Liste der Zugriffssteuerungseinträge (DMSAccess)
<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

1

Gespeicherte Anfragen

2

Externe Programme

3

AS.INI

4

Ordnerstruktur unter „Desktop"

5

Erweiterte Anfragen

6

Daten aus jetziger aslisten.dat

7

AS-Objekt im Desktopbereich

8

Einträge für Listenfelder

9

Reserviert

10

Importkonfiguration dBase III

12

Importkonfiguration dBase IV

13

Importkonfiguration dBase V / ASCII mit Trennzeichen

14

Importkonfiguration ASCII feste Feldlänge

1516

Reserviert

17

Importkonfiguration XML linear

18

Importkonfiguration MS Access

19

Importkonfiguration Excel 3

20

Importkonfiguration Excel 4

21

Importkonfiguration Excel 5

22

Importkonfiguration Excel 8

23

Externe Importkonfiguration

24

Importkonfiguration ODBC

2530

Reserviert für Importkonfigurationen

31

Benutzer-/Gruppen-Exportkonfigurationen

32

Benutzer-/Gruppen-Importkonfigurationen

33

Konfiguration automatisches Löschen von Benutzerpapierkörben

50

Client/Index-Scankonfiguration

51

Stempelvorlagen für Folien

52

Nächste Position für öffentliche gespeicherte Anfragen

53

Favoriten für WF-Addon

54

Einstellungen für Window-Gadget

8085

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

id

integer

Interner Datenbankprimärschlüssel des Events in der Tabelle osevents

event_code

integer

Ereignistyp — legt fest, wann das Script ausgeführt wird.
Detail: Feld event_code

object_class

integer

Numerische Repräsentation des UI-Kontexts (redundant zum event_code).
Mapping: Feld object_class

app_class

integer

Zielplattform (redundant zum event_code): 1 = Client · 2 = Server · 3 = WebClient

os_class_name

string

Zielobjekttyp: "Application" bei server-/anwendungsweiten Events, andernfalls die type_id als String.
Detail: Feld os_class_name

is_js

boolean

Scriptsprache: true = JavaScript · false = VBScript.
Detail: Feld is_js

vb_code

string

Ausführbarer Scriptcode (JavaScript oder VBScript).
Detail: Feld vb_code

os_event_params

string

Optional

Kontext-Parameter — Inhalt abhängig vom event_code.
Mapping: Feld os_event_params

modify_user

string

Login-Name des enaio®-Benutzers, der das Event zuletzt bearbeitet hat

last_modified

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_class und app_class

  • Bestimmt das erwartete Format von os_event_params (siehe Feld os_event_params)

  • Unabhängig von is_js — der event_code definiert nur den Auslösezeitpunkt, nicht die Scriptsprache. Ein OnShow-Event (code 1) ist code 1 unabhängig davon, ob es als VBScript oder JavaScript hinterlegt ist. Ausnahmen: WebClient-Events (11000–11024) und JavascriptLibrary-Events (10005/10006) sind immer is_js=true.

Wertebereiche:

Bereich Name Plattform Kontext

143

Standard Client-Events

Client

Datenblatt, Trefferliste, Anfrage, Application

100104

Sammeländerungs-Events

Client

Sammeländerung

200

Schrank-Events

Client

Schrank

50005012

Server-Events

Server

Application, Server-Events

1000010006

Globale Scripts & Bibliotheken

Client / Server

Objekttyp, Application

1100011024

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

1

Anfrage

2

Application (server-/anwendungsweit)

3

Datenblatt

4

gespeicherte Anfrage (event_code 6, 7 — Wert aus Sequenz abgeleitet, nicht direkt beobachtet)

5

Objekttyp

6

Sammeländerung

7

Schrank

8

Server-Events

9

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

1

Client (Desktop-Client)

2

Server

3

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 sie 2 (Application), enthält os_class_name den Wert "Application"; bei anderen Werten (3 Datenblatt, 5 Objekttyp etc.) enthält das Feld eine type_id

  • GlobalObjectTypeScript (event_code 10002) ist an einen konkreten Objekttyp gebunden (object_class=5) — os_class_name enthält hier eine type_id, obwohl app_class=1 (Client)

  • JavascriptLibrary Client (event_code 10006) hat object_class=2 (Application) — os_class_name ist hier "Application", obwohl app_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

true

JavaScript (ECMAScript)

enaio® JS-Engine (rc-API)

false

VBScript

Legacy enaio® VBScript-Engine

Abhängigkeiten:

  • WebClient-Events (app_class=3) sind immer is_js=true

  • JavascriptLibrary-Events (code 10005/10006) sind immer is_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_js bestimmt

  • 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 über require("<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

5000, 5001

KernelBeforeJob, KernelAfterJob

Job-Name

Script wird nur bei diesem spezifischen Job ausgeführt

5002, 5003

JoblBeforeObject, JobAfterObject

Job-Name

Script wird nur bei diesem spezifischen Job ausgeführt

13, 102

OnClickItem

Feld-GUID (Button)

Auflösbar über dms.GetObjDef → Feld mit übereinstimmender osguid

32, 39

OnFocusGained, OnCellFocusGained

Feld-GUID

Auflösbar über dms.GetObjDef → Feld mit übereinstimmender osguid

33, 40

OnValueChanged, OnCellValueChanged

Feld-GUID

Auflösbar über dms.GetObjDef → Feld mit übereinstimmender osguid

25, 37, 103

OnEnterPage, OnLeavePage

Feld-GUID (PageControl)

Auflösbar über dms.GetObjDef → PageControl-Feld mit übereinstimmender osguid

10005, 10006

JavascriptLibrary

Bibliotheksname

Name, unter dem die Bibliothek per require("<Bibliotheksname>") eingebunden wird

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.2.9. Feld modify_user

Login-Name des enaio®-Benutzers, der das Event zuletzt bearbeitet (angelegt oder geändert) hat.

Abhängigkeiten: keine

"ROOT"
"admin"
"mustermann"

9.2.10. Feld last_modified

Unix-Timestamp (Sekunden seit 01.01.1970 UTC) des Zeitpunkts der letzten Änderung des Events.

Abhängigkeiten: keine

1752738837   → 2025-07-17 07:53:57 UTC
1774686603   → 2026-03-28 08:30:03 UTC

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

Table 1. Datenblatt
Code Name Beschreibung

1

OnShow

Nachdem das Datenblatt geöffnet und mit Werten gefüllt wurde

2

BeforeValidate

Vor der Validierung der Daten durch den Client

3

AfterSave

Nach erfolgreichem Speichern

13

OnClickItem

Wenn ein Menüelement oder eine Schaltfläche angeklickt wurde

25

OnEnterPage

Wenn eine Seite des Page-Controls aktiviert wird

30

BeforeCancel

Vor dem Abbrechen des Datenblattes

32

OnFocusGained

Wenn der Eingabefokus in ein Control gesetzt wird

33

OnValueChanged

Wenn die Eingabe in ein Control abgeschlossen ist

34

BeforeAddRow

Bevor einem ListControl eine Zeile hinzugefügt wird

35

BeforeDeleteRow

Bevor aus einem ListControl eine Zeile entfernt wird

36

AfterValidate

Nach der Validierung der Daten durch den Client

37

OnLeavePage

Wenn eine andere Seite des Page-Controls aktiviert wird

39

OnCellFocusGained

Wenn der Fokus in eine Zelle eines TabellenControls gesetzt wird

40

OnCellValueChanged

Wenn die Eingabe in eine Zelle eines TabellenControls abgeschlossen ist

Table 2. Anfrage
Code Name Beschreibung

4

BeforeStartQuery

Bevor die eigentliche Anfrage durchgeführt wird

Table 3. Trefferliste
Code Name Beschreibung

5

AfterFinishQuery

Nachdem eine Anfrage beendet wurde

11

BeforeDelete

Bevor ein Objekt gelöscht wird

12

AfterDelete

Nachdem ein Objekt gelöscht wurde

16

BeforeOpen

Bevor ein Dokument oder Ordner geöffnet wird

17

OnMove

Wenn ein Objekt per Drag & Drop innerhalb eines Schrankes verschoben wird

18

OnAddLocation

Wenn ein Objekt per Drag & Drop kopiert und ein neuer Standort hinzugefügt wird

19

BeforeSaveDocument

Vor dem Senden des Dokuments zum Applikationsserver

20

AfterSaveDocument

Nach dem Senden des Dokuments zum Applikationsserver

27

BeforeUndoCheckOut

Bevor auf einem Dokument „Auschecken zurücknehmen" ausgeführt wird

28

BeforeRestore

Vor dem Wiederherstellen eines Objektes aus dem Papierkorb

29

AfterRestore

Nach dem Wiederherstellen eines Objektes aus dem Papierkorb

42

OnMoveExtern

Wenn ein Objekt per Drag & Drop in einen anderen Schrank verschoben wird

43

OnCreateCopy

Wenn eine Kopie von einem Dokument oder Register erzeugt wird

Table 4. Application
Code Name Beschreibung

6

BeforeStartRequest

Bevor eine gespeicherte Anfrage gestartet wurde

7

AfterFinishRequest

Nachdem eine gespeicherte Anfrage beendet wurde

8

AfterLogin

Nachdem sich der Benutzer angemeldet hat

9

BeforeLogout

Bevor sich der Benutzer ausloggt

10

OnTime

Wenn eine voreingestellte Uhrzeit erreicht ist

14

OnStartApp

Nachdem der Client fertig initialisiert ist

15

OnCloseApp

Bevor der Client geschlossen wird

21

BeforeLink

Vor dem Verlinken zweier Objekte

22

AfterLink

Nach dem Verlinken zweier Objekte

23

BeforeDeleteLink

Vor dem Löschen zweier verlinkter Objekte

24

AfterDeleteLink

Nach dem Löschen zweier verlinkter Objekte

26

OnContextChanged

Nachdem ein Eintrag in einer Trefferliste ausgewählt wurde

31

StartAction

Nach einer Serverbenachrichtigung

41

BeforeOpenRelationDialog

Bevor der Relationsdialog geöffnet wird

9.3.2. Sammeländerungs-Events (100–104) — Desktop-Client

Code Name Beschreibung

100

BeforeValidate

Vor der Validierung der Daten in der Sammeländerung

101

OnShow

Nachdem das Sammeländerungs-Datenblatt geöffnet wurde

102

OnClickItem

Wenn ein Menüelement oder eine Schaltfläche angeklickt wurde

103

OnEnterPage

Wenn eine Seite des Page-Controls aktiviert wird

104

AfterValidate

Nach der Validierung der Daten in der Sammeländerung

9.3.3. Schrank-Events (200) — Desktop-Client

Code Name Beschreibung

200

FileDrop

Nach dem Drag & Drop einer Datei aus dem Dateisystem in einen Ordner

9.3.4. Server-Events (5000–5012) — Server

Code Name Kontext Beschreibung

5000

KernelBeforeJob

Application

Vor der Ausführung eines Jobs

5001

KernelAfterJob

Application

Nach der Ausführung eines Jobs

5002

JoblBeforeObject

Server-Events

Vor der Bearbeitung eines Objektes eines bestimmten Objekttyps

5003

JobAfterObject

Server-Events

Nach der Bearbeitung eines Objektes eines bestimmten Objekttyps

5004

BeforeStartArchiveBatch

Application

Bevor ein Archivlauf beginnt

5005

OnInitializeMedium

Application

Bevor ein Medium erstmalig beschrieben wird

5006

BeforeOpenMedia

Application

Bevor ein Medium innerhalb eines Archivlaufes beschrieben wird

5007

OnCloseMedia

Application

Nachdem die Archivierung auf einem Medium abgeschlossen ist

5008

OnFinishMedia

Application

Nachdem ein Medium endgültig abgeschlossen wurde

5009

OnFinishArchiveBatch

Application

Am Ende der Archivierung

5010

OnArchiveError

Application

Wenn ein Fehler in die Rep-Datei geschrieben wird

5011

OnObjectHistoryEntry

Application

Bei jedem Eintrag in die Historie eines Objektes

5012

OnSessionLogin

Application

Bei jedem Anmeldeversuch

9.3.5. Globale Scripts & Bibliotheken (10000–10006) — Client / Server

Code Name Plattform Beschreibung

10000

GlobalClientScript

Client

Wird an jedes andere Client-Script angehängt

10001

GlobalServerScript

Server

Wird an jedes andere Server-Script angehängt

10002

GlobalObjectTypeScript

Client

Wird an jeden Objekttyp gehängt

10005

JavascriptLibrary

Server

Wiederverwendbare JS-Bibliothek, einbindbar per require("<Bibliotheksname>")

10006

JavascriptLibrary

Client

Wiederverwendbare JS-Bibliothek, einbindbar per require("<Bibliotheksname>")

9.3.6. WebClient-Events (11000–11024) — WebClient

Table 5. Datenblatt
Code Name Beschreibung

11000

OnShow

Nachdem das Datenblatt geöffnet und mit Werten gefüllt wurde

11001

BeforeValidate

Vor der Validierung der Daten

11002

AfterSave

Nach erfolgreichem Speichern

11003

OnClickItem

Wenn ein Menüelement oder eine Schaltfläche angeklickt wurde

11004

BeforeCancel

Vor dem Abbrechen des Datenblattes

11005

OnFocusGained

Wenn der Eingabefokus in ein Control gesetzt wird

11006

OnValueChanged

Wenn die Eingabe in ein Control abgeschlossen ist

11007

BeforeAddRow

Bevor einem ListControl eine Zeile hinzugefügt wird

11008

BeforeDeleteRow

Bevor aus einem ListControl eine Zeile entfernt wird

11009

AfterValidate

Nach der Validierung der Daten

11010

OnLeavePage

Wenn eine andere Seite des Page-Controls aktiviert wird

11011

OnEnterPage

Wenn eine Seite des Page-Controls aktiviert wird

11012

OnCellFocusGained

Wenn der Fokus in eine Zelle eines TabellenControls gesetzt wird

11013

OnCellValueChanged

Wenn die Eingabe in eine Zelle eines TabellenControls abgeschlossen ist

Table 6. Trefferliste
Code Name Beschreibung

11018

AfterFinishQuery

Nachdem eine Anfrage beendet wurde

11019

BeforeOpen

Bevor ein Dokument oder Ordner geöffnet wird

11020

OnMove

Wenn ein Objekt per Drag & Drop innerhalb eines Schrankes verschoben wird

11021

OnAddLocation

Wenn ein Objekt per Drag & Drop kopiert und ein neuer Standort hinzugefügt wird

11022

OnCreateCopy

Wenn eine Kopie von einem Dokument oder Register erzeugt wird

11023

BeforeDelete

Bevor ein Objekt gelöscht wird

11024

AfterDelete

Nachdem ein Objekt gelöscht wurde

Table 7. Application
Code Name Beschreibung

11014

GlobalWebClientScript

Wird an jedes andere WebClient-Script angehängt

11015

GlobalWebClientObjectTypeScript

Wird an jeden Objekttyp gehängt

11016

BeforeStartQuery

Bevor die eigentliche Anfrage durchgeführt wird

11017

AfterWebClientLogin

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

11. DMS-Referenz

11.1. Systemfelder

Folgende Systemfelder können in XML-Anfragen einbezogen werden.

11.1.1. Allgemeine Objektfelder

OBJECT_ID

Interner Name

OBJECT_ID

osguid

1100

DB

id

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 field_function="OBJECT_ID" automatisch gesetzt werden.

OBJECT_COUNT

Interner Name

OBJECT_COUNT

osguid

1101

DB

anzahl

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

OBJECT_FLAGS

osguid

1102

DB

flags

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

OBJECT_AVID

osguid

1103

DB

archivar

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

OBJECT_AVDATE

osguid

1104

DB

archiviert

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

OBJECT_CRID

osguid

1105

DB

anleger

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

OBJECT_CRDATE

osguid

1106

DB

angelegt

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

OBJECT_TIME

osguid

1107

DB

zeitstempel

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

OBJECT_MAIN

osguid

1108

DB

haupttyp

Typ

Text

Länge

10

Verfügbar bei

Dokument

In dms.GetObjectDetails verfügbar

Ja

Beschreibung

Haupttyp des Dokumentes, z. B. WINDOWS für Windows-Quelldokumente oder IMAGE für Bilddateien. Bestimmt das Verhalten des Clients beim Erfassen und Ausgeben.

OBJECT_CO

Interner Name

OBJECT_CO

osguid

1109

DB

untertyp

Typ

Text

Länge

10

Verfügbar bei

Dokument

In dms.GetObjectDetails verfügbar

Ja

Beschreibung

Untertyp des Dokumentes.

OBJECT_MEDDOCID

Interner Name

OBJECT_MEDDOCID

osguid

1110

DB

medium_doc

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

OBJECT_MEDDIAID

osguid

1111

DB

medium_dia

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

OBJECT_MEDDOCNA

osguid

1112

DB

name_doc

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

OBJECT_MEDDIANA

osguid

1113

DB

name_dia

Typ

Text

Länge

24

Verfügbar bei

Dokument

In dms.GetObjectDetails verfügbar

Ja

Beschreibung

Mediumname der Vorschaudatei (Dia) auf dem Archivierungsmedium.

Interner Name

OBJECT_LINKS

osguid

1114

DB

links

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

OBJECT_VERID

osguid

1115

DB

version

Typ

Text

Länge

10

Verfügbar bei

Dokument

In dms.GetObjectDetails verfügbar

Ja

Beschreibung

Versionsnummer des Dokumentes.

OBJECT_LOCKUSER

Interner Name

OBJECT_LOCKUSER

osguid

1116

DB

lockuser

Typ

Text

Länge

10

Verfügbar bei

Dokument

In dms.GetObjectDetails verfügbar

Ja

Beschreibung

Sperrstatus des Dokumentes. Mögliche Anzeigewerte: UNLOCKED (nicht gesperrt), SELF (durch den aktuellen Benutzer gesperrt), OTHERS (durch einen anderen Benutzer gesperrt). Der Datenbankwert wird als value-Attribut übergeben.

OBJECT_SYSTEMID

Interner Name

OBJECT_SYSTEMID

osguid

1117

DB

systemid

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

OBJECT_MODIFYTIME

osguid

1118

DB

modifytime

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

OBJECT_MODIFYUSER

osguid

1119

DB

modifyuser

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

OBJECT_FOREIGNID

osguid

1124

DB

foreignid

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 field_function="NULL" geleert, um eine Verknüpfung mit einem externen System herzustellen oder aufzuheben.

OBJECT_USERGUID

Interner Name

OBJECT_USERGUID

osguid

1125

DB

osowner

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 osguid-Attribut übergeben.

OBJECT_DELETED

Interner Name

OBJECT_DELETED

osguid

1126

DB

deleted

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

OBJECT_INDEXHISTFLAGS

osguid

1127

DB

indexhistflags

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

OBJECT_DOCHISTFLAGS

osguid

1128

DB

dochistflags

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

OBJECT_OSSD

osguid

1129

DB

ossd

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

OBJECT_MIMETYPEID

osguid

1900

DB

mimetypeid

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

OBJECT_FILESIZE

osguid

1902

DB

filesize

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

OBJECT_DOCPAGECOUNT

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

OBJECT_RETENTION_PLANNED

osguid

1903

DB

retention_planned

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

OBJECT_LOCATIONSCOUNT

osguid

1993

DB

locations_count

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

OBJECT_RETENTION

osguid

1904

DB

retention

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

OBJECT_SIGNSTATE

osguid

1906

DB

signstate

Typ

Zahl

Länge

10

Verfügbar bei

Dokument

In dms.GetObjectDetails verfügbar

Ja

Beschreibung

Signaturzustand des Dokumentes.

11.1.2. Stammdaten-Felder

STAMM_ID

Interner Name

STAMM_ID

osguid

1000

DB

id

Typ

Text

Länge

10

Verfügbar bei

In dms.GetObjectDetails verfügbar

Ja

Beschreibung

Interne ID der Ordner-Stammdaten.

STAMM_TIME

Interner Name

STAMM_TIME

osguid

1001

DB

zeitstempel

Typ

Zeitstempel

Länge

10

Verfügbar bei

In dms.GetObjectDetails verfügbar

Ja

Beschreibung

Zeitstempel der Ordner-Stammdaten.

Interner Name

STAMM_LINKS

osguid

1002

DB

links

Typ

Text

Länge

10

Verfügbar bei

In dms.GetObjectDetails verfügbar

Ja

Beschreibung

Anzahl der Verknüpfungen in den Ordner-Stammdaten.

11.1.3. Registerfelder

REG_ID

Interner Name

REG_ID

osguid

1120

DB

id

Typ

Text

Länge

10

Verfügbar bei

Register

In dms.GetObjectDetails verfügbar

Ja

Beschreibung

Interne ID des Registers.

REG_STAID

Interner Name

REG_STAID

osguid

1121

DB

stamm_id

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

REG_PARID

osguid

1122

DB

parent_id

Typ

Text

Länge

10

Verfügbar bei

Register

In dms.GetObjectDetails verfügbar

Ja

Beschreibung

ID des übergeordneten Registers bei hierarchisch verschachtelten Registern.

11.1.4. Strukturdaten-Felder

SDSTA_ID

Interner Name

SDSTA_ID

osguid

1130

DB

stamm_id

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

SDOBJ_ID

osguid

1131

DB

object_id

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

SDOBJTYPE

osguid

1132

DB

objekttyp

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

SDREG_ID

osguid

1133

DB

register

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

SDDEL

osguid

1134

DB

loeschen

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

SDTIME

osguid

1135

DB

zeitstempel

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

SDREG_TYPE

osguid

1136

DB

regtype

Typ

Text

Länge

10

Verfügbar bei

Dokument

In dms.GetObjectDetails verfügbar

Nein

Beschreibung

Registertyp in den Strukturdaten des Dokumentes.

11.1.5. Ordner- und Registerbezugsfelder

FOLDERID

Interner Name

FOLDERID

osguid

1181

DB

folderid

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

FOLDERTYPE

osguid

1182

DB

foldertype

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

REGISTERID

osguid

1183

DB

registerid

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

REGISTERTYPE

osguid

1184

DB

registertype

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

PARENTREGID

osguid

1185

DB

parentregid

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

PARENTREGTYPE

osguid

1186

DB

parentregtype

Typ

Text

Länge

10

Verfügbar bei

Register

In dms.GetObjectDetails verfügbar

Nein

Beschreibung

Typ des übergeordneten Registers bei hierarchisch verschachtelten Registern.

11.1.6. Mappen-Felder

MDDEL

Interner Name

MDDEL

osguid

1140

DB

loeschen

Typ

Text

Länge

5

Verfügbar bei

Dokument

In dms.GetObjectDetails verfügbar

Nein

Beschreibung

Löschmarkierung der Mappen-Zuordnung.

MDTIME

Interner Name

MDTIME

osguid

1141

DB

zeitstempel

Typ

Zeitstempel

Länge

10

Verfügbar bei

Dokument

In dms.GetObjectDetails verfügbar

Nein

Beschreibung

Zeitstempel der Mappen-Zuordnung.

MDMAP_ID

Interner Name

MDMAP_ID

osguid

1142

DB

mappe_id

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

MDSTA_ID

osguid

1143

DB

stamm_id

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

MDOBJ_ID

osguid

1144

DB

object_id

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

MDOBJTYPE

osguid

1145

DB

objekttyp

Typ

Text

Länge

10

Verfügbar bei

Dokument

In dms.GetObjectDetails verfügbar

Nein

Beschreibung

Objekttyp in den Mappen-Zuordnungsdaten.

MDMOD

Interner Name

MDMOD

osguid

1146

DB

modul

Typ

Text

Länge

5

Verfügbar bei

Dokument

In dms.GetObjectDetails verfügbar

Nein

Beschreibung

Modul-Identifier der Mappen-Zuordnung.

MDIN

Interner Name

MDIN

osguid

1147

DB

eingang

Typ

Text

Länge

10

Verfügbar bei

Dokument

In dms.GetObjectDetails verfügbar

Nein

Beschreibung

Eingangswert der Mappen-Zuordnung (Zielreferenz).

MDOUT

Interner Name

MDOUT

osguid

1148

DB

ausgang

Typ

Text

Länge

10

Verfügbar bei

Dokument

In dms.GetObjectDetails verfügbar

Nein

Beschreibung

Ausgangswert der Mappen-Zuordnung (Quellreferenz).

MDCOUNT

Interner Name

MDCOUNT

osguid

1149

DB

anzahl

Typ

Text

Länge

5

Verfügbar bei

Dokument

In dms.GetObjectDetails verfügbar

Nein

Beschreibung

Anzahl der Objekte in der Mappen-Zuordnung.

11.2. Datumsformate

Formatierungsanweisungen für Datumsfelder werden durch ein Prozentzeichen (%) eingeleitet. Zeichenfolgen ohne führendes % werden unverändert in den Ergebnisstring kopiert.

Formatierung Beschreibung

%a

Abgekürzter Wochentagsname

%A

Wochentagsname (vollständig)

%b

Abgekürzter Monatsname

%B

Monatsname (vollständig)

%c

Datums- und Zeitrepräsentation entsprechend der lokalen Einstellungen

%d

Tag im Monat numerisch (01–31)

%j

Tag im Jahr numerisch (001–366)

%m

Monat als Zahl (01–12)

%U

Kalenderwoche mit Sonntag als erstem Wochentag (00–53)

%w

Wochentag als Zahl (0–6; Sonntag = 0)

%W

Wochentag als Zahl (0–6; Montag = 0)

%x

Datumsrepräsentation entsprechend der lokalen Einstellungen

%X

Zeitrepräsentation entsprechend der lokalen Einstellungen

%y

Zweistellige Jahresangabe (00–99)

%Y

Vierstellige Jahresangabe

%z, %Z

(Abgekürzter) Name der Zeitzone; leer, wenn Zeitzone unbekannt

%%

Prozentzeichen