DMS Engine (Engine dms)

The DMS executor includes jobs for requesting and processing index data, DMS objects and folders, taking the security system into account. Furthermore, there are jobs to manage the security system at the object level.

1. Object Management

1.1. General Description of XML Import Jobs

All XML import jobs follow the same schema and can be largely handled in a generic way. They have the same input parameters (Flags, Options, XML) and basically the same return parameters.

Via Flags the general behavior of the job is controlled (e.g. error list generation or XML validation). Via Options specific checks (e.g. key field check) can be enabled or disabled. XML contains the data describing the object to be inserted. JobUserGUID allows changing the user context for this job.

1.1.1. Import Schema

The XML argument must be passed Base64-encoded, as otherwise the server would have problems with special characters or UTF-16/UCS-4 formats. A schema exists for the XML structure, which can be retrieved via dms.GetXMLSchema (parameter Schema = "DMSData").

If attributes are set that the job should not evaluate, text attributes must be pre-defined with the empty string "" and numeric attributes with -1.

Example — XMLInsert for a document
<?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 Elements
DMSData

Root element. Via the optional attribute query_language the language for DMS identifiers can be specified (e.g. "7" for German, "9" for English). If the attribute is omitted or set to "0", the server default language applies.

Archive

Identifies the cabinet in which the object type is located or should be inserted. If no attribute is specified, the server tries to determine the cabinet based on the object type — however, this affects performance. Identification attributes: internal_name (internal cabinet name), name (cabinet name), id (object type ID), osguid (GUID).

ObjectType

Defines the object type of the object to be processed. The attribute type is mandatory and indicates whether it is a folder (FOLDER), register (REGISTER) or document (DOCUMENT). Identification attributes: internal_name, name, id, table, osguid, or a valid combination of maintype and cotype (see Object Type ID).

Object

Contains information about the concrete object to be processed. For jobs that require an existing object (e.g. dms.XMLUpdate), object_id must be specified as an attribute. For location specification (e.g. with dms.XMLInsert) register_id, register_type and/or folder_id are used. For documents maintype can be set. Variants of W-documents are specified via variantparent_id (ID of the parent document). Via concurrency_timestamp (combined with the field value MODIFYTIME) it can be checked whether the object has been changed by another user since the query. sourceparent_id determines which location is affected when moving/deleting documents with multiple locations.

Fields

May only appear once per object. Contains the list of fields to be processed.

Field

Describes a single field. Identification attributes: internal_name, name, dbname, sortpos, osguid. The element text contains the value to be assigned. System fields are marked with the attribute system="1". The following system fields can be set via Field:

Database name Internal Name Meaning

OSOWNER

OBJECT_USERGUID

Owner of the object

FOREIGNID

OBJECT_FOREIGNID

Foreign ID of a reference

SYSTEMID

OBJECT_SYSTEMID

System ID of an object

Via the optional attribute field_function a calculated value can be set:

Attribute value Meaning

NULL

Field value is inserted as DB NULL (empty field)

OBJECT_ID

Field value corresponds to the internal ID of the object

USER

Field value corresponds to the name of the logged-in user

MultiFields

May only appear once per object. Contains the list of multiple fields to be processed (only allowed for documents).

Multifield

Identifies a specific multiple field. Identification attributes: internal_name, name, dbname, osguid.

Page

Designates a specific page of the multiple field; the page number is in the attribute id.

Value

Contains the value for the associated page (as element text).

TableFields

May only appear once per object. Contains the list of table fields to be processed.

TableField

Identifies a table field (Table Control). Identification attributes: internal_name, name, dbname, osguid.

Row (within TableField)

Describes a row of the table field (summary of all columns of a row).

Field (within Row)

Value of a specific column; identification via internal_name, name or dbname.

Alternatively to the Row/Field writing style, rows can be described by Columns/Rows/Value elements:

Columns

Defines the column order for the following value list.

Column

Describes a column; identification via internal_name, name or dbname.

Rows

List of Row elements.

Row (within Rows)

A row; the order of values corresponds to the column order defined under Columns.

Value (within Row)

Value of a column as element text.

Remarks

List of notes (RemarkText or RemarkObject).

RemarkText

Note text for the object (as element text).

RemarkObject

Links the object via notes to another object. Attributes: object_id (ID of the object), object_type (type of the object).

1.1.2. Parameter Flags

Via Flags the general behavior of the job is controlled. The flags can be added (e.g. 1 + 16 = 17 for error list as file in UTF-16).

Flag (decimal) Description

1

The error list is returned in file format.

2

The job does not return an error list.

4

No validation of XML data against the XSD file.

8

The supplied files are not deleted on the server.

16

The returned error list is encoded in UTF-16 (default: UTF-8).

1.1.3. Parameter Options

Via Options specific checks can be enabled or disabled. The value is a semicolon-separated list in the format OPTION1=1;OPTION2=0;…​. Disabling can lead to significant performance improvement.

Option Description Default Usable in

APPENDFILESTOFRONT

Indicates whether files to be appended during update and variant creation are appended before (1) or after (0) existing ones.

0 (inactive)

dms.XMLInsert, dms.XMLUpdate

ARCHIVABLE

Indicates whether the document gets the status "archivable" (1) or "non-archivable" (0).

dms.XMLInsert: 0 (inactive); dms.XMLUpdate: no change

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

ARCHIVEIMMEDIATELY

Indicates whether the document is archived immediately (1) or not (0). If the document cannot be archived, no document without pages is created.

0 (inactive)

dms.XMLInsert, dms.XMLUnknownToKnown

ARCHIVEIMMEDIATELYOBJDEF

Indicates whether the object definition is also archived for an immediately archived document (ARCHIVEIMMEDIATELY) (1) or not (0).

0 (inactive)

dms.XMLInsert, dms.XMLUnknownToKnown

CHECKACCESS

User rights for the object are checked (1) or not checked (0).

1 (active)

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

CHECKCATALOGUE

Checks whether all passed catalog entries exist in the original catalog (1) or not (0).

1 (active)

dms.XMLInsert, dms.XMLUpdate, dms.XMLUnknownToKnown

CHECKEXISTENCE

Checks whether the specified object exists at the specified location (1) or not (0).

1 (active)

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

CHECKKEYFIELDS

Checks whether key fields are unique (1) or not (0).

1 (active)

dms.XMLInsert, dms.XMLUpdate, dms.XMLUnknownToKnown

CHECKOBLIGATION

Checks whether all required fields are set (1) or not (0).

1 (active)

dms.XMLInsert, dms.XMLUpdate, dms.XMLUnknownToKnown

CHECKPOSITION

Checks whether specified (target) objects (e.g. folders) exist (1) or not (0).

1 (active)

dms.XMLMove, dms.XMLCopy

CHECKREADONLY

