Assign printers for spoolout jobs
Component: | SPOOL |
Functional area: | Controlling spoolout job |
Domain: | SPOOL-PRINT-ADMINISTRATION |
Privileges: | STD-PROCESSING |
Routing code: | S |
Function
The START-PRINTER-OUTPUT command assigns printers for spoolout jobs. Nonprivileged users (STD-PROCESSING) can issue the command only when acting as RSO device administrators.
The administration parameters specified in the command govern which spoolout jobs will be printed on the specified device.
The administration parameters of a device which has already been assigned can be changed with the MODIFY-PRINTER-OUTPUT-STATUS command. Device assignments are canceled with the STOP-PRINTER-OUTPUT command.
The state of the printer in BS2000 has no effect on this forwarding. The START-PRINTER-OUTPUT command is therefore now only relevant for RSO printers and virtual devices. For local printers, it is still accepted but has no effect.
Privileged functions
RSO device administrators and spool and cluster administrators can assign any of the devices that they manage.
For more information on these user groups see the manuals “RSO” [32], “SPOOL” [43] and “DPRINT” [10].
Notes
For the print sample, the data is modified as follows: all letters are replaced by “X”, all digits by “0”.
To execute a spoolout request for a printer, all of the scheduling operands must apply to the device. If this is not the case, the spoolout request remains in the queue.
To execute an RSO request for a printer, at least one of the specifications for each of class, form name and user ID must apply to the device. If this is not the case, the RSO request remains in the queue.
If the specifications for form name, class or user ID are omitted, any output for a specified device can be executed. But if values are specified for these categories, only those RSO requests which match all the specifications can be executed.
The hierarchy of the operands for controlling spoolout is described in the section on scheduling in the “SPOOL” manual [43].
If a print sample has been completed and printout has been delayed, the print sample remains the same on restart.
The following operands must not be specified for APA printers:
FORMS-OVERLAY
PAGE-PRINTER-OUTPUT
PRINT-SAMPLE
ROTATION
FORMS-OVERLAY-BUFFER
CHARACTER-SET-NUMBERThe following operands may only be used with the privilege TSOS or OPERATING:
DEVICE-NAME=*ANY-LOCAL-PRINTER(...)
ROTATION
TWO-UP-PROCESSING
FORMS-OVERLAY-BUFFER
CHARACTER-SET-NUMBERIf a printer is defined with ACCESS-TYPE=TACLAN, the START-PRINTER-OUTPUT command is rejected with message SRO0369 if the SOCKETS subsystem is not loaded or not defined in the subsystem catalog. In the case of other printers (not defined with ACCESS-TYPE=TACLAN), the command is rejected with message SRO0369 if the DCAM subsystem is not loaded.
Format
START-PRINTER-OUTPUT | Alias: SRPRTO | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Operands
DEVICE-NAME =
Type of printer to be assigned.
DEVICE-NAME = *ANY-LOCAL-PRINTER(...)
For privileged users only (see “Privileges” above).
Local printers are assigned.
NAME = list-poss(8): <alphanum-name 1..8>
Logical names of devices, defined in the SPOOL parameter file (maximum of 8 alphanumeric characters) or mnemonic names of devices (2 alphanumeric characters) to be assigned to waiting spoolout jobs.
If a device has been activated with a particular name (START- or MODIFY-PRINTER-OUTPUT), it can only be addressed by this name until it is deactivated (STOP-PRINTER-OUTPUT).
DESTINATION =
Specifies whether and how the assignment of the specified local printers to a pool is modified.
During PRINT validation a check is carried out to determine whether a specified pool is defined in the SPOOL parameter file and the specified device name exists in the pool.
DESTINATION = *NONE
The list of local pools for the specified printers is deleted, i.e. spoolout jobs for these pools are no longer processed.
DESTINATION = *STD
Standard pools for local printers.
The list of assigned pools for local printers is replaced by a list of standard pools containing the specified local printers (SPOOL parameter file).
DESTINATION = list-poss(16): *CENTRAL / <name 1..8>
List of local pools to which the spoolout jobs for the specified printers can be directed.
FORM-NAME =
Forms with which spoolout jobs can be processed on the specified printers.
FORM-NAME = *ALL
Spoolout jobs can be processed on the specified printers with any forms.
FORM-NAME = *STD
Spoolout jobs can be processed on the specified printers with all forms permitted in the SPOOL parameter file for the relevant printer.
If the printer is not in the SPOOL parameter file, FORM-NAME=*STD is assumed automatically.
FORM-NAME = *EQUIVALENT(...)
Equivalent forms with which spoolout jobs can be processed on the specified printers. Printout is not interrupted whenever one form is replaced by another.
EQUIVALENT-FORMS = *ALL / list-poss(16): <alphanum-name 1..6>
All or the specified list of equivalent forms are admitted.
FORM-NAME = *EXCEPT(...)
Forms with which spoolout jobs cannot be processed on the specified printers.
FORMS-LIST = list-poss(16): <alphanum-name 2..2>
List of excluded forms.
FORM-NAME = *EQUIVALENT-EXCEPT(...)
List of equivalent forms with which spoolout jobs cannot be processed on the specified printers.
FORMS-LIST = list-poss(16): <alphanum-name 1..6>
List of excluded equivalent forms.
FORM-NAME = list-poss(16): <alphanum-name 1..6>
List of forms with which spoolout jobs can be processed on the specified printers. Printout is interrupted with a message on the console whenever one form is replaced by another.
FORMS-OVERLAY =
Names of the film overlays with which spoolout jobs can be processed on the specified laser printers.
FORMS-OVERLAY = *ALL
Spoolout jobs can be processed on the specified printers with any film overlay.
FORMS-OVERLAY = *NONE
Only spoolout jobs which do not use film overlays can be processed on the specified printers.
FORMS-OVERLAY = *ONLY
Only spoolout jobs which use (any) film overlays can be processed on the specified printers.
FORMS-OVERLAY = *EXCEPT(...)
Names of the film overlays with which spoolout jobs cannot be processed on the specified printers.
FORMS-OVERLAY-LIST = list-poss(16): <alphanum-name 2..2>
List of excluded film overlays.
FORMS-OVERLAY = list-poss(16): <alphanum-name 2..2>
List of film overlays with which spoolout jobs can be processed on the specified printers.
HOST-NAME = *ALL-CLUSTERS / *LOCAL-CLUSTER / *HOME / *EXCEPT(...) /
list-poss(16): <name 1..8> / <c-string 1..8 with-low>
Specifies for the printer the hosts whose print jobs are processed.
HOST-NAME = *ALL-CLUSTERS
Print jobs from all hosts in all clusters are processed on the specified printer.
HOST-NAME = *LOCAL-CLUSTER
Print jobs from all hosts in the local cluster are processed on the specified printer.
HOST-NAME = *HOME
Only print jobs from the local host are processed on the specified printer.
HOST-NAME = *EXCEPT(...)
Print jobs from all hosts except those in the EXCEPT list are processed on the specified printer.
HOST-LIST = list-poss(16): <name 1..8> / <c-string 1..8 with-low>
BCAM names of the hosts whose print jobs are not to be processed.
HOST-NAME = list-poss(16): <name 1..8>
Only print jobs from hosts in this list are processed on the specified printer.
PAGE-PRINTER-OUTPUT = *NO / *ALLOWED
Specifies whether spoolout jobs for laser printer may also be output on line printers.
PRINT-SAMPLE = *NO / *YES
Determines whether a print sample is to be made for the spoolout jobs offered for printout in accordance with the assignment operand. For APA printers PRINT-SAMPLE=*YES is rejected.
TRACE = *NO / *YES (...)
Only permitted for APA printers. Switches tracing on or off. Name of the trace file: $SYSSPOOL.TF.<mn>.<dvcname>.<yyyy-mm-dd>.<hhmmss>
LEVEL = *COMPLETE / *STATUS / *BLOCK-CONTROL
Specifies what files are written to the tracer listing. For a description of the data see the “SPOOL” manual [43].
LEVEL = *COMPLETE
The trace is to be logged in full.
LEVEL = *STATUS
For APA jobs only: trace and status data is to be logged.
LEVEL = *BLOCK-CONTROL
For APA jobs only: trace, status and block control data is to be logged.
DEVICE-NAME = *RSO-PRINTER(...)
Not for nonprivileged users other than RSO device administrators.
RSO printers are to be assigned.
NAME = list-poss(8): <alphanum-name 1..8>
Names of RSO printers which are to be assigned to waiting spoolout jobs.
DESTINATION = *NONE / *STD / list-poss(16): <name 1..8>
Determines whether the specified RSO printers are to be assigned to one or more pools and, if so, which.
DESTINATION = *NONE
Spoolout jobs which are to be output to RSO pools cannot be processed on the specified RSO printers.
DESTINATION = *STD
The list of assigned pools comprises all the standard pools which contain the specified RSO printers.
FORM-NAME =
Forms with which spoolout jobs can be processed on the specified RSO printers.
FORM-NAME = *STD
Spoolout jobs can be processed on the specified printers with all the equivalent forms defined in the SPOOL parameter file for the relevant RSO printer.
FORM-NAME = *EQUIVALENT(...)
Spoolout jobs can be processed on the specified RSO printers with equivalent forms.
EQUIVALENT-FORMS = *ALL / list-poss(16): <alphanum-name 1..6>
All equivalent forms or the specified list of equivalent forms are admitted.
FORM-NAME = *EQUIVALENT-EXCEPT(...)
Spoolout jobs cannot be processed on the specified RSO printers with certain equivalent forms.
FORMS-LIST = list-poss(16): <alphanum-name 1..6>
List of excluded equivalent forms.
FORM-NAME = <alphanum-name 1..6>
Form with which spoolout jobs can be processed on the specified RSO printers.
PRINT-SAMPLE = *NO / *YES
Specifies whether a print sample is to be made.
In RSO mode a print sample can be requested for public devices printing on continuous paper (not single-sheet printers).
TRACE = *NO / *YES
Specifies whether a trace file is created for output to the specified RSO printers. The trace file is cataloged under the name $SYSSPOOL.SYSTRC.RSO.device.yy-mm-dd.hh.mm (...year-month-day.hour.minutes).
ALLOWED-ACCESSES = *STD / list-poss(4): <c-string 1..4>
This operand specifies which accesses are allowed. It is permissible for any RSO printer.
ALLOWED-ACCESSES = *STD
The value (C'RSO'
, C'UTM'
) is set.
ALLOWED-ACCESSES = list-poss(4): <c-string 1..4>
List of allowed accesses. The following may be specified:
| RSO print jobs can be assigned to the printer that is started. |
| UTM print jobs can be assigned to the printer that is started. |
USER-IDENTIFICATION =
User IDs under which spoolout jobs can be processed on the specified printers.
USER-IDENTIFICATION = *ALL
Spoolout jobs can be processed on the specified printers irrespective of the user ID.
USER-IDENTIFICATION = *EXCEPT(...)
Spoolout jobs cannot be processed on the specified printers under the user IDs indicated here.
USER-IDENT-LIST = list-poss(16): <name 1..8> / <c-string 1..8 with-low>
List of excluded user IDs.
USER-IDENTIFICATION = list-poss(16): <name 1..8> / <c-string 1..8 with-low>
List of user IDs under which spoolout jobs can be processed on the specified printers.
SPOOLOUT-CLASS =
Spoolout classes from which spoolout jobs can be processed on the specified printers.
SPOOLOUT-CLASS = *ALL
Spoolout jobs from all spoolout classes can be processed on the specified printers.
SPOOLOUT-CLASS = *EXCEPT(...)
Spoolout classes from which spoolout jobs cannot be processed on the specified printers.
SPOOLOUT-CLASS-LIST = list-poss(16): <integer 1..255>
List of excluded spoolout classes.
SPOOLOUT-CLASS = list-poss(16): <integer 1..255>
List of spoolout classes from which spoolout jobs can be processed on the specified printers.
SPOOLOUT-NAME =
Job names with which spoolout jobs can be processed on the specified printers.
SPOOLOUT-NAME = *ALL
Spoolout jobs with any job name can be processed on the specified printers.
SPOOLOUT-NAME = *EXCEPT(...)
Job names with which spoolout jobs cannot be processed on the specified printers.
SPOOLOUT-NAME-LIST = list-poss(16): <alphanum-name 1..8> / <c-string 1..8 with-low>
List of excluded job names.
SPOOLOUT-NAME = list-poss(16): <alphanum-name 1..8> / <c-string 1..8 with-low>
List of job names with which spoolout jobs can be processed on the specified printers.
ACCOUNT =
Account numbers with which spoolout jobs can be processed on the specified printers.
ACCOUNT = *ALL
Spoolout jobs with any account number can be processed on the specified printers.
ACCOUNT = *EXCEPT(...)
Account numbers with which spoolout jobs cannot be processed on the specified printers.
ACCOUNT-LIST = list-poss(16): <alphanum-name 1..8>
List of excluded account numbers.
ACCOUNT = list-poss(16): <alphanum-name 1..8>
List of account numbers with which spoolout jobs can be processed on the specified printers.
ROTATION =
Determines whether spoolout jobs which require the page rotation module can be processed on the specified printers.
ROTATION = *ANY
Spoolout jobs can be processed on the specified printers whether they require the page rotation module or not.
ROTATION = *NO
Only spoolout jobs which do not require the page rotation module can be processed on the specified printers.
ROTATION = *YES
Only spoolout jobs which require the page rotation module can be processed on the specified printers.
ROTATION = *MANUAL
In contrast to NO, the operator can address the page rotation module via hardware switches. In this case all the pages are printed out in rotated format.
TWO-UP-PROCESSING = *ANY / *YES / *NO / *MODE-1 / *MODE-2
This operand is only still available for reasons of compatibility.
FORMS-OVERLAY-BUFFER =
Determines whether spoolout jobs which require an FOB data overlay can be processed on the specified virtual devices.
FORMS-OVERLAY-BUFFER = *ANY
Spoolout jobs with and without FOB data overlays can be processed on the specified virtual devices. The maximum possible FORMS-OVERLAY-BUFFER is taken from the corresponding default device entry.
FORMS-OVERLAY-BUFFER = *ONLY
Only spoolout jobs which use an FOB data overlay can be processed on the specified virtual devices. The maximum possible FORMS-OVERLAY-BUFFER is taken from the corresponding default device entry.
FORMS-OVERLAY-BUFFER = *NO
Spoolout jobs which use an FOB data overlay cannot be processed on the specified virtual devices.
FORMS-OVERLAY-BUFFER = *RANGE(...)
Only spoolout jobs which use an FOB data overlay the size of which falls within the specified range can be processed on the specified virtual devices.
LOW = 0 / <integer 0..32767>
Lower limit of the range (in sublines).
HIGH = 4032 / <integer 0..32767>
Upper range limit for HP90 printers: 4032 sublines. Upper range limit for HP printers: 672 sublines.
PRIORITY =
Priorities of the spoolout jobs which can be processed on the specified printers.
PRIORITY = *ALL
Spoolout jobs with any priority can be processed on the specified printers.
PRIORITY = *RANGE(...)
Spoolout jobs with priorities within the specified range can be processed on the specified printers.
FROM = 30 / <integer 30..255>
Lower range limit.
TO = 255 / <integer 30..255>
Upper range limit.
CHARACTER-SET-NUMBER =
Number of character sets required with which spoolout jobs can be processed on the specified virtual devices.
CHARACTER-SET-NUMBER = *ALL
Spoolout jobs can be processed on the specified virtual devices irrespective of the number of character sets required. The maximum possible number of required character sets is taken from the corresponding default device entry.
CHARACTER-SET-NUMBER = *ONE
Only spoolout jobs which require no more than one character set can be processed on the specified virtual devices.
CHARACTER-SET-NUMBER = *RANGE(...)
Spoolout jobs which require a number of character sets which falls within the specified range can be processed on the specified virtual devices. During initialization of a device, a check is made as to how many character sets can be loaded on the device. If this value is less than one of the two values specified, either a message is sent to the operator terminal and the value for HIGH is adapted (if LOW <= number of character sets that can be loaded on the device), or the command is rejected (if LOW > number of character sets that can be loaded on the device).
LOW = 1 / <integer 1..32767>
Lower range limit.
HIGH = 64 / <integer 1..32767>
Upper range limit.
EXIT-ROUTINES = *ACTIVE / *NOT-ACTIVE
Specifies whether exit routines are to be called during spoolout.
Return codes
(SC2) | SC1 | Maincode | Meaning/Guaranteed messages |
---|---|---|---|
0 | CMD0001 | No error | |
2 | 0 | SRO0357 | Too many pools |
1 | CMD0202 | Syntax error | |
1 | SCP0973 | Semantic error | |
1 | SRO0173 | Semantic error | |
32 | SCP0974 | System error. Command rejected | |
32 | SRO0174 | System error. Command rejected | |
64 | SCP0975 | No authorization for command | |
64 | SCP0976 | Invalid operand value | |
64 | SRO0175 | No authorization for command | |
64 | SRO0176 | Invalid operand value | |
128 | SCP0896 | SCSIPCL subsystem not loaded or not ready | |
128 | SCP0911 | RSO subsystem in dump creation or restart phase | |
128 | SCP0992 | SPS subsystem not loaded or not supported | |
128 | SCP1008 | DPRINTSV subsystem not loaded | |
128 | SPS0420 | Subsystem not loaded/ready | |
128 | SRO0364 | Form not accepted |
Notes
User responsibilities: The SPOOL administrator can start any printer in the configuration that is connected to his or her host. Although the cluster administrator can start, suspend or modify any printer in the configuration, it is advisable to leave the responsibility for device management to the SPOOL administrators in the cluster.
Checking the user ID: Changing the user ID in the user ID catalog has no effect if the active printer is defined in the configuration file. If, however, the printer is defined in the local SPOOL parameter file, a change does take effect.
Printer name conventions: When a printer is started, the command can include a printer name from the local SPOOL parameter file or from the configuration file.
If there is a suitable name in the configuration file, the printer is started and becomes available to every host that belongs to the cluster. The command must be issued by a cluster administrator or a SPOOL administrator. The SPOOL administrator must issue the command at the host to which the printer is connected.
If there is no suitable name in the configuration file, the local SPOOL parameter file is searched. If there is a suitable printer, it is started, but it is only available to the local host.
Distributed and nondistributed printer pools: A printer cannot be connected to distributed and nondistributed printer pools at the same time. If the printer is distributed, it can only be connected to distributed printer pools. If it is not distributed, it can only be connected to nondistributed printer pools.
Use of logical names: If a printer is started by means of its logical name in the SPOOL parameter file, it must be suspended before it can be started again by means of its logical name in the configuration file. The same applies in the reverse case.
Supported format names (corresponds to file attribute 'content type'): In the static definition of a printer in the SPOOL parameter file, the administrator must specify a list of supported format names. These format names then belong to the started printer. The print job scheduler uses this information to assign print jobs to this printer.
Use of virtual printers: The command processing supports virtual printers. Format names are not checked for validity if they were specified in the command and the command refers to a virtual printer. The format names allow a group of print jobs to be selected for processing by the supervisor task.
Monitoring RSO printers with job variables
In the case of printers that were defined with MONJV=*YES in the SPOOL parameter file, a monitoring job variable is created to monitor the asynchronous portion of the START-PRINTER-OUTPUT command. This job variable is created by the RSO system task during the asynchronous portion of the START-PRINTER-OUTPUT command and subsequently monitors the printer status (as indicated in the SHOW-SYSTEM-STATUS command) on the running device.
The monitoring job variable is created - as defined by conventions - under the user ID $SYSSPOOL with the predefined name PRT.RSO.<device-name>. This job variable is shared and cannot be protected by a password. The JV subsystems are needed to use this function.
The job variable is constructed as follows:
Sta | TSN | Proc. | Reserved | Device | ERCOD | ERMSG |
0 | 3 | 8 | 16 | 37 | 46 | 55 |
The first three fields of the job variable are reserved for ENTER jobs. The following fields are assigned to SPOOL and indicate the various states that can occur in a print session. The “Status” and “Processor” fields are left-aligned. All other fields are right-aligned.
The contents of a job variable can be displayed with the SHOW-JV command.
Description of fields
Field | Contents | Meaning |
Sta | $R | The printer is ready or is currently processing a print job (see ERMSG and ERCOD for more information). |
$T | The printer was terminated normally. | |
$A | The printer was not correctly started (see ERMSG and ERCOD for more information). | |
TSN | Tsn | TSN of the task that is managing the printer. |
Proc. | Catid | Catalog ID of the system (home pubset) on which the printer is |
Reserved | ||
Device | @@@@@@@@ | Printer name |
ERCOD | @@@@@@@@ | (BCAM) error code for an error that has occurred for an active print |
ERMSG | @@@@@@@@ | RSO error message. The meaning depends on the value of the
|
Application notes
The job variable cannot be protected by a password.
The job variable is not created on executing the synchronous portion of the START-PRINTER-OUTPUT command, but during the asynchronous portion, which is executed by the RSO system task and the controller task.
The RSO system task creates or updates a job variable whenever an error occurs on processing the print job. The job variable is then set to $SA and will contain an error code and/or an error message that describes the error. In the case of printers that are started for a print job, the job variable is set to the status $R, in which case the controller task is not really created. This is indicated in the job variable by the TSN “RSO”.
The controller task creates or updates a job variable to indicate errors that have occurred on initializing the controller. The job variable is then set to $A and contains an error code and/or an error message that describes the error. If the printer is initialized correctly and is ready, the job variable is set to the status $R. This status remains in effect even if the printer is temporarily disabled due to an error when processing a print job, but an error code and/or error message are added to describe the error. These details can also be output with the SHOW-SYSTEM-STATUS command. When the printer is subsequently released with a STOP-PRINTER-OUTPUT command, the status of the job variable is set to $T.
All created job variables remain visible until the next time that the RSO is loaded. When this occurs, all printer job variables are reset.
Example
/start-printer-output device-name=*any-local-printer(name=l1,
host-name=*all),user-id=hello ——————————————————— (1)
/start-printer-output device-name=*any-local-printer(name=l1,
host-name=*home),user-id=hello —————————————————— (2)
(1) | Printer L1 processes print jobs from all hosts that go to the local server and are issued by the user ID HELLO (on any host). |
(2) | Printer L1 processes print jobs from the local host that go to the local server and are issued by the user ID HELLO (on the local host). |