PDI:仅在没有错误时输出

PDI: Output only if no errors

我想将 csv 文件转换为 XML 文件。在转换中,我也有一个小的数据验证,例如字符串的长度必须 < 50。所以我有一个文本文件输入步骤 > 修改 JavaScript 步骤有两个跳到中止步骤(用于错误处理跳) 和 XML 输出步骤。我的目标是只在没有错误发生的情况下创建 XML 文件。目前它创建了一个 XML 和 2 "rows" 和 Abort 因为在 csv 的第 3 行是一个很长的字符串。我认为这是一个非常简单的场景,但我不知道如何解决它。请有人给我小费。 非常感谢。 马可

已编辑:

如果中途中止,你的流程似乎确实会停止超过 50 个字符的字符串,但由于 Pentaho 并行工作,如果第一行有效并到达输出步骤,输出将开始记录,你想要的是阻止这一步,直到所有行都被前面的步骤处理过。

只需在你的输出步骤之前添加一个"Blocking Step"(不要误认为Block this step until steps finish, you want Blocking Step)。 请记住在此步骤中检查 'Pass all rows?' 选项,这将有效地 "Hold" 输出之前转换中的所有行。