Checks whether no fields have been modified for which no write rights exist (1) or not (0).

1 (active)

dms.XMLUpdate

COPYCASCADING

Indicates whether objects should be copied cascading if they contain sub-objects (1) or not (0).

0 (inactive)

dms.XMLCopy

COPYINDEXONLY

Indicates whether only index data is copied (1) or not (0).

0 (inactive)

dms.XMLCopy

COPYCREATEHISTORY

Indicates whether information about copying is recorded in the history (1) or not (0).

1 (active)

dms.XMLCopy

DELETECASCADING

Indicates whether objects should be deleted cascading even if they contain sub-objects (1) or not (0).

0 (inactive)

dms.XMLDelete

DELETEVARIANTMODE

Indicates whether deleting an inactive variant leads to deleting the entire variant tree (1) or not (0).

0 (inactive)

dms.XMLDelete

FULLTEXTFILEATTACHED

Indicates whether the last submitted file should contain full-text data for the document (1) or not (0).

0 (inactive)

dms.XMLInsert, dms.XMLUpdate, dms.XMLUnknownToKnown

HARDDELETE

Indicates whether the object should be permanently deleted (not to trash, 1) or not (0).

0 (inactive)

dms.XMLDelete

INITFIELDS

Indicates whether all unset fields should be filled with default values (1) or not (0).

1 (active)

dms.XMLInsert, dms.XMLUpdate, dms.XMLUnknownToKnown

INUSERTRAY

Indicates whether the object should be inserted into the user tray (1) or not (0).

0 (inactive)

dms.XMLMove, dms.XMLInsert, dms.XMLUnknownToKnown

INWFTRAY

Indicates whether the object should be inserted into the workflow tray (1) or not (0).

0 (inactive)

dms.XMLMove, dms.XMLInsert, dms.XMLUnknownToKnown

KEEPLINKWHENEXISTS

Indicates whether an already existing link should not be treated as an error (1) or already (0). Only with dms.XMLCopy in combination with LINKDOCUMENT.

0 (inactive)

dms.XMLCopy, dms.XMLMove

LINKDOCUMENT

Indicates whether a document should only receive a new location (1) or not (0).

0 (inactive)

dms.XMLCopy

REPLACEFILES

Indicates whether already stored files should be replaced by the passed ones (1) or appended (0).

dms.XMLInsert (variants): 1 (active); dms.XMLUpdate: 0 (inactive)

dms.XMLUpdate, dms.XMLInsert

REPLACEMULTIFIELDS

Indicates whether the passed multiple fields replace the originals (1) or are appended (0).

0 (inactive)

dms.XMLUpdate

REPLACEREMARKS

Indicates whether the passed remarks replace the originals (1) or are appended (0).

0 (inactive)

dms.XMLUpdate

REPLACETABLEFIELDS

Indicates whether the passed table fields replace the originals (1) or are appended (0).

0 (inactive)

dms.XMLUpdate

TRUNCATEVALUES

Indicates whether passed strings should be truncated if they are longer than defined (1) or not (0).

0 (inactive)

dms.XMLInsert, dms.XMLUnknownToKnown, dms.XMLUpdate

TYPELESS

Indicates whether the object should be inserted into the tray as typeless (1) or not (0).

0 (inactive)

dms.XMLInsert

UPDATEALLFIELDS

Indicates whether unspecified fields should be set to empty (1) or not (0).

0 (inactive)

dms.XMLInsert, dms.XMLUnknownToKnown, dms.XMLUpdate

VARIANTSAMELEVEL

Indicates whether the variant should be inserted at the same level (1) or as "sub-variant" (0).

0 (inactive)

dms.XMLInsert, dms.XMLUnknownToKnown

VARIANTSETACTIVE

Indicates whether the new variant should be set as "active" in the same step (1) or not (0).

0 (inactive)

dms.XMLInsert, dms.XMLUnknownToKnown

VARIANTTRANSFERRETENTION

Indicates whether the new variant should inherit the planned retention time of the original document (1) or not (0).

0 (inactive)

dms.XMLInsert, dms.XMLUnknownToKnown

WFTOUSERTRAY

Indicates whether when moving a document it should be moved from the workflow tray to the user tray (1) or not (0).

0 (inactive)

dms.XMLMove

1.1.4. Parameter JobUserGUID

Via JobUserGUID the user context of the XML job can be changed. If the GUID of a user is specified here, all checks (e.g. access rights) as well as storage operations are performed with the specified user.

This option is only available when jobs are called from other jobs on the server side. A client will always refuse to set this option.

1.1.5. Parameter File_N

Alternatively to file transfer via the TCP stream, file paths can be passed as parameters File_0, File_1, etc. (ascending). The parameter is of type STRING and contains the complete file path (local or UNC notation). This requires that the caller is on the same computer as the server and that the path is reachable by the server with the necessary rights.

Either only a file list or exclusively File_N parameters can be passed — mixing both variants is not permitted.

1.1.6. Return Values

Besides job-specific return values, each job returns a return number. This is 0 in case of success. In case of error, the number can be used for rough qualification; for detailed analysis, the XML error list (parameter DMSResult) is required.

Error Number Description

0

Job executed successfully.

-1

General error (not further specifiable).

-2

No cabinet specified.

-3

Specified cabinet unknown.

-4

No register type specified.

-5

Specified register type unknown.

-6

No document type specified.

-7

Specified document type unknown.

-8

The specified register is not in the specified folder.

-9

The specified document type is not allowed in the specified cabinet.

-10

Required identification of the folder is missing.

-11

Required identification of the document is missing.

-12

Required identification of the register is missing.

-13

Required identification of the register is unknown.

-14

Required identification of the folder is unknown.

-15

Required identification of the document is unknown.

-16

Updating the folder failed.

-17

Updating the document failed.

-18

Updating the register failed.

-21

The document has already been archived.

-22

The specified/required object is unknown.

-23

The ID of the specified register does not exist on the archive server.

-24

The field name could not be resolved.

-28

The value for a given field is not allowed.

-29

The specified object ID is invalid.

-30

Required fields have not been filled.

-31

The specified value does not match the type on the archive server.

-32

The specified/required file does not exist.

-40

An input parameter is faulty or missing completely.

-47

The user does not have the corresponding rights on the archive server.

-51

The document has no pages.

-65

Could not retrieve index from server.

-68

Moving folders is not allowed.

-89

The relationship between document and register is not allowed.

-90

Link documents cannot be moved without specifying a location.

-94

No document pages are allowed.

-1001

The specified value could not be found in the associated catalog.

-1002

The key field is not unique.

-1003

Attempted to set a read-only field.

-1004

No document list was specified.

-1005

The specified object is linked to a workflow process.

-1006

The requested functionality is not implemented in the current version.

-1007

