Workday errors in plain English.

Submit an Error

Studio Eval Step Fails to Deploy With "unterminated literal" From a Semicolon in a String

✓ Verified Workday Studio 3 lookups
The error Failed to deploy - Error thrown when creating handler for step {http://www.capeclear.com/assembly/10}eval, reason: Error eval step id=extract-combo expression=props['log'] = props['log'] + 'Processing attribute combination (Relationship = ' + props['Relationship'] + '; Intl Work Type = ' + props['Intl_Work_Type'] + '; Total % FTE = ' + props['Total_FTE_Pct'] + '; Job Classification = ' + props['Job_Classification_Code'] + ').\n' failed to compile. Reason: Failed to compile: [Error: unterminated literal]

What does "Failed to deploy - Error thrown when creating handler" mean in Workday Studio?

An Eval step would not compile because one of its string literals contains a semicolon. The MVEL engine Studio uses treats a semicolon as the end of a statement, and it applies that rule even when the semicolon sits inside quotes, so the parser reaches the end of the expression still expecting a closing quote and reports an unterminated literal. The assembly fails at deploy time, not at run time.

Quick fix

Replace the semicolons inside the string with commas or another separator, then redeploy. The expression is otherwise valid and needs no other change.

Permanent fix

Treat the semicolon as unusable inside Eval string literals and standardise on a different separator for any text your assemblies build up, log messages especially. Where you genuinely need a semicolon in output, assemble the text in an XSLT or Groovy step instead of Eval, since those do not share the MVEL parser. Adding one Eval step containing a semicolon to a deployment smoke test will catch a regression here at build time rather than on the next deploy.

Troubleshooting

  1. Read the expression quoted in the error. The step id (here extract-combo) tells you exactly which Eval component to open.
  2. Look for a semicolon anywhere inside a quoted string in that expression. It will usually be there as punctuation in a log or message you are building up.
  3. Confirm the diagnosis by removing just the semicolons and redeploying. If it compiles, the semicolon was the cause and nothing else in the expression is wrong.
  4. Check the rest of the assembly for the same pattern before you finish. Any other Eval step building a message with semicolon-separated text will fail the same way as soon as it is touched.
Was this helpful?

Related errors