2012-01-11 13 views
0

他の質問で回答を見つけようとしましたが、 "標準"回答が機能していないので、誰かが私にこの場所がどこにあるかを指摘することができます答えられた、またはこれを行う方法を私に教えることができます。BizTalkフラットファイル、複数行レコードのデバッチ処理

私はその中に複数のドキュメントを含む大きなファイルを持っています。サンプルについては、今、この

DOCUMENT_IDENTIFIER 12340000000000000000OTHER STUFF HERE 
LINE WITH STUFF HERE 
LINE WITH STUFF HERE 
DOCUMENT_IDENTIFIER 123500000000000000000127456 OTHER STUFF HERE 
LINE WITH STUFF HERE 
LINE WITH STUFF HERE 

のようなものを想定して、私は(第2の文書または127123を介して第1の0から始まるDOCUMENT_IDENTIFIERラインのすべてを保持する必要があるだろうとヘッダ行、プラスその下のすべてのLINE WITH STUFF HERE行が1つのドキュメントを構成し、新しいドキュメントが2番目のDOCUMENT_IDENTIFIER行から開始する必要があります。

標準Debatching技術を使用しようとすると、パイプラインが失敗します:パイプラインのヘッダーとボディスキーマを定義しようとするなど、完全に失敗するか、私はボディスキーマだけを試してみてください)。

私はこれがかなりシンプルなものだと確信していますが、私はそれをやり遂げる方法が全く分かりません。どんな提案/指示も歓迎されます。

問題がある場合、私は現在、BT2006 R2に固執しています。

答えて

0

あなたのボディスキーマはどのように見えますか?私はその権利を取得し、すべての "DOCUMENT_IDENTIFIER 1234"レコードの別々のレコードでXMLを作成する何かを持っていることを確認します。

"DOCUMENT_IDENTIFIER" 1234ビットをタグ識別子として使用し、最初の4文字を避けるために、タグオフセットを4に設定します。

あなたは

RecordForDocumentIdentifiers(あなたのスキーマのルート)グループのmaxOccurs = * RecordForDocumentIdentifier(ここではタグ識別子を設定します)あなたは

RecordForOtherLines Group Maxoccurs=* 
      RecordForOtherLine Maxoccurs=* or whatever your rules are. 
        Fields for the columns of other lines 

ときのことをパースするカラムの フィールドを持つ必要がありますあなたの例を大丈夫と解析し、あなたが望むXMLを生成するように見えるので、私はそこからヘッダとボディのスキーマを作成し始めます。私はそれが2つのステップであることを知っていますが、それにはいくつかの推測が必要です。

私は、ヘッダースキーマがRecordDocumentIdentifierから選択され、本文がRecordForOtherLines(その外部レコード)であると思います。

私は役立つことを願っています。そうでない場合は、実際のファイルとスキーマを投稿し、見てみましょう。

関連する問題