BizTalk's Cumulative Functoids and their Scope

Biztalk’s powerful mapper tool, allows the reduction of multiple values into a single value. For instance it allows the user to sum up the values of all orders. However what if we are only interested in summing up the value of all the orders in the scope of their parent order book? Well in that case, we can specify a second input parameter to the cumulative functoid which defines the scope of the operation.

The values for the scoping parameter are:

Value

Description

0

This forces the operation over the entire document instance

1

This applies the operation in the scope of the first parameter’s parent

2

Same as 1 but in the scope of the value’s grandparent

3 or greater

You can guess the rest! (Tip: great-grandparent, great-great-grandparent, etc.)

 

In the example below, I have a cumulative sum functoid which calculates the total quantity of items for order books.

Notice the second constant parameter to the cumulative sum functoid specifying the scope of the operation.