Page History
In many situations, end users are interested in statistics about aggregates. For instance, regarding all person-aggregates, how many men and how many women are currently present?
To make this possible, the container AQ_Statistic_Aggregate is available. This container will always result in an integer (zero or more). Multiple containers of this type can then be , that can be used together with the container AQ_Statistics_Visualization [9.6]
Finding an aggregate means that the Id is not known at the moment, retrieving it means that the Id is known and the aggregate can be read from the aggregate database directly.
However, when an end user enters an application (or logs in), the application may not know which aggregates belong to or are applicable for this end user.
Therefore, the AQ_Aggregate_Search service is available, that finds aggregate Ids, given one or more parameters.
Screen
Parameters
Parameter | Direction | Value | Description | Required |
---|---|---|---|---|
Aggregate type | Input | Module element Aggregate | Select the aggregate type to search | True |
Target entity | Output | Non-singleton entity | Select an entity for which you want to create an instance for each found aggregate | True |
Target attribute for aggregate Id | Output | Attribute of aforementioned entity | Select an attribute of the aforementioned entity on which attribute you want to store the found aggregate Id | True |
Target attribute for version Id | Output | Attribute of aforementioned entity | Select an attribute of the aforementioned entity on which attribute you want to store the found version Id | False |
Only search for latest versions | Input | Checkbock, checked by default | Check when only latest versions of versioned aggregates are searched | False |
Maximum results | Input | Integer | The maximum number of results, the system will stop after reaching this number | False |
Search criteria | Input | Standard and custom metadata fields | Specify the search criteria, based on standard and custom metadata fields | True |
Search criteria
The search criteria are all triples that adhere to the pattern <metadata><operator><value>. The value can be single or multi, depending on the operator. See the list below.
Operator | Used with metadata of type | Value can be |
---|---|---|
Equals | All single-valued datatypes | Single value |
Not equals | All single-valued datatypes | Single value |
Less than | All single-valued datatypes | Single value |
Less than or equals | All single-valued datatypes | Single value |
Greater than | All single-valued datatypes | Single value |
Greater than or equals | All single-valued datatypes | Single value |
Like | String | Single value |
Not like | String | Single value |
In | All multivalued datatypes | Multivalued |
Not in | All multivalued datatypes | Multivalued |
Events
This service uses two events for a commit and one for an exception:
- FoundNoAggregates: typically this node will go to a page with a not-found-message and is of type Rollback.
- FoundOneAggregate: typically this note will continue in flow with the found aggregate and is of type CommitSkipSkipValidate (default exit).
- FoundMultipleAggregates: typically this node will result in an aggregate list containing all found aggregates and is of type CommitSkipValidate.
Tracing
Searching aggregates is not traced, just like reading aggregates (using AQ_Aggregate_Read).