Symptoms
When you run a job that uses an inline function, the job fails and logs the following error messages:
- 5098: Inline function evaluation failed for [function call]: [ADT005098E]
- 4001: Script compilation error: Unrecognized escape sequence (CS1009) (Line X, Column Y) [ADT005066E]
Cause
This failure can occur if your function call contains a string literal that uses VB syntax when the function call is being evaluated in C#.
Due to a bug In adTempus 4.3.1 and earlier, inline function calls are always evaluated in C#. Beginning with version 4.4, this will be corrected so that function calls are evaluated using the same language that has been selected for the InlineFunctions script library.
For example, a function call such as this may produce the error:
%=MyFunction("c:\my files\input.txt")%
This is because in C#, a single backslash is treated as a special escape character. To make this valid in C# syntax, you must use one of the following:
%=MyFunction("c:\\my files\\input.txt")%
%=MyFunction(@"c:\my files\input.txt")%
Resolution
For version 4.4 or later, be sure your inline function calls are written using the syntax of the language you have selected for the InlineFunctions library.
For earlier versions, if you use VB.NET for your inline function library, we recommend that you contact us to obtain an update to correct this problem. Otherwise you must use C# syntax for your function calls for now, and then change them to use VB.NET syntax once you update to version 4.4.
Status
adTempus 4
This issue has been resolved. Resolved in version 4.4.