幕后故事:
我有一个将医生人口统计数据加载到我们系统中的过程。这些数据可以在任何时间和更新之间的任何间隔进入。数据就是我们所说的“Term-by-Exclusion”,意思是源文件优先,数据库中任何不在源文件中的医生记录都被标记为“Termed”或Inactive。
问题:
我需要能够将源数据中的数据输出到平面文件目标中,作为每日报告给配套的 COBOL 系统。源数据在处理之前加载到 ETL.PhysicianLoad 表中,并且在每个新的处理事务之前擦除 ETL 表,因此如果没有输出文件,就不可能像现在这样保留一整天的记录。
示例:ProcessOutput_10152013.txt
理想情况下,输出文件需要全面包含一整天的处理。这意味着我想不断地附加到那一天的文件,直到那一天结束,然后通过电子邮件发送通知,说明该文件已准备好提取。任何在一天之内进入的数据都应该放在新创建的文件中。
输出应如下所示(无标题)
BatchID | LastName | FirstName | MiddleInitial | Date
0001 | Smith | John | A | 10/15/13
0001 | Smith | Sue | R | 10/15/13
0001 | Zeller | Frank | L | 10/15/13
0002 | Peters | Paula | D | 10/15/13
0002 | Rivers | Patrick | E | 10/15/13
0002 | Waters | Oliver | G | 10/15/13
我在想什么:
我正在考虑使用 CurrentDate 变量,该变量将保存当前日期,并将其与基于表达式的名为 FileName 的变量进行比较,该变量会将当前 mmddyyyy 连接到“ProcessOutput_.txt”。我的想法是我应该能够在目标文件夹中找到一个具有该名称的文件,如果它存在,我应该能够写入它。否则我将不得不创建一个新文件。然后我可以通过表达式将我的平面文件目标设置为 FileName 变量。
任何人都可以看到更好的方法或我没有看到的此解决方案可能出现的任何问题吗?