An error occurred while reading object definitions from the ObjDefReader.

-1008

Could not access the requested file.

-1009

The object is in the trash.

-1010

The document is in a portfolio.

-1011

Recursion depth is too great, the action was canceled.

-1012

The target register is a child of the register to be moved.

-1013

A system ID was specified, but no foreign ID.

-1014

Pages cannot be added to a link document.

-1015

A document cannot reference another document because it has pages.

-1016

An error occurred while parsing the XML text.

-1017

An error occurred while validating the XML text.

-1018

The XML text is incomplete.

-1019

The specified owner could not be determined.

-1020

The object type is invalid for this operation.

-1021

Cannot delete cascading, the object still has sub-objects.

-1022

The reference was not found.

-1023

The specified system field cannot be changed by the user.

-1024

A job parameter is missing.

-1025

The specified parameter value is invalid.

-1026

The user cannot disable the rights check.

-1027

More values were specified for a table field than there are columns.

-1028

An error occurred while inserting note objects/texts.

-1029

An XML element is unknown.

-1030

An object type was not found on the DMS server.

-1031

An object field was not found on the DMS server.

-1032

The job was canceled upon user request.

-1033

The specified condition is invalid.

-1034

An XML attribute is faulty.

-1035

A required XML attribute is missing.

-1036

Only documents can be checked out.

-1037

The document has been checked in.

-1038

The document has been checked out.

-1039

The document has been checked out to another user.

-1040

The document has been checked out to another station.

-1041

The document cannot be checked out because it has no pages.

-1042

The document is not in the workflow tray.

-1043

The document is in the workflow tray.

-1044

The parent variant of the document could not be determined.

-1045

Only new variants can be created for W-documents.

-1046

The document variant could not be determined.

-1047

The user data specifications are not unique.

-1048

A concurrent update of an object failed.

-1049

The request was not found.

-1050

A copy of the object already exists at the specified location.

-1051

The request format is not supported.

-1052

The cabinet name could not be read.

-1053

The document name could not be read.

-1054

The register name could not be read.

-1055

An expression has an invalid format.

-1056

The section name is invalid.

-1057

General error while reading the request.

-1058

Unknown request type.

-1059

The new variant was created but could not be set to "active".

-1060

The request could not be processed.

-1061

Moving or linking objects is blocked system-wide.

-1062

The object location could not be determined.

-1063

The document already exists at the location.

-1064

Copying objects with key fields is not allowed.

-1065

The specified password is incorrect.

-1066

The new and old passwords are identical.

-1067

The full-text request contains only ignoreable words.

-1068

Insufficient memory is available.

-1069

Access to a system resource was denied.

-1070

In job dms.XMLImport "error" was specified as action regarding hit count.

1.1.7. Cross-Job Restrictions

Date and Time Formats

Date fields can be imported in the following formats (DD = two-digit day, MM = month, YY/YYYY = two-/four-digit year):

  • DDMMYY

  • DDMMYYYY

  • DD.MM.YYYY

Time fields are imported in the format HH:MM:SS. Timestamps are imported in the format DD.MM.YYYY HH:MM:SS (date and time separated by a space).

Special Field Types
  • A checkbox can only contain the values 0 or 1.

  • An option button can be identified by the name of the first button (according to tab order) or the name of the group field. Allowed values start at 0.

  • Field types patient type, page, gender and question accept both the first letter and the fully spelled-out value.

  • Decimal values can start with a plus or minus sign; decimal places can be separated by dot or comma.

  • In multi-line text fields individual lines are separated by Carriage Return + Line Feed; in XML by the combination &#10.

  • In a multi-language catalog the technical values (corresponding to the database values) must be stored.

Additional Field Values

All fields can be set to empty via field_function="NULL". Via field_function="OBJECT_ID" the field gets the internal ID of the object.

1.1.8. The XML Error List

In case of an error, an XML error list is returned by default in the return parameter DMSResult. Optionally, this can also be returned as a return file (Flags = 1).

The first errors listed in the list are the most informative.
Example — XML Error List
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DMSData>
  <Messages>
    <Message Sourcename="oxjobdms">The field &gt;Table - Column2&lt; has a catalog; however, the value &gt;7&lt; could not be found in the catalog</Message>
    <Message Sourcename="oxjobdms">SAX Error: Common exception</Message>
    <Message Sourcename="oxjobdms">An error occurred during XML import</Message>
  </Messages>
</DMSData>

2. Document Lock

Jobs for exclusively locking and releasing document files to prevent multiple users from editing the same document simultaneously.

3. System Configuration

Jobs for querying archive structure and object type definitions, plus conceptual references.

5. Stored Queries

6. Security System

6.1. Detailed Description

With version 4.50, in addition to the existing rights system, a security system at object level (SSOL) is available. With this system, a so-called Security Descriptor (SD) can be created for each object, which refers to an Access Control List (ACL) — a list of access control entries (ACE — Access Control Entry). With an access control entry, access permissions for a user or user group for changing index data as well as changing, deleting and exporting objects can be defined.

In the DMS executor, jobs for processing the access structures for this security system are implemented. Furthermore, there is the job dms.CheckPermission, which independently checks the access rights for a specific object regardless of the rights system used.

6.1.1. XML Format of Access Control Entries

To describe the list of access control entries, XML is used. The jobs dms.CreateSD, dms.ReadSD and dms.SetSD use the same XML schema, which can be retrieved via dms.GetXMLSchema.

