IBM i5/iSeries Primer(c) Concepts and Techniques for Programmers, Administrators, and Sys[... ]ators

Output queues are holding areas for all the reports requested by your users. Reports (a generic term that could apply to a Print key image or to a 2,000-page A/R aging) are generated within an output queue and wait until they are printed, deleted, or moved to another output queue.

The system comes equipped with a number of output queues. QPRINT is the most obvious example. You don't have to use IBM's output queues, although you could. When you create a printer device, the system creates an output queue of the same name.

You should investigate the possibility of creating your own output queues and classify your reports by assigning them to different output queues according to the requirements of your company.

For example, you probably should have a separate output queue for the Personnel (Human Resources) department. This output queue could be secured with a public authority of *EXCLUDE. Then you could give the users in the Personnel department *CHANGE authority. The net result is that only the users in the Personnel department could produce reports in their output queue, and no one but Personnel employees would be able to display them. Confidential information then would be protected.

Naming Output Queues

Output queues can have nonsystematic names because it is unlikely that you will have a great deal of them. If you create an output queue for miscellaneous reports that users put on hold, you could name it ONHOLD. Remember that output queues can be placed in any library.

Tip 

The system automatically creates an output queue for eachprinter device at the time you create the device description for the printer (using the CRTDEVPRT command). This is the simplest way to direct printed output because the output queue and the printer have the same name. You should consider using these printer-related output queues whenever possible.

Maintaining Output Queues

The commands used to maintain output queues are all easy to remember. You create an output queue using the Create Output Queue (CRTOUTQ) command, change it using CHGOUTQ, delete it using DLTOUTQ. However, you do not work with output queues using the WRKOUTQ command. That command is reserved for working with the contents of output queues, not for working with the objects themselves.

To select an output queue for maintenance, use the Work with Output Queue Description (WRKOUTQD) command.

Assigning Output Queues to Users

You can assign an output queue to a user by changing the user profile's OUTQ parameter. For example, if user FRED needs all his reports to go to output queue SPECIAL, run the following command:

CHGUSRPRF USRPRF(FRED) OUTQ(SPECIAL)

Another way to achieve the same result is to go through a job description. This approach is better if several users need to use the same output queue. For example, suppose that both FRED and MARY want their reports in output queue SPECIAL:

CRTJOBD JOBD(MGTLIB/ARJOBD) OUTQ(SPECIAL) CHGUSRPRF USRPRF(FRED) JOBD(MGTLIB/ARJOBD) OUTQ(*JOBD) CHGUSRPRF USRPRF(MARY) JOBD(MGTLIB/ARJOBD) OUTQ(*JOBD

Note that, in Figure 13.1, the user profile's OUTQ parameter has been set to *JOBD. This points to the job description and means "get the name of the output queue from the job description assigned to this user." Because the job description is ARJOBD in MGTLIB, the system goes to that job description, where it finds that the output queue parameter is SPECIAL. Both FRED and MARY's output queue, then, is SPECIAL.

Figure 13.1: Illustration of OUTQs.

Категории