FunctoidCategory of custom functoids - Part I

by eliasen 16. November 2008 22:57

Hi all

I am doing a lot of functoid implementation these days, and therefore, I have for instance decided to find out what these FunctoidCategories are and where in the toolbox the different categories belong.

In the toolbox, we have the following groups of functoids:

  • String
  • Mathematical
  • Logical
  • Date/Time
  • Conversion
  • Scientific
  • Cumulative
  • Database
  • Advanced

I still remember my first custom functoid - I was really expecting that in my code I could decide in which group my functoid should appear and maybe even create my own group. But that isn't the case. There are 24 different FunctoidCategories that I can assign my functoid, and only the above 9 groups. You can read more about the different functoid categories here. Basically, I will just give a very short resumé of this information and then I will match each category to a group in the toolbox, so you have this information for future reference.

So, this is what I know:

Category Toolbox group Description
Assert Advanced For internal use only.
Conversion Conversion Converts characters to and from their numeric representation, and to convert numbers from one base to another.
Count Advanced For internal use only.
Cumulative Cumulative Performs various kinds of accumulation of the value of a field that occurs multiple times in a source document and outputs a single output.
DatabaseExtract Database For internal use only.
DatabaseLookup Database For internal use only.
DateTime Date/Time Adds date, time, date and time, or add days to a specified date, in output data.
ExistenceLooping Advanced For internal use only.
Index Advanced For internal use only.
Iteration Advanced For internal use only.
Keymatch Advanced For internal use only.
Logical Logical Controls conditional behavior of other functoids to determine whether particular output data is created.
Looping Advanced For internal use only.
MassCopy Advanced For internal use only.
Math Mathematical Performs specific numeric calculations such as addition, multiplication, and division.
NilValue Advanced For internal use only.
Scientific Scientific Performs specific scientific calculations such as logarithmic, exponential, and trigonometric functions.
Scripter Advanced For internal use only.
String String Manipulates data strings by using well-known string functions such as concatenation, length, find, and trim.
TableExtractor Advanced For internal use only.
TableLooping Advanced For internal use only.
Unknown Advanced For internal use only.
ValueMapping Advanced For internal use only.
XPath Advanced For internal use only.

To see this for your self, download

. Unzip the zip file, copy the dll to "%BTS%\Developer Tools\Mapper Extensions", where %BTS% is the installation folder of BizTalk. Then go to VS.NET 2005 and reload the toolbox. If you want use one of the functoids, remember to also GAC the dll. All the functoids have the exact same implementation, but they do not generate the same XSLT by the mapper because of the chosen category. Perhaps a new blog post on that later on...



Add comment

  Country flag

  • Comment
  • Preview

About the author

Jan Eliasen is 37 years old, divorced and has 2 sons, Andreas (July 2004) and Emil (July 2006).

Jan has a masters degree in computer science and is currently employed at Logica Denmark as an IT architect.

Jan is a 6 times Microsoft MVP in BizTalk Server (not currently an MVP) and proud co-author of the BizTalk 2010 Unleashed book.

BizTalk Server 2010 Unleashed

Buy from Amazon

Microsoft MVP

6 times: July 2004, July 2008, July 2009, July 2010, July 2011, and July 2012. Not currently an MVP.


Image to show

Month List

Page List