This post intends to cover the questions related to BizTalk functoid which a BizTalk developer can face during an interview.
Questions and answers:
1. What is functoid?
The term functoids refers to predefined functions within the BizTalk
Mapper tool set. Functoids support a number of useful
translations and transformations.
We can consider functoids, as pre-defined functions that we can use to
perform complex data manipulations and transformations. Typically on a map, the
data is copied from source to destination by dragging links between elements of
the two schemes. Functoids stays in the middle of these operations
and apply an operation on the incoming data in order to transform them to the
requirements of the destination. BizTalk Mapper Designer represents
a functoid as a box in the middle of the link or links between the
processing elements. As a point of interest, functoid is a term
coined by Microsoft and is commonly described as “functions on steroids.”
2. What is required for a developer to create a
custom functoid?
Basically, you need to
Create a new class library project using the .NET language of your choice and
create a class derived from Microsoft. BizTalk. BaseFunctoids. However,
the easiest way is to use the BizTalk MapperExtensions Functoid Wizard. See
more here .
3. Why would a developer create a
custom functoid ?
Below scenarios can tempt developer to create custom functoid:
4. What is the difference between Value Mapping and Value Mapping Flattening functoid?
- When there is no out of box functoids which can be used to complete the logic.
- When the number of functoids used to implement the logic goes on increasing and becomes difficult to follow and manage.
4. What is the difference between Value Mapping and Value Mapping Flattening functoid?
- Value Mapping: When both the source and the destination schemas define parallel repeating structures between which the relevant data is mapped.
- Value Mapping (Flattening): When the source schema defines a repeating structure and the destination schema defines a flat structure, such that different instances of the repeating structure in the source schema are intended to be mapped into the unique elements in the flat structure in the destination schema.
5. How can you build an if-then-else construction with functoids?
To build if-then-else it will need any of the Logical functoid (depending upon
the requirements, e.g., if the value is to be matched then Equal
Functoid) and a Value mapping functoid. The combination (Logical Functoid
and Value Mapping Functoid) will repeat, firstly to implement IF condition
and secondly to implement ELSE condition.
6. Is it possible to reuse method of a Scripting
Functoid in other Scripting Functoid?
Yes, it is possible. To do so the method at first place should be declared as
public and then it can be called from other scripting functoid.
7. What
is Microsoft.BizTalk.BaseFunctoids.dll?
This DLL implements all the base classes which are needed to create a functoid.
8. What are the ways to integrate custom functoid
into solution?
Custom functiods can be integrated into a solution using two ways (in
both BizTalk.BaseFunctoid is derived):
9. What can be done using Scripting Functoid?
- Directly by using inline code
- Indirectly by reference to a method in a class library deployed into the global assembly cache.
9. What can be done using Scripting Functoid?
Custom code or custom scripts
can be added .
10. How many categories are functoids divided in Tool Box?
10. How many categories are functoids divided in Tool Box?
There are 9 categories
available in Toolbox viz.,
- Advanced
- Conversion
- Cumulative
- Database
- Date and Time
- Logical
- Mathematical
- Scientific
- String
11. Can we concatenate 200 input parameters using String Concatenate functoid?
No. As the minimum input parameter accepted is 1
and the maximum is 100.
12. How can we get the count of the repeating node or repeating element?
13. Is it possible to know the index of the current record in looping structure?
Yes with the use of
Iteration functoid. Iteration functoid gives the index of the
current record in a looping structure.
If you have questions or suggestions, feel free to do in comments section below !!!
Do share if you find this helpful .......
Knowledge Sharing is Caring !!!!!!
Related Post
- Interview questions on Orchestration
- Interview questions on Schema
- Interview questions on Map
- Interview questions on BRE
- Interview questions on Visual Studio in context to BizTalk
- Interview questions on BizTalk Pipeline
- Interview questions on BizTalk BAM
- Interview questions on BizTalk Application
- Interview questions on XSLT - BizTalk
- Interview questions on Helper Class/.Net Assemblies BizTalk
- Interview questions on BizTalk Adapter
- Interview questions on Functoid
- Interview questions on BizTalk Database
- Interview questions on BizTalk EDI
- Interview questions on Orchestration
- Interview questions on Schema
- Interview questions on Map
- Interview questions on BRE
- Interview questions on Visual Studio in context to BizTalk
- Interview questions on BizTalk Pipeline
- Interview questions on BizTalk BAM
- Interview questions on BizTalk Application
- Interview questions on XSLT - BizTalk
- Interview questions on Helper Class/.Net Assemblies BizTalk
- Interview questions on BizTalk Adapter
- Interview questions on Functoid
- Interview questions on BizTalk Database
- Interview questions on BizTalk EDI