|
Home > Archive > BizTalk Server Tools > June 2004 > Question on logical filtering tests in BizTalk 2004 Maps
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Question on logical filtering tests in BizTalk 2004 Maps
|
|
| Matthew Roche 2004-06-20, 11:10 pm |
| Greetings:
I am attempting to create a number of BizTalk Server 2004 maps to translate an inbound document that contains multiple record types to multiple outbound documents, each of which must contain an individual record. I have posted my source schema, destin
ation schema, native instance document (flat file before parsing), XML instance document (the same instance document in it's BizTalk XML representation) and my current map to these locations:
ftp://biztalk.kicks-XXX.net/bts/TACO_Mockup_Schema.xsd (source schema)
ftp://biztalk.kicks-XXX.net/bts/prc_xm9_insert.xsd (destinaation schema)
ftp://biztalk.kicks-XXX.net/bts/TAC...ut_Instance.txt (native instance)
ftp://biztalk.kicks-XXX.net/bts/TAC...hema_output.xml (XML instance)
ftp://biztalk.kicks-XXX.net/bts/TACO_to_xm9.btm (map)
This is what I am trying to accomplish: I need to have SQL Server stored procedures called for each record in the inbound document. The inbound document can contain any number of records, and each record can be of one of three possible record types. (
This is a simplified schema; the real schema has 60+ record types.) I have created one map file for each record type, so that the *matching records* for each record type can be sent to the send ports I've created using the SQL Adapter. The maps work well,
except for the fact that they process every record in the source document instead of only the records that are of the proper record type for the map.
Herein lies my problem. I have searched high and low through the BizTalk Server documentation and these usenet groups and have not found any useful information on how to perform logical tests and/or filtering within a BizTalk Server 2004 map. I did, h
owever, find this tidbit in the BTS doc entry for the Looping Functoid, which I am using in these maps:
"Under certain conditions, some functoids might not behave as expected when they are used in a map with a Looping functoid. If a functoid meets the following conditions, it does not produce the expected results when used with the Looping functoid:
* There is a logical filter in effect that makes the loop occur only when the logical condition evaluates to True. "
This sounds like exatly what I want to do, but over an hour of searching on various forms of "logical filter" both in the BizTalk Server documentation and on Google have yielded no useful results.
How can I add a "logical filter" to my map so that it only processes records of a specific record type in the inbound documents?
Thanks in advance for any assistance!
(There is a thread titled "BizTalk 2004: Delimited flat file schema with multiple record types" in microsoft.public.biztalk.nonxml which contains additional information related to the files with which I'm working in case you need additional context in
formation.)
Matthew
| |
| Matthew Roche 2004-06-20, 11:10 pm |
| Never mind. I did some experimentation and found that the Logical Existence Functoid gives me what I need. if anyone on the BizTalk Server documentation team monitors these groups, you might want to consider adding an example or two for each of the functo
ids so that readers can actually see how they are used. Just a thought...
"Matthew Roche" wrote:
> Greetings:
>
> I am attempting to create a number of BizTalk Server 2004 maps to translate an inbound document that contains multiple record types to multiple outbound documents, each of which must contain an individual record. I have posted my source schema, dest
ination schema, native instance document (flat file before parsing), XML instance document (the same instance document in it's BizTalk XML representation) and my current map to these locations:
>
> ftp://biztalk.kicks-XXX.net/bts/TACO_Mockup_Schema.xsd (source schema)
> ftp://biztalk.kicks-XXX.net/bts/prc_xm9_insert.xsd (destinaation schema)
> ftp://biztalk.kicks-XXX.net/bts/TAC...ut_Instance.txt (native instance)
> ftp://biztalk.kicks-XXX.net/bts/TAC...hema_output.xml (XML instance)
> ftp://biztalk.kicks-XXX.net/bts/TACO_to_xm9.btm (map)
>
> This is what I am trying to accomplish: I need to have SQL Server stored procedures called for each record in the inbound document. The inbound document can contain any number of records, and each record can be of one of three possible record types.
(This is a simplified schema; the real schema has 60+ record types.) I have created one map file for each record type, so that the *matching records* for each record type can be sent to the send ports I've created using the SQL Adapter. The maps work wel
l, except for the fact that they process every record in the source document instead of only the records that are of the proper record type for the map.
>
> Herein lies my problem. I have searched high and low through the BizTalk Server documentation and these usenet groups and have not found any useful information on how to perform logical tests and/or filtering within a BizTalk Server 2004 map. I did,
however, find this tidbit in the BTS doc entry for the Looping Functoid, which I am using in these maps:
>
> "Under certain conditions, some functoids might not behave as expected when they are used in a map with a Looping functoid. If a functoid meets the following conditions, it does not produce the expected results when used with the Looping functoid:
> * There is a logical filter in effect that makes the loop occur only when the logical condition evaluates to True. "
>
> This sounds like exatly what I want to do, but over an hour of searching on various forms of "logical filter" both in the BizTalk Server documentation and on Google have yielded no useful results.
>
> How can I add a "logical filter" to my map so that it only processes records of a specific record type in the inbound documents?
>
> Thanks in advance for any assistance!
>
> (There is a thread titled "BizTalk 2004: Delimited flat file schema with multiple record types" in microsoft.public.biztalk.nonxml which contains additional information related to the files with which I'm working in case you need additional context
information.)
>
> Matthew
|
|
|
|
|