Transition Event Filter Macro Migration

In an effort to make event filter definition easier and to take advantage of performance gains at run time, a function to migrate the definitions in an existing model has been added. In an existing model, select the Model node, right-click and select FTM → Migrate Transition Event Filters.
migrateEventFilter

New format of the transition event filter macros

The new transition event filter macros have the following formats:
$ContextNNNNN{ <contextname> }
where NNNNN can be NULL|NOTNULL
$ContextNN{ [<contextname>, <contextvalue> }
Where NN can be:
  • EQ (= equal)
  • NE (<> not equal)
  • GT (> greater than)
  • GE (=> greater than or equal)
  • LT (< less than)
  • LE (<= less than or equal)
The following ESQL functions are valid values for <contextvalue>
  • CURRENT_DATE
  • CURRENT_TIME
  • CURRENT_TIMESTAMP
  • CURRENT_GMTDATE
  • CURRENT_GMTTIME
  • CURRENT_GMTTIMESTAMP
For example: $ContextGT{RESERVEDATE, CURRENT_DATE}
$ContextNNNN{ [<contextname>, (<contextvalue>[,<contextvalue>]*) }
where NNNN can be: IN|NOTIN
$ContextNNNN{ $ContextMMMM{...}[,$ContextMMMM{...}]* }
where NNNN can be: AND|OR and MMMM can be: NULL|NOTNULL|EQ|NE|GT|GE|LT|LE|IN|NOTIN

Examples of the old and new transition event filter macro formats

Examples of the transition event filter macro formats are shown in the following table.
Table 1. Format of the old and new transition event filter macros
Old macro format New macro format
$Context{<contextName>}} IS NULL $ContextNull{<contextName>}
$Context{<contextName>}} IS NOT NULL $ContextNotNull{<contextName>}
$Context{<contextName>} = <value> $ContextEQ{<contextName>,<value>}
$Context{<contextName>} > <value> $ContextGT{<contextName>,<value>}
$Context{<contextName>} <> <value> $ContextNE{<contextName>,<value>}
$Context{<contextName>} IN ('' ,...) $ContextIn{<contextName>, ('',...)}
$Context{<contextName>} NOT IN ('',...) $ContextNotIn{<contextName>, ('',...)}
$Context{<contextName> IN
('<value1>','<value2>') AND
$Context{<contextName> } IS NOT NULL
$ContextAND{$ContextIN{<contextName>,
('<value1>','<value2>')
},$ContextNOTNULL{<contextName>}}
The following table has examples of the old and new formats.
Table 2. Examples of the old and new transition event filter macros
Old format New format
'$Context{TXN_TYPE}' = 'COMMAND' $ContextEQ{TXN_TYPE,'COMMAND'}
'$Context{INTERIM_ACK}' <> 'Y $ContextNE{INTERIM_ACK,'Y'}
'$Context{BATCH}' IS NOT NULL $ContextNOTNULL{BATCH}
'$Context{TXN_CLASS}' IN ('IN_TXN_ACK_MQ1','IN_TXN_ACK_MQ2','IN_TXN_ACK_CID') $ContextIN{TXN_CLASS,('IN_TXN_ACK_MQ1','IN_TXN_ACK_MQ2','IN_TXN_ACK_CID')}