Example — List of Access Control Entries (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> attributes:

timestamp

Creation time of the Access Control List (Format: YYYY-MM-DDTHH:MM:SS).

version

Product version number.

<ACL> attributes:

ossd (STRING)

GUID of the Security Descriptor.

object_type (INT)

Object type.

object_id (INT)

ID of the object instance.

<UserACE> or <GroupACE> attributes:

osuid (STRING)

GUID of the user (<UserACE>).

osgid (STRING)

GUID of the user group (<GroupACE>).

modify_index (INT)

Access type "write index data": 0 = not set, 1 = allowed, 2 = forbidden.

modify_object (INT)

Access type "edit object": 0 = not set, 1 = allowed, 2 = forbidden.

delete_object (INT)

Access type "delete object": 0 = not set, 1 = allowed, 2 = forbidden.

export_object (INT)

Access type "export object": 0 = not set, 1 = allowed, 2 = forbidden.

6.1.2. Glossary

SSOL

Security System at Object Level — security system at object level.

ACE

Access Control Entry — contains the allowed or forbidden access types for a user or user group.

ACL

Access Control List — list of all ACEs associated with an object.

SD

Security Descriptor — for each object a Security Descriptor can be created, which identifies an ACL. For objects with SD the SSOL applies; for objects without SD the previous rights system at object type level applies.

7. Portfolios

7.1. Detailed Description

These jobs are used to request and edit portfolios.

7.1.1. Portfolio XML Format

<Portfolios>
  <Portfolio id="123" created="135233432" creator="jdoe"
              recipient="muster" subject="Sample Portfolio" objtype="13072">
    <Objects>
      <Object objecttype_id="13072" id="12"/>
      <Object objecttype_id="13072" id="34"/>
    </Objects>
  </Portfolio>
</Portfolios>

The root element <Portfolios> can be omitted if only one entry is defined.

<Portfolio> attributes:

id (INT)

ID of the portfolio.

created (INT)

Timestamp of creation.

creator (STRING)

Name of the creator.

recipient (STRING)

Recipient.

subject (STRING)

Title of the portfolio.

objtype (INT)

Object type to which the portfolio is restricted.

<Objects> contains the list of objects (folders, registers, documents) in the portfolio.

<Object> attributes:

objecttype_id (INT)

Object type.

id (INT)

ID of the object instance.

8.1. Detailed Description

The jobs in this area are used to manage arbitrary user-related data. Each data entry is identified by a freely selectable name (maximum length 100), a type and the user ID. The user ID is automatically determined by the jobs from the ID of the logged-in user. The value of the entry is written to a BLOB field and can have any content.

The type is not freely selectable. If a new type is needed, it must first be registered.
Type Description

1

Saved queries

2

External programs

3

AS.INI

4

Folder structure under "Desktop"

5

Extended queries

6

Data from current aslisten.dat

7

AS object in desktop area

8

Entries for list boxes

9

Reserved

10

Import configuration dBase III

12

Import configuration dBase IV

13

Import configuration dBase V / ASCII with delimiter

14

Import configuration ASCII fixed field length

1516

Reserved

17

Import configuration XML linear

18

Import configuration MS Access

19

Import configuration Excel 3

20

Import configuration Excel 4

21

Import configuration Excel 5

22

Import configuration Excel 8

23

External import configuration

24

Import configuration ODBC

2530

Reserved for import configurations

31

User/Group export configurations

32

User/Group import configurations

33

Configuration for automatic deletion of user trash cans

50

Client/Index scan configuration

51

Stamp templates for slides

52

Next position for public saved queries

53

Favorites for WF Addon

54

Settings for Window Gadget

8085

User-related configuration information for add-on applications

9. Events

OS events are server-side scripts that control the behavior of enaio® clients and the server. They are bound to object types or the entire application and executed when defined events occur. Each event specifies the target platform (desktop client, server, web client), the UI context (data sheet, hit list, query, application), and the scripting language (JavaScript or VBScript).

9.1. JSON Structure

Events are returned as a JSON object in the output parameter JSON (BASE64-encoded). The root object contains the array osevents with one element per 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(\"Not approved.\");"
    },
    {
      "id": 38,
      "event_code": 10005,
      "os_class_name": "Application",
      "object_class": 2,
      "app_class": 2,
      "is_js": true,
      "os_event_params": "MyServerLibrary",
      "modify_user": "ROOT",
      "last_modified": 1774688890,
      "vb_code": "// Usage: const utils = require(\"MyServerLibrary\")\nfunction formatDate(ts) { return new Date(ts).toISOString().slice(0, 10); }\nmodule.exports = { formatDate };"
    }
  ]
}

9.2. Fields

Field Type Dependency Description

id

integer

Internal database primary key of the event in the osevents table

event_code

integer

Event type — determines when the script is executed.
Detail: Field event_code

object_class

integer

Numeric representation of the UI context (redundant to event_code).
Mapping: Field object_class

app_class

integer

Target platform (redundant to event_code): 1 = Client · 2 = Server · 3 = WebClient

os_class_name

string

Target object type: "Application" for server-/application-wide events, otherwise the type_id as a string.
Detail: Field os_class_name

is_js

boolean

Scripting language: true = JavaScript · false = VBScript.
Detail: Field is_js

vb_code

string

Executable script code (JavaScript or VBScript).
Detail: Field vb_code

os_event_params

string

Optional

Context parameter — content depends on the event_code.
Mapping: Field os_event_params

modify_user

string

Login name of the enaio® user who last modified the event

last_modified

integer

Unix timestamp of the last modification (seconds since 1970-01-01 UTC)

9.2.1. Field id

Internal database primary key of the event in the osevents table. Unique per event instance.

Dependencies: none

9.2.2. Field event_code

Specifies the event type — i.e. when the script is executed. The value corresponds to the eventcode column in the oseventcodes table and can be resolved against it to determine the event name, UI context (objectclass), and target platform (appclass).

SELECT eventname, objectclass, appclass, descrshort
FROM oseventcodes
WHERE eventcode = <event_code>

Dependencies:

  • Determines the meaning of object_class and app_class

  • Determines the expected format of os_event_params (see Field os_event_params)

  • Independent of is_js — the event_code defines only the trigger point, not the scripting language. An OnShow event (code 1) is code 1 regardless of whether it is stored as VBScript or JavaScript. Exceptions: web client events (11000–11024) and JavascriptLibrary events (10005/10006) are always is_js=true.

Value ranges:

Range Name Platform Context

143

Standard client events

Client

Data sheet, hit list, query, application

100104

Batch change events

Client

Batch change

200

Cabinet events

Client

Cabinet

50005012

Server events

Server

Application, server events

1000010006

Global scripts & libraries

Client / Server

Object type, application

1100011024

Web client events

WebClient

Data sheet, hit list, application

1      → OnShow             (Client / Data sheet)
13     → OnClickItem        (Client / Data sheet)
5000   → KernelBeforeJob    (Server / Application)
5002   → JoblBeforeObject   (Server / Server events)
10005  → JavascriptLibrary  (Server / Application)
11021  → OnAddLocation      (WebClient / Hit list)

9.2.3. Field object_class

Numeric representation of the UI context in which the event is triggered. Corresponds to the objectclass column in oseventcodes, but encoded as an integer. The value is redundant to event_code — it can be derived directly from it.

Dependencies: always consistent with event_code, no independent information beyond event_code.

Value Meaning

1

Query

2

Application (server-/application-wide)

3

Data sheet

4

Stored query (event_code 6, 7 — value derived from sequence, not directly observed)

5

Object type

6

Batch change

7

Cabinet

8

Server events

9

Hit list

3   → Event belongs to data sheet context (OnShow, BeforeValidate, …)
9   → Event belongs to hit list context (BeforeDelete, OnMove, …)
8   → Event belongs to server events context (JoblBeforeObject, JobAfterObject)

9.2.4. Field app_class

Specifies the target platform of the event — i.e. on which client type or the server the script is executed. Corresponds to the appclass column in oseventcodes, but encoded as an integer. Like object_class, it is redundant to event_code.

Value Meaning

