Direkt zum Hauptinhalt

Object types, Properties and Selection lists

In aB-Agenta, data is available in a specific structure. It consists of records, each of which belongs to a specific object type and has multiple properties and values. 
Some object types inherit from others, resulting in a tree-like hierarchy in which each object type inherits the properties of its parent.
Keep in mind that there may be user-defined properties and object types.
The API has operations for retrieving object types and their properties. This allows you to determine their IDs and names.
Another way of looking up object types and properties is the Masken-Designer, a module of aB-Agenta.

Object types

Every record has a specific object type. A record is uniquely identifiable by its ID AND its object type.
Object types are entities (like customers, contracts etc.) and have properties. 
An object type may belong to an inheritance hierarchy, where it inherits the properties of its parent object type. The parent object type is referenced in the field "basicidobject".
An object type that has children is a "group". If you use a group while loading records you can retrieve records of different object types at once.
If you load records by a group you can only load properties that belong to that group.
The object type of a record can never be a group, it must be an end node that has no children.
If you try to save a record with a group as object type the operation will fail.
You can change a record's object type only if it inherits from one of the following groups:
  • "Standardadressen" - ID: "-6"
  • "Agenturen / Mitarbeiter" - ID: "-62"

Properties

Properties belong to specific object types and define the fields a record may have.
A property has a name and an internal name ("bound_on"). The name can be user-defined in aB-Agenta so whenever you reference a property (e.g. accessing fields of a record or setting up a query-filter) you must use the internal name.
A property has a data type ("datatype_user"):
  • 1=text
  • 2=integer
  • 3=decimal
  • 4=date
  • 5=boolean
  • 6=memo (long text)
  • 7=time
  • 8=currency (decimal with only two decimal places)
  • 9=date-time
  • 11=true-false-unknown (tristate type: true=1, false=2, unknown=0)
A property has a property type ("type") (don't mistake with data type):
  • 1=standard
  • 2=reference (to another record by its id, like a foreign key)
  • 3=encoded (the value is always an integer that has a bigger meaning; encoded properties always have an encoded selection list thats values are used)
  • 8=image (references an image document -which is a normal record too- so it is a variant of the type 2)
A property can have a selection list ("idlist") that contains the valid values that a record can have for that property.

Selection lists

A selection list is referenced by one or more properties and contains values that a record can have for those properties.
A selection list also has a data type ("datatype") that matches the ones of its properties.
There are two types of selection list: Encoded and Non-Encoded lists ("encoded")
  • encoded
    : records MUST store a value of one of the list entries (field "value" in list-entries)
  • non-encoded
    : records may save any value. The list entries are merely suggestions. (field "name" in list-entries)