The Reality Spooler manages the transfer of print data from Reality user processes to one or more output devices. It enables multiple users to share multiple output devices, including printers and tape units, and allows each user to dispatch print data to a device as if they had sole use.
Print jobs are generated by the Reality processors TCL, English, Proc, and DataBasic.
Each job is given a unique job-id and added to a particular spooler queue (known as a 'formqueue') according to the current spooler assignments for the user generating them. The number of copies of a job to be output, the job file in which it is held, any prefix to the job-id and 'spooler options' (such as 'hold', which retains jobs after output) are also determined by spooler assignments.
The formqueue comprises print jobs for output by a Despooler, together with control/status information to manage the queue and determine the format of the print output.
Despoolers are assigned to formqueues to take print jobs from the head of the queue and to output them to a specific output device.
Multiple formqueues can be serviced by a single despooler, according to pre-assigned priorities. Also, multiple Despoolers can service a single formqueue. The print job at the head of the queue is despooled by the first Despooler able to take it.
Four types of output device can be assigned to a Despooler:
SYS A system printer device, configured in the host system spooler and shared by host and Reality database users.
PTR A network printer, private printer (UNIX only) or port device (UNIX only), driven by Reality.
TAPE A tape device configured in the Reality environment.
FILE An ordinary Reality file.
A default entry (D) is the only entry in the 'spooler assignment table' at logon. This is used for all print output, unless SP-ASSIGN is used to set up entries for specific 'print reports' in the range 0 to 127. SP-ASSIGN can also be used to change the default entry, which applies to all 'print reports' which do not have an explicit assignment. The current assignment table for a user is displayed using the SP-LOOK command.
All processors, apart from DataBasic, output to 'print report 0'. Their print jobs are sent to the formqueue, and assigned other parameters, for print report 0, or use the default assignment if print report 0 has no table entry. DataBasic programs also use print report number 0 by default, but can specify a print report in the range 1 to 127 to send print data to. These use any specific assignments for that report number, or else the default assignment.
The following shows a simplified schematic of a typical Spooler configuration:
Formqueues are created, changed or deleted using SPM option 1 or the equivalent TCL command FQM.
Despoolers are created, changed or deleted using SPM option 2 or the equivalent TCL command DSM.
You can use the following commands to create 'default' formqueues and despoolers quickly:
You can also create and delete a formqueue, assign or re-assign despoolers, and set some formqueue options, using SP-STATUS action codes or equivalent TCL commands, but use of SPM or equivalent is recommended for greater flexibility.
The Spooler supports the following printer control features:
These are discussed in the topic Printer Control Features.
Printer command strings are created and maintained using SPM option 3 or the equivalent TCL command PCSM.