Data structures
All entities are stored and managed in uniform, generic structures. Thus, only a few methods are required for read and write operations. The data structure is described below. Not all of the listed attributes are available in all interfaces.
Each data set (hereinafter referred to as "GenericDataElement") contains the following system fields:
Attribute | Type | Description |
|---|---|---|
DataId | Guid | Unique key for each record |
MandatorId | Guid | ID of the mandator |
OrgUnitId | Guid | ID der organizational unit |
UserId | Guid | ID of the allocated user for this record |
UserDisplayName | String | DisplayName of the allocated user for this record |
EntityId | Guid | ID of the entity |
EntryTime | DateTime | Datetime of entry |
IsActive | Boolean | Records are not deleted, they are set to inactive. |
ModifiedDate | DateTime | Date of the last modification. |
ModifiedById | Guid | ID of the user who last modified the record. |
ModifiedBy | String | Display name of the user who last modified the record. |
CreatedDate | DateTime | Creationdate of the record |
CreatedById | Guid | ID of the user who created the record. |
CreatedBy | String | Display name of the user who created the record. |
TriggerStamp | DateTime | Time of the last change (In the format yyyy-MM-ddTHH:mm:ss.ffK) |
DisplayValue | String | Descriptive text |
Custom_*** | String | Field of custom data |
Custom_***_DisplayValue | String | Indicates a LookupProperty. The field shows the DisplayProperty value of the entity referenced to the GUID that is used in the field without "_DisplayValue". |
CustomMax_*** | String | Field of custom data (large fields) |
Data attributes (properties) are also supplied with the system attributes. Depending on the interface, these are mapped with their configured name or with the generic name. The generic names can be recognized by the naming convention "Custom_XXX" and are always supplied as string/nvarchar.
If the configured name is used, the attributes are also supplied in the configured data type. In addition to the Custom_XXX values, "DisplayValues" -> Custom_XXX_DisplayValue are supplied.
DisplayValues are the display values of lookups, e.g.: in Custom_001 there is a statusID, in Custom_001_DisplayValue there is "Finished" as status text. For interfaces that provide generic values, the mapping/casting of the data must be done in the application itself.
If you log in to the ENGINE4 web interface, you can use the developer tools of the browser to understand how JSON objects are stored and received and how their content is structured.
Debug Mode
The generic names "Custom_XXX" can be displayed by activating the debug settings in ENGINE4.
To do this, hold down CTRL and click on the little man in the top right and then select “Debug Settings”.

Tick “Show GenericColumnNames”, “ShowDataIds”, “ShowViewIds” and close the window.

This will display the generic name for each field. In addition, the ViewID, EntityID and DataId of the data record are displayed in the header area of the window.

Pressing CTRL again and clicking on the red man deactivates this mode. Alternatively, the entire page can be updated using F5 and the debug mode ends automatically.