Wrox Programmer Forums
Go Back   Wrox Programmer Forums > .NET > Other .NET > Biztalk
|
Biztalk General discussion about Biztalk server.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the Biztalk section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old May 2nd, 2007, 07:09 AM
Registered User
 
Join Date: Apr 2006
Posts: 3
Thanks: 0
Thanked 0 Times in 0 Posts
Default csv with multiple records in random order biztalk

I have created delimted flat file schema for CSV.

It is as follows : -

<?xml version="1.0" encoding="utf-16"?>

<xs:schema xmlns="http://SNTG_STC_ELPMT_BTS_Schema.STC_Incoming_CSV" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://SNTG_STC_ELPMT_BTS_Schema.STC_Incoming_CSV" xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:annotation>

<xs:appinfo>

<b:schemaInfo count_positions_by_byte="false" parser_optimization="complexity" lookahead_depth="0" suppress_empty_nodes="false" generate_empty_nodes="true" allow_early_termination="false" standard="Flat File" root_reference="STC_Incoming_CSV" />

<schemaEditorExtension:schemaInfo namespaceAlias="b" extensionClass="Microsoft.BizTalk.FlatFileExtensio n.FlatFileExtension" standardName="Flat File" xmlns:schemaEditorExtension="http://schemas.microsoft.com/BizTalk/2003/SchemaEditorExtensions" />

</xs:appinfo>

</xs:annotation>

<xs:element name="STC_Incoming_CSV">

<xs:annotation>

<xs:appinfo>

<b:recordInfo structure="delimited" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" sequence_number="1" child_delimiter_type="hex" child_delimiter="0x0D 0x0A" child_order="infix" />

</xs:appinfo>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:annotation>

<xs:appinfo>

<b:groupInfo sequence_number="0" />

</xs:appinfo>

</xs:annotation>

<xs:element minOccurs="0" maxOccurs="unbounded" name="TKDTE">

<xs:annotation>

<xs:appinfo>

<b:recordInfo sequence_number="1" structure="delimited" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" child_delimiter_type="char" child_delimiter="," child_order="infix" tag_name="&quot;TKDTE&quot;" />

</xs:appinfo>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:annotation>

<xs:appinfo>

<b:groupInfo sequence_number="0" />

</xs:appinfo>

</xs:annotation>

<xs:element name="Identifier" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" sequence_number="1" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="VendorID" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo sequence_number="2" justification="left" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="VendorRef" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo sequence_number="3" justification="left" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Move" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo sequence_number="4" justification="left" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Tank" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo sequence_number="5" justification="left" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="TankAlpha" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo sequence_number="6" justification="left" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="TankCheck" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo sequence_number="7" justification="left" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="DateType" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo sequence_number="8" justification="left" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Date" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo sequence_number="9" justification="left" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Time" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo sequence_number="10" justification="left" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Message" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo sequence_number="11" justification="left" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element minOccurs="0" maxOccurs="unbounded" name="TKSLS">

<xs:annotation>

<xs:appinfo>

<b:recordInfo structure="delimited" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" sequence_number="2" tag_name="&quot;TKSLS&quot;" child_delimiter_type="char" child_delimiter="," child_order="infix" />

</xs:appinfo>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:annotation>

<xs:appinfo>

<b:groupInfo sequence_number="0" />

</xs:appinfo>

</xs:annotation>

<xs:element name="Identifier" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="1" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="VendorID" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="2" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="VendorRef" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="3" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Move" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="4" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Tank" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="5" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="TankAlpha" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="6" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="TankCheck" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="7" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Seal1" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo sequence_number="8" justification="left" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Seal2" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" sequence_number="9" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Seal3" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" sequence_number="10" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Seal4" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" sequence_number="11" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Seal5" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" sequence_number="12" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Seal6" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" sequence_number="13" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Seal7" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" sequence_number="14" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Seal8" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" sequence_number="15" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Seal9" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" sequence_number="16" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Seal10" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" sequence_number="17" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Seal11" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" sequence_number="18" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Seal12" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" sequence_number="19" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Message" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" sequence_number="20" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element minOccurs="0" maxOccurs="unbounded" name="TKWGH">

