Hi, I have to disassemble a kind of "cross-table" flat file (both: positional and delimited) which looks like this: ; ; ; ;000934546 ;000932522 ; ; ; ; ; ; ;Meyers ;Miller ; ; ; ArtNr ;Size;ArtName ;Stock ;22.04.2005;26.05.2005; ; ; 00102148;0054;Shirt ;0000021;0000025 ;0000015 ;0 ;0 ;0 00102148;0052;Shirt ;0000005;0000020 ;0000010 ;0 ;0 ;0 00102148;0050;Shirt ;0000012;0000040 ;0000100 ;0 ;0 ;0 00102148; ; ;0000038;0000085 ;0000125 ;0000000 ;0000000 ;0000000 ; ; ; ;000123456 ;000739535 ;007345878 ; ; ; ; ; ;Smith ;Jones ;Jobs ; ; ArtNr ;Size;ArtName ;Stock ;27.05.2005;12.08.2005;17.09.2005; ; 00102149;0054;Trouser ;0000021;0000015 ;0000015 ;0000020 ;0 ;0 00102149;0052;Trouser ;0000005;0000030 ;0000010 ;0000030 ;0 ;0 00102149;0050;Trouser ;0000012;0000020 ;0000100 ;0000010 ;0 ;0 00102149; ; ;0000038;0000065 ;0000125 ;0000060 ;0000000 ;0000000 [...] As you can see, the first 4 columns are quite simple descriptions of a SKU (stock keeping unit) with header information an a sum-record (which we can ignore). My difficulties arise from the following columns, which hold information about suppliers (horizontally arranged) and their deliveries with amounts for each SKU (in the crossing point). Because I am not the only user of this input, there will be no way to change the An instance of the schema I imagine looks like this: <articles> <article artnr="00102148"> <deliveries> <delivery nr="1" supplierId="000934546" supplierName="Meyers"/> <delivery nr="2" supplierId="000932522" supplierName="Miller"/> </deliveries> <sku size="0054" name="Shirt" stock="21"> <stockreceipt deliveryNr="1" amount="25"/> <stockreceipt deliveryNr="2" amount="15"/> </sku> <sku size="0052" name="Shirt" stock="5"> <stockreceipt deliveryNr="1" amount="20"/> <stockreceipt deliveryNr="2" amount="10"/> </sku> <sku size="0050" name="Shirt" stock="12"> <stockreceipt deliveryNr="1" amount="40"/> <stockreceipt deliveryNr="2" amount="100"/> </sku> </article> <article artnr="00102149"> [...] </article> [...] </articles> Is there a chance to solve this problem using a "simple" flat file disassembler? I would prefer this over the implementation of a special receive pipeline, because I think it will be easier to maintain. But my experiences in building flat file disassemblers are quite restricted at the moment, so any ideas or help would be appreciated. Thanks Markus
Marcus, I really can't decipher your flat-file structure from the post. Would it be possible to attache a sample to your next post? Or send me an email via my blog and I'll look at it. Most "positional" flat-files are really a delimited flat-files with positional records. Yours' seems to use a "padded" delimited field which is not so unusual in legacy systems. -- Jeff Lynch "Ramblings From A [Microsoft] Connected Universe" http://codebetter.com/blogs/jeff.lynch "Markus Glagla" wrote in message news:3cbf60d6907c4278b501d304b7ed9a96@ureader.com... > Hi, > > I have to disassemble a kind of "cross-table" flat file (both: positional > and > delimited) which looks like this: > > ; ; ; ;000934546 ;000932522 ; ; > ; > ; ; ; ;Meyers ;Miller ; ; > ; > ArtNr ;Size;ArtName ;Stock ;22.04.2005;26.05.2005; ; > ; > 00102148;0054;Shirt ;0000021;0000025 ;0000015 ;0 ;0 > ;0 > 00102148;0052;Shirt ;0000005;0000020 ;0000010 ;0 ;0 > ;0 > 00102148;0050;Shirt ;0000012;0000040 ;0000100 ;0 ;0 > ;0 > 00102148; ; ;0000038;0000085 ;0000125 ;0000000 ;0000000 > ;0000000 > > ; ; ; ;000123456 ;000739535 ;007345878 ; > ; > ; ; ; ;Smith ;Jones ;Jobs ; > ; > ArtNr ;Size;ArtName ;Stock ;27.05.2005;12.08.2005;17.09.2005; > ; > 00102149;0054;Trouser ;0000021;0000015 ;0000015 ;0000020 ;0 > ;0 > 00102149;0052;Trouser ;0000005;0000030 ;0000010 ;0000030 ;0 > ;0 > 00102149;0050;Trouser ;0000012;0000020 ;0000100 ;0000010 ;0 > ;0 > 00102149; ; ;0000038;0000065 ;0000125 ;0000060 ;0000000 > ;0000000 > > [...] > > As you can see, the first 4 columns are quite simple descriptions of a SKU > (stock > keeping unit) with header information an a sum-record (which we can > ignore). > > My difficulties arise from the following columns, which hold information > about > suppliers (horizontally arranged) and their deliveries with amounts for > each > SKU > (in the crossing point). Because I am not the only user of this input, > there > will > be no way to change the > > An instance of the schema I imagine looks like this: > > <articles> > <article artnr="00102148"> > <deliveries> > <delivery nr="1" supplierId="000934546" supplierName="Meyers"/> > <delivery nr="2" supplierId="000932522" supplierName="Miller"/> > </deliveries> > <sku size="0054" name="Shirt" stock="21"> > <stockreceipt deliveryNr="1" amount="25"/> > <stockreceipt deliveryNr="2" amount="15"/> > </sku> > <sku size="0052" name="Shirt" stock="5"> > <stockreceipt deliveryNr="1" amount="20"/> > <stockreceipt deliveryNr="2" amount="10"/> > </sku> > <sku size="0050" name="Shirt" stock="12"> > <stockreceipt deliveryNr="1" amount="40"/> > <stockreceipt deliveryNr="2" amount="100"/> > </sku> > </article> > > <article artnr="00102149"> > [...] > </article> > > [...] > </articles> > > Is there a chance to solve this problem using a "simple" flat file > disassembler? I would > prefer this over the implementation of a special receive pipeline, because > I > think it will > be easier to maintain. But my experiences in building flat file > disassemblers are quite > restricted at the moment, so any ideas or help would be appreciated. > > Thanks > > Markus
> Hi, > > I have to disassemble a kind of "cross-table" flat file (both: positional > and > delimited) which looks like this: > > ; ; ; ;000934546 ;000932522 ; ; > ; > ; ; ; ;Meyers ;Miller ; ; > ; > ArtNr ;Size;ArtName ;Stock ;22.04.2005;26.05.2005; ; > ; > 00102148;0054;Shirt ;0000021;0000025 ;0000015 ;0 ;0 > ;0 > 00102148;0052;Shirt ;0000005;0000020 ;0000010 ;0 ;0 > ;0 > 00102148;0050;Shirt ;0000012;0000040 ;0000100 ;0 ;0 > ;0 > 00102148; ; ;0000038;0000085 ;0000125 ;0000000 ;0000000 > ;0000000 > > ; ; ; ;000123456 ;000739535 ;007345878 ; > ; > ; ; ; ;Smith ;Jones ;Jobs ; > ; > ArtNr ;Size;ArtName ;Stock ;27.05.2005;12.08.2005;17.09.2005; > ; > 00102149;0054;Trouser ;0000021;0000015 ;0000015 ;0000020 ;0 > ;0 > 00102149;0052;Trouser ;0000005;0000030 ;0000010 ;0000030 ;0 > ;0 > 00102149;0050;Trouser ;0000012;0000020 ;0000100 ;0000010 ;0 > ;0 > 00102149; ; ;0000038;0000065 ;0000125 ;0000060 ;0000000 > ;0000000 > > [...] > > As you can see, the first 4 columns are quite simple descriptions of a SKU > (stock > keeping unit) with header information an a sum-record (which we can ignore). > > My difficulties arise from the following columns, which hold information > about > suppliers (horizontally arranged) and their deliveries with amounts for each > SKU > (in the crossing point). Because I am not the only user of this input, there > will > be no way to change the > > An instance of the schema I imagine looks like this: > > <articles> > <article artnr="00102148"> > <deliveries> > <delivery nr="1" supplierId="000934546" supplierName="Meyers"/> > <delivery nr="2" supplierId="000932522" supplierName="Miller"/> > </deliveries> > <sku size="0054" name="Shirt" stock="21"> > <stockreceipt deliveryNr="1" amount="25"/> > <stockreceipt deliveryNr="2" amount="15"/> > </sku> > <sku size="0052" name="Shirt" stock="5"> > <stockreceipt deliveryNr="1" amount="20"/> > <stockreceipt deliveryNr="2" amount="10"/> > </sku> > <sku size="0050" name="Shirt" stock="12"> > <stockreceipt deliveryNr="1" amount="40"/> > <stockreceipt deliveryNr="2" amount="100"/> > </sku> > </article> > > <article artnr="00102149"> > [...] > </article> > > [...] > </articles> > > Is there a chance to solve this problem using a "simple" flat file > disassembler? I would > prefer this over the implementation of a special receive pipeline, because I > think it will > be easier to maintain. But my experiences in building flat file > disassemblers are quite > restricted at the moment, so any ideas or help would be appreciated. > > Thanks > > Markus Very nice site! Good work. http://www.sessit.port5.com BizTalk Utilities - Frustration free BizTalk Adapters http://www.topxml.com/biztalkutilities
> Hi, > > I have to disassemble a kind of "cross-table" flat file (both: positional > and > delimited) which looks like this: > > ; ; ; ;000934546 ;000932522 ; ; > ; > ; ; ; ;Meyers ;Miller ; ; > ; > ArtNr ;Size;ArtName ;Stock ;22.04.2005;26.05.2005; ; > ; > 00102148;0054;Shirt ;0000021;0000025 ;0000015 ;0 ;0 > ;0 > 00102148;0052;Shirt ;0000005;0000020 ;0000010 ;0 ;0 > ;0 > 00102148;0050;Shirt ;0000012;0000040 ;0000100 ;0 ;0 > ;0 > 00102148; ; ;0000038;0000085 ;0000125 ;0000000 ;0000000 > ;0000000 > > ; ; ; ;000123456 ;000739535 ;007345878 ; > ; > ; ; ; ;Smith ;Jones ;Jobs ; > ; > ArtNr ;Size;ArtName ;Stock ;27.05.2005;12.08.2005;17.09.2005; > ; > 00102149;0054;Trouser ;0000021;0000015 ;0000015 ;0000020 ;0 > ;0 > 00102149;0052;Trouser ;0000005;0000030 ;0000010 ;0000030 ;0 > ;0 > 00102149;0050;Trouser ;0000012;0000020 ;0000100 ;0000010 ;0 > ;0 > 00102149; ; ;0000038;0000065 ;0000125 ;0000060 ;0000000 > ;0000000 > > [...] > > As you can see, the first 4 columns are quite simple descriptions of a SKU > (stock > keeping unit) with header information an a sum-record (which we can ignore). > > My difficulties arise from the following columns, which hold information > about > suppliers (horizontally arranged) and their deliveries with amounts for each > SKU > (in the crossing point). Because I am not the only user of this input, there > will > be no way to change the > > An instance of the schema I imagine looks like this: > > <articles> > <article artnr="00102148"> > <deliveries> > <delivery nr="1" supplierId="000934546" supplierName="Meyers"/> > <delivery nr="2" supplierId="000932522" supplierName="Miller"/> > </deliveries> > <sku size="0054" name="Shirt" stock="21"> > <stockreceipt deliveryNr="1" amount="25"/> > <stockreceipt deliveryNr="2" amount="15"/> > </sku> > <sku size="0052" name="Shirt" stock="5"> > <stockreceipt deliveryNr="1" amount="20"/> > <stockreceipt deliveryNr="2" amount="10"/> > </sku> > <sku size="0050" name="Shirt" stock="12"> > <stockreceipt deliveryNr="1" amount="40"/> > <stockreceipt deliveryNr="2" amount="100"/> > </sku> > </article> > > <article artnr="00102149"> > [...] > </article> > > [...] > </articles> > > Is there a chance to solve this problem using a "simple" flat file > disassembler? I would > prefer this over the implementation of a special receive pipeline, because I > think it will > be easier to maintain. But my experiences in building flat file > disassemblers are quite > restricted at the moment, so any ideas or help would be appreciated. > > Thanks > > Markus Nice design, good graphical content. I think I'll come back later again;) http://phentermines.forum-on.de BizTalk Utilities - Frustration free BizTalk Adapters http://www.topxml.com/biztalkutilities
> Hi, > > I have to disassemble a kind of "cross-table" flat file (both: positional > and > delimited) which looks like this: > > ; ; ; ;000934546 ;000932522 ; ; > ; > ; ; ; ;Meyers ;Miller ; ; > ; > ArtNr ;Size;ArtName ;Stock ;22.04.2005;26.05.2005; ; > ; > 00102148;0054;Shirt ;0000021;0000025 ;0000015 ;0 ;0 > ;0 > 00102148;0052;Shirt ;0000005;0000020 ;0000010 ;0 ;0 > ;0 > 00102148;0050;Shirt ;0000012;0000040 ;0000100 ;0 ;0 > ;0 > 00102148; ; ;0000038;0000085 ;0000125 ;0000000 ;0000000 > ;0000000 > > ; ; ; ;000123456 ;000739535 ;007345878 ; > ; > ; ; ; ;Smith ;Jones ;Jobs ; > ; > ArtNr ;Size;ArtName ;Stock ;27.05.2005;12.08.2005;17.09.2005; > ; > 00102149;0054;Trouser ;0000021;0000015 ;0000015 ;0000020 ;0 > ;0 > 00102149;0052;Trouser ;0000005;0000030 ;0000010 ;0000030 ;0 > ;0 > 00102149;0050;Trouser ;0000012;0000020 ;0000100 ;0000010 ;0 > ;0 > 00102149; ; ;0000038;0000065 ;0000125 ;0000060 ;0000000 > ;0000000 > > [...] > > As you can see, the first 4 columns are quite simple descriptions of a SKU > (stock > keeping unit) with header information an a sum-record (which we can ignore). > > My difficulties arise from the following columns, which hold information > about > suppliers (horizontally arranged) and their deliveries with amounts for each > SKU > (in the crossing point). Because I am not the only user of this input, there > will > be no way to change the > > An instance of the schema I imagine looks like this: > > <articles> > <article artnr="00102148"> > <deliveries> > <delivery nr="1" supplierId="000934546" supplierName="Meyers"/> > <delivery nr="2" supplierId="000932522" supplierName="Miller"/> > </deliveries> > <sku size="0054" name="Shirt" stock="21"> > <stockreceipt deliveryNr="1" amount="25"/> > <stockreceipt deliveryNr="2" amount="15"/> > </sku> > <sku size="0052" name="Shirt" stock="5"> > <stockreceipt deliveryNr="1" amount="20"/> > <stockreceipt deliveryNr="2" amount="10"/> > </sku> > <sku size="0050" name="Shirt" stock="12"> > <stockreceipt deliveryNr="1" amount="40"/> > <stockreceipt deliveryNr="2" amount="100"/> > </sku> > </article> > > <article artnr="00102149"> > [...] > </article> > > [...] > </articles> > > Is there a chance to solve this problem using a "simple" flat file > disassembler? I would > prefer this over the implementation of a special receive pipeline, because I > think it will > be easier to maintain. But my experiences in building flat file > disassemblers are quite > restricted at the moment, so any ideas or help would be appreciated. > > Thanks > > Markus Du musst ein Fachmann sein - wirklich guter Aufstellungsort, den du hast! http://www.paradistc.org/liberi BizTalk Utilities - Frustration free BizTalk Adapters http://www.topxml.com/biztalkutilities