Microsoft KB Archive/825993

= PRB: Blank Error Message Box Appears in BizTalk Server Document Tracking =

Article ID: 825993

Article Last Modified on 10/8/2003

-

APPLIES TO


 * Microsoft BizTalk Server 2002 Standard Edition
 * Microsoft BizTalk Server 2000 Standard Edition

-



SYMPTOMS
When you start Microsoft BizTalk Server Document Tracking, an error message box appears that is named VBScript: BizTalk Document Tracking Error. This error message box contains no text. It contains a warning icon and an OK button. When you click OK, most of the controls on the BizTalk Document Tracking page are disabled.



CAUSE
A bug that exists in the script that is contained in the Submit.htm file causes this problem. This file is located in the Program Files\Microsoft BizTalk Server\BizTalkTracking folder.

This problem occurs if at least one organization name that appears in the InterchangeBTM database and the InterchangeDTA database is a string that evaluates to a number (for example, &quot;123&quot;). If this type of string is passed to the TreeView controls that the page contains, you receive the blank error message box.



WORKAROUND
To work around this problem, use either of the following methods:  Method 1

Change the organization names that appear in the InterchangeBTM database and in the InterchangeDTA database so that all the organization names start with an alpha character. For example, if an organization name starts with 123, change the name so that it starts with _123.  Method 2

Work around the TreeView control restriction by modifying the PopulateSourceSelection subroutine and the PopulateDestSelection subroutine that are in the Submit.htm file as follows: Private Sub PopulateSourceSelection '//Called from: window_onload '//Description: Populates Source Selection Dim rsDef Dim rsSrc Dim strTempOrg Dim strSrcOrg Dim strSrcApp strTempOrg = &quot;&quot; set rsDef = DSC1.RecordsetDefs.AddNew(SP_GET_SELECTION_SRC,4,&quot;SourceSelection&quot;) set rsSrc = DSC1.Execute(&quot;SourceSelection&quot;) Do While Not rsSrc.EOF 'Check for end of recordset. strSrcOrg = CStr(rsSrc.Fields(&quot;nvcSrcOrgName&quot;)) strSrcOrg2 = strSrcOrg If IsNumeric(strSrcOrg2) Then 'Check for Numeric Orgs 'Add an underscore character (_) to work around the TreeView limitations. strSrcOrg2 = &quot;_&quot; & strSrcOrg2 End If If strSrcOrg <> strTempOrg Then 'Check for empty or the same org. 'Add Org to the root node. tvSource2.Nodes.Add ,, strSrcOrg2, strSrcOrg strTempOrg = strSrcOrg End If 'Add the App as a child node to the Org ***** strSrcApp = Trim(CStr(rsSrc.Fields(&quot;nvcSrcAppName&quot;) & &quot;&quot;)) dim newnode set newnode = tvSource2.Nodes.Add (strSrcOrg2, 4, strSrcOrg & SEP_TREEVIEWKEY_ORGAPP & strSrcApp, strSrcApp) if strSrcApp = &quot;&quot; then newnode.text = L_TreeCtrlEntryForNoApp_Text end if rsSrc.MoveNext Loop 'You no longer need the recordset. Delete it. DSC1.RecordsetDefs(&quot;SourceSelection&quot;).Delete End Sub

Private Sub PopulateDestSelection '//Called from: window_onload '//Description: Populates Destination Selection Dim rsDef Dim rsDest Dim strTempOrg Dim strDestOrg Dim strDestOrg2 Dim strDestApp strTempOrg = &quot;&quot; set rsDef = DSC1.RecordsetDefs.AddNew(SP_GET_SELECTION_DEST,4,&quot;DestinationSelection&quot;) set rsDest = DSC1.Execute(&quot;DestinationSelection&quot;) Do While Not rsDest.EOF 'Check for end of recordset. strDestOrg = CStr(rsDest.Fields(&quot;nvcDestOrgName&quot;)) strDestOrg2 = strDestOrg If IsNumeric(strDestOrg2) Then 'Check for Numeric Orgs 'Add an underscore character (_) to work around the TreeView limitations. strDestOrg2 = &quot;_&quot; & strDestOrg2 End If If strDestOrg <> strTempOrg Then 'Check for empty or the same org. tvDestination2.Nodes.Add ,, strDestOrg2, strDestOrg strTempOrg = strDestOrg End If '********* Add the App as a child node to the Org. ***** strDestApp = Trim(CStr(rsDest.Fields(&quot;nvcDestAppName&quot;) & &quot;&quot;)) dim newnode set newnode = tvDestination2.Nodes.Add (strDestOrg2, 4, strDestOrg & SEP_TREEVIEWKEY_ORGAPP & strDestApp, strDestApp) if strDestApp = &quot;&quot; then newnode.text = L_TreeCtrlEntryForNoApp_Text end if rsDest.MoveNext Loop 'Delete the recordset DSC1.RecordsetDefs(&quot;DestinationSelection&quot;).Delete End Sub 



STATUS
This behavior is by design.

