IN ODI12c 映射表达式在没有 "execute on source hint" 的情况下在 LKM 中的源上执行

IN ODI12c mapping expression execute on source in LKM without "execute on source hint"

在ODI12c映射中,我们可以使用“execute on source hint”来映射表达式,以便在源上执行表达式。有没有办法在 LKM 中获取映射表达式(无论执行提示是什么)? 当我在 LKM 中使用 [EXPRESSION] 时,它只会获得带有“在源提示上执行”的表达式。

是的,你可以做到。

你需要了解接下来的几点。 您可以在 IKM 中生成表达式,将它们放入变量中,然后在 LKM 中使用它。

这个可以做到,因为执行顺序是下一个:

所有 KM 都有部分:

  • 映射开始,执​​行单元开始,执行单元主要,执行单元结束,映射结束;
  • 此部分的每个部分都按以下顺序执行:映射从 LKM 开始,然后映射从 IKM 开始,然后执行单元从 LKM 开始,然后映射从 IKM 开始,依此类推。
  • 每个 KM 的最后一部分 - 映射清理 - 如上所述执行,但前提是映射 > 物理 > 检查“出错时删除临时对象”

换句话说,你可以这样做:

  • 在 IKM 的映射开始部分声明一个使用 [EXPRESSION] 的变量;
  • 在下一节中的一个 LKM 中使用该变量(不是映射开始)。