声明日期类型全局变量并将其传递给来自父作业的子作业

时间:2018-03-17 20:52:36

标签: talend

我想创建一个Date类型的全局变量,我希望将其传递给子作业。我可以将StringInteger类型传递给子级1。但是如图所示Date类型运气不好:

enter image description here

以下是我在 tjavarow 中编写的代码。在子作业上下文中,变量传递此全局变量的值。现在,我正在使用这些工作toracleInput。我必须使用两个Date类型的上下文,其中全局变量Value将来自父作业。

这是我的代码:

String fromdate_file_epsilon=input_row.START_DATE1; 
globalMap.put("fromdate_file_epsilon", fromdate_file_epsilon);
String todate_file_epsilon = input_row.END_DATE1; 
globalMap.put("todate_file_epsilon",todate_file_epsilon); 
Date fromdate_epsilon = input_row.START_DATE;
globalMap.put("fromdate_epsilon", fromdate_epsilon); 
Date todate_epsilon = input_row.END_DATE; 
globalMap.put("todate_epsilon", todate_epsilon); 
Integer load_key_epsilon = input_row.LOAD_KEY;
globalMap.put("load_key_epsilon", load_key_epsilon);
System.out.println(fromdate_epsilon);

我将父作业的全局变量值传递给子作业的上下文值,例如Brand=((String)globalMap.get("brand_epsilon")组件上的ChildJob

1 个答案:

答案 0 :(得分:0)

正如我在Talend社区论坛上提出的,我强烈建议您将日期上下文变量保留为字符串,并使用to_date函数将值转换为Oracle数据类型,如下所示:

... AND TRUNC(ACTIVITY_DATE) >= TO_DATE('" + context.FROMDATE + "', 'yyyy_mm-dd')" ...

这里以日期格式为例。

TRF