我想创建一个Date
类型的全局变量,我希望将其传递给子作业。我可以将String
和Integer
类型传递给子级1。但是如图所示Date
类型运气不好:
以下是我在 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
。
答案 0 :(得分:0)
正如我在Talend社区论坛上提出的,我强烈建议您将日期上下文变量保留为字符串,并使用to_date函数将值转换为Oracle数据类型,如下所示:
...
AND TRUNC(ACTIVITY_DATE) >= TO_DATE('" + context.FROMDATE + "', 'yyyy_mm-dd')"
...
这里以日期格式为例。
TRF