BizTalk Mapper Extensions UtilityPack: Logical Functoids for BizTalk Server 2020

Today we will address one of my favorites suite of functoids that will be available for BizTalk Server 2020: Logical Functoids. This is part of the BizTalk Mapper Extensions UtilityPack project migration task I been doing in the last few days. 

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 existent Logical Functoids that came with BizTalk Server with the advantage that these will allow you to connect with others Custom String Functoids. They are fully compatible with existing functoids and don’t produce any more additional code.

This project includes the following Custom Functoids:

  • Advance Logical AND Functoid: Use the Advance 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 Advance 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 Advance 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 Advance 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 Advance 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 Advance 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 Advance 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 Advance 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 Advance 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 UtilityPack

BizTalk Mapper Extensions UtilityPack is a set of libraries with several useful functoids to include and use it in a map, which will provide an extension of BizTalk Mapper capabilities.

BizTalk Mapper Extensions UtilityPack for BizTalk Server 2020

Where to download?

You can download this functoid along with all the existing one on the BizTalk Mapper Extensions UtilityPack  here:

BizTalk Mapper Extensions UtilityPack GitHub RepositoryBizTalk Mapper Extensions UtilityPack
GitHub

Author: Sandro Pereira

Sandro Pereira lives in Portugal and works as a consultant at DevScope. In the past years, he has been working on implementing Integration scenarios both on-premises and cloud for various clients, each with different scenarios from a technical point of view, size, and criticality, using Microsoft Azure, Microsoft BizTalk Server and different technologies like AS2, EDI, RosettaNet, SAP, TIBCO etc. He is a regular blogger, international speaker, and technical reviewer of several BizTalk books all focused on Integration. He is also the author of the book “BizTalk Mapping Patterns & Best Practices”. He has been awarded MVP since 2011 for his contributions to the integration community.

Leave a Reply

Your email address will not be published. Required fields are marked *

BizTalk360
BizTalk Server

Over 500+ customers across
30+ countries depend on BizTalk360

Learn More
Serverless360
Azure

Manage and monitor serverless
components effortlessly

Learn More
Atomicscope
Business Users

Monitor your Business Activity in iPaaS
or Hybrid integration solutions

Learn More

Back to Top