1

Client (desktop client)

2

Server

3

WebClient

1   → Script runs in the desktop client
2   → Script runs on the server
3   → Script runs in the web client (always is_js=true)

9.2.5. Field os_class_name

Identifies the target object type to which the event is bound. The value is either the string "Application" (for server- or application-wide events) or a numeric string corresponding to the global type_id of an object type.

The type_id is derived internally as (maintype << 16) | cotype and can be resolved via dms.GetObjDef. The returned asobjdef XML contains the internal name and the associated cabinet of the object type.

Dependencies:

  • The determining factor is object_class: if it is 2 (Application), os_class_name contains "Application"; for other values (3 data sheet, 5 object type, etc.), the field contains a type_id

  • GlobalObjectTypeScript (event_code 10002) is bound to a specific object type (object_class=5) — os_class_name contains a type_id here, even though app_class=1 (client)

  • JavascriptLibrary Client (event_code 10006) has object_class=2 (Application) — os_class_name is "Application" here, even though app_class=1 (client)

  • The rule of thumb “app_class=1` → `type_id” therefore does not apply in general

"Application"   → server-/application-wide event (KernelBeforeJob, OnSessionLogin, …)
"2"             → type_id 2      → object type with internal name "DefinitionTests"
"6488064"       → type_id 6488064 → e.g. a register object type in another cabinet
"262144"        → type_id 262144  → e.g. a document object type

9.2.6. Field is_js

Specifies the scripting language of the code contained in vb_code.

Value Language Runtime

true

JavaScript (ECMAScript)

enaio® JS engine (rc API)

false

VBScript

Legacy enaio® VBScript engine

Dependencies:

  • Web client events (app_class=3) are always is_js=true

  • JavascriptLibrary events (code 10005/10006) are always is_js=true

true   → JavaScript event, uses rc.apps.inputParams, rc.apps.outputParams, etc.
false  → VBScript event, legacy API

9.2.7. Field vb_code

Contains the executable script code of the event. Despite the field name vb_code, the content can be either VBScript (if is_js=false) or JavaScript (if is_js=true).

Dependencies:

  • Scripting language is determined by is_js

  • For JavaScript, the rc API is available (rc.apps, rc.lib, rc.com)

  • For JavascriptLibrary events (code 10005/10006), the field contains reusable library code that is included via require("<os_event_params>")

9.2.8. Field os_event_params

Optional context parameter — the content depends on the event_code. The field is empty when no specific context is configured (e.g. for events that apply to the entire object type).

Event code(s) Event name(s) Content Meaning

5000, 5001

KernelBeforeJob, KernelAfterJob

Job name

Script is executed only for this specific job

5002, 5003

JoblBeforeObject, JobAfterObject

Job name

Script is executed only for this specific job

13, 102

OnClickItem

Field GUID (button)

Resolvable via dms.GetObjDef → field with matching osguid

32, 39

OnFocusGained, OnCellFocusGained

Field GUID

Resolvable via dms.GetObjDef → field with matching osguid

33, 40

OnValueChanged, OnCellValueChanged

Field GUID

Resolvable via dms.GetObjDef → field with matching osguid

25, 37, 103

OnEnterPage, OnLeavePage

Field GUID (page control)

Resolvable via dms.GetObjDef → page control field with matching osguid

10005, 10006

JavascriptLibrary

Library name

Name under which the library is included via require("<library name>")

all others

empty ("")

Event applies to the entire object type without field restriction

GUIDs in os_event_params correspond to the osguid attribute of a field in the asobjdef XML retrieved via dms.GetObjDef. The associated object type can be determined via os_class_name (→ type_id).

""                                  → no specific UI element (applies to entire object type)
"krn.EmptyJob"                      → KernelBeforeJob: only when krn.EmptyJob is executed
"std.DoArchive"                     → JoblBeforeObject: only during archiving (std.DoArchive)
"B6ACC477B34F41D6BDBEBE13025F243B"  → GUID of a button field (OnClickItem)
"AD61A45160D24D9CB48E9F5BA399563D"  → GUID of an input field (OnFocusGained)
"329C7E04A5CC4BC3AFF2F8798808914A"  → GUID of a page control field (OnEnterPage / OnLeavePage)
"MyServerLibrary"                   → library name for server JavascriptLibrary
"MyClientLibrary"                   → library name for client JavascriptLibrary

9.2.9. Field modify_user

Login name of the enaio® user who last modified (created or changed) the event.

Dependencies: none

"ROOT"
"admin"
"mustermann"

9.2.10. Field last_modified

Unix timestamp (seconds since 1970-01-01 UTC) of the time of the last modification of the event.

Dependencies: none

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

9.3. Event Codes

Event codes correspond to the eventcode column in the database table oseventcodes and can be resolved with the following query:

SELECT eventname, objectclass, appclass, descrshort
FROM oseventcodes
WHERE eventcode = <event_code>
The numbering of event codes is not sequential. Code 38 does not exist (sequence jumps from 37 to 39). In the Global Scripts range, 10003 and 10004 do not exist (sequence jumps from 10002 to 10005). These gaps are by design and not an error.

9.3.1. Standard Client Events (1–43) — Desktop Client

Table 1. Data Sheet
Code Name Description

1

OnShow

After the data sheet has been opened and populated with values

2

BeforeValidate

Before data validation by the client

3

AfterSave

After successful saving

13

OnClickItem

When a menu item or button has been clicked

25

OnEnterPage

When a page of the page control is activated

30

BeforeCancel

Before cancelling the data sheet

32

OnFocusGained

When the input focus is set to a control

33

OnValueChanged

When input to a control has been completed

34

BeforeAddRow

Before a row is added to a list control

35

BeforeDeleteRow

Before a row is removed from a list control

36

AfterValidate

After data validation by the client

37

OnLeavePage

When another page of the page control is activated

39

OnCellFocusGained

When the focus is set to a cell of a table control

40

OnCellValueChanged

When input to a cell of a table control has been completed

Table 2. Query
Code Name Description

4

BeforeStartQuery

Before the actual query is executed

Table 3. Hit List
Code Name Description

5

AfterFinishQuery

After a query has been completed

11

BeforeDelete

Before an object is deleted

12

AfterDelete

After an object has been deleted

16

BeforeOpen

Before a document or folder is opened

17

OnMove

When an object is moved within a cabinet by drag & drop

18

OnAddLocation

When an object is copied by drag & drop and a new location is added

19

BeforeSaveDocument

Before sending the document to the application server

20

AfterSaveDocument

After sending the document to the application server

27

BeforeUndoCheckOut

Before "Undo check out" is executed on a document

28

BeforeRestore

Before an object is restored from the recycle bin

29

AfterRestore

After an object has been restored from the recycle bin

42

OnMoveExtern

