
As with a Typed attribute projection, a Typed attribute join returns all attribute values or attribute values selected via an On condition for the subtype selected as the Type of the attribute type selected via the Attribute parameter. This is based on the main entity of the search or a different Attribute owner path.
Configuration
Parameter | Data type | Description |
|---|---|---|
Specific parameters | ||
Attribute owner path | Entity (projection) | An Attribute owner path only needs to be explicitly defined by configuring a projection (see Projections) if the entity in the context of the search is not the owner of the attributes that are to be evaluated. This is relevant in the following cases, for example:
|
Attribute | Class (attribute type) | In the Combobox element for the Attribute parameter, a selection must be made from the attribute type options offered via a dropdown. Only attribute types for typed attributes that the entity type of the applicable attribute owner supports per implementation are available for selection here. â–ºNOTEâ—„ If no options are available for the Attribute or if options are missing, then the Attribute owner path may not have been set appropriately (e.g. the 'Address' of an account for which no attributes are implemented). |
Type | Dynamic enumeration value (subtype) | The Combobox element for the Type parameter enables a single selection for a subtype from the dynamic enumeration for the selected typed Attribute. â–ºNOTEâ—„ The options available in the context of the configuration can be restricted by Enumeration filters. â–ºNOTEâ—„ Technically, the selection is optional. If no type is selected, the system checks for attribute values without a subtype that cannot exist. |
Generic parameters | ||
Join alias, Join type, Optional, On condition see Entity join | ||
Examples
Simple use case: Access to 'Managing Director' address contact(s) for a company account
In a Tuple search for Companies/Clients, an output column provides the address details for the CEO, provided that an entry with the Contact type 'CEO' has been created under the 'Address contacts' of the company address.
Companies without an address contact of the 'Managing Director' (CEO) type should not be included in the search.
Configuration:
The configuration shown on the right for a Typed attribute join creates the basis for accessing the address data of the managing director if a corresponding address contact has been created:
|
|
The Tuple search requires exactly two Projections, as shown on the right:
|
|
â–ºNOTEâ—„ The 'Plural attribute' option in the definition for the enumeration value controls whether or not a company can have multiple address contacts with the Contact type 'Managing Director' (CEO). When several 'CEOs' are assigned, the Tuple search lists the same company several times if several 'CEO contacts' exist.
Runtime example:
<core:TupleSearchResult maxResults="100" count="24">
<columns>
<name>address.name1</name>
<name>ceo.contactAddress</name>
</columns>
<result>
<row>
<item xsi:type="xsd:string">Mueller GmbH</item>
<item id="12314" ... salutation="MR" name1="Alfonso" name2="Romeo" name3="Dicaprio" xsi:type="base:Address">
...
</item>
</row>
<row>
<item xsi:type="xsd:string">Xflow AG</item>
<item id="22501" ... salutation="MS" name1="Wiebke" name2="Cramer" xsi:type="base:Address">
...
</item>
</row>
<row>
<item xsi:type="xsd:string">Xflow AG</item>
<item id="22501" ... salutation="MR" name1="Carsten" name2="Viereck" xsi:type="base:Address">
...
</item>
</row> ...
</result>More complex example: Selective access to managing directors
A variant of the Tuple search from the previous example should only allow address contacts for the Contact type 'Managing Director' (CEO) identified as female via the address field 'Salutation' (salutation) by selecting the salutation 'Ms.' (MS).
The following On condition would be obvious for this purpose:
However, this results in an error message (see also Joins) if it is added to the existing Typed attribute join (
ceo).
A join within a on condition is not possibleThe problem is that the On condition refers to a field of the 'Address' entity, which brings the
contactAdressproperty into play.Access to the
contactAddressimplies another join that must be explicitly formulated so that a On condition can be applied to it.
Configuration:
The Typed attribute join with the Join alias ceo is retained as shown above (without On condition).
The Mapped Join shown on the right must be added as a reference point for the On condition:
|
|
â–ºNOTEâ—„ As long as none of the Projections for output columns refer to the additional Join alias | |
The screenshot on the right shows a variant for configuring the Projections:
With this adjustment, the Optional option can be checked again for the Mapped Join without the Join type 'Inner' losing its restrictive effect. |
|




