My First Program
Posted: January 9th, 2007 | Author: telcor | Filed under: Information Technology (IT), Work | No Comments »My First Program
Back in 1998 I took my first job in “the industry”: an EDI Clerk/IT Assistant. Being completly self-taught, from the corner or nowhere, I was extremely happy to have the job. It offered potential to learn about the IT field and would give me real-world experience, not only in solving problems, but dealing with users in a manufacturing environment.
Soon after being hired I was introduced to “Sears day.” This referred to every Wednesday when the Company shipped the orders to Sears, and only Sears. At that time, and still today, Sears has some of the worst Shipping requirements of the large retailers. It was nothing for them to generate 300+ 2 line orders, with a total value of ~USD$50 per order. To process the orders, from receiving them to closing the door on the truck, was very taxing. True, part of the processing was like ever other order, but there were aspects of the Sears orders that were unique.
For example, the Bill of Lading required a manifest, which was merely a list the cross-indexed each order with the Distribution Center (DC) that would receive the order. The stack of orders needed verified with the Manifest to be certain each was routed properly. This was done by comparing the order number and DC number as printed on the order, with the same information printed on the Manifest. The comparison was needed because the manifest was keyed to the Bill of Lading number. The Bill of Lading number was not known at time of order, but rather generated (read: invented by the Shipping Supervisor using a consistent pattern) when scheduling the pickup with the Carrier.
That was not the only comparison, two additional reports were generated, each needing data matched with the order, all to ensure correctness. To make matters worse, the entire cross-referencing was performed manually. It would take four people, myself, the shipping clerk, the IT Manager and the Assistant Plant Manager, the full ten hour work day, at minimum, to perform the entire process. Something needed done, the entire process was error prone, highly repetitive and consumed too many resources.
Taking stock of the situation, I considered the tools available. My workstation used DOS 6 and Windows 3.11. Our ERP (Enterprise Resource Planning) system was accessed via a Terminal application. Joy of joys, the Terminal application, wIntegrate could be scripted. The script file was a simple text file containing the raw text commands one would actually perform when using the ERP System. All I needed to do was find a way to take the order numbers and generate the necessary script.
The problem was there were no development tools available, save two: DOS Batch and MS Word. Being young, green really, I chose the lesser of two evils: MS Word. On reason I chose it was for the eroneous view ‘If someone else needs to use this program, they will be more comfortable using MS Word than typing a command on the commandline.’ A noble thought in a sense, but ultimately wrong
Given:
- A list of order numbers, newline separated (\r\n on DOS/Windows)
- The Bill of Lading number
- The Carrier SCAC
- Quantity shipped on the order (this was simple as all orders had the same quantity)
the “program” generated a script which processed every order and generated the necessary reports. With that automated, the cross-referencing could happen sooner since the majority of resource consumption was in the data-entry.
After performing a few test runs, I was ready for the next Sears Day. Wednesday came, I took the stack of orders and went to my workstation. Earlier in the week I had generated the text file with the order numbers. Using a variation of my VBA Program, I had created a script that automated the generation of the shipping labels. Its successful execution told me my Program was capable of creating wIntegrator capable scripts. As everyone bustled around beginning their work day, my work station was busy feeding the script to wIntegrator.
Within 10 minutes every order was processed and the reports were generated. Printing all the reports took another hour, cross-referencing, another hour (you can really tell now what took the bulk of time: order-entry). By first break (9:30), the entire process was done. Around the same time my boss came rushing into my office. She had just remembered it was Sears Day. One can easily image the surprise she experienced when I told her everything was done. After a few minutes of checking everything herself, she left.
We continued using that system the rest of the shipping season. The following year they replaced the old Unix-based ERP with a newer system, one that was far more data-intensive and not scriptable. Plus different routing requirements caused further disruption to the previous flow rendering my continued automation worthless.