Archive

Archive for the ‘Technology’ Category

Oracle WMS Cycle Count Bug

December 5, 2016 7 comments

We recently completed a Physical Inventory using Oracle WMS Cycle Count functionality and some custom programming. It was a arguably a success. I’ll post something about that in the future, hopefully, but here is something that is really aggravating me at the moment.

Two of the biggest problems we had appeared to be bugs with seeded forms/functionality. We had two different symptoms, that seemed like seeded (built in/out of the box) functionality was broken, and it took us quite some time to identify the root cause.

  • The Approve Cycle Counts form would not show us a portion of the cycle count entries
    • The counts were in the database
    • The counts were in our report
    • The counts would not show up on the form
  • Recounts would not be given to users
    • Initial counts would be made
    • Recounts would be manually queued to users using the Warehouse Control Board
    • As soon as the user would go to the telnet Directed Cycled Count Tasks screen, the task would go directly back to pending
    • The user would never see the task to work on

I logged two separate SRs with Oracle.  Both made little progress for several weeks.

Luckily, one of our developers identified the commonality between the records. There was an EXPORT_FLAG on the MTL_CYCLE_COUNT_ENTRIES table which was set to 1 for the offending records.  I updated the two SRs with these details.

Read more…

Oracle Value Set: Allow Only Alphanumeric Values

November 10, 2016 Leave a comment

We have a problem at work which required us to only allow alphanumeric values in a DFF.  No spaces, punctuation, or special characters.  Here is what I came up with:

valueset
valueset2

Function (WordPress will change quotes to smart quotes, you will need to change back)

FND PLSQL “declare

l_value varchar2( 150 ) := :!value ;
l_valid NUMBER := NULL ;
BEGIN
SELECT (LENGTH(TRIM(TRANSLATE(REPLACE(l_value,’ ‘,’.’), ‘abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789’, ‘ ‘))))
INTO l_valid
FROM dual;
IF (l_valid IS NOT NULL) THEN
fnd_message.set_name( ‘FND’, ‘FND_GENERIC_MESSAGE’ ) ;
fnd_message.set_token( ‘MESSAGE’, ‘Value must be alpha-numeric’ );
fnd_message.raise_error ;
END IF ;
END;

Regular Expression Version:

FND PLSQL “declare
l_value varchar2( 150 ) := :!value ;
BEGIN
IF REGEXP_SUBSTR(l_value, ‘^[a-zA-Z0-9]+$’) IS NULL THEN
fnd_message.set_name( ‘FND’, ‘FND_GENERIC_MESSAGE’ ) ;
fnd_message.set_token( ‘MESSAGE’, ‘(‘||l_value||’) must be alphanumeric.’);
fnd_message.raise_error ;
END IF ;
END;

My Three Favorite Windows Add-ins

October 21, 2016 Leave a comment

ZBar
I love having multiple monitors!  However, one problem with multiple monitors is that Windows doesn’t extend the task bar very well onto the second or third monitor.  It by default doesn’t extent it at all, so to select applications/windows to make active, you have to go to the other monitor.  There is an option put the same task bar on both monitors, but with that, I don’t know which program/window is on which monitor.

ZBar to the rescue. ZBar adds a task bar to the other monitor(s), and displays only the applications/windows on that monitor. It also removes the applications/windows on the primary monitor’s task bar. I love it.

WizMouse
WizMouse imitates a really nice MacOS feature; it makes the window under the mouse scroll when the user scrolls.  Windows by default only scrolls the active window/frame.  With WizMouse, I can scroll the list of emails in Outlook, and then move my mouse over to the preview, and scroll that, without clicking in the frame!  I can also move my mouse over an Excel document which is open in the background, and scroll it, even though the Excel window is under a bunch of other windows.  What a fantastic program!

ArsClip
ArsClip keeps track of my copy-paste activity and allows me to past something that I copied before the most recent copy. I’ve set mine to give me the history menu when pressing ALT+V.  The program also allows me to “paste values” with a keyboard shortcut; I’ve set mine to CTRL+SHIFT+V.  It saves me so much time!

Print Labels Directly From Oracle to Zebra Printers

June 7, 2016 Leave a comment

Labeling is a very important business process that usually confuses even the best of us.  It involves many moving parts; including, but not limited to, ERP systems, printer hardware, bar-code symbologies, and label templates. It’s seemingly rare in corporate IT to find a single person who knows enough about all of these technologies to create a simple labeling solution. Third party companies like Bartender and Loftware have swooped in to provide “turnkey solutions” which have their own complexities. From my point of view, these third party solutions provide little, if any, value. I’d even go as far to say that they detract value from the overall solution.

Here are a few points which a third party software vendor may bring up which will seem enticing to you:

  • With a third party solution, you can have one centralized label template repository
  • We offer a visual label template editor
  • We can direct printing based on business data

