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...
--
eliasen