About default functions

This topic describes the functions implemented and delivered in Datastore by default.

ListCollections function

This function helps keep track of injected files with data. When injecting files with data, a collection type is provided in the command. If an injected file has the wrong data inside, it is visible only after the injection is completed. ListCollections helps you to locate the collection type.

You can add the following arguments:

Name Type Default Visible
collectionType STRING Name of the Collection Type checked or not
Name of the Property Type Property data type (DATE, DATETIME, DECIMAL, INTEGER, LONG, STRING) Value of the Property checked or not

If the argument collectionType is not added, then all Property Types of all Collection Types could be used.

If the Visible flag is checked, then the argument will be displayed and it will be updated by the user before executing the function. Otherwise, the default value of the argument will be used without updating by the user.

If the argument collectionType is added, then the function listCollections returns all the collections for the given Collection Type. Otherwise the function listCollections returns all the collections for all Collection Types.

The Property Type argument is used for filtering the collections, the collection must have the property value equal to the default value.

Example:

Name Type Default Visible
collectionType STRING IAS not checked
RECONCILIATION_ID STRING 4 not checked

The function listCollections returns all the collections for the IAS Collection Type and the property RECONCILIATION_ID is equal 4.

ListReconciliationCollections function

This function helps keep track of the reconciliation function executions. When the reconciliation function is executed it injects data into the reconciliation result object with a corresponding reconciliation ID and a collection ID.

Default navigation functions

A default navigation query is a function-type query that you can define using the functions shipped with the Datastore UI application. You must complete the input fields that indicate the navigation starting point.

Using these predefined functions you can create a query to navigate through the Audit objects and the Input/Output objects to return all:

  • Children of initially-selected items (goToChildren) based on the specified downward relationship.
  • Descendants of initially-selected items (goToFinalDescendants) based on the specified downward relationship.
  • Ancestors of initially-selected items (goToOriginAncestors) based on the specified upward relationship.
  • Parents of initially-selected items (goToParents) based on the specified upward relationship.
  • Sources of the executed reconciliation function (getSources).
  • Source 1 of the executed reconciliation function (getSource1).
  • Source 2 of the executed reconciliation function (getSource2).
  • Computed reconciliation result for a given source object and a reconciliation function execution (getReconciliationResults). Unlike the other functions here, this requires two inputs from two panels in order to be executed. One input must be a Reconciliation Source object and the other must be a collection containing a valid Collection ID generated during a Reconciliation function execution.

Available relationships

The following relationships are built into the product. They handle the links between the traces issued from the Rule Engine Audit trail.

Relationship Description
Modifies

Modifies from tag: Input, to tag Input.

Links Input-Events before and after an Enrichment-Rule is applied.

Aggregates

Aggregates from: tag Audit, to: tag Audit

Links the event before and after aggregation:

  • Input-Events can be aggregated into one Input-Event.
  • Output-Events can be aggregated into one Output Event.
Transforms

Transforms from: tag Input, to: tag Output

Links an Input-Event to an Output-Event before and after a Transformation-Rule is applied.

Transfers

Transfers from: tag Output, to: tag Input

Links an Output-Event issued from a Rule Engine session to an Input-Event going into a new Rule Engine session.

Rejects

Rejects from: tag Input, to: tag Input

Links an Input-Event to its rejected one when a RuleEngine execution rejects the Input-Event.

Anomaly

Anomaly from: tag Input, to: tag Input

Links an Input-Event to its 'in anomaly' one when a RuleEngine execution detects an anomaly on the Input-Event.

Recycles

Recycles from: tag Input, to: tag Input

Links an Input-Event to a recycled Input-Event when this one is sent from a recycling action in Interplay

Comment System relationship to add or view Comments on a Datastore record (Collection, Object or Element).
Error System relationship to mark Errors on a Datastore record (Collection, Object or Element).

The relationships rely on the following system fields:

  • IdStampTrace – identifies the object
  • IdStampOrig – identifies the object origin
  • IdStampAggreg – identifies the object child after aggregation (only used in an "Aggregates relationship")

Parameters

These queries can have a variable list of parameters that indicate the relationship or the relationships used for navigation.

The parameters have fixed name and values. To define the relationship criteria, you can add the following optional arguments.

If no argument is defined in the function, by default, all system relationships are used in navigation.

To restrict the use of the system relationships, you can define arguments and specify exactly which relationships will be taken into account.

Also, custom defined relationships can be specified as argument value. The argument type must be String.

The following is an example of a function which takes into account the relationships Aggregates and Transforms, as well as the user-defined CustomRelationship.

Name Type Description Values

param1

STRING

Defines the first value for a relationship type to be used in navigation.

Aggregates

param2

STRING Defines the second value for a relationship type to be used in navigation.

Transforms

param3

STRING Defines the third value for a relationship type to be used in navigation.

CustomRelationship

If there is no relationship argument defined in the function, by default all relationships are used in navigation.

Function creation example

Here is an example illustrating how to create functions using relationships, based on the default navigation functions:

  1. Open Datastore Client
  2. Select New Function
  3. Complete General Information section, and fill in for example:
    name = GetComments
    start/end date = (select relevant dates)
    input = AllTypes
  4. On the next page, Function arguments, select:
    base function = goToChildren
    argument name = Chosen relationship
    argument type = String
    default value = Comment

Examples of navigation

Sample lifecycle diagram

The entry point (yellow block) was selected by a standard query.

The examples are based on this sample lifecycle diagram where:

  • AIE indicates Aggregated Input-Event.
  • AOE indicates Aggregated Output-Event.
  • IE indicates Input-Event.
  • MIE indicates Modified Input-Event.
  • OE indicates Output-Event.

GoToChildren

All children are shown in yellow for the previously selected item. Children are found by going down one level in the relationship.

goToFinalDescendants

All final descendants are shown in yellow for the previously selected item. Final descendants are found by going down the relationship until there are no more descendants.

goToOriginAncestors

All origin ancestors are shown in yellow for the previously selected item. Origin ancestors are found by going up the relationship until there are no more ancestors.

goToParents

All parents are shown in yellow for the previously selected item. Parents are found by going one level up the relationship.

Examples of reconciliation navigation

Initial state diagram

This is the standard configuration following the execution of a Reconciliation Function. The yellow block represents the output of the function.

Where:

  • Source 1 & Source 2 represent the Reconciliation Source objects
  • Result represents the output of the execution
  • Rec Collection represents the collection resulted from the injection of the results

getSources

Outputs the Source 1 & 2 for a given Reconciliation Result object.

getSource1

Outputs the Source 1 or a given Reconciliation Result object.

getSource2

Outputs the Source 2 for a given Reconciliation Result object.

getReconciliationResults

Outputs the result for a given Source object and a Reconciliation function execution. Here is the initial state of this function:

The output of the execution of this function is:

Related Links