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%u00e9 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