Welcome to the world of an LRS Solutions Architect: another day, another architectural challenge. My most recent one involves a customer in the retail field that is using SAP software to drive key business processes. Their operators roam the warehouse in forklift trucks and select products for shipment via a “Pick by Voice” process. When they have assembled all the goods for a given order, they need to print a label that will be placed on the order box, after which it can be moved on to dispatch.
This seems simple enough, but the devil is in the details. To avoid costly duplicate shipments, it is critical that each label is only printed once, and that it is collected by the correct forklift operator. Only in the case of a printing error should the label be printed again. This means associating each SAP order with the unique “identifier code” for the forklift truck used.
Controlling the time and manner of label printing is the key to proper warehouse operations. Imagine if, when an order was completed, the system just printed that order directly from SAP to the next available printer. There is a chance that the print would get picked up by the wrong person, simply thrown away, or one of the forklift drivers might take the wrong label. This is far too risky for production line printing, where, as I like to say, every business process that ends in printing must be assured.
So how do we solve this in a truly industrial strength way that is guaranteed to work over and over again without a glitch? To me, this sounds like a good fit for Pull Printing. The person responsible for filling the order should go to a printer in person and explicitly request their print jobs. In this case the Operator is not an IT user, but rather a warehouse employee doing shift work. Each worker is assigned to a different forklift truck when they turn up for their shift. Luckily, as we noted, the trucks do have a unique ID and that ID is fundamental to the SAP-managed warehouse management process.
When it comes to Pull Printing, LRS supports more than just multifunction printers (MFP’s). In fact, our software can initiate Pull Printing to any network capable printer that works with an LRS MFPsecure “XT” box. This small but clever hardware interface sits between the network and the printer, providing network addressability for the output device. As a result, there is no need to install extra ethernet ports in the warehouse. What’s more, the MFPsecure XT box supports Pull Print authorization from more than just a proximity badge or RFID card. This external interface can work with any USB “HDI Keyboard Class” device, for example a 1D barcode reader. For more detailed information about this hardware, please see this link.
In our example, we have a warehouse worker assembling and packaging unique orders for shipment. For Pull Printing to work correctly and keep everything straight, we need to have a real user associated with a code that can trigger the printed barcode label that will be attached to the order. That user needs to be established in Active Directory or LDAP and must be unique. In our use case that user represents the forklift truck. The alias of the code itself is then associated with this user so that we can easily associate the SAP Print metadata with the forklift driver. Later in the project the customer wanted to extend the use of the system to the commissioners and asked us to dispense with the AD user and just use an SAP ID solely as the identifier for pull print, and we were quickly able to fulfill that wish too with a simple web service.
As it turns out, that’s all we need. Using standard LRS products including VPSX/OutputManager, MFPsecure/Print for XT and some standard hardware (Label Printer, XT Box), we can achieve the requirements. The forklift truck driver goes to the MFPsecure XT-connected printer and uses the attached 1D barcode scanner to scan the barcode label on his truck. This triggers the system to print the document that the SAP system has generated with metadata identifying the forklift truck and associate with the user via the alias.
Once the label is correctly and completely printed, the SAP system will receive print feedback; then the SAP application can poll for that in the SAP Table for Print Job Events and know when to start the next order. (That’s the beauty of pull printing.) If for some reason there is an issue with the printer (out of label stock for example) and the label cannot be printed, the operator can go to another printer and request the unsuccessfully printed label again. By careful use of VPSX printer definition flags, we can also deal with the case of a printer failing irrevocably halfway through the print job. All without the risk of creating a duplicate shipment.
From my perspective, what I like about these products is how easy they make my job. Using only standard software components, I am able to architect a solution to support quite sophisticated customer business processes.
If your organization has similar production line printing integrations (and we have done quite a few over the years), be sure to contact your local LRS account team. They will be delighted to help you realize a truly industrial strength production line solution.
Best Wishes from the Odenwald.