バックストーリー:
医師の人口統計データをシステムにロードするプロセスがあります。このデータは、いつでも、どの更新間隔でも入ってくる可能性があります。データは「Term-by-Exclusion」と呼ばれるものです。つまり、ソース ファイルが優先され、ソース ファイルにないデータベース内の医師のレコードは「Termed」または Inactive としてマークされます。
問題:
コンパニオン COBOL システムへの日次レポートとして、ソース データからフラット ファイルの出力先にデータを出力できる必要があります。ソース データは処理前に ETL.PhysicianLoad テーブルにロードされ、ETL テーブルは新しい処理トランザクションごとに消去されるため、現在の状態では、出力ファイルがなければ 1 日分のレコードを保持することはできません。
例: ProcessOutput_10152013.txt
出力ファイルは、理想的には、1 日の処理全体を包括している必要があります。つまり、その日の終わりまでその日のファイルに継続的に追加し、ファイルの受け取り準備が整ったことを示す通知を電子メールで送信します。一日の変わり目に入ってくるデータは、新しく作成されたファイルに配置する必要があります。
出力は次のようになります (ヘッダーなし)
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 変数を使用して、現在の mmddyyyy を「ProcessOutput_.txt」に連結する FileName と呼ばれる式ベースの変数と比較することを考えています。私の考えでは、宛先フォルダーでその名前のファイルを見つけることができ、存在する場合はそれに書き込むことができるはずです。それ以外の場合は、新しいファイルを作成する必要があります。次に、式を介してフラット ファイルの送信先を FileName 変数に設定できます。
これを行うためのより良い方法や、私が見ていないこのソリューションから発生する可能性のある問題を誰かが見ることができますか?