Reputation:
I have a problem I’m trying to solve with BizTalk and was hoping you would have some thoughts on the best way to solve it. I am loading in a flat file using a flat file adapter. This file contains records if a number of different types. Type 1 records are parent records. The rest of the types all link to the parent records using various foreign keys. I am looking to develop a transform that will take the message created by loading the flat file (with records of all types) and transform that to a message which is the result of joining all the records based on the foreign keys. Each record in the resulting message would therefore have columns from all of the record types as the message records will be the result of a join.
For example, the flat file might contain the following records:
* Type1
* Type1
* Type2
* Type2
* Type3
* Type4
* Type4
The message after the transform might contain records like this:
* Type1 columns, type2 columns, type3 columns, type4 columns
* Type1 columns, type2 columns, type4 columns
I have been looking into the options for achieving this but was hoping some people might have advice on the way to go.
Things I have tried are:
Any advice on how to go forward to make the best use of BizTalk for this would be appreciated.
Upvotes: 1
Views: 231
Reputation:
Maybe you could try to write a custom xslt for the mapping using the socalled the 'Muenchian method'. It's a way to sort xml input using xslt. The input in this case could be the xml representation of your flat file as provided by BizTalk.
See the Q2 2009 issue of HotRod magazine at http://biztalkhotrod.com/Documents/BizTalk_HotRod_Issue6_Q2_2009.pdf This issue also handles the subject of using custom xslt in BizTalk.
Upvotes: 0
Reputation: 4294
This sounds more like an ETL problem. I'd suggest SSIS. I've used BizTalk for ETL in the past and it never ended well.
Upvotes: 0