How to Use Different Data Types for Federated Properties

Federated property is used for Item types to access data from an external system instead of the Aras Innovator database. It can be configured via turning the Federated flag on, but not all data types are supported. Currenty the following data types can be used for Federated properties:

  • Integer.
  • Text.
  • Date. It is expected that the date value is set in Item according to the neutral format of Innovator yyyy-MM-ddTHH:mm:ss (or yyyy-MM-dd) in the current TZ in local or Corporate TimeZone (if Corporate TimeZone is set). Otherwise, the correct work of federated dates with other logic of Innovator (e.g., presentation in the Client) cannot be guaranteed. The customization developers should consider the potential differences in the date format and TimeZones of Innovator Server and a Federated System and implement corresponding adjustments before setting the value to Innovator Items (especially in cases when time part is important). As recommendation: custom approach to convert dates from the TZ of Federated System to UTC can be implemented and then call IOM method ConvertUtcDateTimeToNeutral which will produce the result in a proper format and TZ for Innovator.

And in the opposite direction when data should be sent from Innovator to Federated System, IOM method ConvertNeutralToUtcDateTime will provide the datetime in UTC and then the customization logic (if needed) will adjust it to the TZ of Federated System (see page “Data Flow-2a-FS-NoCorpTZ” in the attached excel file “Date - Pattern and TZ” for illustrations of data flows)

Propery setting Pattern (pattern) for date properties is used only in Innovator Client to present the date value for the end user with the order of display for month, day and year following internationalization and localization rules dependent on client settings.

  • Float. IOM means i18NSessionContext.ConvertToNeutral can be used to convert strings with float values to neutral format to prepare float string in proper format if needed. Please do not specify Precision and Scale for federated Float properties to avoid inconsistent restrictions on the client side.
  • String. For regular String properties there are two special settings in Innovator:
    • Length (stored_length) – required, the maximum length of the string property
    • Pattern (pattern) – optional, is used to prepare a Regex (ignore-case, single line) which the property value should match

It’s up to the Administrator/Developer creating the federated String property to set it up in Innovator according to the specification and requirements of the Federated System. Innovator’s Client will provide built-in validation based on these settings for bi-directional data exchange. As for additional validation in Innovator Server, the Developers can implement it themselves in OnBeforeAdd/Update or OnAdd/Update event handlers before sending the data with the string property value to the Federated System.If a federated property is supposed just to show information from the Federated System and no input is expected on Innovator side, then set Readonly setting for the federated property to true.