Complex \"cross table\" flat file

Home Page Forums BizTalk 2004 – BizTalk 2010 Complex \"cross table\" flat file

Viewing 1 reply thread
  • Author
    Posts
    • #12273

      Hi,

      I have to disassemble a kind of \”cross-table\” flat file (both: positional and
      delimited) which looks like this:

      [code:1:ce173b26f2]
      ; ; ; ;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

      […]
      [/code:1:ce173b26f2]

      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:

      [code:1:ce173b26f2]
      <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>
      [/code:1:ce173b26f2]

      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

    • #12274

      I would think you could so this. Biztalk supports Positional inside Delimited, that I think would work in your casa.

      I would take a single record and start to try to piece together the flat file schema.

      Some things to note are to avoid using optional fields and that you might have to change parse mode to complex (see help guide on this if needed).

      Best of luck.

Viewing 1 reply thread
  • The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.