When an object is moved to another cabinet by drag & drop

43

OnCreateCopy

When a copy of a document or register is created

Table 4. Application
Code Name Description

6

BeforeStartRequest

Before a stored query has been started

7

AfterFinishRequest

After a stored query has been completed

8

AfterLogin

After the user has logged in

9

BeforeLogout

Before the user logs out

10

OnTime

When a preset time is reached

14

OnStartApp

After the client has been fully initialized

15

OnCloseApp

Before the client is closed

21

BeforeLink

Before two objects are linked

22

AfterLink

After two objects have been linked

23

BeforeDeleteLink

Before two linked objects are unlinked

24

AfterDeleteLink

After two linked objects have been unlinked

26

OnContextChanged

After an entry in a hit list has been selected

31

StartAction

After a server notification

41

BeforeOpenRelationDialog

Before the relation dialog is opened

9.3.2. Batch Change Events (100–104) — Desktop Client

Code Name Description

100

BeforeValidate

Before data validation in the batch change

101

OnShow

After the batch change data sheet has been opened

102

OnClickItem

When a menu item or button has been clicked

103

OnEnterPage

When a page of the page control is activated

104

AfterValidate

After data validation in the batch change

9.3.3. Cabinet Events (200) — Desktop Client

Code Name Description

200

FileDrop

After dragging and dropping a file from the file system into a folder

9.3.4. Server Events (5000–5012) — Server

Code Name Context Description

5000

KernelBeforeJob

Application

Before a job is executed

5001

KernelAfterJob

Application

After a job has been executed

5002

JoblBeforeObject

Server events

Before an object of a specific object type is processed

5003

JobAfterObject

Server events

After an object of a specific object type has been processed

5004

BeforeStartArchiveBatch

Application

Before an archive run begins

5005

OnInitializeMedium

Application

Before a medium is written to for the first time

5006

BeforeOpenMedia

Application

Before a medium is written to within an archive run

5007

OnCloseMedia

Application

After archiving to a medium has been completed

5008

OnFinishMedia

Application

After a medium has been permanently closed

5009

OnFinishArchiveBatch

Application

At the end of archiving

5010

OnArchiveError

Application

When an error is written to the rep file

5011

OnObjectHistoryEntry

Application

For each entry in an object’s history

5012

OnSessionLogin

Application

For each login attempt

9.3.5. Global Scripts & Libraries (10000–10006) — Client / Server

Code Name Platform Description

10000

GlobalClientScript

Client

Appended to every other client script

10001

GlobalServerScript

Server

Appended to every other server script

10002

GlobalObjectTypeScript

Client

Appended to every object type

10005

JavascriptLibrary

Server

Reusable JS library, includable via require("<library name>")

10006

JavascriptLibrary

Client

Reusable JS library, includable via require("<library name>")

9.3.6. Web Client Events (11000–11024) — WebClient

Table 5. Data Sheet
Code Name Description

11000

OnShow

After the data sheet has been opened and populated with values

11001

BeforeValidate

Before data validation

11002

AfterSave

After successful saving

11003

OnClickItem

When a menu item or button has been clicked

11004

BeforeCancel

Before cancelling the data sheet

11005

OnFocusGained

When the input focus is set to a control

11006

OnValueChanged

When input to a control has been completed

11007

BeforeAddRow

Before a row is added to a list control

11008

BeforeDeleteRow

Before a row is removed from a list control

11009

AfterValidate

After data validation

11010

OnLeavePage

When another page of the page control is activated

11011

OnEnterPage

When a page of the page control is activated

11012

OnCellFocusGained

When the focus is set to a cell of a table control

11013

OnCellValueChanged

When input to a cell of a table control has been completed

Table 6. Hit List
Code Name Description

11018

AfterFinishQuery

After a query has been completed

11019

BeforeOpen

Before a document or folder is opened

11020

OnMove

When an object is moved within a cabinet by drag & drop

11021

OnAddLocation

When an object is copied by drag & drop and a new location is added

11022

OnCreateCopy

When a copy of a document or register is created

11023

BeforeDelete

Before an object is deleted

11024

AfterDelete

After an object has been deleted

Table 7. Application
Code Name Description

11014

GlobalWebClientScript

Appended to every other web client script

11015

GlobalWebClientObjectTypeScript

Appended to every object type

11016

BeforeStartQuery

Before the actual query is executed

11017

AfterWebClientLogin

After the user has logged in

9.4. Dependency Diagram

┌─────────────┐
│  event_code │
└──────┬──────┘
       │
       ├──► object_class   Numeric representation of the UI context
       │                   (redundant, directly derivable from event_code)
       │
       ├──► app_class      Target platform
       │                   1 = Client  │  2 = Server  │  3 = WebClient
       │
       └──► os_event_params   Format depends on event_code
                │
                ├── KernelBeforeJob / KernelAfterJob ──────► Job name       (e.g. "krn.EmptyJob")
                ├── JoblBeforeObject / JobAfterObject ──────► Job name       (e.g. "std.DoArchive")
                ├── OnClickItem ────────────────────────────► Field GUID     (button)
                ├── OnFocusGained / OnValueChanged ─────────► Field GUID     (input field)
                ├── OnEnterPage / OnLeavePage ──────────────► Field GUID     (page control)
                ├── JavascriptLibrary ──────────────────────► Library name   (for require())
                └── all others ─────────────────────────────► empty


┌────────────────┐
│ os_class_name  │
└───────┬────────┘
        │
        ├── "Application" ──► server-/application-wide event, no object type reference
        │
        └── "<integer>"   ──► type_id  ──►  dms.GetObjDef (asobjdef XML)
                                              └──► object type (internal name, cabinet)


┌──────────────────────────────────────┐
│  os_event_params  (if GUID format)   │
└──────────────────┬───────────────────┘
                   │
                   └──► dms.GetObjDef (asobjdef XML)
                              └──► field with matching osguid
                                    └──► label, internal name, control type

11. DMS Reference

11.1. System Fields

The following system fields can be included in XML requests.

11.1.1. General Object Fields

OBJECT_ID

Internal Name

OBJECT_ID

osguid

1100

DB

id

Type

Text

Length

10

Available for

Folder, Register, Document

Available in dms.GetObjectDetails

Yes

Description

Internal ID of the object. Can be automatically set in XML import via the attribute field_function="OBJECT_ID".

OBJECT_COUNT

Internal Name

OBJECT_COUNT

osguid

1101

DB

anzahl

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

Number of document files (pages) of a document.

OBJECT_FLAGS

Internal Name

OBJECT_FLAGS

osguid

1102

DB

flags

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

Status flags of the document, e.g. whether the document is archiveable or already archived.

OBJECT_AVID

Internal Name

OBJECT_AVID

osguid

1103

DB

archivar

Type

