Registers (registerX)

This page was automatically generated from the database schema dump and may be incomplete or incorrect.

Registers are the subdivision level within a master file: they structure a master file into thematic areas (e.g. "Correspondence", "Contracts", "Receipts"). Registers themselves carry no document data; they hold document objects and, optionally, nested sub-registers.

Per configured register object type, a table registerX exists holding all registers of that type. Analogously to the object convention, X = main type + 1. The variants are:

  • registerX — main table.

  • registerXr — rights table.

  • registerXs — shadow table (index-data history).

  • registerXlistY / registerXlistYs — table-field data and its shadow variant.

1. Common System Fields

The following 18 system fields are present in registerX tables (positions 1–18, here exemplified by register1). Starting at position 19, type-specific index fields (feld*, zahl*, datum*, real*) follow — these differ per X.

So far only register1 has been examined as a reference. If other registerX tables turn out to have diverging system fields, this list will be adjusted accordingly.
Name Type Length Description

id

int

Internal register ID (primary key). Corresponds to DMS system field REG_ID.

stamm_id

int

Reference to the parent master file (stammX.id). Corresponds to REG_STAID.

parent_id

int

Reference to the parent register for nested registers (registerX.id). Corresponds to REG_PARID. 0/NULL for top-level registers within the master file.

foreignid

nvarchar

248

Foreign ID — assignment to an external system.

systemid

int

System ID of the register.

links

int

Number of links of the register.

anleger

nvarchar

255

User name of the creator.

angelegt

datetime

Creation date of the register.

modifyuser

nvarchar

255

User name of the last modifier.

modifytime

int

Timestamp of the last modification (UNIX time).

zeitstempel

int

Timestamp of the last index-data change (UNIX time).

deleted

int

Marker for registers moved to the recycle bin.

osowner

nvarchar

32

GUID of the owner. References benutzer.osguid.

ossd

nvarchar

32

ID of the security descriptor. Used by dms.SetSD, dms.ReadSD and dms.CreateSD.

indexhistflags

smallint

Flags controlling index-data history. Controls whether shadow rows are written to the registerXs table on change.

txtnoticecnt

int

Number of text notices on the register.

pdfannocnt

int

Number of PDF annotations on the register.

colab

smallint

Collaboration flag (status marker for collaboration objects, see dms.GetAllCollaborationDocuments).

Additional in registerX compared to stammX:

  • stamm_id — reference to the parent master file (required FK).

  • parent_id — reference to the parent register for nesting.

The column order differs slightly from stammX (e.g. zeitstempel at position 11 instead of 2), and links is int here instead of smallint.

2. Type-specific index fields

From position 19 onward, the index fields configured in the object definition (osobjdef / osobjfields) for the respective register type X follow. The suffix convention (feld*, zahl*, datum*, real*) and the XML access via dbname are identical to Object — type-specific index fields.

3. Rights table (registerXr)

Analogous to the object rights table: 4-column structure (id, type, value, field), identical across all register object types.

4. Shadow table (registerXs)

Analogous to the object shadow table: holds the index-data history of the register. First column osguid, followed by the type-specific index fields of the corresponding registerX table.

5. Table fields (registerXlistY, registerXlistYs)

Analogous to object table fields: per table field Y defined on register type X, a registerXlistY table with id (FK to registerX.id) and line. Shadow variant registerXlistYs with osguid and line.