Task test fails with a "Navigation Error"
Technical Note USA12007Created 11-Jan-2006Applies To
Synapta Services Builder for 3270 & 5250
REFLECT() method
Tables
Symptoms
Task test fails with a "Navigation Error"com.attachmate.nav.engine.recorder.RecorderException thrown in Designer Java consolejava.util.ConcurrentModificationException thrown in Designer Java consoleCause
This issue occurs when a User-defined Field or Host field is used with the REFLECT() method in the USER_WHERE Step Input expression field.
Fix
Workaround: Use SSA or PPO to programmatically filter the Table dataAdditional information:
For example, the following expressions reference the User-defined Field named "usrYear". When these expressions are entered into the USER_WHERE Step Input expression field, and a task test is performed, the issue will occur.
(REFLECT(java.lang.String.valueOf, TRIM(usrYear))) == '95'
(REFLECT(java.lang.Integer.toString, 95)) == (TRIM(usrYear))
Note that you can normally reference User-defined fields and Host fields without any issue in a USER_WHERE Step Input expression, so long as they're not used in concert with the REFLECT() method. For example, the following expression works without any issue:
usrYear == '95'
Similarly, you can also use the REFLECT() method in the USER_WHERE Step Input expression without any issue, so long as you don't also reference a User-defined field or Host field in the expression. For example, the following works without any issue:
(REFLECT(java.lang.Integer.toString, 95)) == '95'
The issue only occurs when you try and use BOTH the REFLECT() method AND a User-defined field or Host field together, in the same expression.