Aspooled file contains output that has been generated by a program. The spooled file consists of data and attributes. Data is the report itself—the facts and figures that people glean from the report. Data may be expressed using text, barcodes, or graphical images. The attributes of the spooled file tell the system how to manage the report. Some attributes include the name of the form on which the report is to be printed, the output queue to which the report is assigned, the number of copies to be produced, and the number of characters to be printed in a horizontal inch.
An output queue is a repository for spooled files. When you request a report, such as a screen image generated with the Print key or a 2,000-page transaction history, the report is produced within an output queue. In the output queue (an object of type *OUTQ), the report waits for its turn to reach the printer. However, an output does not have to be attached to a printer. The spooled files on an output queue that has no attached printer remain in the system until someone deletes them or moves them to an output queue that has an attached printer. A writer ties an output queue to a printer. When you start a printer writer, you tell the system that the spooled files that arrive on a specified output queue are to be printed on the specified printer. Because no permanent connection exists between a printer and an output queue, you may assign different output queues to a printer device at different times.
The system can have any number of output queues, and you can put them to any use you see fit. The administrative aspect of output queues is described in more detail in Chapter 14, which describes how to create and maintain your own output queues.
The Work with Output Queue (WRKOUTQ) command lets you see which output queues are available and what reports are in them. This dual function is possible because of the OUTQ parameter; if you specify *ALL, the WRKOUTQ command begins by listing the output queues by name. You can then select one of them for viewing by entering an option 5. Figure 5.1 shows the Work with All Output Queues panel.
Figure 5.1: Example of the Work with All Output Queues panel.
If you prefer, you can skip this step (and save time) by directly entering the name of the output queue you want to see into WRKOUTQ's OUTQ parameter, as follows:
In this case, the system goes directly to output queue QPRINT and shows a list of the reports waiting there. The system skips the output selection panel entirely. Figure 5.2 shows the work with a single output queue panel.
Figure 5.2: Example of the Work with Output Queue (WRKOUTQ) command.
Sometimes you may need to tell the system not to print anything that is in a certain output queue. For example, suppose you have an output queue named SALES, which is used by your company's Sales department. If several reports in that output queue must be put on hold, you can run the Hold Output Queue (HLDOUTQ) command:
The output queue continues to be assigned to a printer, but no printing takes place. Later, when you are ready to resume printing the reports, you can use the Release Output Queue (RLSOUTQ) command: