<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2697248620749544434</id><updated>2024-09-13T10:52:54.569-04:00</updated><category term="Gentran Server"/><category term="Sterling"/><category term="Application Integration"/><category term="Distinct keyword"/><category term="EDI"/><category term="EDI Mapping"/><category term="EDI database"/><category term="SQL"/><category term="SQL duplicate records"/><title type='text'>Thorsten Evans</title><subtitle type='html'>Ramblings from the life of Thorsten Evans. &#xa;Thoughts about the Christian Life, family, mentoring and coaching kids, software development and EDI.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://thorstenevans.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2697248620749544434/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://thorstenevans.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Thorsten</name><uri>http://www.blogger.com/profile/04997847250525355184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2697248620749544434.post-7058792465246650809</id><published>2012-06-18T22:51:00.002-04:00</published><updated>2012-06-18T22:51:41.474-04:00</updated><title type='text'>Selecting an EDI/Integration Platform</title><content type='html'>A month ago, a co-worker and I presented at &lt;a href=&quot;http://www.neecom.org/index.php?page=meeting_presentations&quot; target=&quot;_blank&quot;&gt;NEECOM&lt;/a&gt;&amp;nbsp;on our methodology in selecting an EDI platform to replace our existing platform. &amp;nbsp;I&#39;m not going to blog about the entire presentation, but you can download it &lt;a href=&quot;http://neecom.org/CONTENT/evansgrubb.ppt&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt; and let me know if you have any questions. &amp;nbsp;What I would like to do is address some of the feedback and answer some of the questions that we did get after the presentation. &amp;nbsp;On a side note, even if you don&#39;t know what EDI is, you might find some of the information presented below helpful. &amp;nbsp;If you live in New England, consider coming to NEECOM in the fall.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
&lt;span style=&quot;background-color: white;&quot;&gt;That&#39;s not how it works - I live in the real world&lt;/span&gt;&lt;/h3&gt;
&lt;div&gt;
Believe it or not, this comment came up multiple times in various forms...and I agree with them all. &amp;nbsp;In fact, as we presented our methodology, we pointed out in several areas where we did not do what we said. &amp;nbsp;You know the phrase &quot;Do as I say and not as I do&quot;? &amp;nbsp;Well that certainly applied to us. &amp;nbsp;We stuck to this methodology as much as possible, but ultimately we skipped a few steps along the way either by design (you can do that) or by mistake. &amp;nbsp;Looking back if we could do it all over again, we would have done more along the lines of what we presented.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Probably the biggest reason given about the real world is that people don&#39;t really have the time or the resources to go through an in depth selection process. &amp;nbsp;On the contrary...if you think you don&#39;t have the resources or time to go through this process, think about what it will be like after you&#39;ve spent the money and time implementing the first/cheapest solution you figure out that you have to start from scratch because the solution you chose is not capable. &amp;nbsp;I&#39;m thinking if you don&#39;t have a lot of resources, you can&#39;t afford to screw it up the first time...so you better do it right. &amp;nbsp;Just like you wouldn&#39;t go buy the first car on the first dealer lot you came across, you shouldn&#39;t buy the first software package you find.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Ultimately, we presented a methodology that worked (for the most part) for us along with some lessons learned along the way. &amp;nbsp;I think if people can take some of that and apply that to their next software selection process then you&#39;ll be much better off.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
I liked your presentation, but I didn&#39;t need to know that - I have a solution already&lt;/h3&gt;
&lt;div&gt;
I think this comment only came up once, but it was enough to stick with me. &amp;nbsp;I think it stuck with me because the comment seemed so short sighted. &amp;nbsp;The world is constantly changing. One of our reference checks told us that they go through a full evaluation process for their EDI platform every 3-5 years. &amp;nbsp;The average IT professional on average changes companies every 3 years. &amp;nbsp;If you&#39;re not willing to change to adapt to the times, the times will leave you behind. &amp;nbsp;You may not have a need for this information now because you have a stable platform, but what if your software vendor sunsets your solution and now you have an unsupported piece of software. &amp;nbsp;Either you keep the solution and risk it, or you have to find something new. &amp;nbsp;I&#39;m thinking at some point in every IT professional&#39;s career you will need to know how to select a software solution. &amp;nbsp;And even if you don&#39;t, this methodology will work for just about anything.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
Great presentation...who did you choose?&lt;/h3&gt;
&lt;div&gt;
At this point, I am still not able to share who we selected as a platform. &amp;nbsp;Hopefully that time will come soon.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thorstenevans.blogspot.com/feeds/7058792465246650809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thorstenevans.blogspot.com/2012/06/selecting-ediintegration-platform.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2697248620749544434/posts/default/7058792465246650809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2697248620749544434/posts/default/7058792465246650809'/><link rel='alternate' type='text/html' href='http://thorstenevans.blogspot.com/2012/06/selecting-ediintegration-platform.html' title='Selecting an EDI/Integration Platform'/><author><name>Thorsten</name><uri>http://www.blogger.com/profile/04997847250525355184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2697248620749544434.post-3446715562221970020</id><published>2008-02-13T23:24:00.006-05:00</published><updated>2008-02-25T14:30:06.491-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Application Integration"/><category scheme="http://www.blogger.com/atom/ns#" term="EDI Mapping"/><category scheme="http://www.blogger.com/atom/ns#" term="Gentran Server"/><category scheme="http://www.blogger.com/atom/ns#" term="Sterling"/><title type='text'>Gentran Application Integration - Import Map Missing line items</title><content type='html'>After creating and testing several EDI 810 invoice export maps in Gentran Application Integration, we moved most of them into production. The problem occured when we ran these 810 maps in a batch and were importing many documents at the same time. For some reason some of the invoices were missing line items. At first there was no pattern...a five line item invoice might have two lines while a six line item invoice may only have one.&lt;br /&gt;&lt;br /&gt;Rather than go into much detail about what I tried (and what Sterling Tech support tried) here is the problem and the solution:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Problem&lt;/strong&gt;&lt;br /&gt;The EDI 810 IT101 segment was being generated with the Gentran Application Integration  provided code in the Standard rules. The standard rule we used is called loop_count and it was counting the loops through the IT1 group. I realized this might be the problem when one of the maps that did not use this feature (as our trading partner did not require this segment) was not failing.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;br /&gt;In plain terms...use your own code. I created a global variable (under file-&gt;session rules) &lt;em&gt;loopcount&lt;/em&gt; and initialized it to zero. Each time the IT101 segment is reached, I incremented the &lt;em&gt;loopcount&lt;/em&gt; by 1 and set the IT101 segement to this value. Pretty simple.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Added Bonus&lt;/strong&gt;&lt;br /&gt;So before making this change, I had to audit each invocie by looking at each invoice and comparing the number of line items to the CTT01 segement (usually total line count) to figure out if there were any errors. I would then import all of This was quite a chore. So after adding the &lt;em&gt;loopcount&lt;/em&gt; code, I also added a bit of error checking in the CTT01 segement. Here is the code:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:#3333ff;&quot;&gt;If #0354 != loopcount then&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:#3333ff;&quot;&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:#3333ff;&quot;&gt;empty(#0354)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:#3333ff;&quot;&gt;end&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;/span&gt;&lt;br /&gt;The #0354 value is the value loaded into the CTT01 segment. I happen to have a totalLines field in my database that I map to this segment. If the &lt;em&gt;loopcount&lt;/em&gt; value does not match the CTT01 segemnt, the CTT01 segment is set to NULL. Since the CTT01 is mandatory when it is activated, a null value will cause the invoice document to fail and be sent to your red outbox? folder where it can be imported individually, but since getting rid of the canned &lt;em&gt;loop_count&lt;/em&gt; standard rule I have not had a failure.</content><link rel='replies' type='application/atom+xml' href='http://thorstenevans.blogspot.com/feeds/3446715562221970020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thorstenevans.blogspot.com/2008/02/gentran-application-integration-import.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2697248620749544434/posts/default/3446715562221970020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2697248620749544434/posts/default/3446715562221970020'/><link rel='alternate' type='text/html' href='http://thorstenevans.blogspot.com/2008/02/gentran-application-integration-import.html' title='Gentran Application Integration - Import Map Missing line items'/><author><name>Thorsten</name><uri>http://www.blogger.com/profile/04997847250525355184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2697248620749544434.post-5787357020063614233</id><published>2007-12-14T12:44:00.003-05:00</published><updated>2008-02-13T23:17:00.524-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Distinct keyword"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL duplicate records"/><title type='text'>SQL Duplicate Records - Distinct keyword</title><content type='html'>Every run into a situation where records in your tables have no unique field and for some reason there are duplicate records? Well, this happened to me in our EDI database in our invoice tables and was cause some errors during the import process in Gentran Server. Here is what I did:&lt;br /&gt;&lt;br /&gt;First I created temporary tables that mirrored my production tables. (You can get the script for this through SQL Enterprise Manager by selecting the tables and under Action-&gt;All Tasks-&gt;Generate SQL Script).&lt;br /&gt;&lt;br /&gt;Now pull only one of each of the duplicate records into the temp database using the the &#39;distinct&#39; keyword:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:#3333ff;&quot;&gt;insert into invoiceheadertemp&lt;br /&gt;select distinct * from invoiceheader where tranno = 217589 or tranno = 217590 or tranno = 217591&lt;br /&gt;&lt;br /&gt;insert into invoicedetailtemp&lt;br /&gt;select distinct * from invoicedetail where tranno = 217589 or tranno = 217590 or tranno = 217591&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now delete the records from the production database:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:#3333ff;&quot;&gt;delete from invoiceheader where tranno = 217589 or tranno = 217590 or tranno = 217591&lt;br /&gt;&lt;br /&gt;delete from invoicedetail where tranno = 217589 or tranno = 217590 or tranno = 217591&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now insert the unique records from the temp tables:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color:#3333ff;&quot;&gt;insert into invoiceheader select distinct * from invoiceheadertemp where tranno = 217589 or tranno = 217590 or tranno = 217591&lt;br /&gt;&lt;br /&gt;insert into invoicedetail select distinct * from invoicedetailtemp where tranno = 217589 or tranno = 217590 or tranno = 217591&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Someone might ask: &quot;Why not use real temp tables with the # prefix?&quot; Well, these temp tables are also my testing tables that I use to test modified stored procedures as well as testing maps in Gentran Server, so it made sense for me to go ahead and duplicate the tables for this dual purpose.&lt;br /&gt;&lt;br /&gt;I hope this helps someone who finds themselves in a similar situation and let me know if it does!</content><link rel='replies' type='application/atom+xml' href='http://thorstenevans.blogspot.com/feeds/5787357020063614233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thorstenevans.blogspot.com/2007/12/sql-duplicate-records-distinct-keyword.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2697248620749544434/posts/default/5787357020063614233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2697248620749544434/posts/default/5787357020063614233'/><link rel='alternate' type='text/html' href='http://thorstenevans.blogspot.com/2007/12/sql-duplicate-records-distinct-keyword.html' title='SQL Duplicate Records - Distinct keyword'/><author><name>Thorsten</name><uri>http://www.blogger.com/profile/04997847250525355184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2697248620749544434.post-5209749774941223430</id><published>2007-12-04T10:37:00.000-05:00</published><updated>2007-12-04T14:18:09.157-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="EDI"/><category scheme="http://www.blogger.com/atom/ns#" term="EDI database"/><category scheme="http://www.blogger.com/atom/ns#" term="Gentran Server"/><category scheme="http://www.blogger.com/atom/ns#" term="Sterling"/><title type='text'>EDI System Design</title><content type='html'>&lt;strong&gt;Intro&lt;/strong&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;My company has been doing EDI now for many years. Initially our IT Director was manually processing the 850s (Purchase Orders) into our system for larger companies that mandated we do EDI with them. Gradually these big dogs mandated that we start to send them 856 (advance ship notice) and 870s (order status report). These documents were designed to make their life and business &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_0&quot;&gt;seamless&lt;/span&gt; while pushing our IT staff and resources to the max. This continues to happen on a regular basis. We have within the last year begun to move our EDI service to a more scalable product from Sterling called &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_1&quot;&gt;Gentran&lt;/span&gt; Server. Although I did not design the current setup, I thought it might be helpful for those out there that are looking at EDI solutions for your company.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0UFGp3oXo4ELKh6DKuiHVCjhGwGvsdFvkW2XJlLoVvabrX8xi6A-lroy6l6QjgtIVVjXU06TMW_iWGl05VssHpAhM7zk4TWtFvgc2S0U7kcpSrXENMK4yeo9GzaKPQJqZN7zjfKBk5QY/s1600-h/Inbound_doc.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5140192466206070530&quot; style=&quot;FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0UFGp3oXo4ELKh6DKuiHVCjhGwGvsdFvkW2XJlLoVvabrX8xi6A-lroy6l6QjgtIVVjXU06TMW_iWGl05VssHpAhM7zk4TWtFvgc2S0U7kcpSrXENMK4yeo9GzaKPQJqZN7zjfKBk5QY/s320/Inbound_doc.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAJVDZXVCAMmPkbdRudVNLJ56MGlBnXuSnv87YCr7e6MYod0ldyoLjf8rg22crI8BwxCR0cuK5cwAycIVCWjWjnVkuyMsKexed7-u4flKz4wRv7-UJgNcTPyKeKm_cBoymyJmMrtYYlM4/s1600-h/Outbound_doc.jpg&quot;&gt;&lt;img id=&quot;BLOGGER_PHOTO_ID_5140172181075531474&quot; style=&quot;FLOAT: left; MARGIN: 0px 10px 10px 0px; CURSOR: hand&quot; alt=&quot;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAJVDZXVCAMmPkbdRudVNLJ56MGlBnXuSnv87YCr7e6MYod0ldyoLjf8rg22crI8BwxCR0cuK5cwAycIVCWjWjnVkuyMsKexed7-u4flKz4wRv7-UJgNcTPyKeKm_cBoymyJmMrtYYlM4/s320/Outbound_doc.jpg&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;The Basics&lt;/strong&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;Since I assume most reading this will know the basics about EDI, I will not go into the details of sending and receiving documents (maybe in another post). I will instead deal with what happens with a document once we received it as well as how an EDI document is exported out of our enterprise system. The two diagrams to the left give you a general idea of how we handle EDI. &lt;/div&gt;&lt;br /&gt;&lt;div&gt;The Interim EDI Database was something that was designed and implemented before my time as the EDI guy. This step in the document process is perhaps the most important and was only made possible with the use of &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_2&quot;&gt;Gentran&lt;/span&gt; Server. While it is possible to map from &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_3&quot;&gt;Gentran&lt;/span&gt; Server directly into our Enterprise System, the thought was that our company is still growing and who knows what the future holds as far as our Enterprise System. Lets talk a little more about this database and its structure.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;Interim EDI Database&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Our Interim EDI Database has a set of tables for each set of document transactions we send or &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_4&quot;&gt;receive&lt;/span&gt; with our trading partners. For instance, we have an &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_5&quot;&gt;InvoiceHeader&lt;/span&gt;, &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_6&quot;&gt;InvoiceDetail&lt;/span&gt; and a &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_7&quot;&gt;PartnerControlInvoice&lt;/span&gt; table that are used to process only Invoices. We have a few other tables that are shared between multiple processes such as &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_8&quot;&gt;ItemTranslation&lt;/span&gt;, &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_9&quot;&gt;ItemCustSkuTranslation&lt;/span&gt;, and &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_10&quot;&gt;CarrierCode&lt;/span&gt; tables that have global data that is the same regardless of the transaction type.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;When designing these tables, it is important to make sure all of the data you will ever need to process that document is contained in these tables. One might not think that the tracking number is important on an invoice, but some of our trading partners require us to send that to them on the invoice. Gather all of your trading partner EDI specifications and make sure you know what data you will need in your table design. It also doesn&#39;t hurt to gather a little more information from your Enterprise System or EDI documents even if you don&#39;t need it now. You may find a future trading partner may need this data. &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Database Interfaces&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;The most time consuming part of the process was putting together the stored procedures to pull/push the data out of and into our Enterprise System. Getting the data out of the system required digging into the its tables and finding the data you need to create the outgoing document. Again, it helps to know what data you absolutely need before you begin this dig. A helpful tip here is to get as much data from one set of tables as you can. For example, if you are looking for invoice data, look for it in the invoicing table(s) before you go and look in the sales order or shipment table(s). This will save you many headaches later...trust me.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Getting the data into the Enterprise System is a completely different process. You need to know what data your system needs in order to process the document. In our case, Sales Orders are the only documents we automate into our Enterprise System. The best way to figure out what you need and where it needs to go is to run a &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_11&quot;&gt;SQL&lt;/span&gt; trace while someone manually processes an order. It is very important that you follow each step of the process exactly like the system does. Failure to do so will result in either errors in the Enterprise System (helpful but frustrating) or no errors at all with the Sales Order not getting in the system (just plain frustrating). It helps if someone who designed or maintains the Enterprise System can help you with this process. A &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_12&quot;&gt;SQL&lt;/span&gt; guru would be nice as well, if not, Google is your friend.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;Why not an out the box product for the database and stored procedures?&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;For some the option of creating your own database and stored procedures is not feasible. For those I would say it makes sense to look at a product that interfaces with your Enterprise System. Our old system used this type of interface, and while it worked, it did not fit into our long term goals and needs. The product only works with our current Enterprise System. If we made an Enterprise System change, we have had to purchase a new product as well as rewrite all of the maps and go through the testing with our trading partners all over again. With our current set up, we need only redo the stored procedures to move the data into and out of a new Enterprise System. Nothing else changes. &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;In addition to learning a new Enterprise System, we would have had to learn a new mapping process as well. Learning another &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_13&quot;&gt;proprietary&lt;/span&gt; mapping language was not something we were fond of doing either. There are other reasons we didn&#39;t like the old out of the box solution, but I would rather focus on what is good about our current set up. &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;&lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_14&quot;&gt;Gentran&lt;/span&gt; Server&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_15&quot;&gt;Gentran&lt;/span&gt; Server is an all in one product that allows for mapping and document transmit/receive management. I was not involved with selection of this product, but I was told that the mapping process was more intuitive than any of the other products that were looked at. I can&#39;t speak for the other examples, but &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_16&quot;&gt;Gentran&lt;/span&gt; Server is quite intuitive. I am sure it also helped that we have an outstanding relationship with Sterling Commerce with us using some of their other product lines. &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;I think I will reserve some additional thoughts about &lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_17&quot;&gt;Gentran&lt;/span&gt; Server for later posts. I have learned a few things about the product that may benefit a some of you out there including a few undocumented issues that can be worked around, but can be quite frustrating trying to figure out. On a plus note, their technical services team is reachable and generally responsive to the questions I have. &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;It is important to evaluate what your long term EDI goals are before designing your EDI system. We were not entirely convinced that our current Enterprise System will be our last. This thought &lt;span class=&quot;blsp-spelling-corrected&quot; id=&quot;SPELLING_ERROR_18&quot;&gt;necessitated&lt;/span&gt; us designing a loosely couple EDI system. So far it has served us well and will likely serve us well in the future.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;Future Topics&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Here are some future EDI topics I have been thinking about. Leave me a comment and let me know what you would like to see...even if it isn&#39;t on this list.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;em&gt;EDI Web Interface&lt;/em&gt; - Getting EDI troubleshooting in the hand of the less technical&lt;/div&gt;&lt;div&gt;&lt;em&gt;&lt;span class=&quot;blsp-spelling-error&quot; id=&quot;SPELLING_ERROR_19&quot;&gt;Gentran&lt;/span&gt; Server&lt;/em&gt; - common issues and the corresponding solutions&lt;/div&gt;&lt;div&gt;&lt;em&gt;EDI Basics&lt;/em&gt; - Frequently used EDI terminology &lt;/div&gt;&lt;div&gt;&lt;em&gt;EDI Data Files&lt;/em&gt; - Displaying them in web interfaces (812&#39;s, 820&#39;s, 852&#39;s)&lt;/div&gt;&lt;div&gt;&lt;em&gt;EDI Error handling&lt;/em&gt; - Dealing with missing mandatory data&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://thorstenevans.blogspot.com/feeds/5209749774941223430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://thorstenevans.blogspot.com/2007/12/edi-system-design.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2697248620749544434/posts/default/5209749774941223430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2697248620749544434/posts/default/5209749774941223430'/><link rel='alternate' type='text/html' href='http://thorstenevans.blogspot.com/2007/12/edi-system-design.html' title='EDI System Design'/><author><name>Thorsten</name><uri>http://www.blogger.com/profile/04997847250525355184</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0UFGp3oXo4ELKh6DKuiHVCjhGwGvsdFvkW2XJlLoVvabrX8xi6A-lroy6l6QjgtIVVjXU06TMW_iWGl05VssHpAhM7zk4TWtFvgc2S0U7kcpSrXENMK4yeo9GzaKPQJqZN7zjfKBk5QY/s72-c/Inbound_doc.jpg" height="72" width="72"/><thr:total>0</thr:total></entry></feed>