Navigation error occurs during a Task Test with Tables
Technical Note USA11997Created 06-Dec-2005Applies To
Synapta Services Builder for 3270 & 5250
Table Processing
USER_WHERE
Symptoms
Navigation error occurs during a Task Test with TablesUnable to reference Task Input variables in USER_WHERE Step Input expressioncom.attachmate.nav.engine.recorder.RecorderException is thrown in the Designer console (if the console has been enabled)Cause
The underlying cause for the issue is programmatic in nature and is not known at this time.
Fix
There are two different workarounds available:
Workaround 1: Assign the entire expression to the USER_WHERE Task Input variable. However, this forces you to create the expression on the client-side, which is not ideal and negates the purpose of the expression field in the Designer.
*
Workaround 2: Use the REFLECT meta method to create a USER_WHERE expression that is based on the Task Input variable value. For example:
1) Create a java class that will be called by the REFLECT meta method in your Designer Studio project:
package com.mycompany.example;
public class UserWhereParser {
public static String getWhereRule(String taskInput)
{
return "Record like ('*" + taskInput + "*')";
}
}
2) Copy a compiled version of this code to the EAI/Common/config directory.
3) In the USER_WHERE Step expression, call the getWhereRule() method via the REFLECT meta method, and pass the USER_WHERE Task Input variable as the second parameter. For example, add the following expression to the USER_WHERE Step Input expression field:
REFLECT(com.mycompany.example.UserWhereParser.getWhereRule, USER_WHERE)
4) Save the project and restart the Designer
5) Execute the TaskSee the Help documentation for additional information regarding the REFLECT meta method.