Text

Length

255

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

Username of the archiver who archived the document.

OBJECT_AVDATE

Internal Name

OBJECT_AVDATE

osguid

1104

DB

archiviert

Type

Date

Length

10

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

Date of document archiving.

OBJECT_CRID

Internal Name

OBJECT_CRID

osguid

1105

DB

anleger

Type

Text

Length

255

Available for

Folder, Register, Document

Available in dms.GetObjectDetails

Yes

Description

Username of the creator of the object.

OBJECT_CRDATE

Internal Name

OBJECT_CRDATE

osguid

1106

DB

angelegt

Type

Date

Length

10

Available for

Folder, Register, Document

Available in dms.GetObjectDetails

Yes

Description

Creation date of the object.

OBJECT_TIME

Internal Name

OBJECT_TIME

osguid

1107

DB

zeitstempel

Type

Timestamp

Length

10

Available for

Folder, Register, Document

Available in dms.GetObjectDetails

Yes

Description

Timestamp of the object (time of last index data change).

OBJECT_MAIN

Internal Name

OBJECT_MAIN

osguid

1108

DB

haupttyp

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

Main type of the document, e.g. WINDOWS for Windows source documents or IMAGE for image files. Determines the client behavior when capturing and displaying.

OBJECT_CO

Internal Name

OBJECT_CO

osguid

1109

DB

untertyp

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

Subtype of the document.

OBJECT_MEDDOCID

Internal Name

OBJECT_MEDDOCID

osguid

1110

DB

medium_doc

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

ID of the archive medium of the document file.

OBJECT_MEDDIAID

Internal Name

OBJECT_MEDDIAID

osguid

1111

DB

medium_dia

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

ID of the archive medium of the preview file (dia).

OBJECT_MEDDOCNA

Internal Name

OBJECT_MEDDOCNA

osguid

1112

DB

name_doc

Type

Text

Length

24

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

Medium name of the document file on the archive medium.

OBJECT_MEDDIANA

Internal Name

OBJECT_MEDDIANA

osguid

1113

DB

name_dia

Type

Text

Length

24

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

Medium name of the preview file (dia) on the archive medium.

Internal Name

OBJECT_LINKS

osguid

1114

DB

links

Type

Text

Length

10

Available for

Folder, Register, Document

Available in dms.GetObjectDetails

Yes

Description

Number of links of the object.

OBJECT_VERID

Internal Name

OBJECT_VERID

osguid

1115

DB

version

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

Version number of the document.

OBJECT_LOCKUSER

Internal Name

OBJECT_LOCKUSER

osguid

1116

DB

lockuser

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

Lock status of the document. Possible display values: UNLOCKED (not locked), SELF (locked by current user), OTHERS (locked by another user). The database value is passed as value attribute.

OBJECT_SYSTEMID

Internal Name

OBJECT_SYSTEMID

osguid

1117

DB

systemid

Type

Text

Length

10

Available for

Folder, Register, Document

Available in dms.GetObjectDetails

Yes

Description

System ID of the object. Can be set in XML import to assign an object to an external system. Also used to set link documents via dms.XMLUpdate.

OBJECT_MODIFYTIME

Internal Name

OBJECT_MODIFYTIME

osguid

1118

DB

modifytime

Type

Timestamp

Length

10

Available for

Folder, Register, Document

Available in dms.GetObjectDetails

Yes

Description

Timestamp of the last change to the object.

OBJECT_MODIFYUSER

Internal Name

OBJECT_MODIFYUSER

osguid

1119

DB

modifyuser

Type

Text

Length

256

Available for

Folder, Register, Document

Available in dms.GetObjectDetails

Yes

Description

Username of the last editor of the object.

OBJECT_FOREIGNID

Internal Name

OBJECT_FOREIGNID

osguid

1124

DB

foreignid

Type

Text

Length

248

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

Foreign ID of a link document. Set via dms.XMLUpdate or cleared with field_function="NULL" to establish or remove a link to an external system.

OBJECT_USERGUID

Internal Name

OBJECT_USERGUID

osguid

1125

DB

osowner

Type

Text

Length

32

Available for

Folder, Register, Document

Available in dms.GetObjectDetails

Yes

Description

GUID of the owner of the object. In XML import, the owner is set via username (not GUID). The display text contains the name; the GUID is passed as osguid attribute.

OBJECT_DELETED

Internal Name

OBJECT_DELETED

osguid

1126

DB

deleted

Type

Text

Length

10

Available for

Folder, Register, Document

Available in dms.GetObjectDetails

Yes

Description

Marker for objects moved to the trash.

OBJECT_INDEXHISTFLAGS

Internal Name

OBJECT_INDEXHISTFLAGS

osguid

1127

DB

indexhistflags

Type

Text

Length

10

Available for

Folder, Register, Document

Available in dms.GetObjectDetails

Yes

Description

Flags to control index data historization.

OBJECT_DOCHISTFLAGS

Internal Name

OBJECT_DOCHISTFLAGS

osguid

1128

DB

dochistflags

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

Flags to control document file historization.

OBJECT_OSSD

Internal Name

OBJECT_OSSD

osguid

1129

DB

ossd

Type

Text

Length

32

Available for

Folder, Register, Document

Available in dms.GetObjectDetails

Yes

Description

ID of the Security Descriptor of the object. Used by the access control jobs dms.SetSD, dms.ReadSD and dms.CreateSD.

OBJECT_MIMETYPEID

Internal Name

OBJECT_MIMETYPEID

osguid

1900

DB

mimetypeid

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

MIME type ID of the document file. Refers to the MIME type list retrievable via dms.GetOsMimetypes.

OBJECT_FILESIZE

Internal Name

OBJECT_FILESIZE

osguid

1902

DB

filesize

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

Size of the document file in bytes.

OBJECT_DOCPAGECOUNT

Internal Name

OBJECT_DOCPAGECOUNT

osguid

DB

Type

Number

Length

10

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

Number of actual document pages.

OBJECT_RETENTION_PLANNED

Internal Name

OBJECT_RETENTION_PLANNED

osguid

1903

DB

retention_planned

Type

Date

Length

10

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

Planned retention end date of the document (before confirmation by the user).

OBJECT_LOCATIONSCOUNT

Internal Name

OBJECT_LOCATIONSCOUNT

osguid

1993

DB

locations_count

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

Number of storage locations of a document with multiple storage.

OBJECT_RETENTION

Internal Name

OBJECT_RETENTION

osguid

1904

DB

retention

Type

Date

Length

10

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

Binding retention end date of the document. Documents may not be deleted before this date.

OBJECT_SIGNSTATE

Internal Name

OBJECT_SIGNSTATE

osguid

1906

DB

signstate

Type

Number

Length

10

Available for

Document

Available in dms.GetObjectDetails

