|
As those of you who have read my other horrors may have guessed, I work for a bunch of loons with a penchant for Heath Robinson design. You might think I'm being a little bit harsh, but let me justify myself by explaining the current data flow I'm looking at:
1.) Data is exported from a "legacy" Dos application, and written to a fixed width format file
2.) Legacy Win32 app picks up the data, looks at it briefly, and then writes it to another, but different!, fixed width format file
3.) Legacy Win32 app picks up the file it has just written, and wraps it in EDI - the resulting file is called blah~date.edi (where blah is a meaningful name and date is the date in yymmdd format). Note the ~.
4.) Legacy Win32 app picks up the EDI file it just created, inserts a "header" and "footer" to the file (I understand this breaks EDI conventions), and saves the file, changing alll the ~'s to +'s in the file name to show that the header and footer insertion has happened.
5.) Legacy Win32 app transfers the file to an FTP server
***For the sake of your sanity, I'm going to ommit details of the hellish "Interchange Mechanism"***
6.) WinCE app contacts FTP server, finds work to download, and downloads and saves.
7.) Newly downloaded file is opened, header and footer are removed and file is saved replacing all +'s with ~'s.
8.) Edi file is now extracted to fixed width format as seen in 2.
9.) User performs work on file.
***Again, for your sanity, I'll ommit the actual work process, and we'll go straight to the completed and sending back stage***
10.) WinCE app picks up fixed width file and surrounds content with EDI tags and saves in the blah~date.edi format.
11.) WinCE app picks up newly created file, inserts a header and footer and saves the file replacing all the ~'s with +'s/
12.) WinCE app transfers file to FTP server
***More nastiness ensues - look away!***
13.) Legacy Win32 app contacts FTP server, finds file, downloads and svaes
14.) Newly downloaded file is opened, header and footer are removed and file is saved replacing all +'s with ~'s.
15.) EDI file is now extracted to a fixed width format (as seen in 2) and saved.
16.) Saved file is now opened, extraneous data removed and saved to another fixed width format as seen in 1.
17. File is presented to legacy Dos app.
Do you know what they said when I suggested this was a perfect (and actually, for once, legitimate) use for XML? "XML will never take off - EDI is where it's at!"!
"It was the day before today.... I remember it like it was yesterday."
-Moleman
|
|
|
|
|
You know that scene in Family Guy where a store clerk sees Meg Griffin, screams, pours gasoline over herself, lights herself on fire and then jumps out the window?
Yeah, I think I'd probably do that if I took one look at that app.
|
|
|
|
|
martin_hughes wrote: Do you know what they said when I suggested this was a perfect (and actually, for once, legitimate) use for XML? "XML will never take off - EDI is where it's at!"!
Awesome story, with the perfect punchline.
Faith is a fine invention
For gentlemen who see;
But microscopes are prudent
In an emergency!
-Emily Dickinson
|
|
|
|
|
You mean that's not the way you're meant to do it?
Dammit. Back to the drawing board...
cheers,
Chris Maunder
CodeProject.com : C++ MVP
|
|
|
|
|
Was there any sort of cleanup operation after this, or did it just sit there?
And be grateful the EDI converters didn't create backups as well as the source, or maybe even some temp files for chunks too big to fit into conventional RAM because I'd imagine the system would be filled with useless file handles by now?
Need Another Seven Acronyms... Confused? You will be...
|
|
|
|
|
Put it this way; every 60 days (or thereabouts) a "purge" happens...
"It was the day before today.... I remember it like it was yesterday."
-Moleman
|
|
|
|
|
I actually covered my mouth in shock at that...
This story is going to give me nightmares.
|
|
|
|
|
What a story!
--------------------------------
txtSignature
|
|
|
|
|
ne0h wrote: What a story!
Uh huh, my thoughts exactly
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
Isn't it fun to work with a bunch of ex-COBOL programmers ... at least I am assuming by your story that is what they used to do.
Phil
|
|
|
|
|
You actually almost lost me at one point – lol.
If I had not been in this business so long I might have been surprised, but the only thing that surprises me is that they gave you enough information to figure all that out.
Sorry I very tired right now – but that was very entertaining.
P.S. I am an old DOS guy so a time line for each step might have clarified why they did that to me (changing technology and all) – but I doubt it.
INTP
"Program testing can be used to show the presence of bugs, but never to show their absence."Edsger Dijkstra
|
|
|
|
|
I had a WTF moment while reading the documentation for a "database" system I'm evaluating (name changed to protect the guilty):
"
The precedence of arithmetical operators in SQL expressions differs from the SQL-92 standard. Fubar's SQL parses arithmetic expressions in strict left-to-right order, with no operator precedence.
"
I'm certainly glad I read that before trying to do any actual work with it. I wonder whether or not anyone's been bitten by it.
Certainly there's a work-around (lots of infuriating silly parentheses), but does anyone else find this unacceptable in a modern database system?
|
|
|
|
|
Yep, it's unacceptable. Having to kludge the precedence with parentheses will not only be mind-numbing extra work a but a maintenance headache. No excuse for this, since most earlier SQL standards specified normal operator precedence. I'd say it failed the evaluation because of non-standard precedence creating an error generator and maintenance killer.
|
|
|
|
|
We want that name... to stay away.
If you truly believe you need to pick a mobile phone that "says something" about your personality, don't bother. You don't have a personality. A mental illness, maybe - but not a personality. - Charlie Brooker
My Blog - My Photos - ScrewTurn Wiki
|
|
|
|
|
See Dave's post. I looked at that particular database some years ago, and never looked back at it.
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
|
So much for protecting the guilty.
|
|
|
|
|
The exact quote from the site made it very easy to find.
|
|
|
|
|
|
I took a look, briefly, some years ago at that database, and never really got into it, even though they have those odd ads in Dr. Dobb's Journal all the time...
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
It says its the fastest database though? I wonder how it compares to say sqlite
|
|
|
|
|
StevenWalsh wrote: I wonder how it compares to say sqlite
I am not sure. I haven't really worked with sqlite and I hear alot of good things about it. I am tempted to put together a Northwind style of a database, build it on a number of different database platforms, test out performance and write up an article here about the results. Hmmmm...
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
That would be a very interesting article.
|
|
|
|
|
There are many different approaches to this, and I have to figure which are the most meaningful and what assumptions should be made...
"The clue train passed his station without stopping." - John Simmons / outlaw programmer
|
|
|
|
|
One of the first assumptions would be that proper order of operations is followed. Be sure to test it though.
|
|
|
|