Typed attribute resolver
Rule types – Abstract
Purpose: In the context of a reference object (the entity type must be an attribute owner), a 'Typed attribute' determined by the 'Subtype' is returned, which can be accessed in read and write mode.
The Typed attribute resolver value resolver provides access to a (singular) typed attribute of an entity. It expects an entity as a reference object, which is considered an 'attribute owner' according to its type (see Attribut (Wertauflöser)) and whose data model provides at least one typed attribute type. The return value of the value resolver can be used for read and write access to the specific data structure for the respective attribute type. A write access implies the creation of the attribute if it does not already exist.
The Typed attribute parameter specifies the type of typed attribute to be returned. The selected type defines the data structure of the attribute. Each attribute type (flag attribute, text attribute, date attribute, etc.) uses a specific field (flagType, textType, dateType, etc.), for the Subtype. Specific Enumerations per type (Flag type, Text type, Date type, etc.) define the values that can be selected as a Subtype in each case (see Business objects and attributes).
►IMPORTANT◄ Writing and reading the attribute usually affects one or more field values within the specific data structure for the attribute type. The corresponding fields must – as demonstrated by the examples below – usually be addressed explicitly, so that a value assignment is successful and/or the return value corresponds to the desired result. This can be achieved either by concatenation (see Chained resolver) or, for example, in the context of an Execute with event action that defines the attribute as an alternative reference object.
Configuration
The Typed attribute resolver expects a reference object whose data model contains at least one typed attribute type.
|
The Typed attribute parameter provides a static single selection for the attribute type to be accessed. As long as the context of the configuration does not refer to a specific entity type as a reference object, all types of typed attributes that the system supports will appear for selection. The Combobox element offers a search function that takes into account the internal class names of the attributes as well as associated localizations from the language management. |
|
|
If, on the other hand, the context of the configuration refers to a specific entity type for the reference object, then only the attribute types that are explicitly implemented in the relevant data model appear for selection. On the right, a Check type (not in the image) points to a Routing table entry, so that only the four attribute types provided for this entity type appear in the dropdown. |
|
|
The dropdown for the Subtype offers the values of the respective dynamic enumeration (e.g. Text type) for selection only when an attribute type is selected in the Typed attribute parameter. ►IMPORTANT◄ If Enumeration filters are applicable in the context of a session for the enumeration in question, these also restrict the selection for the Subtype in the course of configuration. On the other hand, Enumeration filters have no influence on the evaluation of the value resolver at runtime. |
|
CAUTION
The selection for the Subtype also offers attribute subtypes that are explicitly marked as 'plural' in the dynamic enumeration definition. If a 'plural' Subtype is selected, the Typed attribute resolver returns only the first singular value (if any) for that Subtype at runtime. In contrast, a list of all instances for a Subtype is returned by the Plural typed attribute resolver value resolver.
If no Typed attribute is selected, then the return value of the value resolver is always 'no value' (null).
If a selected Typed attribute is not supported by the type of reference object present at runtime, the return value is also 'no value' (null).
If the reference object present at runtime supports a selected Typed attribute, but no relevant data is contained in the reference object, 'no value' (null) is also returned.
Examples
Example of 'write access'
When a Common business object is assigned the working state 'Update', a time interval should be assigned in the date attribute with the Date type 'Delivery date fix', starting at 12:00 (UTC) on Monday of the following week and ending at 20:00 (UTC).
Configuration:
|
An event handler that reacts to the assignment of the working state 'Update' (see Working state (Events)) as a Triggering event is configured as shown on the right:
|
|
Example of 'read access'
As an extension to the above configuration, the user should receive a confirmation message reflecting the time window for the 'Delivery date fix'.
The date values for 'From' and 'To' from the date range should use the default date format defined in the Localization. The UTC time is output as 'military' (as in 'Zulu time' in the format 'HHmmX') regardless of the Current locale.
Runtime example:
Configuration:
|
Below the Set value event action (see above), an Execute with event action is added and configured as shown on the right:
|
|
|
|