Advertisements

Using Altova Mapforce to Create Wikipedia Articles from an ERP backend.

So I wanted to create stub articles and useful charts to flesh out our internal wiki. I of course grabbed the amazing Altova Mapforce and made short work of generating pages and charts and then imported them into our wiki using pywikipedia http://meta.wikimedia.org/wiki/Using_the_python_wikipediabot

Here is what I came up with

http://sites.google.com/site/mellerbeck/Home/usingAltovaMapforcetoCreateWikipediaArticles.pdf?attredirects=0

Here is a quick flash video of the process as well.

http://sites.google.com/site/mellerbeck/Home/wiki.swf?attredirects=0

Advertisements

Silly me, using the right config file for Altova Mapforce

I’ve been using mapforce for quite a long time and love it. Up until now I have always just used the default built in 00501 configurations for EDI. Well, I ran into an edi doc that needed a few additions. Well, cool I thought. I will just go in and edit the .config file, I love that flexibility! Well little did I know that if I had gone here

http://www.altova.com/components_mapforce.html

I could have just downloaded all of the various flavors from 3040-5030 (about 15 in total I think) and then I could have picked the right one to start out with! How’s that for ease of use!

Notice them all along the top! Oh, yeah and if you press the button that says Download additional EDI collections it will get you to the same place!

So since I’m lazy I just opened up the .mfd file with notepad and replaced the old config for the new config. I had to move around a few things but then wala I’m using that version of the config file. Nifty huh.

Mapforce Woes

I love Altova mapforce. But every so often I run into minor blemishes. I used to be able to read in a file, modify it, and then save out to the same file. With with version 2008 rel. 2 this appears broken 😦 this is my post about it on the forum. http://www.altova.com/forum/default.aspx?g=posts&t=1000001196

Now I have to map some XML to EDI and it needs a segment terminator of <CR><LF> and so far I haven’t figured out how to do it, bummer. http://www.altova.com/forum/default.aspx?g=posts&t=1000001197 Luckily, Altova tech support is excellent and very responsive. So I’m not very worried.

A case study I did for Altova just went live!

They did a nice job of explaining the process.

http://www.altova.com/cust_NFF.html

Pausing to think about the process before you start

So awhile back I started working on some EDI work. Which consists of converting X12 gobbledygook into .eif flat files for our ERP to munch on. Anyways, like any problem there are many different approaches to this problem. What had previously been done was some c++ code to parse and convert it into the .eif format. Well a comment from my boss Peter (he always has a great vision of how things should be, and he remembered hearing about some cool mapping software at some conference) put me on the search for some sort of Edi mapping program. With a bit of poking I ran into Altova Mapforce. With all the posts I write about it you would think I work for them, but no. Their stuff is just good. And their support is good. And they pretty much reply to every post I make about them… which cracks me up, but hey at least that shows they are listening to bloggers as well.

Anyways so I started working on mapping the X12 into a flatfile. Which was becoming a little bit hard since Mapforce is best at spitting out CSV files and the like and the .EIF flat file is written with each new data element on a newline. So basically I guess you could call it control line feed delimited.

Well with a little more poking I found out that the ERP could process xml files. And not only that, but it had provided dtd files. So now all I had to do was connect from the X12 elements to the dtd description elements and then drop the produced xml into the folder that the ERP would run its conversion (TransformTool.jar) to create the .EIF and wala the conversion is done.

That is a pretty nice and easy way to convert these files I think!

Section 5: Shipto, depositor, Shipfrom loops, exception, string-join, substring-after, auto-number, replace

And here is section 5 finishing it out.

Section 5: Shipto, depositor, Shipfrom loops, exception, string-join, substring-after, auto-number, replace