Filled with

The Behaviour type Filled with checks whether the element to be evaluated returns a value that exactly matches one of the text values specified in the input parameter.


images/download/attachments/189431944/image-2024-9-30_9-5-50-version-1-modificationdate-1727689386942-api-v2.png

If a match is found according to the rules below, the Actions on ‘true’ are executed.

If the element to be evaluated is considered to be ‘not filled’ or does not match the input, the Actions on ‘false’ are executed.

►NOTE◄ If the element to be evaluated is unsuitable in providing a value for a string comparison at all (e.g. an Element containers), no actions will be executed, because an error occurs that would only be detected by Log to console.

What is the element to be evaluated?

  • If no element is linked, the executing element is considered the element to be evaluated.

  • If an element is linked, the linked element is considered the element to be evaluated.

To list several text values as acceptable alternatives in the input parameter, they must be concatenated with the # character (‘hash’) as a separator.

Rules for matching text values:

  • Strings must match completely, including upper/lower case characters.

  • Since the # character is used as a separator for alternative comparison values, strings containing this character are not suitable as comparison values for input.

  • Since the input parameter does not support entries with certain control characters (e.g. line break), corresponding comparison values cannot be defined.

  • The input parameter string is trimmed on both ends before matching. Therefore, only the string '##' is suitable for matching a single space character.

  • An ‘empty’ string cannot be matched directly (not even with input '##'), since an element to be evaluated returning an empty string value, qualifies as ‘not filled’, so Actions on ‘false’ apply.

The handling of elements to be evaluated, which do not contain a value of type text:

  • A Check box, that is ‘set’ is considered to be filled with the text value ‘true’ (in lower case). However, the behaviour Filled for a checkbox verifies this state equally well.

  • For numerical comparisons, the text values in the input parameter are converted individually into numerical values. Only the decimal point may be used as a decimal separator. Exponential notation is supported.

    • Examples: The behaviour Filled with with an input of ‘1.2345#1.2345e3’ matches the numerical values 1.2345 and 1234.5.

  • For elements that refer to Dynamic enumerations the internal names of the enumeration values are usually relevant for matching against input (see example below).
    ►NOTE◄ Exceptions are Units (Currency, Length unit, Volume unit, etc.), for which the internal alias is used for matching instead of the internal name.

  • Selection elements that refer to entities, such as a 'Company search' combobox, provide the internal ID (id) of the selected entity as a comparison value. However, it is not recommended to run conditions on such ID values, e.g. because they can differ between a test and a live system as the comparison values in the input parameter are not automatically adjusted by Meta exchange.

The possibly complex data object provided by the element to be evaluated always defines the data context for the actions, so that detailed data can be accessed, for example, by within a Show alert action.

Examples

Inspecting a text input

In the Place of storage text field, it is possible to enter text directly or to use a specific look-up function (e.g. a database search).

The user should be able to trigger the look-up function by entering a ‘?’ symbol.

images/download/attachments/189431944/image-2024-9-30_11-48-6-version-1-modificationdate-1727689685688-api-v2.png

  • The ‘initLookUp’ behaviour reacts to the trigger Changed with the Change type 'Exclusively by user', because the lookup mode is only triggered by an interaction and not by a default value for the field or a return value set by the lookup function.

  • Filled with checks here for the input as a trigger for the Actions on ‘true’.

  • A Execute behaviour action starts the lookup function (in the behaviour ‘lookUp’, details not relevant here) below as soon as a question mark is entered in the text field.

Inspecting dynamic enumeration values

Depending on the selection for a free enumeration attribute (see Free enum type) Aircraft category in the Combobox, certain Image/Icon elements should be shown or hidden in an entry form to symbolize the selection.

images/download/attachments/189431944/image2020-3-24_12-8-56-version-1-modificationdate-1727689387046-api-v2.png

For the sake of transparency, the localization of each enumeration value in this example also includes the relevant internal name (in capital letters), while the actual plain text is enclosed in brackets.

The symbols should be assigned according to the following table:

Aircraft category

Symbols

GA (General Aviation)

images/download/attachments/189431944/image2020-3-24_10-24-33-version-1-modificationdate-1727689387001-api-v2.png




JET (Jet powered airplanes)


images/download/attachments/189431944/image2020-3-24_10-25-24-version-1-modificationdate-1727689387004-api-v2.png

images/download/attachments/189431944/image2020-3-24_10-25-49-version-1-modificationdate-1727689387010-api-v2.png


MIL (Military)


images/download/attachments/189431944/image2020-3-24_10-25-26-version-1-modificationdate-1727689387007-api-v2.png


images/download/attachments/189431944/image2020-3-24_10-26-23-version-1-modificationdate-1727689387020-api-v2.png

XXL (Very large aircraft)



images/download/attachments/189431944/image2020-3-24_10-25-53-version-1-modificationdate-1727689387014-api-v2.png

images/download/attachments/189431944/image2020-3-24_10-26-20-version-1-modificationdate-1727689387017-api-v2.png

input for Filled with comparison

GA
JET#MIL
JET#XXL
MIL#XXL

►NOTE◄ The notation used here to concatenate alternative values using the '#' character should not be confused with the XML representation for the value of a free-enumeration attribute, where the '#' character serves as a separator between the internal name of the free enumeration (Free enum type) and the internal name of the concrete value from the underlying dynamic enumeration. In the example, the XML of the business object for the enumerated value (enumValue) in the attribute Aircraft category would display values, for example, like ACFT_CAT#JET or ACFT_CAT#MIL. Both would pass a check per Filled with with input JET#MIL, since the Combobox element only returns the value of the Dynamic enumeration (JET, MIL, usw.) and not the concatenated enumValue. A check against the input ACFT_CAT#JET can be deceptive for an attribute with an enumValue of ACFT_CAT#JET also works superficially, even if it is checked whether a value with the internal name JET oder ACFT_CAT is selected as Aircraft category.

In the following implementation, importance was attached to ensuring that the relationship between category and symbol is as clear and easy to maintain as possible.

First of all, a ‘showIf’ behaviour without a triggering event has been configured for each symbol, which uses a Filled with behaviour to control, whether the symbol should be shown or hidden in a given context:

images/download/attachments/189431944/image2020-3-24_12-11-29-version-1-modificationdate-1727689387050-api-v2.png

  • Filled with always evaluates the linked Combobox element (‘enum value’) from the attribute Aircraft category.

  • The criterion for the input parameter must be set specifically for each symbol as specified in the last table row (above).

  • The actions Show element (on ‘true’) and Hide element (on ‘false’) must be linked to the respective symbol.

On this basis, an additional symbol can be added as a copy of an existing one. In the copy, apart from the icon itself, only the definition for the input parameter needs to be modified. In contrast, the link to the combobox is identical for all symbols and the actions will automatically reference the copied symbol as an element.

Finally, the ‘showIf’ behaviour of all symbols must be explicitly triggered when the selection changes:

  • This is done by a Static behaviour of the selection field, which reacts to the Triggering event Changed for all Change types.

  • Under Actions on ‘true’, a Execute behaviour action must be added for each symbol.

Since the Behaviour name is identical for all symbols, after adding a new symbol, only an existing action has to be copied and then linked to the new symbol.

images/download/attachments/189431944/image2020-3-24_12-12-55-version-1-modificationdate-1727689387058-api-v2.png