我有以下情况。
在informatica中,对于一个包含2个输入文件的进程流,执行union#1,派生页眉和页脚并执行另一个联合并将Union#2输出加载到目标文件。
但是,即使是来自源代码的空白文件,我也需要使用页眉和页脚生成文件(页脚数为2)。
目标文件中的预期内容,如果我们得到空白来源:
HYYYYMMDDCODE1315(标题)
TYYYYMMDDCODE1315 0000002(带有no.of记录的预告片)
有人可以帮忙吗?
提前致谢!
答案 0 :(得分:1)
您可以使用第三个输入文件 - 一个包含1列和1行的虚拟文件。在导出页眉/页脚之前,全外连接此虚拟文件与第一个联合的输出。使用与连接条件中的文件具有相同值的虚拟列(例如,1 = 1)
这样,即使实际输入文件没有任何数据,也会有至少一行来自连接器。稍后,您可以通过检查实际源字段是否为NULL来过滤掉虚拟记录。
答案 1 :(得分:0)
您可以使用会话前命令将标题行回显到文件。然后在会话中将数据附加到现有文件(选中Append if Exists
框)。
使用会话后附加页脚行。
答案 2 :(得分:0)
我可以在informatica中的post session命令中使用以下命令来代替所有这些复杂的过程。
如果[! -s $ PMTargetFileDir / $ OutputFile1];然后回显" H"" $(日期+"%Y%m%d")"" $ (日期+"%Y%m%d")"" XXX"""> $ PMTargetFileDir / $ OutputFile1; echo" T"" $(日期+"%Y%m%d")"" $(日期+& #34;%Y%米%d")"" XXX"""" 00000000002""" >> $ PMTargetFileDir / $ OutputFile1;网络连接;
感谢大家的投入!