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.
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)
- $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.
The following table has examples of the old and new formats.
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>}} |
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')} |