我在PDI 7.0上,并在转换中有一个“修改的Java脚本值”步骤,如下所示:
var numberOfDays = 100; Alert(numberOfDays); setVariable("NUMBER_OF_DAYS", numberOfDays, "r"); Alert(getVariable("NUMBER_OF_DAYS", ""));
但是,当我运行转换时,第一个警报正确抛出100,但下一个警报是空白的(意味着未设置变量)。
这有什么不对?
根据经验,您不应该设置变量并在同一转换中读取它。
设置Set Variables步骤时,请参阅Spoon中弹出的警告:
Set Variables
也就是说,如果你真的坚持通过Java Script设置它,你可以做的是以下设计:
哪里
1)设置变量转换用于设置值:
var numberOfDays = 100; Alert(numberOfDays); setVariable("NUMBER_OF_DAYS", numberOfDays, "r");
2)获取变量只读取它
Alert(getVariable("NUMBER_OF_DAYS", ""));
两种转换都使用相同的步骤,但它们具有单独的任务。