<xs:annotation>

<xs:appinfo>

<b:recordInfo sequence_number="3" structure="delimited" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" child_order="infix" child_delimiter_type="char" child_delimiter="," tag_name="&quot;TKWGH&quot;" />

</xs:appinfo>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:annotation>

<xs:appinfo>

<b:groupInfo sequence_number="0" />

</xs:appinfo>

</xs:annotation>

<xs:element name="Identifier" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo sequence_number="1" justification="left" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="VendorID" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="2" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="VendorRef" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="3" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Move" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="4" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Tank" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="5" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="TankAlpha" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="6" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="TankCheck" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="7" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Units" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo sequence_number="8" justification="left" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="NetOrGross" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo sequence_number="9" justification="left" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Weight" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo sequence_number="10" justification="left" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Message" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo sequence_number="11" justification="left" wrap_char_type="char" wrap_char="&quot;" />

</xs:appinfo>

</xs:annotation>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element minOccurs="0" maxOccurs="unbounded" name="TRINV">

<xs:annotation>

<xs:appinfo>

<b:recordInfo sequence_number="4" structure="delimited" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" tag_name="&quot;TRINV&quot;" child_order="infix" child_delimiter_type="char" child_delimiter="," />

</xs:appinfo>

</xs:annotation>

<xs:complexType>

<xs:sequence>

<xs:annotation>

<xs:appinfo>

<b:groupInfo sequence_number="0" />

</xs:appinfo>

</xs:annotation>

<xs:element name="Identifier" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="1" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="VendorID" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="2" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="VendorRef" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="3" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Move" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="4" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Tank" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="5" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="TankAlpha" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="6" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="TankCheck" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="7" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Supplier" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="8" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="TotalAmount" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="9" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Currency" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="10" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="InvoiceDate" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="11" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="ServiceDate" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="12" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="ShipperName" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="13" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="ShipperCity" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="14" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="ShipperCounty" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="15" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="ConsigneeName" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="16" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="ConsigneeCity" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="17" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="ConsigneeCounty" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="18" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Load_Unload" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="19" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="Haulage" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="20" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="FuelCharge" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="21" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="InsuranceCharge" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="22" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="OfficeCode" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="23" />

</xs:appinfo>

</xs:annotation>

</xs:element>

<xs:element name="ErrorMsg" type="xs:string">

<xs:annotation>

<xs:appinfo>

<b:fieldInfo justification="left" wrap_char_type="char" wrap_char="&quot;" sequence_number="24" />

</xs:appinfo>

</xs:annotation>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>



I am able to process min occur = 0 record with making parsing optimiztion = complex and lookahead depth = 0.



suppose for 3 child nodes A , B , C

folowwing CSV file can be processed

<A>

<B>

<C>

 or



 <A>

<A>

<B>

<B>


 OR

<B>

<C> ETC ETC...

 but xcan't process this

<A>

<B>

<A> .....I hope u guys understand....

Its very urgent...do rep.





Similar Threads
Thread Thread Starter Forum Replies Last Post
Running Multiple BizTalk Configurations? RaminS Biztalk 1 April 23rd, 2005 07:07 PM
ongoing problem with random records....HELP! ps124 ASP.NET 1.0 and 1.1 Basics 0 March 26th, 2004 05:35 PM
help with random records ps124 ASP.NET 1.0 and 1.1 Basics 0 March 14th, 2004 10:57 PM
Generating 5 unique random records from a database ps124 ASP.NET 1.0 and 1.1 Basics 2 March 8th, 2004 05:59 PM
random records from database HammR PHP Databases 1 December 11th, 2003 02:03 PM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.