Yes

Description

Signature state of the document.

11.1.2. Master Data Fields

STAMM_ID

Internal Name

STAMM_ID

osguid

1000

DB

id

Type

Text

Length

10

Available for

Available in dms.GetObjectDetails

Yes

Description

Internal ID of the folder master data.

STAMM_TIME

Internal Name

STAMM_TIME

osguid

1001

DB

zeitstempel

Type

Timestamp

Length

10

Available for

Available in dms.GetObjectDetails

Yes

Description

Timestamp of the folder master data.

Internal Name

STAMM_LINKS

osguid

1002

DB

links

Type

Text

Length

10

Available for

Available in dms.GetObjectDetails

Yes

Description

Number of links in the folder master data.

11.1.3. Register Fields

REG_ID

Internal Name

REG_ID

osguid

1120

DB

id

Type

Text

Length

10

Available for

Register

Available in dms.GetObjectDetails

Yes

Description

Internal ID of the register.

REG_STAID

Internal Name

REG_STAID

osguid

1121

DB

stamm_id

Type

Text

Length

10

Available for

Register

Available in dms.GetObjectDetails

Yes

Description

ID of the parent folder (master ID) of the register.

REG_PARID

Internal Name

REG_PARID

osguid

1122

DB

parent_id

Type

Text

Length

10

Available for

Register

Available in dms.GetObjectDetails

Yes

Description

ID of the parent register for hierarchically nested registers.

11.1.4. Structural Data Fields

SDSTA_ID

Internal Name

SDSTA_ID

osguid

1130

DB

stamm_id

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

No

Description

Folder ID (master ID) in the structural data of the document.

SDOBJ_ID

Internal Name

SDOBJ_ID

osguid

1131

DB

object_id

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

No

Description

Object ID in the structural data of the document.

SDOBJTYPE

Internal Name

SDOBJTYPE

osguid

1132

DB

objekttyp

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

No

Description

Object type in the structural data of the document.

SDREG_ID

Internal Name

SDREG_ID

osguid

1133

DB

register

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

No

Description

Register ID in the structural data of the document.

SDDEL

Internal Name

SDDEL

osguid

1134

DB

loeschen

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

No

Description

Delete marker in the structural data of the document.

SDTIME

Internal Name

SDTIME

osguid

1135

DB

zeitstempel

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

No

Description

Timestamp in the structural data of the document.

SDREG_TYPE

Internal Name

SDREG_TYPE

osguid

1136

DB

regtype

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

No

Description

Register type in the structural data of the document.

11.1.5. Folder and Register Reference Fields

FOLDERID

Internal Name

FOLDERID

osguid

1181

DB

folderid

Type

Text

Length

10

Available for

Register

Available in dms.GetObjectDetails

No

Description

ID of the parent folder of the register.

FOLDERTYPE

Internal Name

FOLDERTYPE

osguid

1182

DB

foldertype

Type

Text

Length

10

Available for

Register

Available in dms.GetObjectDetails

No

Description

Type of the parent folder of the register.

REGISTERID

Internal Name

REGISTERID

osguid

1183

DB

registerid

Type

Text

Length

10

Available for

Register

Available in dms.GetObjectDetails

No

Description

ID of the register in which the object is stored.

REGISTERTYPE

Internal Name

REGISTERTYPE

osguid

1184

DB

registertype

Type

Text

Length

10

Available for

Register

Available in dms.GetObjectDetails

No

Description

Type of the register in which the object is stored.

PARENTREGID

Internal Name

PARENTREGID

osguid

1185

DB

parentregid

Type

Text

Length

10

Available for

Register

Available in dms.GetObjectDetails

No

Description

ID of the parent register for hierarchically nested registers.

PARENTREGTYPE

Internal Name

PARENTREGTYPE

osguid

1186

DB

parentregtype

Type

Text

Length

10

Available for

Register

Available in dms.GetObjectDetails

No

Description

Type of the parent register for hierarchically nested registers.

11.1.6. Portfolio Fields

MDDEL

Internal Name

MDDEL

osguid

1140

DB

loeschen

Type

Text

Length

5

Available for

Document

Available in dms.GetObjectDetails

No

Description

Delete marker of the portfolio assignment.

MDTIME

Internal Name

MDTIME

osguid

1141

DB

zeitstempel

Type

Timestamp

Length

10

Available for

Document

Available in dms.GetObjectDetails

No

Description

Timestamp of the portfolio assignment.

MDMAP_ID

Internal Name

MDMAP_ID

osguid

1142

DB

mappe_id

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

No

Description

ID of the portfolio (portfolio) to which the document is assigned. Used by dms.AddPortfolio and dms.DelPortfolio.

MDSTA_ID

Internal Name

MDSTA_ID

osguid

1143

DB

stamm_id

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

No

Description

Folder ID (master ID) in the portfolio assignment data.

MDOBJ_ID

Internal Name

MDOBJ_ID

osguid

1144

DB

object_id

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

No

Description

Object ID in the portfolio assignment data.

MDOBJTYPE

Internal Name

MDOBJTYPE

osguid

1145

DB

objekttyp

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

No

Description

Object type in the portfolio assignment data.

MDMOD

Internal Name

MDMOD

osguid

1146

DB

modul

Type

Text

Length

5

Available for

Document

Available in dms.GetObjectDetails

No

Description

Module identifier of the portfolio assignment.

MDIN

Internal Name

MDIN

osguid

1147

DB

eingang

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

No

Description

Incoming value of the portfolio assignment (target reference).

MDOUT

Internal Name

MDOUT

osguid

1148

DB

ausgang

Type

Text

Length

10

Available for

Document

Available in dms.GetObjectDetails

No

Description

Outgoing value of the portfolio assignment (source reference).

MDCOUNT

Internal Name

MDCOUNT

osguid

1149

DB

anzahl

Type

Text

Length

5

Available for

Document

Available in dms.GetObjectDetails

No

Description

Number of objects in the portfolio assignment.

11.2. Date Formats

Formatting instructions for date fields are initiated by a percent sign (%). Character strings without leading % are copied unchanged to the result string.

Format Description

%a

Abbreviated weekday name

%A

Weekday name (full)

%b

Abbreviated month name

%B

Month name (full)

%c

Date and time representation according to local settings

%d

Day of month numerically (01–31)

%j

Day of year numerically (001–366)

%m

Month as number (01–12)

%U

Calendar week with Sunday as first day of week (00–53)

%w

Weekday as number (0–6; Sunday = 0)

%W

Weekday as number (0–6; Monday = 0)

%x

Date representation according to local settings

%X

Time representation according to local settings

%y

Two-digit year (00–99)

%Y

Four-digit year

%z, %Z

(Abbreviated) timezone name; empty if timezone unknown

%%

Percent sign