BizTalk Mapper Extensions UtilityPack: CRM Functoids for BizTalk Server 2020

  • Sandro Pereira
  • May 5, 2020
  • 3 min read

Another day and another blog post about BizTalk Mapper Extensions UtilityPack project migration. Today, we will focus on another set of libraries available for BizTalk Server 2020: CRM Functoids, created a few years ago by Salvatore Pellitteri.

📝 One-Minute Brief

Introduces the CRM Functoids in the BizTalk Mapper Extensions UtilityPack for BizTalk Server 2020, enabling direct mapping to Dynamics CRM data types without relying on inline XSLT or custom scripts.

CRM Functoids

These functoids allow you to Integrate Directly with the Dynamics CRM SOAP API, avoiding the use of an inline XSLT Call template script function.

MSCRM requires that different data types be specified differently. For this reason, we provide a set of functoid, one for each specific data type.

This project includes the following Custom Functoids:

  • MSCRM Map Helper Base Types Functoid: Use this functoid when you want to map CRM base data types such as xs:string, xs:int, and so on.
    • The functoid takes three mandatory input parameters:
      • Source Field: Link from source schema field value.
      • Target Field Name: CRM target field name.
      • Target Field Type: CRM target field type (Example: “xs:dateTime”).
    • The output of this functoid should be linked to:
      • ///entity/Attributes/KeyValuePairOfstringanyType/key.
  • MSCRM Map Helper GUID Functoid: Use this functoid when you want to map the CRM GUID type.
    • The functoid takes two mandatory input parameters:
      • Source Field: Link from source schema field value.
      • Target Field Name: CRM target field name
    • The output of this functoid should be linked to:
      • ///entity/Attributes/KeyValuePairOfstringanyType/key
    • You may use this functoid in combination with the CRM Lookup functoid, where you first find the entity GUID and then use the result to map to the destination schema.
  • MSCRM Map Helper Money Functoid: Use this functoid when you want to map the CRM money type.
    • The functoid takes two mandatory input parameters:
      • Source Field: Link from source schema field value.
      • Target Field Name: CRM target field name.
    • The output of this functoid should be linked to:
      • ///entity/Attributes/KeyValuePairOfstringanyType/key
  • MSCRM Map Helper Option Value Functoid: Use this functoid when you want to map the CRM option value type.
    • The functoid takes two mandatory input parameters:
      • Source Field: Link from source schema field value.
      • Target Field Name: CRM target field name.
    • The output of this functoid should be linked to:
      • ///entity/Attributes/KeyValuePairOfstringanyType/key
  • MSCRM Map Helper References Functoid: Use this functoid when you want to map CRM reference type.
    • The functoid takes three mandatory input parameters:
      • Source Field: Link from source schema field value.
      • Target Field Name: CRM target field name.
      • Entity Name: CRM referenced entity.
    • The output of this functoid should be linked to:
      • ///entity/Attributes/KeyValuePairOfstringanyType/key

How to use it

You need to use these functoids in two steps:

  • First Step: specify the CRM Entity Name on the LogicalName element.
CRM Functoids
  • Second Step: define the Key values
CRM Functoids

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.

BizTalk Mapper Extensions Utility Pack

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. 

Thanks for Buying me a coffe
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 *

The Ultimate Cloud
Management Platform for Azure

Supercharge your Azure Cost Saving

Learn More
Turbo360 Widget

Back to Top