Event Framework
R24 AMR | Min(s) read

Using Conditional Event Generation

Conditional Event Generation is an option in Integration Framework that holds a set of conditions based on which an integration event can be saved. When you publish a flow, an IF.EXIT.EVENT.FILTER record is created for that particular flow. If any of these conditions are evaluated to be true, then the records are not created in IF.EVENTS.INTERFACE.TABLE.

This option is now supported for application, version, TSA Service, On Demand, Component Service, and Banking Framework exit points.

It contains three columns Data Field, Operator, and Value. The Conditional Event Generation table has the following properties:

  • On clicking Add Rows, a new row is added. In the newly added row, Data Field can have a value from the dropdown of the data field list. Data field list has a list of all the fields selected from Field box present in the Event Input tab.
  • You can select only one value from the list for each row.
  • Operator in Conditional Event Generation has a drop-down list with EQ, NE, LK, UL, GE, GT, LE, RG, LT, CHANGED, NOT.CHANGED, NULL, and NOT.NULL options. Select the operand to define the condition.
  • Value is a free-text field and can accept any value.
  • The Source tab provides the XML based representation of the Flow as shown below.
  • If the filter condition is complex and cannot be achieved using the simple filter options, then you can write a subroutine to compute if the event needs to be stored. You can define the filter condition or the filter routine in the flow designer. Read the IF.EXIT.EVENT.FILTER section to know about defining this filter routine.
  • The filter routine helps to write any complex code but it is not recommended to use the filter routine unless more than 90 percent of unwanted events are generated and other filter options are not sufficient. Instead, use Filter Expression in IF.EXIT.EVENT.FILTER.

    You can define expression only in the table and not in event designer.

    Once the system publishes the flow, the filter details are stored in IF.EXIT.EVENT.FILTER. You can define these filter details in the IF.INTEGRATION.FLOW.CATALOG record of IF.EXIT.EVENT.FILTER.

IF.EXIT.EVENT.FILTER

The conditional event generation allows to define conditions, which must be met for an exit point to store an integration event. This table holds the conditions that need to be validated during event generation and to decide if the event must be stored in IF.EVENTS.INTERFACE.TABLE.

The filter definition is applicable for all exit points except inflow exit point as inflow events are considered as a response for an inflow request. It does not support AA related transactions for application and version. AA Activity or Activity Class exit points use conditional data collection for filtering and are defined using event designer. Hence, this exit point is not supported for Conditional Events Generation. This table is considered for the Application, Version, Tsa Service, and Component Service exit points.

Field Description
EXIT.POINT.ID

Indicates the record ID and it must be a valid record in IF.EXIT.POINT.

Description Indicates the description of the record.
Exitpnt Inflow Indicates the flow name for which the filter condition is defined. It is auto-populated with the available flows for an exit point, prefixed with the exit point type.
Filter By Field Indicates the flow field name for which the filter condition is defined. It is auto-populated with the available field flows of an exit point.
Filter As Operand

Indicates the operator that needs to be applied. It is an auto-populated field that allows the values such as EQ, NE, LK, UL, GE, GT, LE, RG, LT, CHANGED, NOT.CHANGED, NULL, and NOT.NULL. These values are compared with the constant value specified in Filter Value.

You can use the CHANGED and NOT.CHANGED values to compare with the old image of the data instead of the value in Filter Value. These two operands do not consider Filter Value and are not applicable for the Component Service exit point. Field-level validation is not required.

The NULL and NOT.NULL values in Filter Value do not affect the functionality of the filter.

Filter Value

Indicates the value for the condition and it is a free-text field that allows a valid alphanumeric value with less than 65 characters length.

If you set Filter Value to EQ and NE operators, it accepts more than one value in this field. The values must be separated by commas. The system considers the first value of Filter Value for evaluating the filter.

Filter Routine

You can specify a valid Temenos Transact subroutine to decide if an event must be saved. If a routine is specified for an exit in IF.EXIT.EVENT.FILTER, then only the routine decides if the event must be saved. All other filter definitions are not considered.

This option is applicable only for the Application, Version, Tsa Service, and On Demand event types.
Filter Expression

Indicates the filter expression using complex filter conditions like:

  • SECTOR == “1001” OR SECTOR == “1002”
  • (SECTOR == “1001” OR SECTOR == “1002”) AND LANGUAGE != “1”
  • (SECTOR == “1001” || SECTOR == “1002”) && LANGUAGE != “1”

The supported operators are:

+ / <= >=
- ** == >
* < != %%
!

Integration Framework supports the logical operators like || (OR), && (AND) to add multiple conditions.

  • This option is applicable only for the Application, Version, Tsa Service, and On Demand event types that are based on a transaction affecting only one record. Also, it is defined only in IF.EXIT.EVENT.FILTER.TABLE as the expression requires validation from Temenos Transact.
  • You can define Filter Value, Filter Routine, or Filter Expression.

Filter Routine has the following parameters.

Parameter Description
Exit Point Source (exitPointSrc) Indicates the name of the exit point (IN).
Exit Point Name (exitPointName) Indicates the Triggered Exit Point - AUTH.ROUTINE/INPUT.ROUTINE/JOB.PROCESS/SERVICE.OPERATION (IN).
Flow Name (flowName) Indicates the incoming flow name (IN).
New image of the record (exitFilterRecord) Indicates the new image of transaction record (IN).
Old Image of the record (oldExitFilterRecord) Indicates the old image of the transaction record (IN).
EvalID (evalId) Indicates the record ID for the Tsa Service exit point and the component service method name in case of component service exit point (IN).
Filter status (evalStatus)

Indicates the filter status. It has SUCCESS or FAILURE values (OUT).

  • Success indicates that the event must be stored.
  • Failure indicates that the event must not be stored.
Filter response message (evalErrResp) Indicates any message from the filter routine (OUT).
Integration Framework checks the existence of the routine but does not count the list of parameters defined in the routine. A wrong definition of routine can crash the session. Therefore, due diligence must be exercised while using this option in a production environment.

Copyright © 2020- Temenos Headquarters SA

Published on :
Monday, May 27, 2024 4:41:15 PM IST