Aug 122008

While modifying a file for a BizTalk process for a client we kept on getting an Error using message tracking  in HAT looking like the following:

System.NullReferenceException: Object reference not set to an instance of an object.

   at Elite.EAI.Orchestrations.Receive_Orchestration.segment8(StopConditions stopOn)

   at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)

The only thing that overcame this problem was changing the file name to something the BizTalk application recognized. In our case that was UPS for a UPS process. Adding a GUID also threw the same exception. Adding characters to the end didn’t throw the exception.

Aug 052008

While trying to drop some files for Thomson’s BizTalk applications to load I found out that for the UPS order application they have built in a lot of logging and archiving. One nice feature is the Uploaded folder which archives messages for a particular dropped file. It looks like this:



These messages can tell you things like what went wrong in the application or if your fields weren’t properly formatted in the file you dropped. This is what I saw initially in one of the files. I needed only the incoming message segment and copied that out.


Copying the black just to see the xml makes it easier to read, and I saw the following (just an example):


Jul 312008

The Thomson system for processing UPS files uses pipe delimited flat files and the UPS generated files are comma delimited. Commas were being replaced with pipes manually and we developed a process that does this automatically. The important part of this was changing the matter field format from the user input to a standard.

The matter field was coming in using the following formats: 99999-01, 99999/01, or  99999.01. They needed to be in the format xxxxx.xxxxx. They would come in all numeric, or alpha-numeric. They were separated by either a (-), (/), or a (.) or a white space.

As an example a Matter Field would come in looking like this:

image or image   or image the output needed to be all numeric looking like this image (five numbers followed by a period and five more numbers and enclosed in pipes.)


If anything came in with something besides a period as a separator  we replaced it with a period. If the segment on the left came in with anything less than five numbers we padded it with zeros i.e. 01 -> 00001, anything more than five numbers we trimmed it to five.  If the second segment (right of the separator) came in with anything other than numbers i.e. 12345.02bigman, we trimmed the letters and padded the number with 0’s ie 12345.00002.

We also had to deal with fields being populated  with commas in the text ie. ,”America Town, USA”,. We set up our BizTalk Program to recognize the the quotes and output |”America Town, USA”|, essentially ignoring any problems with commas in text.

Jul 222008

We had to take a timecard that was in MS Word 2003 format and create XML.  An example of the word document is as follows.





The red box indicates text that was hidden in the document which I have made visible for clarity. The program reads through the document, extracts text from the fields we are interested in and then converts it to XML as follows:

<?xml version="1.0" encoding="utf-8"?> <ns0:file xmlns:ns0=""> <record> <date>Jun 04 08</date> <narrative>Time Entry Narrative</narrative> <hours>5.00</hours> <timecard>3330372</timecard> </record> <record> <date>Jun 05 08</date> <narrative>Time Entry Narrative</narrative> <hours>2.00</hours> <timecard>3330371</timecard> </record> <record> <date>Jun 07 08</date> <narrative>Time Entry Narrative</narrative> <hours>5.00</hours> <timecard>3330370</timecard> </record> <record> <date>Jun 08 08</date> <narrative>Time Entry Narrative</narrative> <hours>3.00</hours> <timecard>3330369</timecard> </record> </ns0:file>

May 202008

Wanted to start writing about our experiences with using the product.

We have just been awarded a contract to enhance some of the functionality in the product.

I don’t have a lot of information about the product other than the Thomson’s product site, some press release information, and Karen Jones singing it’s praises (there are some questionable pictures on this last blog page, so look at it at home!).

Keep your eyes on this Thomson category, as I explore what we are doing and how others might benefit from our enhancements.

By the way, if you have any experiences, feel free to contact me through the blog’s contact page, or you can contact me (Eric) directly on the contact information page, or even feel free to post a comment to this entry.