Brief: Barcode technology is everywhere today. Yet, this simple technology has been slow to spread within AS/400 applications, because programming an AS/400 printer to produce barcodes has been difficult and error-prone. The situation is much improved with new printer technology. This article surveys the elements of native AS/400 barcode printing, using both the latest IPDS printers and older printer implementations.
Have you ever driven rapidly past a stand of trees in the late afternoon and been suddenly blinded by a pulsating pattern of the sun? The light, at just the right angle, is broken into a flashing stroboscopic array by the trunks of the trees, making the iris of your eye tremble as it attempts to adjust to the sudden pulse. What you are experiencing is duplicated by a barcode scanner: an optical receptor within the scanner senses the strobe of light reflected from the zebra stripe of the barcode and, like Morse code, sends this strobe as an electrical signal of dots and dashes. An attached computer interpolates this code into numbers and letters.
The conditions which make a barcode readable to a scanner are as precise as those which create the stroboscopic light in the forest. First of all, a high- density image of the printed barcode is required. Secondly, the angle and intensity of light must be precise. And last but not least, the scanner which reads the code must be able to understand the specific barcode image regardless of which code is used-UPC for grocery products, Code 3-of-9 for computer components, Code 128 for library usage, or POSTNET for the postal system.
Printing barcodes on the AS/400 has historically proved as difficult to accomplish as duplicating the natural conditions which cause sunlight to strobe through a forest. The tools available to create barcodes have been weak at best, and extremely time-consuming to implement.
Much of this has changed with the introduction of Advanced Function Printing Data Stream (AFPDS) and the Intelligent Printer Data Stream (IPDS). Advanced Function Printing (AFP)-coupled with the capabilities of an IPDS laser printer-finally gives us a native AS/400 interface to barcode printing. But pitfalls still exist, and knowing what is needed-and why-represents the greatest stumbling block to implementing native barcode printing on the AS/400.
This article deals with the broad issues involved with printing barcodes in an AS/400 shop. I have included an "Issues and Answers" sidebar which covers some of the other questions you'll have to resolve before you can implement a complete barcoding solution. This and subsequent articles will concentrate on printing because, from a programmer's perspective, printing is the only part of barcoding that represents major technological difficulties. In order to understand those difficulties and make decisions about how to overcome them for your installation, you'll need a little historical background about printers.
Traditional Midrange Printing
Until recently, if your organization needed to generate a barcode, you were better off going to an outside source for hardware and software. Two factors limited us in creating barcodes: the available character sets and the printing density of dot matrix printers.
IBM's midrange computers and printers were originally designed only for generating reports composed of letters and numbers. The character set used for this purpose came from System Network Architecture and is called the SNA Character Stream or simply SCS. You encounter this relic every time you define a printer because the default definition for every AS/400 printer is *SCS.
Today, SCS printers still predominate the output queues of AS/400 printer devices. Can these printers create barcodes? It depends on the particular printer. How do you do it? Well, that depends too!
To understand the problems encountered with SCS, you need to know the limitations of SCS in the midrange environment. Once you've examined those limitations, you'll understand why AFP and IPDS were invented and how they overcome many of these difficulties.
How SCS Printing Works
Although great in its day, SCS is now quite archaic. Here's why! The first printers attached to the S/34 were band printers, in which SCS was permanently embossed on a rotating band. High-density, letter-quality printing-with multiple fonts-could only be accomplished with print-wheel printers which also had permanent renderings of SCS. The IBM 5219 print-wheel printer served as the shining example of this technology.
The SCS approach to new features such as fonts is to allow programmers to exchange printer bands or daisy wheels. If you code such a requirement in your programs, a message is sent instructing the operator to change the band or the print wheels on the printer.
The innards of SCS are quite fixed. It's a "platen-bound" character set which surrounds basic text with instructions to the print head and the rotating, typewriter-like platen. For instance, there's an SCS code for Carriage Return, a code for New Line, a code for Form Feed and a code for Backspace.
Formatting text on an SCS printer entails sending repetitive instructions to the printer. SCS produces underlining by sending the text, an equal number of Backspace codes, and then an equal number of underscores. The instruction to generate boldface type consists of a punishing sequence of Text-Backspace- Text-Back-space-Text-Backspace-Text. The effect resembles a Gatling gun beating away against the paper. See 1 for a graphic depiction of the process.
Formatting text on an SCS printer entails sending repetitive instructions to the printer. SCS produces underlining by sending the text, an equal number of Backspace codes, and then an equal number of underscores. The instruction to generate boldface type consists of a punishing sequence of Text-Backspace- Text-Back-space-Text-Backspace-Text. The effect resembles a Gatling gun beating away against the paper. See Figure 1 for a graphic depiction of the process.
Now, imagine trying to create the picture of a barcode with such a limited tool set! It's like trying to paint someone's portrait with a hammer and a set of alphabetic chisels. With today's technology, printers defined by SCS have justly earned a reputation as "the Fred Flintstones" of the output queues.
Even if we attach a high-quality laser printer to the AS/400 either through twinax or through PC Support, the AS/400 automatically defines it as *SCS. And when we compile a print file, it defaults to *SCS as well. PC Support, which gives us access to full-feature PC laser printers, doesn't directly support their advanced features. It emulates a 3812 laser printer, but only in SCS mode. Perhaps Version 3 of PC Support will address this oversight. Today there exists no IBM-supported printer emulation for the full features of PC-based lasers.
Printing Barcodes with SCS
You can print barcodes with some SCS printers. Specific printers-both dot matrix and laser printers-emulate the SCS data stream, but can be forced into a high-density printing mode suitable for barcode printing. By sending a series of encrypted hex codes (escape codes) through the printer data stream, encapsulated and translated through printer definition files, the programmer can fool the data stream just long enough to slip these printers some powerful instructions.
A special ROM in the printer's circuitry interprets the codes and performs the required printing function. See 2. Escape code encapsulation is the programmer's responsibility. It's his job to dig through manuals to learn each printer's capabilities and its limitations, and then implement the encapsulation inside his program. A certain exhilaration comes from successfully implementing a barcode printing program through encapsulation: it's the feeling of learning the language of the printer. But there are some obvious problems with the encapsulation technique.
A special ROM in the printer's circuitry interprets the codes and performs the required printing function. See Figure 2. Escape code encapsulation is the programmer's responsibility. It's his job to dig through manuals to learn each printer's capabilities and its limitations, and then implement the encapsulation inside his program. A certain exhilaration comes from successfully implementing a barcode printing program through encapsulation: it's the feeling of learning the language of the printer. But there are some obvious problems with the encapsulation technique.
With encapsulation, barcodes have to be custom-written within each application that prints them. A programmer may need to represent a complete barcode character set of hex instructions in every print program. The hex codes for printing one kind of barcode differ from those of another. Every variable data element sent through the program has to be translated into its hex code equivalent, encapsulated, and then retranslated through a custom printer translation table. Creating barcodes in this environment is extremely research- intensive, and every code must be included in each program.
So, what's a little research, right? Unfortunately, that's not all! The hex codes which unbridle the power of these printers are often printer-specific. If you move the application to a different printer-or upgrade your printer to a newer model-the original application will probably fail. If you have three different printers, more than likely you'll have to crack open three different printer manuals, interpolate the capabilities of each one and rewrite each barcode application that uses them.
Make no mistake, though-printing barcodes using encapsulation is a viable and mainstream method. Its difficulty is that it requires significant program maintenance. Is it any wonder, then, that midrange shops typically express enthusiasm about barcode printing up to the initial application? After that, maintaining programs that print barcodes becomes either a dead-end street or its own unique career path.
Limitations of Dot Matrix Printing
The dot matrix printer presents a second historic problem to barcode printing. Since the time of the S/36, dot matrix printing has become the hallmark of the midrange environment. Dot matrix is relatively cheap and sturdy, operates at reasonably high speeds and offers a more flexible set of character capabilities than the old bands embossed with SCS. But the quality of dot matrix doesn't consistently provide a high first-time scan rate.
First-time scan rate is a measure of the legibility of the barcode printed. Suppose your warehouse foreman has 100 labeled boxes loaded on a conveyor belt. The box labels pass before a stationary scanner which reads the barcode inventory number. If the scanner succeeds in reading each box the first time the labels pass, then the labels have a 100 percent first-time scan rate. But if a single label fails to be read, the foreman must remove the box from the line and scan it with a hand-held scanner. This stops the conveyor line, causes a backup and creates an exception. If he has to key in the data itself, first- time scan rate ceases to be any measure at all.
Since dot matrix output consists of a series of interlaced dots, the density of a printed code depends upon the amount of ink put onto the label. As the ink in the ribbon is used up, the density of the barcode becomes imperceptibly weaker. A scanner reading such a weak barcode could perceive it merely as a shadow, absorbing light unevenly. Generating labels on a dot matrix printer can sometimes result in an entire run of printed barcode labels which look just fine to the naked eye, but which are illegible to the scanners which must read them.
This creates an interesting dilemma for a programmer who's trying to test out his application. What happens when the scanner fails to read the barcode? Did the wrong hex code get programmed? Or is it merely a flaky ribbon that has outlived its useful barcode life?
The problems of traditional mid-range barcode printing can be summarized as limited tools and low-function hardware. These problems don't negate the value of systems which use these technologies or techniques; they're simply obstacles you must consider when you commit to the requirements of a barcode application.
New Technology to the Rescue
If we're to address barcode printing in a truly native way on the AS/400, it would be nice to have a bit more help than just a few new programs, better instruction manuals and a box of new ribbons. It would be nice if we had a better means of getting code to the hardware and better hardware to receive the codes. Well, we do! IBM has recognized these difficulties with the design and creation of Advanced Function Printing Data Stream (AFPDS) and Intelligent Printer Data Stream (IPDS).
In the late 1980s, just prior to the release of the AS/400, IBM created the AFPDS and IPDS components of System Application Architecture (SAA). AFPDS defines a structured format by which instructions can be passed transparently from any application to any printer. IPDS is the hardware structure to receive those codes and control the format of the printing. The combination of these two elements forms the lynch pin of IBM's software products, called simply Ad- vanced Function Printing (AFP).
Advantages of AFPDS
Unlike the SCS data stream, the AFPDS architecture is completely independent of a particular operating system or printer.
Instead of defining a character set, the structure of AFPDS defines text "pages," line formats, and a mixture of line and composed text data. Each stream of data is strictly formatted, specifying the length of the data stream, the type of data (page, line format, or mixed line and composed text), and the encapsulation of reference codes to other objects. AFPDS can, of course, output traditional SCS text; but it also handles image overlays and page segments, graphics, images and-most important for our purposes-barcodes.
The advantage of AFPDS is that it references images and control data that exist outside the actual print stream itself. Instead of actually sending the image of the barcode, it tells the printer, "We need a barcode here...and we need this particular picture over there."
AFPDS's ability to reference independently stored printer control codes-or even page segments such as logos-externalizes the process of creating these complicated structures. This reference is passed along with the spooled file, and is only called upon when the spooled file actually prints. If an image is used repeatedly within a spooled file, it can be shared so that the control codes need only exist once on the machine. Then, as the spooled file moves to the printer, these external references are sent as separate buffers. They merge with the data inside of the printer, creating a combination of alphanumeric data, pictorial images and barcodes (see 3).
AFPDS's ability to reference independently stored printer control codes-or even page segments such as logos-externalizes the process of creating these complicated structures. This reference is passed along with the spooled file, and is only called upon when the spooled file actually prints. If an image is used repeatedly within a spooled file, it can be shared so that the control codes need only exist once on the machine. Then, as the spooled file moves to the printer, these external references are sent as separate buffers. They merge with the data inside of the printer, creating a combination of alphanumeric data, pictorial images and barcodes (see Figure 3).
OS/400 implements barcodes for AFPDS in DDS with a new keyword for printer files-BARCODE. This keyword eliminates any further RPG encapsulation requirements. You simply need to identify a field in your DDS as a BARCODE, specifying the type of code and its size, and then compile the printer file. AFPDS does the rest.
When the application runs, the printer file sends out its data to the spooler, marking the barcode data with a reference to barcode. AFPDS then associates the barcode reference with the appropriate, independently stored control codes. AFPDS translates the EBCDIC data to a barcode control language, merges the controls with the rest of the spooled data and then passes the entire printer data stream to the printer.
If you need to generate a different barcode type-perhaps a UPC barcode instead of Code 128-just identify that new type on the DDS keyword and recompile the printer file. Program-mers no longer need to concern themselves with control codes or the capabilities of the specific printer used.
AFPDS works for images as well. The independently stored images, page segments, overlays and control codes exist as separate objects on the AS/400. They don't even have to exist at the time that the printer file is compiled. But they must be present on the system when the spooled file is sent through the writer to the printer.
Some AFPDS Limitations
While AFPDS does a great job of simplifying the process of barcode programming, it does have some drawbacks. The first-and most immediately apparent-is that you can no longer look at your spooled output. You also cannot copy the spooled file to a database file using traditional methods. (For a solution to this problem, see "Beyond CPYSPLF-Saving Everything in a Spooled File," MC, October 1993.)
AFPDS poses these limitations because an AFPDS spooled file contains more than data alone; it contains a series of references and pointers to other objects on the system. If you attempt to copy or display the spooled file, AFPDS might not be able to resolve all its references-so it doesn't even try. Of course, this isn't much different than sending encapsulated barcode control characters to an SCS printer-they can't be displayed either.
Another drawback of AFPDS is that it doesn't know the capabilities of the printer to which it is sending the merged printer data stream. (Remember, AFPDS is independent of operating systems and printers.) AFPDS assumes that the printer writer can accommodate its complicated structure. It's the responsibility of the printer writer to handle the control codes, sense data bits and assemble the overlays and page segments. If the printer chokes-as all SCS-defined printers are bound to do-the spooled file is automatically held in the output queue, and a mysterious message appears in the QSYSOPR message queue: "Spooled file incomplete."
This message could mean that some external reference by AFPDS is missing. It could mean that the process of creation was somehow flawed. But more than likely it means that the printer itself was unable to handle the output. Only by delving through previous messages can you determine the exact problem.
Even with these complications, AFPDS provides significant advantages over hard- coding barcodes into our applications. It gives us capabilities which are not limited to a specific character set, allows us to make the application code generic for all printers, and makes our programs more flexible and portable. Finding a printer on the system that can handle AFPDS is a little more complicated.
Advantages of IPDS Printers
For barcode applications, the most significant change in printer technology in the last 10 years is the success of inexpensive, high-density laser printers. Laser printing uses a Xerographic-like process in which dry ink particles are essentially "fused" to the sheet of paper. The very nature of this process presupposes an image-oriented/page-oriented data stream, which is a perfect match for barcode implementation. The images of barcodes created on lasers are uniformly dense, offering a superb medium for an extremely high first-time scan rate.
But, as we've mentioned before, hooking up any laser printer to the AS/400 will not guarantee that we can make use of the laser's superior imaging capabilities. That's where IPDS comes in.
IPDS provides an interface to all-points-addressable printing, making possible the presentation of pages containing an unlimited mixture of data types. This includes high-quality text, images, vector graphics and, of course, barcodes.
The capabilities of an IPDS printer are stored in structures called towers. These structures encapsulate and standardize the control codes required to manipulate fonts, place graphics, draw vectors or print barcodes. Think of IPDS towers as individual libraries of control codes contained within the ROM of the IPDS printer.
As the print stream passes to IPDS from the host computer, IPDS begins unraveling and assembling the instructions and references sent. It uses the external references, sent as print buffers by AFPDS, to locate instructions in its various libraries on how to print each page. After the page is assembled, IPDS sends the entire image through the printing process. 4 illustrates the relationship between AFPDS and IPDS.
As the print stream passes to IPDS from the host computer, IPDS begins unraveling and assembling the instructions and references sent. It uses the external references, sent as print buffers by AFPDS, to locate instructions in its various libraries on how to print each page. After the page is assembled, IPDS sends the entire image through the printing process. Figure 4 illustrates the relationship between AFPDS and IPDS.
IPDS's greatest advantage lies in the standardization of instructions required to create images from the AS/400 at the most potent and efficient spot-at the hardware level of the printer.
Just as AFPDS allows the referencing of images and data constructs outside the spooled file, IPDS operates on the other side of the hardware interface, allowing different application programs to create the source data independently and then merging them together at print time. In other words, IPDS and AFPDS work as a team to overcome the traditional limitations of midrange barcode printing technology.
Some Limitations of IPDS Printers
Although the process for creating images has been standardized, the capabilities of all IPDS printers have not. Not all IPDS printers fully incorporate all IPDS towers. Some IPDS printers specialize in barcodes; others specialize in images and still others in vector graphics. And this makes some sense: why fill up all the "shelf space" in the tower libraries with instructions which may never be referenced? The only requirement defined for IPDS capabilities is that each printer must support at least two IPDS towers.
Individual IPDS towers represented on a particular printer may not have the same capabilities or may not fully incorporate all of the features of a particular IPDS tower. For instance, the IBM 3812 laser printer supports a variety of barcode standards in its barcode IPDS tower structure. But it doesn't support Code 128, one of the more popular standards. If IBM chooses to make the 3812 support this or any other barcode, it must upgrade the microcode of the printer. On some IPDS printers, the process of upgrading involves nothing more than slipping in a different card. On others, such as the 3812, upgrading may come in the form of a micropatch sent on a diskette.
AFPDS and IPDS Conclusions
Even though IPDS matches the capabilities of AFPDS, it doesn't guarantee support for all the barcode features that you may want to print. Nevertheless, from a programmer's perspective, you're better off with AFPDS and IPDS than you were before. You can code applications generically and then choose the printer with the appropriate capabilities at a later time. Although printer capabilities must match the demands of the barcode application, each IPDS printer won't require a different instruction set in order to function.
Pulling It All Together
So, which methods and techniques best suit the printing of barcodes on the AS/400? If AFPDS and IPDS produce better results than SCS and the standard dot matrix printers, shouldn't we design our applications to take advantage of them and obtain the hardware that allows us to do that? Both technologies have significant advantages.
More than likely, the SCS/dot matrix solution is available to you today and represents no added costs to your hardware budget. Barcode applications, once programmed, seldom change for the hardware which supports them. The best choice for your shop depends greatly upon the skill sets available to your programmers. If your environment will have only one application using barcodes, it probably makes no sense to reinvest in hardware just to maximize the latest technology. (Look for an example of SCS encapsulation in a future issue of MC.)
By the same token, barcodes are fast becoming an important strategic technology. Your ability to respond to these requirements-and other new technologies such as graphics and images-may warrant an upgrade of the hardware to IPDS printers. Some companies have found that the increased savings afforded by barcodes can pay for the new printer in a very cost-effective manner.
The new coding techniques which AFPDS and IPDS provide-through the use of DDS keywords such as BARCODE, PAGSEG, FONT and GDF (Graphic Data File)-can significantly cut the development and maintenance costs for barcode applications. How you choose to integrate these technologies into your specific environment can create a strong argument for reinvestment in the future.
T.M. Stockwell is an associate technical editor for Midrange Computing.
Issues and Answers: The 17 Questions Most Frequently Asked about Barcodes
What is a barcode?
A barcode is a printed image of encoded stripes representing numbers, letters (with some codes) and other special characters. o o o Why can't I read them?
Barcodes were designed to be read by machines, not by humans. A barcode scanner reads the variation of light reflected from the barcode and associates that variation with an alphabet.
o o o
How can barcodes save my company money?
By increasing accuracy and speed in collecting data, companies may decrease their production costs by capturing important new data which was previously unavailable.
Some companies gain market share with barcode implementation by making their products more attractive to their large customers. These companies make their products "retail ready" with the preprinted custom codes attached to merchandise at the time of shipment.
Companies can save money by controlling the cost of mass mailings. The post office has special rates for POSTNET mail. And some companies simply save money by decreasing the errors associated with data collection or with the general cost of data entry.
o o o
How do barcodes differ from other codes, such as MCR and OCR codes?
MCR stands for magnetic character recognition, usually associated with the codes printed on the bottom of checks. The code is actually a magnetic impression that's read by an MCR-reading machine, such as a check sorter.
OCR stands for optical character recognition. In OCR technology, the bit-mapped image of a code is fed to a computer which attempts to recognize the shape of letters and numbers. Barcodes are similar in concept to MCR and OCR technologies, but they are implemented differently.
o o o
How accurate and durable are barcodes compared to these other scanning technologies?
MCR is highly accurate, though not very forgiving when it comes in contact with a lot of handling. Because the code is magnetic, outside environmental circumstances can easily ruin it. OCR technology is still evolving. Today it is considerably less accurate than barcodes for transferring information from a printed medium to a computer. OCR is also extremely CPU intensive.
Barcode scanners have a considerably higher rate of machine recognition than other optical character readers at a much lower cost. This is especially true if the printed code is of high quality.
Barcodes also endure environmental conditions much longer than magnetic encoding and are difficult to deface or make illegible. In the electronics industry, barcodes on circuit boards are regularly subjected to acid baths and still transmit their part numbers. And one Napa Valley winery barcodes its wine barrels and then circulates the barrels in high humidity. In such an environment, metal rusts, wood swells and paper disintegrates. But the labels- placed on laminates-remain legible for years as the wine matures.
o o o
How many different kinds of barcodes are there?
New barcode standards are continually developing. The AS/400 currently supports 12 major codes:
o Code 3-of-9, MHI/AIM USD-3
o UPC/CGPC-Version A
o UPC/CGPC-Version E
o EAN-8 (includes JAN-short)
o EAN-13 (includes JAN-standard)
o 2-of-5 Industrial
o 2-of-5 Matrix
o Interleaved 2-of-5 (MHI/AIM USD-1)
o Codabar (MHI/AIM USD-4).
o Code128 (AIM USS-128)
o POSTNET (POSTal Numeric Encoding Technique)
o o o
Which code should we use?
The code your company uses will depend upon the standard which has been adopted by your industry. Or, it may depend upon what you intend to label with barcodes. Grocers require goods labeled with UPC. The Department of Defense requires Code 3-of-9. The post office requires POSTNET. A particular store which you ship to may require something else. o o o Who establishes these standards?
The government establishes some standards. Others are set up by associations or by convention. POSTNET and UPC are two standards established by agencies which have specialized requirements about placement, numbering and registration. UPC, for example, must be registered in order to be recognized. Other industry- specific standards are imposed by the most powerful players in the field, who often have an established investment in a particular code or machine.
o o o
Which code is better: Code 3-of-9, Code 128, POSTNET or UPC?
Different industries have purposely established separate coding standards. The idea was to prevent the accidental reading of misplaced barcode labels. Some codes represent only numeric characters, while others have a broader character set to include alphabetic characters and special symbols. Each code has its own advantages for any particular job, but choosing a specific code is most often a choice based upon the industry or applications which require them. o o o What is a barcode scanner?
A barcode scanner is a device that can recognize the barcode and convert it into letters and numbers. Technically, a scanner is just one of many devices used for reading and recognizing specific barcodes. Other device names include readers, wands, wedges, laser scanners and stationary scanners.
o o o
What is the difference between a wand and a scanner?
The main difference between barcode-reading devices is the type of light technology which is used. Wands are "contact" light pencils which require the user to hold the pencil at a particular angle and rub the wand across the code. Laser scanners emit a "scanning" laser beam across the code. Because the laser's light is much less diffused and much brighter than a wand, laser scanners don't require the user to "contact" the label. The laser scanner can bridge distances of up to several inches in good conditions, but the idea of reading a barcode from across the room with a laser scanner is still science fiction with today's technology.
o o o
If I buy a barcode scanner, will it work on the AS/400?
Most barcode scanners are connected to other devices, such as hand-held computer terminals or display stations. These terminals typically use the ASCII format for internally storing information. The AS/400's native format is EBCDIC. However, every major manufacturer of barcode-reading devices has some sort of interface to the AS/400 which converts the ASCII code to EBCDIC.
o o o
If I buy a barcode scanner, will it be able to read any code I want to use?
Only a few years ago, if you needed to read two different code types, you also needed two different scanners. Some manufacturers now have models which can read a variety of different codes, all in the same unit. o o o What are the advantages of one scanner over another?
The three criteria which predict the value of a particular type of scanner are cost, scanning environment and first-time scan rate.
Generally speaking, an office with few harsh environmental conditions (i.e., an office with good lighting and hands-on contact with the labels) allows a high first-time scan rate at minimal cost. These environments allow the use of inexpensive light pencils or wands connected directly to display terminals.
As the application moves into harsher environments (the warehouse) or more portable conditions (forklift truck) where hands-on contact with a label is undesirable (pallets), the application may require more flexibility (hand-held laser scanner) and consequently more cost.
o o o
What are the steps required to set up a barcode system?
Implementing barcode technology is no different than implementing any other large project. Good project management requires:
o A thorough understanding of the technology.
o Requirements planning.
o Management communication and involvement.
o Line-management involvement (the people who will actually do the job and
o A pilot or prototype.
o Measurement criteria.
o A project plan.
o An evaluation of successes or failures.
o A roll-out strategy and plan.
o o o
How can I justify the cost of implementing barcodes at my company?
The traditional method to cost-justify barcode technology involves estimating the cost required to capture the information in a traditional setting and comparing that cost to an implemented barcode environment. The formula for accomplishing this feat is shown in A1. o o o Where should we begin considering barcode technology?
The traditional method to cost-justify barcode technology involves estimating the cost required to capture the information in a traditional setting and comparing that cost to an implemented barcode environment. The formula for accomplishing this feat is shown in Figure A1. o o o Where should we begin considering barcode technology?
Consider the itemized list in A2 as a great source of pilot barcoding projects. - TS
Consider the itemized list in Figure A2 as a great source of pilot barcoding projects. - TS
Barcode Printing on the AS/400
Figure 1 Printing Formatted Text on an SCS Printer
UNABLE TO REPRODUCE GRAPHICS
Barcode Printing on the AS/400
Figure 2 Barcode Printing on an SCS PrinterUNABLE TO REPRODUCE GRAPHICS
Barcode Printing on the AS/400
Figure 3 Printing with AFPDSUNABLE TO REPRODUCE GRAPHICS
Barcode Printing on the AS/400
Figure 4 How AFPDS and IPDS InteractUNABLE TO REPRODUCE GRAPHICS
Barcode Printing on the AS/400
Figure A1 Formulas to Cost-justify BarcodesA common method to cost-justify the implementation of a barcode project is to identify how the company can save money using barcodes over the traditional data entry, keypunch cycle. This method identifies the cost of capturing the information and transforming it into data, then projects a similar cost for capturing the information as barcode data. The difference in the labor costs is the savings realized on a daily basis. By multiplying this savings over a period of one year, the project can identify the payoff time period for the investment in new equipment. Daily Data Entry Costs = (Transcription Costs/Day) + (Keypunch Costs/Day) where Transcription Costs/Day = ((# chars/transaction)*(transcription time/char))*((# transactions/day)*(labor rate)) and Keypunch Costs/Day = ((# chars/transaction)*(keypunch time/char))*((# transactions/day)*(labor rate)) If 1 Transaction = 1 Barcode Label then Projected Barcode Scan Costs/Day = ((scan time/label)*(# labels)*(labor rate)) To identify the savings of a projected barcode implementation: Savings = Daily Data Entry Costs - Projected Barcode Scan Costs/Day Multiply this savings by the working days/year to determine the payoff of new equipment and software. A second method of cost-justification bases its savings on the cost of correcting data entry errors. Because the margin of data entry error is practically insignificant in a barcode implementation, a formula to identify savings might look like this: # of Daily Transaction Errors = ((# transactions/day)*(1 - % of accuracy)) Daily Cost of Errors = ((# of error transactions)*(time per transaction)*(labor rate)) By eliminating large numbers of error transactions through barcode technology, many companies can pay off the expense of new equipment in a short period of time.
Barcode Printing on the AS/400
Figure A2 Suggested Barcode Applications1. Labor reporting a. Payroll b. Job costing c. Attendance d. Personnel tracking 2. Materials tracking a. Inventory movement b. Physical inventory c. Outside operations d. Product history e. Automated counting f. Shipping verification 3. Document tracking a. Library books, video rental, tape library b. Files, medical records, portfolios c. Specifications 4. Access control a. Physical restraint (e.g.,badges) b. Audit trail 5. Process control a. Machine control b. Test control c. Material movement control 6. Miscellaneous a. Tool control b. Machine utilization/maintenance c. Fixed assets d. Corporate mailings