Complex types

Complex types are customized composite types composed of multiple definition attributes using built-in types, user-defined types, or lists of values.
For example, a complex type named Address may include definition attributes such as Street Number, Street Name, Zip Code, City Name, and Country.

Create a complex type

To create a complex type:

  1. Right-click the Complex Types node and select Add Complex Type.
    The Create New Complex Type wizard opens.

  2. In the wizard, select the Auto Fill option and enter the following values:

    • Name: internal name of the object.

    • Label: user-friendly label for this object. Since the Auto Fill checkbox is selected, the Label field is automatically filled in. Modifying this label is optional.

  3. Click Finish to close the wizard.
    The Complex Type editor opens.

  4. (Optional) In the Description field, enter a description for the complex type.

  5. Select the Definition Attributes item in the editor sidebar.

  6. Repeat the following steps to add definition attributes to this complex type:

    1. Select the Add Definition Attribute button.
      The Create New Definition Attribute wizard opens.

    2. In the wizard, select the Auto Fill option and then enter the following values:

      • Name: internal name of the object.

      • Label: user-friendly label for this object. Since the Auto Fill checkbox is selected, the Label field is automatically filled in. Modifying this label is optional.

      • Physical Column Name: name of the physical column containing the values for this attribute. This column name is prefixed with the value of the physical prefix specified on the entity complex attribute of this complex type.

      • Type: list of values, built-in, or user-defined type of this complex attribute.

      • Length, Precision, Scale: size for this definition attribute. The fields available depend on the built-in type selected. For example, when using a string built-in type, only the length can be specified. However, if a list of values or a user-defined type is selected, these values cannot be altered.

      • Mandatory: select this box to make this definition attribute mandatory when the complex type is checked for mandatory values.

    3. Click Finish to close the wizard.
      The new definition attribute appears in the list.

    4. Double-click the attribute in the list to further edit it and modify its advanced properties:

      • In Documentation, enter user-facing documentation for the attribute. You can use plain text or Markdown syntax to provide detailed information about the attribute, which will be displayed in the documentation side navigation.

      • In Error Message, enter a custom error message for a mandatory definition attribute. This message will be displayed instead of the default message when the attribute is left empty.

  7. Press Control+S (or Command+S on macOS) to save the Complex Type editor.

  8. Close the editor.

A complex type has the following advanced properties that influence its behavior:

  • Mandatory: when an entity attribute undergoes mandatory value checks and utilizes a complex type, each definition attribute within this complex type with the Mandatory option enabled is evaluated.

  • Searchable: this option determines whether the attribute can be used for searching purposes.

  • Translated: options reserved for future use.

  • Multi-Valued: this option applies to definition attributes of the type list of values. Enabling this property allows the attribute to accept multiple codes within the list of values, separated by the designated value separator. For example, a multi-valued Diplomas field could accept codes like DM, DP, and DPM, representing Doctor of Medicine, Pharmacy, and Preventive Medicine.

Configure the display name

When a complex attribute value needs to be displayed in a compact form, such as in a table or a single field, the display name is used.

specifies how a complex attribute is represented in a condensed format. It typically involves concatenating several definition attributes together, with each attribute separated by a designated separator.
For instance, consider the GeocodedAddress complex type, which includes numerous attributes ranging from simple ones like StreetNumber to more detailed ones like Longitude and Latitude. A potential display name example could be StreetNumber StreetName City Country.

To create or modify a complex attribute display name:

  1. Right-click the complex attribute node and select Define Display Name.
    The Modify Display Name wizard opens.

  2. In the Separator field, enter a string used to separate the selected definition attributes within the display name.

  3. Click Next.

  4. In the Display Name Attributes screen, select the desired items from the Available Attributes column and click the Add >> button to add them to the Selected Attributes column.

  5. Use the Move Up and Move Down buttons to reorder the selected attributes.

  6. Click Finish to close the wizard.

  7. Press Control+S (or Command+S on macOS) to save the Display Name editor.

  8. Close the editor.

Only one display name can be created for a given complex type.