Data Types

MultilanguageString

Some text properties support value in more than one language. This properties are of multi-language string type.

The multi-language string can store many language strings, indexing them by language key. The language key is a CultureInfo two letter ISO language name, like "en", "de", etc.

For example, the name of a product is a data attribute, which can simultaneously contain translation of the product name in many languages.

When you retrieve the value of this attribute with the Domain API, you get values similar to:

{
  "en": "Apple",
  "de": "Apfel"
}

All translations are a single value

All translations in a multi-language string are treated as a single value. You cannot change only one language pair - all pairs are updated simultaneously. The client applications are responsible for managing all language pairs.

Filtering

The equality comparison for multi-language string is ambiguous. The APIs generally do not support direct equality comparisons.

Note

Domain API supports only the filter function contains.

For example, in Domain API, the following is supported:

~/General_Products_Products?$filter=contains(Name,'ppl')  

However, this is not valid:

~/General_Products_Products?$filter=Name eq 'Apple'  

Amount

The ERP domain model declares a special type for amount (currency) properties.

The amount is represented by value and currency.

Properties

Name Type Description
Currency String The currency of the amount represented by its sign.
Value Decimal The value of the amount.

Domain API Example:

{
  "LineAmount": {
    "Value": 3.55,
    "Currency": "USD"
  }
}

Quantity

The ERP domain model declares a special type for quantity properties.

The quantity is represented by value and measurement unit.

Properties

Name Type Description
Unit String The measurement unit of the quantity represented by it's code.
Value Decimal The value of the quantity.

Domain API Example:

{
  "Quantity": {
    "Value": 5.555,
    "Unit": "PCS"
  }
}

CustomPropertyValue

User-defined properties, which can supplement the system properties of almost all entities in the system.

Custom properties are defined in General_CustomProperties entity.

EntityName specifies the entity for which the property is applicable.

Table of EntityName -> REST API Resource Name corespondences

Custom properties can be free text property or restricted to a list of allowed values. This is specified by LimitToAllowedValues property.

AllowedValuesEntityName specifies that the allowed values are retrieved from the specified entity. If null the allowed values are retrieved from General_CustomPropertyAllowedValues

In EnterpriseOne REST API custom properties are properties of type General_CustomPropertyValue. The API name of the custom property starts with 'CustomProperty_' followed by the user defined property code.

Each database contains different custom properties and that is why each database have different EDM model ($metadata).

Properties

Name Type Description
Value String The short value
Description MultilanguageString The description of the property value.Can be null.
ValueId guid The Id of the entry represented by the property value. It's the id of the allowed value. Can be null.

Domain API Example:

"CustomProperty_color": {
    "Value": "Apple",
    "ValueId": "5263a2d3-88b0-41db-adae-31c76135719e",
    "Description": {
        "en": "Apple",
        "de": "Apfel"
    }
}