Today, we will address one of my favorite suites of functoids that will be available for BizTalk Server 2020: Logical Functoids. This is part of the migration task for the BizTalk Mapper Extensions UtilityPack project I’ve been working on over the last few days.
📝 One-Minute Brief
Introduces the Logical Functoids in the BizTalk Mapper Extensions UtilityPack for BizTalk Server 2020, providing advanced logical operations that help control conditional creation of elements and attributes inside BizTalk maps.
Logical Functoids
This library includes a suite of functoids to perform a variety of logical operations, often controlling whether a particular element or attribute is created in an output instance message. Most of the Logical Functoids are a replica of the existing Logical Functoids that came with BizTalk Server, with the advantage that these will allow you to connect with other Custom String Functoids. They are fully compatible with existing functoids and don’t produce any additional code.
This project includes the following Custom Functoids:
Advance Logical AND Functoid
Use the Advanced Logical AND functoid to return the logical AND of input parameters. It determines whether all of the specified input parameters are true.
- This functoid requires a minimum of two input parameters and a maximum of one hundred:
- Parameter 1: A value that can be evaluated as either True or False.
- Parameters 2 – 100: Values that can be evaluated as either True or False.
- Returns the logical AND of parameters. True if all of the specified input parameters evaluate to True; False otherwise.
Advance Equal Functoid
Use the Advanced Equal functoid to return the value “true” if the first input parameter is equal to the second input parameter. It tests whether the two input parameters are equal.
- This functoid requires two input parameters:
- Parameter 1: A value to be tested for equality with parameter 2.
- Parameter 2: A value to be tested for equality with parameter 1.
- Returns True if the values of the two input parameters are equal; False otherwise.
Advance Greater Than Functoid
Use the Advanced Greater Than functoid to return the value “true” if the first input parameter is greater than the second input parameter. It tests whether the first input parameter is greater than the second input parameter.
- This functoid requires two input parameters:
- Parameter 1: A value to be tested to determine whether it is greater than parameter 2.
- Parameter 2: A value to be tested to determine whether it is greater than parameter 1.
- Returns True if the value of the first input parameter is greater than the value of the second input parameter; False otherwise.
Advance Greater Than or Equal To Functoid
Use the Advanced Greater Than or Equal To functoid to return the value “true” if the first input parameter is greater than or equal to the second input parameter. It tests whether the first input parameter is greater than or equal to the second input parameter.
- This functoid requires two input parameters:
- Parameter 1: A value to be tested to determine whether it is greater than or equal to parameter 2.
- Parameter 2: A value to be tested to determine whether it is greater than or equal to parameter 1.
- Returns True if the value of the first input parameter is greater than or equal to the value of the second input parameter; False otherwise.
Advance Less Than Functoid
Use the Advanced Less Than functoid to return the value “true” if the first input parameter is less than the second input parameter. It tests whether the first input parameter is less than the second input parameter.
- This functoid requires two input parameters:
- Parameter 1: A value to be tested to determine whether it is less than parameter 2.
- Parameter 2: A value to be tested to determine whether it is less than parameter 1.
- Returns True if the value of the first input parameter is less than the value of the second input parameter; False otherwise.
Advance Less Than or Equal To Functoid
Use the Advanced Less Than or Equal To functoid to return the value “true” if the first input parameter is less than or equal to the second input parameter. It tests whether the first input parameter is less than or equal to the second input parameter.
- This functoid requires two input parameters:
- Parameter 1: A value to be tested to determine whether it is less than or equal to parameter 2.
- Parameter 2: A value to be tested to determine whether it is less than or equal to parameter 1.
- Returns True if the value of the first input parameter is less than or equal to the value of the second input parameter; False otherwise.
Advance Not Equal Functoid
Use the Advanced Not Equal functoid to return the value “true” if the first input parameter is not equal to the second input parameter. It tests whether the two input parameters are not equal.
- This functoid requires two input parameters:
- Parameter 1: A value to be tested for inequality with parameter 2.
- Parameter 2: A value to be tested for inequality with parameter 1.
- Returns True if the values of the two input parameters are not equal; False otherwise.
Advance Logical NOT Functoid
Use the Advanced Logical NOT functoid to return the logical inversion of the input parameter. Use to logically negate the value of the Boolean input parameter.
- This functoid requires one input parameter only:
- Parameter 1: A value that can be evaluated as either True or False.
- Returns True if the specified input parameter evaluates to False; False otherwise.
Advance Logical OR Functoid
Use the Advanced Logical OR functoid to return the logical OR of input parameters. The input parameters have to be Boolean or numeric. It determines whether any of the specified input parameters are true.
- This functoid requires a minimum of two input parameters and a maximum of one hundred:
- Parameter 1: A value that can be evaluated as either True or False.
- Parameters 2 – 100: Values that can be evaluated as either True or False.
- Returns True if any of the specified input parameters evaluate to True; False otherwise.
If-Then-Else Functoid
Use the If-Then-Else Functoid to return a value from one of two input parameters based on a condition. If the condition (first input) is True, then the value of the second input parameter is returned; otherwise, the Third input is returned.
- This functoid requires three input parameters:
- A boolean representing the result of a previous condition
- The value to be returned if the condition is True.
- The value to be returned if the condition is False.
- If the condition is True, then the value of the second input parameter is returned; otherwise, the third input is returned.
BizTalk Mapper Extensions Utility Pack
BizTalk Mapper Extensions Utility Pack is a set of libraries that includes several useful functoids to include in a map, extending BizTalk Mapper’s capabilities.

Download
You can download the source code and application binaries from GitHub:
Hope you find this helpful! If you liked the content or found it useful and would like to support me in writing more, consider buying (or helping to buy) a Star Wars Lego set for my son.
