TALEND根据TalendDate设置上下文变量

时间:2014-04-10 09:05:55

标签: java variables talend routines

我想根据TalendDate例程中的“value as Table”选项卡设置一个上下文变量,这样我就可以选择昨天的日期: TalendDate.formatDate(“yyyy-MM-dd”,TalendDate.addDate(TalendDate.getCurrentDate(), - 1,“dd”))

它不起作用,当我在选择中包含日期('“+ context.date +”')时,我没有任何回报。

你可以告诉我我错过了什么吗?如果你能帮助我,我将非常感激。

2 个答案:

答案 0 :(得分:4)

您可以使用tContextLoad组件创建要在作业或子作业中使用的上下文的键值对。

在您的情况下,您可能希望使用tFixedFlowInput组件来指定您想要的内容(或者这可能是任何输入,但这只是将其直接硬编码到作业而不需要外部资源的方式)然后链接对于tContextLoad组件,它具有键和值的模式,如下所示:

Defining context variables at run time

您希望将原始代码段用作tFixedFlowInput组件中的值:

tFixedFlowInput configuration

在上面的第一个屏幕截图中,我还添加了一个tContextDump组件并将其连接到tLogRow,以便您可以看到作业的可用上下文:

Output of tContextDump

答案 1 :(得分:1)

你应该创建一个全局变量,然后在tJava中为它赋值。

或者根据您目前的情况,在tJava中粘贴以下内容:

  

context.date = TalendDate.formatDate(“yyyy-MM-dd”,TalendDate.addDate(TalendDate.getCurrentDate(), - 1,“dd”));

然后你可以使用你的变量。它不是java Date类型,而是字符串。