Team Individualism (old blog)

Consultant ramblings

Wednesday, November 23, 2005

BizTalk 2004 Mapping: Multiple Children to one Parent

Through trial an error the BizTalk mapper compiler and I have an agreement:

1) Don't use logical existence functoids (they polarise the map compiler) use record count and logical equals/greater-than

2) Paged maps don't get executed in isolation (the BizTalk mapper compilation bundles it all together and makes a bit of a mess)

3) Combinations of loop record references do not work well at all (regardless of record count usage *point1)

It's probably still easier to use a custom XSLT when all is said and done but there can be reasons to continue using the mapping tool.

To solve a specific problem (choice element on target) I had to

- use a single map
loop through the child elements of the source mapping to the parent element of the target (this gives multiple parents per child)

- Use a record count functoid and output its value to a greater than functoid with the static value 0. The greater-than functoid outputs to the specific choice element

- Use of the same record count functoid with its output to a equal to functoid with the static value 0. The equal functoid outputs to all other choice elements (use of logical functoids in combination with records will work. Logical existence functiods will be compiled out)

0 Comments:

Post a Comment

<< Home