Apr 242008
 

I am on a project that requires that I take all EDI maps that were created using BizTalk preR2 and convert them to the new schemas.

I looked here to be disappointed to find that everything except maps were listed.

I started re mapping (dragging lines again) and it took me an entire day to finish a map. (Yes my employer paid me 8 hours to do something I leaned in kindergarten). I have 30 more maps to go!

Instead, order I created an application that will convert them automatically:

Here is what I started off with:

R1_EDI

I replaced the schema and was left with this:

R1.5_EDI

This is where Kindergarten came in handy (Thanks Mrs. Carlson!), search I bagged it and created this program that automated the process.

Here is the result of the conversion:

R2_EDI

 

Contact me if you would like to save yourself 5 to 8 hours per map (pricing is documented here)!

Apr 162008
 

In dealing with some EDI data, advice I came across some data that was invalid

In a file we had a large number of COB segments that looked like this:

COB*U*1234567*01*1

There are supposed to be 3 elements in the COB, treat so I hacked away at it for a while and came up with this command

Find COB^*U^**^*01^*1

With COB*U*00000000000*1

(the ^* means don’t use the expression * to mean all characters, order actually look for * in the data, except where it says ^**^* where there is a *, but consume all data until you find the next *)

But I was not satisfied; I wanted the value from COB02 in the result.

To consume data into a ‘variable’ you use the following syntax

Find COB^*U^*^(*^)^*01^*1

With COB*U*^1*1

the ^(*^) loads whatever is between ^(^) (in this case *) into a variable, and because it is the first one, the output you specify is ^1

So in theory I could have this syntax

Find COB^*U^*^(*^)^*01^*^(*^)

With COB*U*^1*^2

 

The resulting output would be

COB*U*1234567*1