如何给一个作业参数之前用其他作业计算过的参数?

问题描述 投票:0回答:1

我正在使用 DataStage 11.3 进行并行作业。

我的输入是一个日期,我在 -transformer- 阶段使用“DateOffsetByComponents”函数来获取 4 个具有不同规则的日期,这 4 个结果以不同的 -sequential file- 阶段结束。

我的转换的下一步是在 Sybase 中进行查询,但是条件子句“Where”使用前面提到的 4 个日期作为参数来从数据库中获取正确的信息。

有人知道如何读取每个连续文件中的日期并将其作为下一步的参数吗?

我读到了一个类似的问题,其中他建议在序列作业中使用 -execute command- stage ,但我是 DataStage 的新手,我不清楚如何实现这一点,尽管我可以请注意,在这种类型的作业(序列)中,您可以选择其他作业活动阶段中包含的参数。

提前非常感谢

datastage ibm-infosphere
1个回答
0
投票

是的,执行命令活动从每个文件中读取日期是可行的方法。找出一个操作系统命令来提取您需要的信息,也许是 grep 和 sed 的某种组合,并将其用作命令。命令输出在名为 $CommandOutput 的活动变量中可用。 例如,如果您的文件包含“日期:2021-11-17”行,那么合适的命令可能是 grep Date: filename |剪切-f2 您可能想向管道添加 tr 命令以删除尾随换行符。 每个文件需要一个执行命令活动。从 $CommandOutput 活动变量中访问每个所需的日期。

© www.soinside.com 2019 - 2024. All rights reserved.