Here is what the sales people won’t tell you about third party labeling solutions:

  • License costs are extraordinary high and repeat annually
  • Each server requires a license
    • Each server in a load balancing cluster will require a license (A license per IP address)
    • Each test/development server requires a license
  • The software requires hardware/virtual machines (VMs) to run on (which also has an additional cost)
    • Multiply it for each test/development instance
  • The software provides an additional point of failure which can be difficult to troubleshoot
  • Additional desktop software is also required, and may not be very robust
    • Precise formatting can be very difficult, or impossible
    • Even basic ZPL functions are difficult or impossible to implement
  • Some key features, like linking to data from external sources, is limited in capability
  • There’s a conflict of interest between the software quality and desire to sell consulting services
  • Zebra offers a WYSIWYG visual label template editor, for a lower price

Let me be the first to tell you; third party software is not going to make your labeling solution simple. In practice, it will likely make you want to pull your hair out.

Luckily, Oracle comes ready to print labels out of the box!  Don’t let the Loftware salesperson tell you otherwise!  Here are the steps you can take to print a label directly from Oracle; no third party systems involved.

Design a ZPL Template:

^XA
^MNW^POI^PMN^LH0,0^JMA^MD25^PQ1,0,0,N^CI0^PW812^MMT^LL406^LRY^FO20,25^GB773,0,70^FS
^FT340,80^A0N,60,60^FH^FN10^FDITEM^FS
^MCY^XZ

Save the template on your Zebra printer’s flash memory
ZebraTemplateZPL[1]

Configure your device IP address.
DeviceIP[1]

Set your profile option: ‘WMS: Label Print Mode’ = ‘Synchronous – TCP/IP’
Profile[1]

Set up your label Format and fields
(make sure the name matches the storage path on the printer)
LabelFormat

 

 

Back to the third party software benefits; are any of them true?  I don’t think so.

For one, Zebra offers software (ZebraNet Bridge Enterprise) that will push label templates to all your zebra printers in just a few clicks; making centralized label templates a moot point.  The Zebra software is only a few hundred dollars.  Once.

As mentioned before, Zebra offers label template design software (Zebra Designer) that is, in my experience, far better than a third parties software. Think of it this way, the easier Zebra makes printing labels, the more hardware/supplies your company will buy from them. On the flip side, with third party vendors like Loftware, the more complex the software, the more consulting services they can sell you.

Lastly, the ERP system, in my case, Oracle, should be robust enough to direct labels to desired printers.  If it’s not, you will likely be better off designing a custom solution in the ERP system rather than implementing a third party package, which itself will require much technical work.

With just a little work, you can be printing labels, directly from Oracle, without any need for virtual machines or complex middleware.

References

ERPschools – Oracle MSCA Label Printing
Zebra – Barcode Printing from Oracle WMS

BI Bublisher: Selecting first record only

October 16, 2015 2 comments

I was looking for a way to only select data from the first record of a group to use in my Master Bill of Lading.  I only needed the address of one of the deliveries on the trip, so I wanted to select the address from the first delivery.  The other deliveries on the trip would be have the same addresses, at least how we are configuring the system.

I found this on a blog post at Oracle.com which seemed to be the answer:

<?for-each:EMPLOYEES[position()='1' or position()=last()]?>

I tried it, and different combinations, for quite some time.  I tried single quotes, double quotes, I tried it in an IF statement. It turns out the single quotes were causing problems.  This is the way it finally worked:

<?for-each:LIST_TRIP_STOP/TRIP_STOP/LIST_DELIVERY/DELIVERY[position()=1]?>

I wonder if Oracle tested this before they published the blog entry.  At least they pointed me in the right direction.

Oracle WMS RUP 12

September 30, 2015 Leave a comment

Logistics Consolidated RUP12 (VERSION 12.1.1 TO 12.1.3 [RELEASE 12.1])

Patch: 21220763

Fixed Bugs:

Read more…

BI Publisher Provides Our Organization Extreme Agility

September 25, 2012 Leave a comment

A year and a half ago, our company embarked on a project to run Oracle E-business R12. Part of that process included a manufacturing migration from our legacy systems, and the other part included a migration of financial modules from Oracle 11i.  Included in the 11i financial modules was Accounts Payable, thus our Payment process needed to be migrated to R12.  One of my responsibilities was to create the payment output for the R12 system.  Payments in Oracle R12 are rendered with BI Publisher, an Oracle tool I became very skilled with while working on the AP project.  Although limited, BI Publisher has to be one of the most powerful technologies Oracle provides and has allowed our IT organization to become more agile.

From what I heard, it took the previous business analyst two years to get a check printed in the 11i production system, starting at the beginning of that project.  The R12 Payment processing seemed like a daunting task.  But I was up for the challenge and eager to enhance my skill set.

Within the first day of working on the payment output, I was able to get a check printed out of our test system.  Two weeks later I had a check ready to send to our bank for validation.

Although my manager was impressed, he still had some doubts. I have a feeling he was thinking around the lines of, “this is too good to be true; how can someone get a check ready for approval so fast, when took so long previously?” Whatever his thinking was, the bank validation had the ability to halt my swift progress right in its tracks.

Read more…