Brief: If you thought that creating barcodes on the AS/400 meant writing application programs, think again. IBM's Advanced Function Printing Utilities/400 makes creating barcodes something that even end users can do. This product makes it easy to develop and maintain barcode applications.
Sometimes the best programming solution is the simplest: something you can quickly give back to the users without fear of complication. Something that's simple to create and a breeze to modify.
Barcode printing should be exactly such a solution. Your organization should be able to respond quickly when a new barcoded label is required or when an old format needs some modification. Custom programming should not be required for simple barcode labels, yet-more often than not-these simple applications sit in a backlog, waiting for the right application to justify the time a programmer will spend reading the printer manuals.
The print-format definition function of Advanced Function Printing Utilities/400 might be just the tool to help you out. It can create barcodes on Intelligent Printer Data Stream (IPDS) printers, print graphics and images, and query databases to provide you with a comprehensive tool that's quick, familiar and workable. You don't need to be a hex-code wizard to make your IPDS printer produce barcodes. And the design interface-even on a 5250 terminal-might just tempt you to turn over the process to your trusted users.
Requirements
As last month's "Barcoding with DDS" explained, you must have an IPDS printer in order to print barcodes easily on the AS/400. You also must verify that your printer supports the particular barcodes you need.
This month's example uses IBM's Advanced Function Printing Utilities/400 (IBM licensed program 5738-AF1). If you don't have this licensed program on your system, you might consider using the technique discussed in "Barcoding with DDS," MC, February 1994.
Similar Names, Big Difference
Advanced Function Printing Utilities/400 is a group of programs organized into a menu designed to assist programmers working with advanced-function printing. Your first reaction may be, "Oh yeah! I remember advanced-function printing. It's that code that makes the 5225 printers print barcodes and graphics, right?" Wrong!
What you're probably remembering is Advanced Printer Function (APF). The features and the structure of Advanced Printer Function are significantly less robust than advanced-function printing.
Advanced Printer Function was specifically designed for the 5224/5225 series of dot-matrix printers to handle limited barcodes and vector graphics. Advanced- function printing, on the other hand, is a feature which supports its own printer data stream. It is the key that makes IPDS printers live up to potential. Advanced-function printing supports barcodes, graphics, images and fonts at a level that far outstrips the limited capabilities of Advanced Printer Function. And, Advanced Function Printing Utilities/400 is a design tool you can use to take advantage of advanced-function printing. Why IBM chose such similar names for these functions will probably forever remain a mystery.
Elements of Advanced Function Printing Utilities/400
Advanced Function Printing Util-ities/400 is divided into three groups of services.
1. The Overlay Utility allows you to create electronic forms.
2. The Print Format Definition Utility allows you to create a query-like application integrating images, graphics, barcodes and fonts.
3. The Resource Management Utility allows you to manage overlays, page segments, fonts and graphics.
The barcoding application presented here uses only one function from the Advanced Function Printing Utilities/400 services: the Print Format Definition Utility.
The Sample Application
Our sample application is the same as last month: we'll design a report to print the vendor master name and address list. The report will print the vendor number field as a Code 3-of-9 barcode instead of printing it in the usual numeric representation.
The preliminary step to creating the report is, of course, to create a vendor master database. The DDS for this file is shown in 1. Key this into your DDS source file using Source Entry Utility, and then compile it with the Create Physical File (CRTPF) command.
The preliminary step to creating the report is, of course, to create a vendor master database. The DDS for this file is shown in Figure 1. Key this into your DDS source file using Source Entry Utility, and then compile it with the Create Physical File (CRTPF) command.
Creating the application with the Print Format Definition Utility is very similar to running a Query/400 session. But pay close attention to the details; while the steps are similar, the devil is in the detail.
To access the Advanced Function Printing Utilities/400 menu, type STRAFPU on the command line. This displays a menu with the options shown in 2.
To access the Advanced Function Printing Utilities/400 menu, type STRAFPU on the command line. This displays a menu with the options shown in Figure 2.
Creating the Source File
The Print Format Definition Utility stores its specifications in separate members called PFD definitions. A special type of file called a PFD definition file stores these PFD definitions, similar to the way source code is stored. Think of PFD definition files as source files, PFD definitions as source members, and print-format definition specifications as source code. Although they are not exactly the same, the concept is similar.
You can have multiple definition files, each holding different groups of specifications. Perhaps you'll create one file for your testing environment and another for production specifications. Once created, these definition files may contain numerous print-format definition specifications which are, in fact, the equivalent of program code.
The Print Format Definition Util-ity doesn't compile PFD definitions into AS/400 objects-it is an interpreter, translating the selected definition specs into executable code. Keep this in mind when you consider the value of the utility. If you want an integrated barcode environment working within your own production code, you probably won't want to make the Print Format Definition Utility an element. But if you want to create an application that quickly converts a database file into output, the Print Format Definition Utility might be the perfect fit.
To create a PFD definition file for storing our specifications, use option 12 (Work with PFD definition files) from the Advanced Function Printing Utilities menu. The screens which follow are similar to using PDM. Basically, you start at the file level, work your way down to the definition level and finally to the specification level.
The first screen asks you which PFD definition files you want to work with. Enter a library name and specify *ALL for the file. Then create a new PFD definition file by using option 1 and supplying the name of the file. I chose PFDSRC.
Creating VDRLBL Application Specs
Within the PFD definition file, you must specify a name for your new definition. Each definition within the file represents a query against a particular database file. Since this application is to generate labels for the vendor master file, I chose to name it VDRLBL.
The create process is activated by using option 1. Once the PFD definition is created, you may use the other options, such as Change (option 2), Copy (option 3), Delete (option 4), Print definition (option 6), Rename (option 7) or Print the database file (option 9).
These options look hauntingly like the Query/400 product. This is what makes the Print Format Definition Utility so powerful for the casual user: the learning curve is level. Only the actual definition process will look unfamiliar. But more about this in a moment.
Creating the PFD Definition
Like Query/400, the Print Format Definition Utility automatically tells you which actions are required by placing a 1 (select) beside them (see 3). The three requirements are:
Like Query/400, the Print Format Definition Utility automatically tells you which actions are required by placing a 1 (select) beside them (see Figure 3). The three requirements are:
1. Specify database file
2. Design record layout
3. Design page layout
Other options allow you to define the actual print-format definition specs, specify fonts, specify record selection, and map (override) variables to other objects within the system. Our simple application requires none of this, so just press Enter and proceed through the required actions one by one.
Defining the Database File
Defining the database file is also a very familiar process for programmers who know Query/400. But, unlike Query/400, the Print Format Definition Utility allows you to specify only one database and one record format. No file joining is allowed for this simple utility. If you need to pull various files together, you'll have to create a merged database or a joined logical file over the required information.
Designing the Record Layout
Defining the actual print-format definition specification is a two-step process. First, you create a record layout in which you specify the fields to be printed. Then, this record is placed on a page layout.
Because the Record Layout screen is almost identical to the Page Layout screen, you may feel a bit confused the first time you pass through this process. Take heart-there's actually a good design reason for segmenting the process in this way.
The Design Record Layout screen is bordered by position rulers along the top and left-hand side. The traditional AS/400 perspective would lead us to assume that these ruler marks represent rows and columns for placing fields on the page. In actuality, these ruler notations may represent rows and columns, inches or centimeters. If you refer to the screen in 3, you'll find an option to define PFD specifications. Within that option, you can identify the units of measure for the record and page layout.
The Design Record Layout screen is bordered by position rulers along the top and left-hand side. The traditional AS/400 perspective would lead us to assume that these ruler marks represent rows and columns for placing fields on the page. In actuality, these ruler notations may represent rows and columns, inches or centimeters. If you refer to the screen in Figure 3, you'll find an option to define PFD specifications. Within that option, you can identify the units of measure for the record and page layout.
Since the example is relatively straightforward, I've used the default of columns in defining the specification. Consequently, each field placed on the record layout will consume an equal number of columns.
For those who have experience with DisplayWrite, laying out the record with Print Format Definition Utility should feel very familiar: the editor model for the Print Format Definition Utility is based upon DisplayWrite. You move the cursor to the position on the record where you want to place a field, code or graphic and then press a function key. You can place a text field. You can also mark the coordinates of a box or a line. You can mark the position of a graphic or an image, or you can place a reference to a barcode.
The important thing to note in working with the Print Format Definition Utility's editor is that it is marking references or notations to fields or objects, and not pasting the fields or objects themselves in place. This is a crucial point when you work with the utility and, to my way of thinking, a limitation imposed by the inability of 5250-style terminals to display interactive graphics. Anyone who's used a PC-style drawing program-or even a sophisticated word processor-would find this interface extremely cumbersome. But the point is to provide a utility to the greatest number of potential users, and that means making it work on the lowest common denominator. So we're stuck with a 5250-terminal style of editor. Regardless of your preferences, designing the record layout by reference is functional, if not particularly friendly.
For similar reasons, the editor can't be more SDA-like. Because the 5250 terminal data stream can't represent different fonts, barcodes or images, there really can't be a satisfactory representation on the screen. These limitations provide a blatant example of how these advanced data streams have far outstripped the old display capabilities of the *SCS terminals upon which we're programming.
Defining Fields
Pressing the F6 (Text) function key displays a small prompt at the bottom of the screen for specifying the text that you want to include in the record (see 4). The screen allows you to key in constant text and to change the coordinates of the element you're adding to the screen.
Pressing the F6 (Text) function key displays a small prompt at the bottom of the screen for specifying the text that you want to include in the record (see Figure 4). The screen allows you to key in constant text and to change the coordinates of the element you're adding to the screen.
When you press F4, the prompt expands, showing you the complete list of options that are available (see 5). These include the degree of rotation for the text, the color which you want to print the text in, and other characteristics such as bolding or underlining.
When you press F4, the prompt expands, showing you the complete list of options that are available (see Figure 5). These include the degree of rotation for the text, the color which you want to print the text in, and other characteristics such as bolding or underlining.
But where do you identify the database field name? If you place the cursor on the "text data" field and press F4 a second time, another list shows the fields available within the database file (see 6). The process of selecting fields is very straightforward. Each selected field is inserted into the previous prompt, representing the data field with a preceding ampersand (&) character (see 7). This process continues until the record format includes all the fields you want to print as text.
But where do you identify the database field name? If you place the cursor on the "text data" field and press F4 a second time, another list shows the fields available within the database file (see Figure 6). The process of selecting fields is very straightforward. Each selected field is inserted into the previous prompt, representing the data field with a preceding ampersand (&) character (see Figure 7). This process continues until the record format includes all the fields you want to print as text.
Now you've reached the process of referencing the barcode. The steps are very similar to those used for text. Instead of pressing F6 (Text), you will press F11 (Barcode). See 8. The prompt that appears on the bottom of the screen allows you to key in constant data, or you can press F4 to expand the prompt into more detail.
Now you've reached the process of referencing the barcode. The steps are very similar to those used for text. Instead of pressing F6 (Text), you will press F11 (Barcode). See Figure 8. The prompt that appears on the bottom of the screen allows you to key in constant data, or you can press F4 to expand the prompt into more detail.
The Define Barcode Detail (9) prompt allows you to specify the particular type of barcode you want to print. But it's important to note that, despite the number of different barcodes represented on the prompt, you must know the limitations and capabilities of the printer to which you'll be sending your output.
The Define Barcode Detail (Figure 9) prompt allows you to specify the particular type of barcode you want to print. But it's important to note that, despite the number of different barcodes represented on the prompt, you must know the limitations and capabilities of the printer to which you'll be sending your output.
For instance, you may desire to print a Code 128 barcode, so you dutifully identify option 11 (CODE128) on this prompt. But if your printer doesn't support Code 128-even though it's explicitly referenced within the print- format definition specs-you'll have no way of knowing whether it truly is supported.
This can be a frustrating, confusing circumstance for some novice users of the Print Format Definition Utility. Even if the program completes successfully and executes without a hitch, the actual printout could fail because of incompatibility.
Why isn't this field edited to prevent the user from selecting options which his environment doesn't support? IBM claims that this type of environmental editing would actually place a limitation on the software.
So, at present, the Print Format Definition Utility does not warn you of the limitations of any particular printer. It merely allows you to mark references to particular types of barcodes and builds the specifications accordingly.
The next step is to place the cursor in the barcode data field, press F4 and choose the field to be translated. In the example, I chose to translate the Vendor Number field into Code 3-of-9. (My IBM 3812 supported that one... I checked!) If your printer supports POSTNET, you could just as well translate the zip code field into a POSTNET barcode and save your company some postage. That's all there is to barcode functions using Advanced Function Printing Utilities/400!
That's how simple the process of translating barcodes is with AFPDS. The Print Format Definition Utility-with its little sidelights and limitations-seems a relatively useful and quick tool for our simple application. If you want, you can draw a box around the record, to really make it appear as a label. You could place a logo (code page) or a graphic; you can rotate the text too, making it print vertically instead of horizontally. Each step of the way, the interface is the same-not exactly WYSIWYG, but certainly better than encapsulated hex codes.
Designing the Page
With all this ground you've covered, you'd think you were about done, right? Not quite! You've designed a record for the output, but you have yet to place that output onto a page.
Think of this step as placing the label onto a sheet of paper. You can specify a single label to print on each page, or you can specify multiples to print two-up or three-up. To do this, you need to use the Design Page Layout screen.
Just like the Design Record Layout screen, the Design Page Layout screen is ruled along the top and along the side. Again, depending upon how you set up the specs, the numbers of the ruler represent either rows and columns, inches or centimeters. Along the bottom are command keys which identify the options available to you.
Now you must place the newly created record layout onto this page. To do this, press F13 (Place) followed by F11 (Place record layout). You should see the display shown in 10.
Now you must place the newly created record layout onto this page. To do this, press F13 (Place) followed by F11 (Place record layout). You should see the display shown in Figure 10.
The Design Page Layout screen allows you to place multiple records on a single page. Pressing the F4 (Detail) key presents you with a secondary screen that prompts you to define the number of records per page and the spaces between them.
The confusing portion of this prompt is that it seems to be asking you to identify the number of spaces between the records; it's actually asking you for the number of spaces between placement markers. Secondly, the display doesn't always accurately represent how you've defined the placement of records. You may have to play around a bit to determine the precise placements. The experimentation may become tedious, but eventually you will be printing multiple records on a page, two-up and three-up.
Saving the Definition
You can define other specifications if you want, but the ones we've covered represent the basics. Once the definition is complete, you'll want to save it into the PFDSRC file. Press F3 to exit the program. You're prompted to verify your choices and key in a description.
This wraps up the design function of the Print Format Definition Utility-now you need to actually print the form.
Printing the Database File Member
Option 9 from the Work with PFD Definitions screen allows you to print the database file member using the new print-format definition specification (see 11).
Option 9 from the Work with PFD Definitions screen allows you to print the database file member using the new print-format definition specification (see Figure 11).
The prompt allows you to override the database file which you identified in the definition process, and to perform record selection against the database. You can redirect the output to a particular output queue as well. This is all very much like the Query/400 environment you are probably familiar with.
However, actually obtaining output from the printer can represent a challenge if you're uncertain of your particular IPDS printer's capabilities. Since the construction of the advanced-function printing data stream occurs prior to the actual interface with the particular printer, it's not until the output is actually ported through the print writer out to the IPDS printer that you'll know for certain that all of your specifications are supported.
This can be a frustrating experience if you initially take the default *ABSOLUTE for print fidelity. If the printer can't resolve a problem, it issues an error message to tell the AS/400 that a problem exists in the data stream. The AS/400 then logs the error message in the QSYSOPR message queue and holds the output in the output queue. You get no output and a cryptic message, leaving you with a hollow feeling and nothing to tell you what went wrong.
One working solution is to re-edit the PFD definition and use the Define Printout Specifications option. This presents you with the screen shown in 12. Change the print fidelity from *ABSOLUTE to *CONTENT. Then, if the IPDS printer comes across an incompatability, it prints out what it can, giving you at least some feedback to resolve the compatibility problem. Usually, comparing your specification with the printer manual resolves most difficulties.
One working solution is to re-edit the PFD definition and use the Define Printout Specifications option. This presents you with the screen shown in Figure 12. Change the print fidelity from *ABSOLUTE to *CONTENT. Then, if the IPDS printer comes across an incompatability, it prints out what it can, giving you at least some feedback to resolve the compatibility problem. Usually, comparing your specification with the printer manual resolves most difficulties.
Although we have taken a lot of time walking through each screen of the Print Format Definition Utility, the process itself isn't nearly as daunting as it might seem. Running the Print Format Defi-nition Utility is really no more rigorous than your first foray into building a query. It's only the first time or two-the time in which you're stretching your own knowledge base about the capabilities of your printer-that you might experience a problem.
Advanced Function Printing Utilities/400 Gets the Job Done
The Print Format Definition Utility and the other utilities within Advanced Function Printing Util-ities/400 are good, solid building blocks which can turn around a simple printing application in a hurry. Barcode printing doesn't have to be relegated to the backlog if these tools are available to you.
While the Print Format Definition Utility may not provide you with the ultimate barcode application, it may be just the tool to demonstrate the ease of creating barcodes to your organization. Once your coworkers see how quickly you can create and modify a barcode label, you might suddenly find that they're more interested in expanding the use of the technology within your organization. And that's always the best recommendation for any utility program.
T.M. Stockwell is an associate technical editor for Midrange Computing.
Adv Function Printing Utilities/400 & Barcoding
Figure 1 The Vendor Physical File
*. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 A R VNDMST A VNDNBR 5P 0 TEXT('VENDOR NUMBER') A NAME 25A TEXT('VENDOR NAME') A ADDR 25A TEXT('ADDRESS') A CITY 15A TEXT('CITY') A STATE 2A TEXT('STATE') A ZIPCD 5P 0 TEXT('ZIP CODE') *. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7
Adv Function Printing Utilities/400 & Barcoding
Figure 2 The AFPU Main Menu
AFPU Advanced Function Printing Utilities Select one of the following: Overlay Utility 1. Work with source overlays 2. Work with source overlay files Print Format Utility 11. Work with PFD definitions 12. Work with PFD definition files 13. Print database file member Resource Management Utility 21. Convert to page segment 22. Work with overlays 23. Work with page segments Selection or command ===> __________________________________________________________________________ _______________________________________________________________________________ F3=Exit F4=Prompt F9=Retrieve F12=Cancel F16=System main menu
Adv Function Printing Utilities/400 & Barcoding
Figure 3 Create PFD Definition
Create PFD Definition File . . . . . . . . . . . : PFDSRC Library . . . . . . . . : MYLIB PFD definition . . . . . . : VDRLBL Type options, press Enter. 1=Select Opt Action _ Define PFD specifications _ Work with PFD definition fonts 1 Specify database file _ Specify break fields 1 Design record layout 1 Design page layout _ Specify record selection _ Define printout specifications _ Specify mapping object name F3=Exit F5=Refresh F9=Select all F12=Cancel
Adv Function Printing Utilities/400 & Barcoding
Figure 4 Design Record Layout Text Prompt
Design Record Layout Columns: 1- 74 Control . . ______ *...+....1....+....2....+....3....+....4....+....5....+....6....+....7.... 001 %T001 002 003 004 005 006 007 008 009 010 011 012 More... Define Text Mark . . . . . . : *T001 Measurement method . . . . : Row/Column Position . . . . . Across 1 Down 1 Text data . . . . __________________________________________________________ F3=Exit F4=Detail F6=Change measurement method F12=Cancel F24=More keys
Adv Function Printing Utilities/400 & Barcoding
Figure 5 Define Text Detail
Define Text Detail Mark: *T001 Measurement method: Row/Column Type choices, press Enter. Position: Across . . . . . . . . . . 1 1-999 Down . . . . . . . . . . . 1 1-999 Text data . . . . . . . . . ______________________________________________ _______________________________________________________________________________ _ _____________________________________________________________________________ F4 for list Element . . . . . . . . . . ____ Name Format . . . . . . . . . . . 1 1=Horizontal, 2=Vertical Degree of rotation . . . . . 0 0, 90, 180, 270 Color . . . . . . . . . . . *DEFAULT *DEFAULT, 1=Blue, 2=Red 3=Magenta, 4=Green, 5=Cyan 6=Yellow, 7=Brown, 8=Black Underline . . . . . . . . . N Y=Yes, N=No More... F3=Exit F4=Prompt F5=Refresh F6=Change measurement method F10=Edit numeric F12=Cancel
Adv Function Printing Utilities/400 & Barcoding
Figure 6 Select Field in Record Format
Select Field in Record Format Database file . . . . . . : VENDOR Library . . . . . . . . : MYLIB Record Format . . . . . . : VNDMST Type option, press Enter. 1=Select Opt Field Length Type Text _ VNDNBR 5,0 P 1 NAME 25 C _ ADDR1 25 C _ CITY 15 C _ STATE 2 C _ ZIPCD 5,0 P Bottom F5=Refresh F11=Select reserved variable F12=Cancel
Adv Function Printing Utilities/400 & Barcoding
Figure 7 Define Text Detail
Define Text Detail Mark: *T001 Measurement method: Row/Column Type choices, press Enter. Position: Across . . . . . . . . . . 1 1-999 Down . . . . . . . . . . . 1 1-999 Text data . . . . . . . . . &NAME. _______________________________________________________________________________ _ _____________________________________________________________________________ F4 for list Element . . . . . . . . . . NAME Name Format . . . . . . . . . . . 1 1=Horizontal, 2=Vertical Degree of rotation . . . . . 0 0, 90, 180, 270 Color . . . . . . . . . . . *DEFAULT *DEFAULT, 1=Blue, 2=Red 3=Magenta, 4=Green, 5=Cyan 6=Yellow, 7=Brown, 8=Black Underline . . . . . . . . . N Y=Yes, N=No More... F3=Exit F4=Prompt F5=Refresh F6=Change measurement method F10=Edit numeric F12=Cancel
Adv Function Printing Utilities/400 & Barcoding
Figure 8 Design Record Layout Barcode Prompt
Design Record Layout Columns: 1- 74 Control . . ______ *...+....1....+....2....+....3....+....4....+....5....+....6....+....7.... 001 *NAME 002 *ADDR . 003 *CITY *ST . 004 005 %C005 006 007 008 009 010 011 012 More... Define Barcode Mark . . . . . . : *C005 Measurement method . . . . : Row/Column Position . . . . . Across 1 Down 5 Barcode type . . . __ Barcode data . . __________________________________________________________ F3=Exit F4=Detail F6=Change measurement method F12=Cancel F24=More keys
Adv Function Printing Utilities/400 & Barcoding
Figure 9 Define Barcode Detail
Define Barcode Detail Mark: *C005 Measurement method: Row/Column Type choices, press Enter. Position: Across . . . . . . . . . . 1 1-999 Down . . . . . . . . . . . 5 1-999 Barcode type . . . . . . . . 1 1=CODE3OF9, 2=MSI, 3=UPC-A 4=UPC-E, 5=EAN-8, 6=EAN-13 7=INDUST25, 8=MATRIX25 9=INTERL25, 10=CODABAR 11=CODE128, 12=POSTNET Barcode data . . . . . . . . &VNDNBR. ______________________________________________________ F4 for list Element . . . . . . . . . . VNBR Name Bottom F3=Exit F4=Prompt F5=Refresh F6=Change measurement method F12=Cancel
Adv Function Printing Utilities/400 & Barcoding
Figure 10 Design Page Layout
Design Page Layout Columns: 1- 74 Control . . ______ *...+....1....+....2....+....3....+....4....+....5....+....6....+....7.... 001 %R001-001 002 003 004 005 006 007 008 009 010 011 012 More... Place Record Layout Mark . . . . . . : *R001 Measurement method . . . . : Row/Column Position . . . . . Across 1 Down 1 F3=Exit F4=Detail F6=Change measurement method F12=Cancel F24=More keys
Adv Function Printing Utilities/400 & Barcoding
Figure 11 Print Database File Member
Print Database File Member File . . . . . . . . . . . . . : PFDSRC Library . . . . . . . . . . : MYLIB PFD definition . . . . . . . . : VDRLBL Type choices, press Enter. Database file . . . . . . . . . *PFD Name, *PFD, F4 for list Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB Member . . . . . . . . . . . . . *FIRST Name, *FIRST, F4 for list Include grid . . . . . . . . . . N Y=Yes, N=No Record selection . . . . . . . . Y Y=Yes, N=No Ending page . . . . . . . . . . *END 1-9999, *END Output queue . . . . . . . . . . *JOB Name, *JOB Library . . . . . . . . . . . Name, *LIBL, *CURLIB Copies . . . . . . . . . . . . . *PFD 1-255, *PFD F3=Exit F4=Prompt F5=Refresh F12=Cancel
Adv Function Printing Utilities/400 & Barcoding
Figure 12 Define Printout Specifications
Define Printout Specifications Type choices, press Enter. Copies . . . . . . . . . . . . . . 1 1-255 Print fidelity . . . . . . . . . . *CONTENT *ABSOLUTE, *CONTENT Print quality . . . . . . . . . . *STD *STD, *DRAFT, *NLQ Duplex . . . . . . . . . . . . . . N Y=Yes, N=No Form type . . . . . . . . . . . . *STD Character value, *STD Source drawer . . . . . . . . . . 1 1, 2, 3, *E1 Front side overlay: Overlay . . . . . . . . . . . . *NONE Name, *NONE, F4 for list Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB Offset across . . . . . . . . . .00 0.00-22.75 Offset down . . . . . . . . . . .00 0.00-22.75 Back side overlay: Overlay . . . . . . . . . . . . *NONE Name, *NONE, F4 for list Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB Offset across . . . . . . . . . .00 0.00-22.75 Offset down . . . . . . . . . . .00 0.00-22.75 F3=Exit F4=Prompt F5=Refresh F12=Cancel
LATEST COMMENTS
MC Press Online