Hi Dave; I just downloaded your latest version of the X12 parser. The DLL exists only in the one place; in the created folder on my hard drive; namely in this case: C:\C1D0F472.
I reference c1d0m471.dll in my C# code in .NET programmatically and see that it has a date of 5/17/2010 3:18 PM. It does not exist anywhere else on my machine.
I make 2 calls to the C1COMMAND5 command in my code; one to parse an 837EDI file to produce an XML output file. The other to parse the same 837EDI file and inserts the data into a SQL Server 2005 database. The calls are shown below.
The first call:
string refx = C1COMMAND5("PARSE", "XML", strFiles[i], @"C:\\Documents and Settings\\bgrewal\\My Documents\\EDI\\EDI files\\X12\\" + strFiles[i].Substring(intpos + 1, strFiles[i].Length - intpos - 1), "OW", "");
The second call:
string ret = C1COMMAND5("PARSE", "ODBC", strFiles[i], "X12:Test123", "", "");
Now here's the rub:
When I run the application as a stand alone (not calling it programmatically) but by double clicking the icon on my desktop, here are the steps that I take:
I create and place a new C1837P.XML mapping file (in the C1D0F472 folder) because I am expecting more than 10 line items in the resulting XML file. In this case I create up to 99 mapping nodes. When I run the application by double clicking the C1D0F472 icon, it creates a parse.log file in the folder and parses the 837EDI file correctly and I get all my data in XML format. It works very well. I have attached the log file for your perusal.
Now here's the anomaly. When I call the DLL from C# code in .NET, it does NOT produce a parse.log file. The output consists of only 10 line items even though the mapping file is present in the C1D0F472 folder. Therefore the 2 ways of running the application produce 2 different results.
Plus the call informing me that the current version is out of date still appears twice only when called from code. Once after the 837EDI is parsed to produce the XML file and secondly after the data has been inserted into the database.
I hope this explanation of what is going on helps you. I would love to see this application do what it does programmatically as it does as a manually run application. We would to move on quickly and make a decision soon as to whether to purchase your product or not. Please let me know if you need anymore information or if I am doing something wrong. Thanks.