2012-01-11 38 views
0

我試圖找到其他問題的答案,並沒有在工作,所以我希望有人可以點我到這已被回答,或者可以告訴我如何做到這一點。的BizTalk平面文件,多行記錄debatching

我有一個包含多個文檔的大文件。對於一個樣本,假設這樣的事情

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 

現在,我需要通過123(或127在第二個文件)保存在DOCUMENT_IDENTIFIER樣樣在行開始與第一0即標題行,再加上它下面的所有LINE WITH STUFF HERE行應該構成一個文檔,並且新文檔應該從第二行DOCUMENT_IDENTIFIER行開始。

當我嘗試使用標準的Debatching技術時,管道失敗:或者它只是完全失敗(例如,當我嘗試爲管道定義頭和主體架構)或者它從不啓動第二個文檔如果我只嘗試一個body架構)。

我敢肯定這是一件相當簡單的,但我完全缺失如何完成它。任何建議/方向將受到歡迎。

如果有問題,我現在被困在BT2006 R2上。

回答

0

您的身體架構是什麼樣的?我會開始做對,並確保你有一些將創建XML的單獨記錄的所有「DOCUMENT_IDENTIFIER 1234」記錄。

我會用「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,我會開始創建我的頭和身體模式。我知道這是兩個步驟,但它需要一些猜測。

我想頁眉模式將從RecordDocumentIdentifier和主體被拾取。將RecordForOtherLines(對於外記錄)。

我希望有幫助。如果沒有,發佈你的實際文件和模式,讓我們看看它。

相關問題