Feb 202008

If you are reading the upgrade documentation


(Upgrading to BizTalk Server 2006 R2 from BizTalk Server 2006.doc)

“To apply the HIPAA33ForR2.mst transform”

You can download the Windows SDK from http://go.microsoft.com/fwlink/?linkid=75636


That link doesn’t work, you need to go here and choose the right environment:


The MSDN Development Center for Windows SDK is new, so browse around.

Thanks windows SDK blog for the quick response!

Feb 132008

Microsoft has made it official, shop R3 is coming:

Over the past few months we’ve seen an incredible wave of new platform products and technologies including Windows Server 2008, .NET Framework 3.5, Visual Studio 2008 and SQL Server 2008. You may remember that in the past BizTalk Server has updated features to support the most recent platform releases.  With BizTalk Server 2006 once the RTM versions of Visual Studio 2005 and SQL Server 2005 were released, we did final testing and sent a new version of BizTalk Server out the door. 

Based on feedback from customers and partners, we are planning to do the same thing this time around to follow closely on the heels of this latest platform wave.  Once SQL Server 2008 (the final of the three to be released) becomes generally available, we will follow with an updated version of BizTalk Server designed for the latest versions of Windows Server, the .NET Framework, Visual Studio, and SQL Server.   This will mean that BizTalk Server customers will continue to take full advantage of the platform’s latest improvements including: scalability for mission-critical workloads, improved support for next-generation web and service oriented applications, improved virtualization support and better business insight through Office.

We are also taking the opportunity as part of this BizTalk Server release to deliver additional customer-requested capabilities for our core SOA infrastructure.  We will give more updates on specific features in the coming months, but at a high level we are planning some new investments in the release that includes:

  • New web service registry capabilities with support for UDDI (Universal Description Discovery and Integration) version 3.0
  • Enhanced service enablement of applications (through new and enhanced adapters for LOB applications, databases, and legacy/host systems)
  • Enhanced service enablement of “edge” devices through BizTalk RFID Mobile
  • Enhanced interoperability and connectivity support for B2B protocols (like SWIFT, EDI, etc)
  • SOA patterns and best practices guidance to assist our customer’s implementations

To ensure existing BTS applications continue to run without changes, we are taking an incremental approach and limiting the changes to the items listed above. Because this release build on existing bits, the name of this release will be BizTalk Server 2006 R3. Refreshing the bits (instead of applying a large Service Pack) provides for the best update experience. You should expect to see a CTP of BizTalk Server 2006 R3 later this year (with an RTM planned in H1 CY09).


Feb 112008

A while back I posted a solution that helped me extract the value from a repeating loop designated by a qualifier.  I’ve seen this come up many times with EDI, either you’re extracting a ST or ship-to information or a REF reference information.  Although my previous solution worked it involved adding 4 functiods and changing data within the scripting functiod depending on the Qualifier.  I’ve simplified it to only require 3 functoids and no need for adjusting the script inside of the functoid. 


Here’s an example of what your 3 functoid would look like.



1.  Add a “^” before and after the Qualifier


2.  The scope of the Cumulative Concatenate Functoid should be 1.


3.  The Scripting Functoid Input will be the Qualifier you’re wanting to find and the output from the Cumulative Concatenate functoid.


4.  Finally Insert the following code into the Scripting Functoid (Inline Visual Basic .NET)

Public Function RepeatingLoopWithQualifier_1(ByVal Qualifier As String, ByVal All_Qualifiers_and_Values_Concatonated As String) As String 'All_Qualifiers_and_Values_Concatonated Expects a Commulative Concatonated String of all 'Qualifers preceded by a "^" and Values preceded by a "^" for example ^ST^912 Summer DR.^BT^4312 W. Powell Dim QualifierLocation As Integer = All_Qualifiers_and_Values_Concatonated.IndexOf("^" + Qualifier + "^") Dim QualifierandValueSplit As String() 'If Qualifier is found, find the corresponding Value, else Return "" If QualifierLocation >= 0 Then QualifierandValueSplit = All_Qualifiers_and_Values_Concatonated.Substring(QualifierLocation + 1, All_Qualifiers_and_Values_Concatonated.Length - (QualifierLocation + 1)).Split("^") Return QualifierandValueSplit(1) Else Return "" End If End Function

Here’s the same logic in C#

public string RepeatingLoopWithQualifier_1(string str_Qualifier, string str_AllQualifiers_and_Values_Concatonated) { string[] _ary = str_AllQualifiers_and_Values_Concatonated.Split(new char[] {'^'}); string result = ""; if (str_AllQualifiers_and_Values_Concatonated.IndexOf("^" + str_Qualifier.Trim() + "^")>-1) for (int i=0; i< _ary.Length; i++) { if (_ary[i] == str_Qualifier.Trim()) result = _ary[i+1]; } return result; }