0

私は適度に複雑なフラット ファイル スキーマに取り組んでおり、変化球が投げられました。入力は次のようになります。

BCT121,C,7.35,6.5,0.39,7216,"スミス、トレーシー",13456321,CLASS DRESSMAKING SHOPPE,CLASS DRESSMAKING SHOPPE,VAN,BC,20090109,20090112,20090127,V,0.46, BCT121,C,14.7,13.01, 0.78,7216,"スミス、トレーシー",13456321,クラス ドレスメイキング ショップ,クラス ドレスメイキング ショップ,VAN,BC,20090110,20090112,20090127,V,0.91, BCT121,C,60.27,53.34,3.2,5812,"スミス、トレーシー",13456321,ME-N-ED'S PIZZA PARLORS,ME-N-ED'S PIZZA PARLORS,VAN,BC,20090110,20090112,20090127,V,3.73, BCT121,C,201.56,179.96,0,5200,"スミス、トレーシー",13456321,THE HOME DEPOT #7145,THE HOME DEPOT #7145,VAN,BC,20090110,20090112,20090127,V,21.6,REF.#^1^

わかりましたので、クライアントが必要とする出力は次のとおりです。

各個人/カード番号の PRQT と呼ばれる 1 つのヘッダー行と、上記の各トランザクションの行..したがって、トレーシーの場合、トランザクションの詳細である 1 つの PRQT 行と 4 つの PRLN 行があります..お気に入り:

PRQT、SMIT6321、13456321、詳細、詳細など

PRLN、SMIT6321、7.35、6.5など

PRLN、SMIT6321、14.7、13.01など

PRLNなど

PRLNなど

さて、私の主な問題は、ヘッダーに prqt レコードを 1 つだけ挿入する方法ですか? 出力スキーマの既存の値が作成されているかどうかを確認できる論理 Functoid があるかどうかを調べています。私の主キーは SMIT6321 (姓 + カード番号の下 4 桁) です。したがって、基本的にこれを C# でコーディングする場合、以前に挿入された PRQT キーの配列を作成し、ループ中にこれを調べて、既にレコードを作成しているかどうかを確認します。すでに作成していた場合はスキップして、重複する PRQT レコードを作成しないようにします。レコードはソース ドキュメントで時系列に作成されるため、上記のレコードはごちゃ混ぜになり、上記のサンプルのように連続していない可能性があることに注意してください。

誰かが私を正しい方向に向けることができますか? どの Functoid を使用すればよいですか? Biztalk Mapper はこのようなことを処理できますか? 私はそれができると確信しています...私はそれを理解する必要があります。

ありがとう、

エリック

4

1 に答える 1