Remotely Supporting Supply Chain Solutions to a Global Clientele
The day started a little earlier than most. My peaceful slumber was interrupted by unexpected cargo carried over from the previous day that seemed to roll in like waves until the largest piece crashed to shore sometime around 4:30 am.
7:30 am: Time to flip the open sign around on the shop window. Although holding the official title of “Supply Chain Analyst,” like my colleagues, I wear many hats around the Profit Point shop. I am part of a team of supply chain management and optimization experts that deliver and support supply chain solutions to a global clientele. On any given day, I may put on a Bowler when I fancy some development in Visual Basic / VBA, T-SQL or I may reach for a SQL programmer visor when I am feeling the need to query, but on some days, a Deer Stalker is in order.
7:40 am: One of my many roles at Profit Point involves the development and ongoing support of production scheduling systems built upon a best-of-breed supply chain software tool, Aspen Plant Scheduler, part of the aspenOne Supply Chain Management (SCM) Suite. It is a vitally important tool utilized for production scheduling activities for many of our clients most having a global reach. For this reason at the start of each day, I flip my online status to green and check my email for new messages arriving from overseas. This morning the waters seem particularly calm.
08:00 am: A colleague, Mark, reached out to me to pick my brain about a real head-scratcher brought to him by a plant production scheduler at a European facility. The scheduler was receiving a strange error message while attempting to import transactional data from the company’s EPR system into the production scheduling system. The system spits out the error signal “MSG = Oracle ODBC Ora ORA-01722: Nombre nonvalide” with each import failure. Curious enough the data imports were working fine until moments ago. Immediately, Mark and I concur that this smells of funky data.
08:20 am: No funky data to be found. Is the message a red herring? Network related issue? Oracle backend or a client issue? Since Oracle service issues lie outside our area of privilege and I have a lot on my plate today, I open a support request with the client’s Oracle services group on behalf of the scheduler.
10:00 am: Nearing the end of the day for the scheduler and no word back from the Oracle folks. Even though no news is not good news to me, I decide to wait and see what comes back from the Oracle services group while I tended to other business at hand.
10:45 am: While it may be true that Oracle and database support are not my primary area of expertise nor part of my official role, I do possess enough skill in and knowledge of Oracle and SQL Server platforms to make me dangerous in the eyes of any DBA or anyone who knows the full value of read-only access. I decide to reach out to the scheduler to see what I can do. Before I can get in too deep, the scheduler immediately offers, “Can this wait until tomorrow because I was able to complete the data import from another PC and I have to leave.”…wait what?
11:15 am: After a few Google searches and visits to Oracle tech support and web forums, I decide to honor the scheduler’s request. Since I cannot access either PC for the time being and there is still a lot my plate today, it is probably best to wait and see what comes back from the Oracle folks.
05:30 am: While firing up the laptop, I recall a previous experience when I ported over a simple Microsoft Excel application for use outside the North American. Regional language differences can offer headaches, more specifically numeric formatting headaches. It is time to retrace my steps and recover some guidance documents on National Language Support. Then crack the knuckles and bend the fingers back and dive into Oracle. Some moments later I resurface holding up an “ah ha” find.
06:15 am: There is a data field in Oracle, pleasant enough, flowing with data, of VARCHAR2 type if you know what I mean. We are not talking millions of records, but thousands for sure, all appearing to represent a whole number value expressing a large scale inventory measure. No nulls, no useless space characters, no non-numeric values, but there is this one little gem buried within a bunch of plain old ordinary looking numbers. It’s a Real number. What a find. I can’t wait to tell anyone who will listen.
06:20 am: I recall what another programmer once told me, “One man’s decimal, is another man’s comma.” I grin because I have what I need to solve the riddle confounding my European friend.
09:00 am: I reconnect with the plant scheduler in Europe. My plan is simple. Compare the Oracle client configuration on the failing and working machines to confirm my suspicions, fix the thing, declare victory and move on. Sure that probably means kicking around in the Windows registry and System Environment Variables set. Certainly, no harm can come that.
09:05 am: Earlier I had reached out to the Oracle services group, no longer seeking guidance on the error but rather their blessing for what I intended to do. I invited a DBA type to join our little party, and he joins us.
After a romp through the registries on both machines, we have our confirmation. Failing PC HKEY_LOCAL_MACHINE > SOFTWARE > Oracle > KEY_OraClient11g_home > NLS_LANG = FRENCH_FRANCE.WE8… Working PC is a bit different as expected. Satisfied and keeping with the game plan, we carve a new “NLS_LANG” System Environment variable into Windows inscribed “AMERICAN_AMERICA.WE8MSWIN1252”.
09:20 am: Let’s fire this thing up and give it a go. The honor of relaunching the data shipment was given to the plant scheduler. After a few moments, the data lands safely into the plant production scheduling system. Everybody is happy, and there is a huge celebration
09:30 am: As I push back in my chair to reflect upon and then document what just happened, I thought to myself this could be a two thumbs up and a smiley face kind of day.
Am I Living the Dream Yet?
Yes, every day. Unexpected cargo arriving on your shoreline may be a surprise, but it does make a job interesting!