Dynamic Data Fields 

Dynamic data fields (slots) are data members that are automatically added to an object. The object will be extended by data fields, which weren't planned during class definition. While all class instances have the same data member, slots usually don't. A global dictionary - which has either been built with the initialization file CLASSIX.INI or has been imported from the database - lists all possible slots. The definition of a dynamic data field specifies a name and connects this name to a data type. Slots can also describe object relations: in this case, it is possible to indicate the object types.

Slots can also be considered as a set of variables which is provided to be used at a later time during runtime.
This variable space can be structured via specifiers. A specifier is just a name used to generate new dynamic data field terms:
Specifier slot and specifier are dynamic data field names / specifier names.

      slot
      specifier.slot


specify two different dynamic data fields (of the same data type). Specifiers reduce the number of slot definitions (and therefore dictionary size). 

A specifier can be used as a template. In this case, the term

      tmp.slot

is not considered as the final data field description. The statement SetSpecifier assigns another specifier s1 or s2... or sn to the specifier. This enables parameter setting of InstantView® code and formula objects (see class CX_FORMULA, CX_CONDITIONED_BAG) in terms of dynamic data fields.

As soon as objects are saved with dynamic data fields in a database, the definition of these data fields can no longer be changed. It is possible to find out, which data fields are part of which objects via Cross Reference of all Slots.