Output files/library members to printer
Component: | SPOOL |
Functional area: | Controlling spoolout jobs |
Domain: | SPOOL-PRINT-SERVICES |
Privileges: | STD-PROCESSING |
Routing code: | $ |
Function
The PRINT-DOCUMENT command enables you to output files on a printer. By specifying the relevant operands you can control the print job. If a print job contains nothing other than the name of the file to be printed, SPOOL uses default values.
The specifications in the PRINT-DOCUMENT command are entered into a spool control block (SCB) along with the default values for device selection. The SCB is placed in a spoolout queue (local spoolout, RSO) and managed as a separate job with a separate TSN.
You can monitor the processing of your spoolout jobs with the SHOW-PRINT-JOB-STATUS command, modify specific print control parameters with the MODIFY-PRINT-JOB-ATTRIBUTES command, change the priority of your jobs with the CHANGE-TASK-PRIORITY command or cancel them with the CANCEL-PRINT-JOB command.
Overview of control options
Control option | Operand to be specified |
---|---|
Specify the name of the print file or library element | |
Only output part of each record | |
Set a common TSN for several jobs | |
Only output part of a file | |
Define the start time for a print job | |
Lock a file until end of job | |
Delete a file after printing | |
Assign a job name for the SPOOL job | |
Assign a priority for the SPOOL job | |
Print multiple copies of a file | |
Specify a form (paper) | |
Set print attributes | |
Determine the printer for output | |
Influence output of header and trailer pages | |
Execute job under another user ID (only with PRINT-SERVICE-ADMINISTRATION privilege) | |
Control the failure processing | |
Support handling of notifications |
Controlling spoolout
Printer selection
If a print job does not specify which printer to use, SPOOL assigns it to any available high-speed printer. The number of characters this printer prints per line depends on the form.
If the job is to be printed on a particular printer, you specify this printer in the TO-PRINTER operand structure (see the operand description TO-PRINTER).
The operands listed have minimum requirements with regard to the printer(s) used. Thus, if you specify one of these operands, you influence printer selection.
Operand | Printer required (minimum requirement) |
---|---|
PRINTER-TYPE=*LP65-PRINTER | LP65 printer |
PRINTER-TYPE=*APA-PRINTER | APA printer |
PRINTER-TYPE=*HP-PRINTER | HP printer or HP90 printer |
USER-RESOURCES-FILE (corresponds to *STD) | HP, HP90 or APA printer |
PAGE-COPIES (corresponds to *STD and to 0) | HP, HP90 or LP65 printer |
FORM-DEFINITION= <name> | APA printer |
TABLE-REFERENCE-CHAR = <name> | APA printer |
PAGE-DEFINITION = <name> | APA printer |
CHARACTER-SETS = *POOL | HP printer or HP90 printer |
FORMS-OVERLAY-BUFFER | HP printer or HP90 printer |
ROTATION | HP printer or HP90 printer |
OVERLAY (<face>,<reverse>) | LP65 printer |
PAGE-DEFINITION = n | LP65 printer |
If none of the operands in this table is specified, the default value in the SPOOL parameter file is used for printer selection.
Specifying the form
If a print job does not specify which form to use, SPOOL uses the default form (STD) defined in the SPOOL parameter file.
The default STD form normally refers to:
the default loop C1 with a line density of 6 lpi and the vertical tab “channel 1” (normally the beginning of the page) on line 3
the default rotation loop R06 for HP printers and HP90 printers with a line density of 6 lpi and a form length of 13.5 inches
To use another form, enter the desired form using RESOURCE-DESCRIPTION=*PARAMETERS(FORM-NAME=...).
Controlling paper feed
Appropriate paper feed (loop) information is associated with each form. Unless you specify otherwise, the loop assigned to the form is used automatically. However, RESOURCE-DESCRIPTION=*PARAMETERS(LOOP-NAME=...) also lets you specify a different loop name. For all printers, this loop must be contained in the system PRFILE $SYSSPOOL.PRFILE or an appropriate user PRFILE.
For printers with a loadable vertical format buffer, specifying a paper form (FORM-NAME operand) loads the loop associated with this form into the buffer. If the LOOP-NAME operand is specified in the same spoolout job, the feed is governed by the loop specified in LOOP-NAME. In all cases, the loop called must be available in a PRFILE.
If the paper form and font are not specified, SPOOL assumes that the vertical tab “channel 1” is set to the start of a new page in the loop (line 3).
The default loop “C1”, the default font “101” and other fonts intended for laser printers are normally contained in the system PRFILE.
Defining loops yourself
You can use the PRM utility routine to define and administer your own loops. For more details, see the “PRM” manual [30].
Feed control characters
EBCDIC feed control characters:
Feed control characters | Effect |
---|---|
X'40' through X'4F' | n line feeds before printing, 1 line feed after printing |
X'00' through X'0F' | n line feeds after printing |
X'C1' through X'CB' | Channel feed before printing |
X'81' through X'8B' | Channel feed after printing |
EBCDIC and IBM printer control byte formats:
Value | Bit position and meaning (EBCDIC) | |||||||
---|---|---|---|---|---|---|---|---|
27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | |
0 | Line feed | after printing | always 0 | always 0 | Number of lines or V tab no. Value: 8 | Number of lines or V tab no. Value: 4 | Number of lines or V tab no. Value: 2 | Number of lines or V tab no. Value: 1 |
1 | Channel feed | before printing |
Value | Bit position and meaning (IBM) | |||||||
---|---|---|---|---|---|---|---|---|
27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | |
0 | Line feed | V tab Value 8 | V tab Value 4 | Number of lines or V tab no. Value: 2 | Number of lines or V tab no. Value: 1 | always 0 | after printing | always 1 |
1 | Channel feed | before printing |
ASA feed control characters and corresponding EBCDIC feed control characters:
ASA feed | EBCDIC feed | Effect |
---|---|---|
C'+' | X'00' | No line feed after printing |
C’-’ | X'42' | 2-line feed before printing |
C'0' | X'40' | 1-line feed before printing |
C'1' | X'C1' | Jump to channel 1 before printing |
... | ... | ... |
C’A’ | X’CA’ | Jump to channel 10 before printing |
C'B' | X'CB' | Jump to channel 11 before printing |
others | X'40' | No line feed before printing |
Any invalid control characters are corrected on laser printers.
The differences in printer hardware mean that ASA and EBCDIC feed control characters are not completely identical: OPS printers advance not before but after printing a line - except in the case of X'00' (see above).
Specifying fonts
Every form entered in the SPOOL parameter file is assigned a font. This assignment is entered in the SPOOL parameter file.
If no font is specified in the PRINT-DOCUMENT command, font “101” is used as the default. This font is assigned to the “STD” form in the SPOOL parameter file for all printers except types 3337, 3338 and 3339. Font “101” has the OCR-B character style and is defined for a line density of 6 lines per inch (lpi) and a character density of 10 characters per inch (cpi).
The operand RESOURCE-DESCRIPTION=*PARAMETERS(CHARACTER-SETS=) enables you to specify a font from the system PRFILE for HP/HP90 printers. If the desired font is in a user PRFILE, you must specify this in the USER-RESOURCES-FILE operand.
For the operand RESOURCE-DESCRIPTION=*PARAMETERS(CHARACTER-SETS=), specify
either the names of up to four fonts (for HP/HP90 printers)
or the name of a font pool containing up to 64 fonts (HP/HP90 printers)
to be used to print a file. The fonts are contained in the $SYSSPOOL.PRFILE resource library. However, you can also create a private user PRFILE containing one or more of your own fonts that you have created using the PRM utility routine. You can also define a font pool yourself in a user PRFILE. To print a file with a user-defined font, you must specify the file name in the USER-RESOURCES-FILE operand.
You can also specify a font directly from the standard SPSLIB when printing in APA mode. If the desired font is contained in a user SPSLIB, this must be specified simultaneously with the USER-RESOURCES-FILE operand, in the same way as for HP/HP90 printers. In the case of the operand RESOURCE-DESCRIPTION=*PARAMETERS(...), you can specify fonts in the PAGE-DEFINITION suboperand. The fonts are contained in the printer control file $SYSSPOOL.SYSPRT.SPS.<version>. You can use the software product SPM to create your own fonts in a user SPSLIB. For details, see the “SPOOL” manual [43]. To print a file with a user-defined font, you must specify the file name in the USER-RESOURCES-FILE operand.
Before starting to print the file, the SPOOL system loads the specified fonts from the specified PRFILE into the character memory of the laser printer. If a file is printed with DOCUMENT-FORMAT=*TEXT in the PRINT-DOCUMENT command / PRNTDOC macro - i.e. control characters in the text are not interpreted (except in printer type 3365, see the “SPOOL” manual [43]) - the first font specified in the CHARACTER-SETS operand of the PRINT-DOCUMENT command is used to print the whole file. It is thus preferable to specify just one font. Conversely, if the print file text contains control characters to be interpreted by SPOOL - i.e. CONTROL-MODE=*PAGE-MODE must be specified in the PRINT-DOCUMENT command - the font to be used in each instance is selected from the fonts loaded as follows:
The control information in the first record on each print page determines, among other things, which font should be used to start printing the page. Control characters within the print data enable the font to be changed anywhere on the page (for every character, if need be).
The fonts specified for CHARACTER-SETS are loaded into the printer's character memory when the command is processed.
The procedure for switching from one font to another by means of control characters is as follows:
All fonts you specify (either explicitly or by specifying a pool name) are loaded on the requested device during scheduling. Only the first font specified can be used if DOCUMENT-FORMAT=*TEXT applies. The number of fonts (specified either explicitly in the PRINT-DOCUMENT command or implicitly by means of a pool) is compared with the upper limit defined as a global parameter at installation time. The scheduler checks whether the specified device has enough memory for all explicitly or implicitly specified fonts to be loaded.
Whenever possible, you should refer to the pools set up by systems support:
either by specifying the pool name alone
or by specifying a pool name and an index
The scheduler forms groups of jobs using the same font or the same pool, thus avoiding unnecessary font changing and reloading operations.
If the PRINT-DOCUMENT command contains references to fonts not yet loaded into the device’s character buffer, and if there is no more space in the character buffer, the controller checks the loaded fonts for those which are called least frequently; these are then replaced with new ones.
If more than four fonts are requested in the PRINT-DOCUMENT command, it may happen that none of the available HP laser printers is able to load the requested number of fonts. In this case, the relevant job cannot be processed.
In the information you request with the SHOW-USER-STATUS command, all jobs requiring more than four fonts (or overlays or the page rotation module) are marked by an asterisk in the OPT field. The SHOW-PRINT-JOB-STATUS command allows you to display the number of requested fonts.
If you issue the PRINT-DOCUMENT command with the operands LOOP-NAME, CHARACTER-SETS and so on for laser printers, the $SYSSPOOL.PRFILE resource library is checked to see whether the relevant entries are available. If not, the PRINT-DOCUMENT command is rejected.
If you issue the PRINT-DOCUMENT command with the FORM-NAME and/or LOOP-NAME operands for printers with a loadable VFB, the resource library is checked to see whether the relevant entry is available. If not, the PRINT-DOCUMENT command is rejected.
Example
A file containing four different fonts is to be printed on a laser printer.
/PRINT-DOCUMENT FROM-FILE=dateiname,...,RESOURCE-DESCRIPTION=
*PAR(CHARACTER-SETS=(100,360,370,#XY)),...
To switch to font 370 (the third font), for example, one of the following control characters should be selected, depending on the desired character density:
X'06' | Character density 10 characters/inch and font in MXM section 3. |
X'0A' | Character density 12 characters/inch and font in MXM section 3. |
X'0E' | Character density 15 characters/inch and font in MXM section 3. |
The character density for which font 3 (370) was originally defined should of course be taken into account.
Interpreting layout control characters
If you want to print a file containing layout control characters, when you create the job you can specify whether these control characters are to be interpreted by assigning the appropriate value to the operand DOCUMENT-FORMAT=*PARAMETERS. For further information on control characters, see the “SPOOL” manual [43].
SPOOL loads the font buffer and feed buffer as appropriate when processing the spoolout.
Examples of control characters in a file
Defining your own forms, loops and fonts
For HP/HP90 printers:
Paper forms, loops, and fonts are generally defined by systems support. You can, however, also create loops and fonts yourself, store them in a user-specific resource library (PRFILE) and use them for SPOOL jobs. The loops and fonts must relate to a paper form already available in the SPOOL parameter file. You can use the USER-RESOURCES-FILE operand to cause SPOOL to use your resource library for this job. For further details, see the “PRM” manual [30].
For APA printers:
You can also create a private printer control file (SPSLIB) containing your own fonts etc. for printers that run in APA mode. You also specify this with the USER-RESOURCES-FILE operand. See also the “SPOOL” manual [43].
Monitoring spoolout with job variables
SPOOL jobs can be monitored with job variables. Entering the name of a monitor variable (MONJV) in the PRINT-DOCUMENT command causes SPOOL to store a continuous stream of information on the processing of the job in the monitoring job variable.
For this purpose SPOOL uses the MONJV functions of the JV product. As a result, a job variable which is assigned to a spoolout job is protected against access by other jobs exactly like, for instance, the MONJV of an Enter job. This is regardless of whether the spoolout job is queued, has been canceled or is currently being processed.
Detailed information on managing job variables is provided in the “JV” manual [20].
SPOOL job variables can also be password-protected. Before a password-protected SPOOL job variable is interrogated, the password must first be entered into the password table by means of the ADD-PASSWORD command or in the PRINT-DOCUMENT command by means of the JV-PASSWORD operand.
Error handling involving SPOOL job variables
If there are access problems involving SPOOL job variables, SPOOL can respond as follows:
If the error occurs during syntax checking of the PRINT-DOCUMENT command, the command is rejected on account of the operand in which the error has occurred. In the case of shared processing of several jobs (FAMILY-PROCESSING operand), only the relevant file is rejected. Processing of the command then continues. If only one job is being processed, this is canceled.
If the operand START-PROCESSING=<integer..> or *AT-FILE-CLOSING is specified in the PRINT-DOCUMENT command, SPOOL continues processing despite the problem with the variable, since otherwise part of the data would get lost. Instead, SPOOL gives a warning to the user and continues processing the job without monitoring job variables.
If the error occurs during spoolout, SPOOL outputs the message SPS0450 on the trailer page but otherwise continues spoolout processing as normal.
Contents of the SPOOL job variable
The job variable is structured as follows:
|
|
|
|
|
|
|
|
|
|
| |||||||
| | | | | | | | | | |
The first three fields of the job variable are reserved for ENTER jobs. The subsequent fields are assigned to SPOOL and reflect the various processes involved in SPOOL job processing.
The fields “Status” and “Processor” are left-justified and are initially filled with blanks. The other fields are right-justified and are also initially filled with blanks.
If the job variable does not exist, it is created if necessary when the command is checked for validity.
You can use the SHOW-JV command to display the contents of a job variable.
Overview
Field | Contents | Meaning |
---|---|---|
Sta | $S | (spooled-in) Job accepted and in wait status |
$R | (running) Job active | |
$P | (pre-processing) Job for which a section is currently being preprocessed | |
$T | (terminated) Job successfully terminated | |
$A | (aborted) Job canceled or terminated abnormally | |
$K | (kept) Job was kept back | |
TSN | tsn | Contains the TSN of the job with the preceding filler character "0"; in the case of a replay job, tsn is always the current TSN. The original TSN is located in field OTSN; |
Proc. | proc | Like ENTER-JOB jobs, contains the catalog ID of the system (home pubset) on which the job was issued or the tape is being played in; |
Res. | Reserved | |
S | Specifies whether the job is connected with tape processing | |
0 | Job contains sections which have not been preprocessed | |
1 | General job processing | |
2 | Job is on tape or was saved there | |
3 | Job comes from a tape | |
OTSN | otsn | In the case of a replay job contains the original TSN; |
E# | nnn | Number of copies to be printed |
EC# | nnn | Number of copies already processed |
Dev. | xxxxxx | For active jobs ($R, $T or $A) specifies the device name, the abbreviated device name or "TP" for user tapes; |
ERCOD | xxxxxxxx | Error code for RSO jobs |
ERMSG | xxxxxxx | Identification number of the error message in the case of RSO jobs |
Notes
The normal progression of job status is $S, $R and $T (or $A/$K). A replay job receives the status $T after the file has been transferred to tape. This tape can be played back on the same system. In this case, the job variable is checked as soon as the file is in the system. If the original job variable still exists, it is reinitialized and receives the status $S.
The job variable subsystem is optional. If it is not available during the PRINT-DOCUMENT command validity check and if a job variable is requested, SPOOL rejects the command.
Brief description of the PRINT-DOCUMENT operands:
Level 1 operands | Substructure | Function |
---|---|---|
FROM-FILE | Name of the print file: | |
*EAM(...) | Temporary EAM object module file | |
<filename> | BS2000 file name | |
<posix-pathname> | POSIX path name | |
*LIBRARY-ELEMENT(...) | Member from a PLAM library | |
*OMF | Object module file | |
*SYSOUT/*SYSLST(...) | System file *SYSOUT/SYSLST | |
DOCUMENT-PART | File area which is to be output | |
INPUT-SECTION(...) | Splitting the file into sections | |
INPUT-PART(...) | First and last records to be output | |
RECORD-PART(...) | First and last characters of each record to be output | |
OUTPUT-PART(...) | Logical lines or pages of the file edited for printing | |
DOCUMENT-FORMAT | Type of document content or evaluation of control characters | |
*TEXT(...) | No printer-specific control characters | |
*PAGE-FORMAT(...) | Evaluation of specific control characters for laser printers | |
*SPECIAL-FORMAT(...) | Use of a printer-specific language | |
PRINT-JOB-CONTROL | Control of print job processing | |
START-PROCESSING | Time of printing | |
FAMILY-PROCESSING | Assignment of a joint TSN for multiple spoolout jobs | |
PRINT-JOB-NAME | Defining a job name | |
PRINT-JOB-PRIORITY | Urgency of the spoolout job | |
PRINT-JOB-CLASS | Job class of the spoolout job | |
MONJV | Defining a job variable for saving information | |
JV-PASSWORD | Password with which the SPOOL job variable is protected | |
PROCESSING-ADMISSION | Only with the PRINT-SERVICE-ADMINISTRATION privilege: | |
FAILURE-PROCESSING | Error handling in the case of files currently being processed | |
SCHEDULING-TIME | Start time of the print job | |
ENCRYPTION | Determines encryption of the print file | |
LAYOUT-CONTROL | Defines the parameters that control page layout. | |
PAGE-COPIES | Page copies | |
LEFT-MARGIN | Indentation of the output text | |
TWO-SIDED | Single- or double-sided printing on LP65 | |
ROTATION | Use of the page rotation module | |
COVER-PAGES | Tasks for printing header and trailer pages | |
TABLE-REFERENCE-CHAR | Selection of fonts by means of control characters in the text3) | |
INPUT-TRAY-NUMBER | Input paper tray number | |
OUTPUT-TRAY-NUMBER | Output paper tray number | |
TOP-OFFSET | Defines the vertical position of the text on the paper | |
LEFT-OFFSET | Defines the horizontal position of the text on the paper | |
RESOURCE-DESCRIPTION | Specifies the print resources to be used for the printout. | |
FORM-NAME | form name | |
LOOP-NAME | Loop | |
ROTATION-LOOP-NAME | Loop for pages to be rotated for printout (landscape format) | |
CHARACTER-SETS | Fonts for output | |
CHAR-SET-ATTRIBUTES | Support of specific font attributes 1) | |
OVERLAY-RESOURCES | Use of an overlay | |
PAGE-DEFINITION | Page definitions for APA printers 3) | |
FORM-DEFINITION | Format definitions for APA printers 1) | |
USER-RESOURCES-FILE | Assignment of a user PRFILE, user SPSLIB or user RSOFILE | |
TRANSLATION-TABLE | Use of a code translation table | |
RESOURCES-LOCATION | Use of Dprint resources 2) | |
TO-PRINTER | Printer type for the output | |
PRINTER-NAME | Name of the requested printer or printer pool | |
PRINTER-TYPE | Type of requested printer | |
REDIRECTION-ALLOWED | Redirection of spoolout jobs by the device manager 1) | |
CLUSTER-NAME | Specifies the cluster to which the print job is to be transferred 2) | |
VIRTUAL-PRINTER | Print output to an application | |
ADDITIONAL COPIES | Number of additional printouts of the file | |
LOCK-FILE | Protection of the file during processing | |
DELETE-AFTER-PRINT | Specifies whether the file is to be deleted after processing | |
NOTIFICATION | Processing of notifications for the assigned print job |
Format
PRINT-DOCUMENT | Alias: PRDO | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Operands
FROM-FILE =
Names of the files to be output. Up to 16 file names can be specified per command call.
FROM-FILE = *OMF
Outputs the temporary object module file of the current job.
FROM-FILE = *LIBRARY-ELEMENT(...)
The specified element is to be output from a PLAM library. An element is fully defined by its name, its type and its version. The records of an element are assigned to particular record types. There are 255 record types. A distinction is drawn between user record types (1 through 159) and special record types (160 through 255). Only the user record types of an element can be output with SPOOL.
LIBRARY = <filename 1..54 without-vers>
The name of the PLAM library from which an element is to be output.
ELEMENT = <composed-name 1..64 with-under with-wild(80)>(...)
Name of the element to be output from the specified PLAM.
VERSION = *HIGHEST-EXISTING / *UPPER-LIMIT /
<composed-name 1..24 with-under with-wild(40)>
The version of the element which is to be output. If this operand is omitted, SPOOL selects *HIGHEST-EXISTING, i.e. the last element in alphabetical order. *UPPER-LIMIT stands for the highest possible version X'FF'. This version is represented by the character @ in screen displays, in messages and on the trailer page.
If the version is specified in wildcard format, and if there are library elements with the same names to which the wildcard specification applies, then all of these library elements are output.
TYPE = <alphanum-name 1..8 with-wild (12)>
The type of the library element to be output.
If specified in wildcard format, the name consists of a maximum of 12 alphanumeric characters.
Note
The records of LMS elements of type C, L or R belong to the special record types (160 through 255). No records from such elements may therefore be printed.
FROM-FILE = <posix-pathname 1..1023 without-wild>
Path name or name of a POSIX file that is to be printed. If the argument contains no POSIX-specific characters it must be placed within single quotes (to distinguish it from a BS2000 file name). The file name .profile, for example, does not need to be quoted because it is not possible for a BS2000 file name to start with a period (dot).
FROM-FILE = *SYSLST(...)
Outputs the SYSLST system file.
SYSLST-NUMBER = *STD
Outputs the SYSLST system file (which is automatically output on termination of an interactive task). If assigned to a cataloged file, the contents of this file are output. Unless otherwise specified, the following points apply to output:
a maximum of 2048 bytes per output line (operand LAST-CHARACTER=2048)
SYSLST is not locked (operand LOCK-FILE=*NO)
SYSLST is deleted at the end of output (operand DELETE-AFTER-PRINT=*YES)
feed control character handling: (operand DOCUMENT-FORMAT= *TEXT(LINE-SPACING=*BY-EBCDIC-CONTROL))
The *SYSLST system file may be combined with the temporary EAM object module file *OMF and the system file *SYSOUT in any sequence in a PRINT-DOCUMENT command, e.g. PRINT-DOCUMENT (*OMF,*SYSLST,*SYSOUT). However, it must not be combined with an EAM file number or a cataloged file.
SYSLST-NUMBER = <integer 1..99>
Two-digit number nn to be used to form the SYSLSTnn file name. A maximum of 16 different SYSLSTnn system files can be specified in a list (in parentheses and separated by commas). All the specified operand values then apply to each of these system files.
FROM-FILE = *EAM
Outputs an EAM object module file.
EAM-NUMBER = <integer 1..65535>
Number of the EAM file to be output. There is a detailed description of EAM files in the “Introductory Guide to DMS” [13].
FROM-FILE = *SYSOUT
The system file SYSOUT is output. If assigned to a cataloged file, the contents of this file are output. Unless otherwise specified, the following points apply to output:
a maximum of 2048 bytes per output line (operand LAST-CHARACTER=2048)
SYSOUT is deleted at the end of output (operand DELETE-AFTER-PRINT=*YES)
feed control character handling (operand DOCUMENT-FORMAT= *TEXT(LINE-SPACING=*BY-EBCDIC-CONTROL))
The SYSOUT system file may be combined with the temporary EAM object module file *OMF and the system file SYSLST in any order in a PRINT-DOCUMENT command, e.g. PRINT-DOCUMENT (*OMF,*SYSLST,*SYSOUT). However, it must not be combined with an EAM file number or a cataloged file.
FROM-FILE = <filename 1..54 with-wild(80)>
Name of file to be printed. PAM files must not be specified in batch mode.
The PRINT-DOCUMENT command is rejected if the specified file:
is a newly cataloged file to which nothing has yet been written
has already been opened in output mode
is a “large” file (> 32 GB).
If the file does not belong to the user's own user ID, read access must be allowed (see the SHOW-FILE-ATTRIBUTES command).
The following points should be noted in connection with the output of cataloged files:
A spoolout job is created even if the file to be output is reserved by a SECURE-RESOURCE-ALLOCATION command. This reservation must, however, be canceled before the spoolout job is processed; otherwise, the job is not executed. The file to be output is locked until the end of the session if the operand LOCK-FILE=*YES was specified in the PRINT-DOCUMENT command and the job could not be executed because of the reservation.
The files *OMF, *SYSLST and *SYSOUT cannot be specified together with a cataloged file in a spoolout job.
The following points apply to the output of temporary files:
A PRINT-DOCUMENT command for a temporary file is always executed automatically with LOCK-FILE=*YES and DELETE-AFTER-PRINT=*YES. This ensures that a temporary file is not erased prematurely by EXIT-JOB but only after printing has been completed.
The temporary file is also erased if the spoolout job is terminated abnormally (e.g. by means of the CANCEL-PRINT-JOB command).
A detailed description of temporary files is given in the “Introductory Guide to DMS” [13].
DOCUMENT-PART =
Allows processing of the print file to be limited to only a part of it.
The file to be printed (the input file) consists of a sequence of records, each of which can be identified by SPOOL by means of its record number or a string it contains. SPOOL also allows you to structure the print file by using strings as file marks. These file marks divide the file up into sections. SPOOL takes into account all the options set by the user and converts the input file into a file edited for printing (an output file). This file consists of logical lines and pages. The delimitation of part or parts of a file can apply to either the input file or the output file. The following alternatives for defining parts of a file are available in the substructures of this operand:
INPUT-SECTION: the input file can be subdivided into sections on the basis of a specified string, or the whole file can be processed.
INPUT-PART: only a certain number of the input file’s records are processed. You can specify the first and last record by means of a record number, a section number or a string.
RECORD-PART: of the records selected by means of the above operands, only a specified part of each record is processed.
OUTPUT-PART: the whole input file is edited for printing, but output is limited to a subset of all logical print pages.
DOCUMENT-PART = *PARAMETERS(...)
The part of the file to be processed can be specified in the following substructure.
INPUT-SECTION =
Specifies whether the file is structured by means of file marks.
INPUT-SECTION = *WHOLE-FILE
The file is not structured. The whole input file is a single logical section.
INPUT-SECTION = *PARAMETERS(...)
The file is structured by means of file marks that can be specified in the following substructure. You use the INPUT-PART operand to specify which sections of the structured print file are to be output.
SECTION-IDENTIFIER = <c-string 1..60 with-low> / <x-string 1..120>
Specifies the file marks by means of which the input file is to be structured. Any strings in the records can be used as file marks. These strings can be either in SECTION records, which are not printed, or in the print file’s normal records, which are printed. A string can be specified in the form of printable characters or hexadecimal characters. You use the INPUT-PART operand to specify which sections of the structured print file are to be output. The search for the start of the section to be printed is executed in a separate “pseudo controller” task. Neither the user task nor the printer is locked while this is being done. A pseudo controller writes the address of the first record in the section to the SPOOL control block; the spoolout job can then be processed (PREPROCESSING). If the desired section is not found in the file, an error message appears on the trailer page (for the layout of this page see the “SPOOL” manual [43]).
POSITION =
Specifies the position at which the specified string begins in the SECTION record.
POSITION = *STD
The relevant string begins by default at the start of the record, i.e.:
in a SAM file: at the first byte after the record length field
in an ISAM file with KEY-POS=5: at the first byte after the key
in an ISAM file with KEY-POS > 5: at the first byte after the record length field.
POSITION = <integer 1..2047>
The relevant string begins at the specified byte (after the record length field).
INPUT-PART =
Specifies whether only a certain number of the input file’s records are to be processed. You can specify the first and last record by means of a record number, a section number or a string.
INPUT-PART = *ALL
All the file’s records are to be processed.
INPUT-PART = *PARAMETERS(...)
Only a certain number of the input file’s records are to be processed. You can specify the first and last records.
FIRST-RECORD =
Specifies the record as of which the file is to be processed. You can specify the first record in the file, the number of a record or file mark, or a string in a record.
FIRST-RECORD = *BEGIN-OF-FILE
Output begins with the file’s first record, even if SECTION records are specified.
FIRST-RECORD = <integer 1..2147483647>
Number of the SECTION record or normal record as of which a section of the file is to be output.
FIRST-RECORD = *BY-STRING-ID(...)
The record in which a specified string occurs is the first record to be output.
STRING = <c-string 1..60 with-low> / <x-string 1..120>
Output begins with the record in which the specified string of printable or hexadecimal characters is found at a specific position.
POSITION = *STD / <integer 1..2047>
Position within the record at which the specified string of hexadecimal characters begins. By default, the FIRST-RECORD string begins at the start of the record, i.e.:
in a SAM file: at the first byte after the record length field
in an ISAM file with KEY-POS=5: at the first byte after the key
in an ISAM file with KEY-POS > 5: at the first byte after the record length field.
OCCURRENCE = 1 / <integer 1..32767>
Specifies the record (containing the FIRST-RECORD string) as of which output is to start.
LAST-RECORD =
Specifies the last record in the part of the file to be output. You can specify the last record in the file, the number of a record or file mark, or any string in a record.
LAST-RECORD = *END-OF-FILE
Output continues until the end of the file, even if SECTION records are specified.
LAST-RECORD = <integer 1..2147483647>
Number of the last record (SECTION record or normal record) in the part of the file to be output.
LAST-RECORD = *BY-STRING-ID(...)
Specifies that the last record is to contain a specified string.
STRING = <c-string 1..60 with-low> / <x-string 1..120>
Output ends with the record in which the specified string of printable or hexadecimal characters is found at a specific position in the file.
POSITION = *STD / <integer 1..2047>
Position within the record at which the specified string of hexadecimal characters begins. By default, the LAST-RECORD string begins at the start of the record, i.e.:
in a SAM file: at the first byte after the record length field
in an ISAM file with KEY-POS=5: at the first byte after the key
in an ISAM file with KEY-POS > 5: at the first byte after the record length field.
OCCURRENCE = 1 / <integer 1..32767>
Specifies the occurrence of the record containing the LAST-RECORD string at which output is to stop.
Note
If the LAST-RECORD record is found before the FIRST-RECORD record, the PRINT-DOCUMENT command aborts.
RECORD-PART =
Specifies whether only a specific part of each of the records selected by means of the above operands is to be processed.
RECORD-PART = *ALL
All of each selected record is to be processed.
RECORD-PART = *PARAMETERS(...)
Only a specific part of each record is to be processed.
FIRST-CHARACTER = 1 / <integer 2..32767>
Allows a byte number (record column) to be specified indicating the point as of which the records of a file are to be output. (The bytes of a record are numbered consecutively from left to right starting with 1; ISAM keys and control characters are components of a record.) What happens depends on whether one of the values *BY-EBCDIC-CONTROL, *BY-IBM-CONTROL or *BY-ASA-CONTROL is specified in the LINE-SPACING operand.
If one of these values is specified:
Output starts with the data byte following the specified byte number. The feed control character is interpreted irrespective of the entry for FIRST-CHARACTER, provided the value for FIRST-CHARACTER is less than the length of the record. If the specified value is greater than the length of the record, it is ignored (i.e. printing does not take place, nor does line feed).
If none of these values is specified:
Output starts with the data byte corresponding to the specified byte number.
If the records are longer than the form definition allows, printing continues on the next line. If CONTROL-MODE=*PAGE-MODE is specified, an entry for FIRST-CHARACTER is problematical because SPOOL takes no account of the number of control characters in a record.
LAST-CHARACTER = *STD / <integer 1..32767>
Specifies the byte indicating the point at which printing of each record is to stop. What happens depends on whether one of the values *BY-EBCDIC-CONTROL, *BY-IBM-CONTROL or *BY-ASA-CONTROL is specified in the LINE-SPACING operand.
If one of these values is specified:
Output ends with the data byte following the specified byte number (unless FIRST-CHARACTER is specified for an ISAM file with KEY-POSITION=5, in which case output ends with the data byte corresponding to the specified byte number).
If none of these values is specified:
Output ends with the data byte corresponding to the specified byte number. If the records are longer than the form definition allows, printing continues on the next line. If CONTROL-MODE=*PAGE-MODE is specified, an entry for LAST-CHARACTER is problematical because SPOOL takes no account of the number of control characters in a record.
Default (*STD):
end of print line (136)
2048 for an EAM file, SYSLST or SYSOUT.
OUTPUT-PART =
Specifies that the whole input file is to be edited for printing, but that output is to be limited to a subset of all logical print pages.
OUTPUT-PART = *ALL
All logical print pages of the edited file are to be output.
OUTPUT-PART = *RANGE(...)
Part of the file is to be output.
FROM = *BEGIN-OF-FILE / <integer 1..2147483647>
Allows a page or line number in the print file to be specified as of which output is to start, as specified by the DIMENSION operand. By default, output commences at the beginning of the file. The pages in a print file are defined as described for the LINE-PER-PAGE operand (unless a control character produces a premature page feed).
TO = *END-OF-FILE / <integer 1..2147483647>
Allows a page or line number in the print file to be specified at which output is to end, as specified by the DIMENSION operand. By default, output terminates at the end of the file. Pages in a print file are defined by the LINE-PER-PAGE operand (unless a control character produces a premature page feed). The value specified here must be greater than that specified in the FROM operand.
DIMENSION = *PAGES / *LINES
Specifies whether the values in the FROM and TO operands are to be interpreted as page or line numbers.
OUTPUT-PART = *LAST(...)
Only the last so many pages or lines of the print file are to be output.
LAST = <integer 1..2147483647>
Number of pages or lines to be output, calculated from the end of the file. The DIMENSION operand indicates whether the value is to be interpreted as a page or line number. Pages in a print file are defined by the LINE-PER-PAGE operand (unless a control character produces a premature page feed).
DIMENSION = *PAGES / *LINES
Specifies whether the value in the LAST operand is to be interpreted as a page or line number.
Example of SECTION processing
The following sections of an ISAM file are to be output.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Case: SECTION records in default positions.
PRINT-DOCUMENT datei, DOCUMENT-PART=*PAR(INPUT-SECTION = -
*PAR(SECT-ID=C’*SECTION’,POS=*STD), INPUT-PART= *PAR( -
FIRST-RECORD=1, LAST-RECORD=3))
The following part of the file is printed:
|
|
|
|
DOCUMENT-FORMAT =
Specifies the type of the document contents, i.e. the format of the file to be printed as regards the interpretation of feed control characters, printer control characters, font identifiers, RENO commands and/or VTSU codes. You can specify the following operands and the corresponding substructures here:
*TEXT: the file has no printer-specific control characters except for feed control characters.
*PAGE-FORMAT: the file has laser printer-specific control characters.
*SPECIAL-FORMAT: the file has special printer-specific control characters.
DOCUMENT-FORMAT = *TEXT(...)
Except for feed control characters, the file has no printer-specific control characters. The position of the feed control character in the record can be specified in the substructure of the LINE-SPACING operand.
The data is sent to the printer unchanged. Since only the data to be printed is sent to the printer, records can be truncated.
The following applies to RSO:
Records of type A-1 or A-2 are to be printed (no control characters in the data stream); in other words, except for feed control characters in the first column of the records, no control characters are interpreted. This is also the reason why a font change is not possible. The form’s default font or the first font specified for CHARACTER-SETS, if specified, is used. Nonprinting characters, i.e. characters with a hexadecimal value less than X'40', are output as blanks. If the record length exceeds the maximum line length, the record is truncated in the printout. The maximum line length depends on the character spacing, which is defined by means of the font used (see the CHARACTER-SETS operand).
Note
RSO printers: If a list of fonts is specified in conjunction with DOCUMENT-FORMAT=*TEXT (CHARACTER-SETS=... operand), the command interprets only the first element in the list.
LINE-PER-PAGE = *STD / <integer 1..32767>
Specifies how many lines (including header and blank lines) are to be printed on a page.
LINE-PER-PAGE = *STD
If the operand is omitted, the number of lines per print page is calculated using the following formula, regardless of what has been specified for the HEADER-LINE number of lines = P * Z - A - 6
The name sections have the following meanings:
P | = | paper size in inches |
Z | = | line density |
A | = | number of line before the first channel |
Printers with a loadable vertical format buffer
The vertical tab “channel 1” controls the line on which printing is to start. Unless otherwise specified, 2 blank lines are set before printing starts; i.e. channel 1 (CHANNEL 01) is in the third line of the loop.
If the value specified for the LINE-PER-PAGE operand is greater than the specified number of lines in the loop, the value in the loop is used.
A value specified here must be at least three times as large as the line feed specified for LINE-SPACING=1/2/3 if the LINE-PER-PAGE operand is specified together with the HEADER-LINE and LINE-SPACING operands.
LINE-SPACING =
Specifies the number of line feeds and the way in which control characters are interpreted.
LINE-SPACING= 1 / 2 / 3
The records are to be printed out with 1-, 2- or 3-line spacing.
LINE-SPACING = *BY-EBCDIC-CONTROL(...)
The contents of the first byte of each record are to be interpreted as an EBCIDC feed control character.
CONTROL-CHAR-POS = *STD / <integer 1..2040>
Number of the data byte in which SPOOL finds the feed control character. In the case of records of variable length, the fields containing the length information are not counted as data.
LINE-SPACING = *BY-IBM-CONTROL(...)
The contents of the first byte of each record are to be interpreted as an IBM feed control character.
CONTROL-CHAR-POS = *STD / <integer 1..2040>
Number of the data byte in which SPOOL finds the feed control character. In the case of records of variable length, the fields containing the length information are not counted as data.
LINE-SPACING = *BY-ASA-CONTROL(...)
The contents of the first byte of each record are to be interpreted as an ASA feed control character.
CONTROL-CHAR-POS = *STD / <integer 1..2040>
Number of the data byte in which SPOOL finds the feed control character. In the case of records of variable length, the fields containing the length information are not counted as data.
HEADER-LINE =
Specifies whether a header line is to be printed on every page (except the header and trailer pages).
HEADER-LINE = *NO
No header line is printed.
HEADER-LINE = *STD
The header has the following format:
Header | DATE yyyy-mm-dd | userid | nnnn | PAGE nnnn |
---|---|---|---|---|
Column | 1 | 41(11,11) | 60(21,67) | 124 (77) |
The first value in parentheses applies in the case of a form definition with a line length < 132 and >= 80 characters (with differing values). The second value in parentheses applies in the case of a form definition with a line length < 80 and >= 70 characters (with differing values).
jjjj-mm-tt | Year-Month-Day |
userid | user ID |
datei | file name |
nnnn | Page number |
Unless otherwise specified, the header line is followed by a blank line. The header is shifted in accordance with the LEFT-MARGIN operand, but the header line will be truncated at column 132.
DATE and PAGE are only present in the header line if the line size >= 032.
HEADER-LINE = list-poss(3): *DATE / *FIRST-RECORD / *PAGE-NUMBER
The header has the following format:
HEADER-LINE= | DATE | FIRST-RECORD | PAGE-NUMBER |
---|---|---|---|
Header | DATE yyyy-mm-dd (yyyy-mm-dd) | First record | PAGE nnnn (nnnn, nnnn) |
Column | 1 | 21 | 124 (77.67) |
*DATE:
The value in parentheses applies in the case of a form definition with a line length < 132 and >= 70 characters (with differing values). *PAGE-NUMBER: The first value in parentheses applies in the case of a form definition with a line length < 132 and >= 80 characters (with differing values). The second value in parentheses applies in the case of a form definition with a line length < 80 and >= 70 characters (with differing values).
yyyy-mm-dd | Year-Month-Day |
First record | First logical record of the file |
nnnn | Page number |
If *DATE, *FIRST-RECORD or *PAGE-NUMBER is omitted, the appropriate section is filled with blanks.
Unless otherwise specified, the header line is followed by a blank line.
The header is shifted in accordance with the LEFT-MARGIN operand, but the header line will be truncated at column 132.
*DATE and *PAGE are only present in the header line if the line size >= 032.
If *FIRST-RECORD is specified, the first record is regarded as not belonging to the date.
OUTPUT-FORMAT =
Indicates whether the output format is character format only or character format and hexadecimal format.
OUTPUT-FORMAT = *CHARACTER
Outputs in character format only. Records which exceed the length of a print line are truncated.
OUTPUT-FORMAT = *HEXADECIMAL
Outputs the data records in character format and in hexadecimal format.
Output format
Each output line starts with an 8-byte prefix followed by data 50 bytes in length. Each output line is first printed using the appropriate font and then repeated in hexadecimal format.
Format of the output line
Column | Contents |
---|---|
1-4 | Column number from which the data of the output record begins |
5-8 | blank |
From 9 | Characters of the input record according to font; the individual characters are separated by a blank. The characters are repeated in hexadecimal format in the next line. |
DOCUMENT-FORMAT = *PAGE-FORMAT(...)
The file has specific laser printer control characters.
FORMAT-NAME =
Format in which the output data is transferred to the printer.
FORMAT-NAME = *STD
The default value is automatically determined from the value of the CONTROL-MODE operand. This leads to the following results:
CONTROL-MODE = *PAGE-MODE(...) | FORMAT-NAME = HP |
CONTROL-MODE = *APA(...) | FORMAT-NAME = SPDS |
CONTROL-MODE = *LOGICAL / *PHYSICAL / *LINEMODE | Content of the file to be printed not relevant |
FORMAT-NAME = <c-string 1..63 with-low>
Optional string naming a specific file format.
CONTROL-MODE =
Specifies how the control characters are to be interpreted.
CONTROL-MODE = *PAGE-MODE(...)
The control characters are interpreted as page printer-specific control characters.
PAGE-CONTROL-CHAR = *YES / *NO
Specifies whether the control character list must be at the beginning of each page (i.e. always after branching to the vertical tab “channel 1” in the loop).
PAGE-CONTROL-CHAR = *YES
The control character list must be there.
PAGE-CONTROL-CHAR = *NO
No control character list at the beginning of the page. However, this means that the following functions cannot be controlled in the case of output to HP printers:
Film overlays on individual pages in the file; specified in the PRINT-DOCUMENT command, a film overlay is used on each page of the print file of the spoolout job.
Page copies for individual pages in the file; all the pages of the print file are output with as many copies as specified in the PRINT-DOCUMENT command.
Column-oriented indentation on individual pages; the value specified in the PRINT-DOCUMENT command is valid for all the pages in the print file.
FOB data overlay on individual pages in the file; specified in the PRINT-DOCUMENT command, a FOB data overlay is used on each page in the print file of the spoolout job.
A copy reference number cannot be specified.
Page rotation control for individual pages in the print file; all the pages are output in either portrait or landscape format, as specified in the PRINT-DOCUMENT command.
CONTROL-TYPE =
Specifies whether the control characters are suitable for processing on HP or HP90 printers or whether they have to be converted.
CONTROL-TYPE = *COMPATIBLE
The file does not contain HP or HP90 printer-specific control characters.SPOOL must convert the control characters.
CONTROL-TYPE = *HP
The file contains HP or HP90 printer-specific control characters that can only be processed by these printers.
LINE-SPACING =
Specifies the number of line feeds and the way in which control characters are interpreted.
LINE-SPACING = *BY-EBCDIC-CONTROL
The contents of the first byte of each record are to be interpreted as an EBCIDC feed control character.
LINE-SPACING = *BY-IBM-CONTROL
The contents of the first byte of each record are to be interpreted as an IBM feed control character.
LINE-SPACING = *BY-ASA-CONTROL
The contents of the first byte of each record are to be interpreted as an ASA feed control character.
CONTROL-MODE = *LINE-MODE
Only for RSO.
Records of type C (see the “SPOOL” manual [43]) are printed out. The records may contain data mixed with LINE-MODE control characters. LINE-MODE control characters are (in any combination):
printer control characters (i.e. physical control character beginning with X'27' or X'3C')
RENO commands
VTSU codes
Control over record and file formats (including page and line feed with LINE-MODE control characters) rests solely with the user. With the 9025/9026 RENO page printer, users must also ensure that the printer is set to the correct start position on the paper. A loop is not interpreted. Nonprinting characters, i.e. characters with a hexadecimal value < X'40' are output as blanks.
The spoolout job is executed with the default font of the form used until you change the font in the file with the aid of LINE-MODE control characters.
CONTROL-MODE = *LOGICAL(...)
Only for RSO printers.
Specifies that records of type B-1 or B-2 are to be printed out, i.e. records which, in addition to a feed control character in the first byte, may contain data mixed with font identifiers, printer control characters, RENO commands and VTSU codes (see the “RSO” manual [32], section “Record type B-1/B-2”). With the exception of the VTSU codes VPA, NP, VT, NL, and CR, which are output as blanks, the above-mentioned control characters are interpreted. A font identifier, a VTSU code or a RENO command remains valid until a new control character is specified. If the font identifier is omitted, the default font for the form is used.
Since page feed is implemented via a loop or constant line feed when CONTROL-MODE=*LOGICAL is specified, the file should not contain the RENO commands \LF, \FF and \CR. Setting the form height is likewise not permitted.
LINE-PER-PAGE = *STD / <integer 1..32767>
Specifies how many lines (including header and blank lines) are to be printed on a page.
LINE-PER-PAGE = *STD
If no value is specified, the number of lines per print page is calculated according to the following formula, regardless of the value in the HEADER-LINE operand:
Number of lines = P * Z - A - 6
The name sections have the following meanings:
P | = | paper size in inches |
Z | = | line density |
A | = | number of line before the first channel 1 |
If the value specified for the LINE-PER-PAGE operand is greater than the specified number of lines in the loop, the value in the loop is used. A value specified here must be at least three times as large as the line feed specified for LINE-SPACING=1/2/3 if the LINE-PER-PAGE operand is specified together with the HEADER-LINE and LINE-SPACING operands.
HEADER-LINE = *NO / *STD / list-poss(3): *DATE / *FIRST-RECORD / *PAGE-NUMBER
Specifies whether a header line is to be printed on every page (except the header and trailer pages). See also the description of the HEADER-LINE operand at DOCUMENT-FORMAT=*TEXT(...).
LINE-SPACING =
Specifies the number of line feeds and the way in which control characters are interpreted.
LINE-SPACING= 1 / 2 / 3
The records are to be printed out with 1-, 2- or 3-line spacing.
LINE-SPACING = *BY-EBCDIC-CONTROL(...)
The contents of the first byte of each record are to be interpreted as an EBCIDC feed control character.
CONTROL-CHAR-POS = *STD / <integer 1..2040>
Number of the data byte in which SPOOL finds the feed control character. In the case of records of variable length, the fields containing the length information are not counted as data.
LINE-SPACING = *BY-IBM-CONTROL(...)
The contents of the first byte of each record are to be interpreted as an IBM feed control character.
CONTROL-CHAR-POS = *STD / <integer 1..2040>
Number of the data byte in which SPOOL finds the feed control character. In the case of records of variable length, the fields containing the length information are not counted as data.
LINE-SPACING = *BY-ASA-CONTROL(...)
The contents of the first byte of each record are to be interpreted as an ASA feed control character.
CONTROL-CHAR-POS = *STD / <integer 1..2040>
Number of the data byte in which SPOOL finds the feed control character. In the case of records of variable length, the fields containing the length information are not counted as data.
CONTROL-MODE = *PHYSICAL(...)
Only for RSO.
LINE-SPACING=*NO is set automatically, which means that you must implement page and line feeds with LINE-MODE control characters (i.e. VTSU codes, printer control characters, and RENO commands) in the file itself. If you specify LINE-SPACING=*BY-EBCDIC-CONTROL for records of type D-2, the feed control character in the first byte is interpreted as a line or page feed control character. Nonprinting characters are also transferred to the printer (in contrast to CONTROL-MODE=*LINE-MODE). The user is responsible for inserting the correct control characters in the file (including line spacing characters).
LINE-SPACING =
Specifies the number of line feeds and the way in which control characters are interpreted.
LINE-SPACING = *NO
The contents of the first byte of each record are not interpreted as a control character.
LINE-SPACING = 1 / 2 / 3
Permitted only for RSO.
The records are to be printed out with 1-, 2- or 3-line spacing.
LINE-SPACING = *BY-EBCDIC-CONTROL
The contents of the first byte of each record are to be interpreted as an EBCIDC feed control character.
LINE-SPACING = *BY-IBM-CONTROL
The contents of the first byte of each record are to be interpreted as an IBM feed control character.
LINE-SPACING = *BY-ASA-CONTROL
The contents of the first byte of each record are to be interpreted as an ASA feed control character.
CONTROL-MODE = *APA(...)
Specifies that the file to be printed out contains APA feed control characters which are to be interpreted.
LINE-SPACING = *BY-EBCDIC-CONTROL / *BY-IBM-CONTROL / *BY-ASA-CONTROL
Specifies the type of the printer control characters (E, I or A).
DOCUMENT-FORMAT = *SPECIAL-FORMAT(...)
A printer-specific language is used in the document. In this case, the SPOOL and Distributed Print Services (Dprint) subsystems provide transparent control for the document. In other words, the file is transferred to an RSO printer, an Xprint printer or to filter processing without interpretation.
FORMAT-NAME =
Specification of the format to be processed. The document is either processed by RSO in transparent mode or sent to Xprint without a special format.
FORMAT-NAME = *NONE
Only for RSO. No format is specified; the document is processed by RSO in transparent mode. Records of type E-1 or E-2 are printed out (see the “SPOOL” [43] manual). With the exception of VTSU codes for RSO, the data records can contain optional characters. All characters of a data record are transferred by RSO to the printer without interpretation, with the exception of the line spacing control character in the first byte of the type E-2 data record.
The user is responsible for inserting the correct control characters in the file (including line spacing characters). If the LINE-SPACING operand is not specified, the default setting LINE-SPACING=*NO applies and you have to include page feeds and line feeds in the file yourself using LINE-MODE control characters. If LINE-SPACING=*BY-EBCDIC-CONTROL is specified for type E-2 data records, the feed control character in the first byte is interpreted as a line feed or a page feed control character. If the LEFT-MARGIN operand is specified at the same time, blanks are included at the beginning of each data record and these indent the text by the desired number of columns when it is printed.
FORMAT-NAME = *PCL
This value is only still available for reasons of compatibility.
FORMAT-NAME = <c-string 1..63 with-low>
This operand specifies that the contents of the document to be processed are of a specific type (e.g. HP LASERJET). The document to be processed is in PCL format. The operand value is determined by the document format attribute transferred to the cluster. It is interpreted by Xprint or the foreign print system as the “content type” attribute of the print job (xpadd -job -ct...). For this reason the specification of <alphanum-name 1..63> for FORMAT-NAME is permitted only if no BS2000 cluster is specified with the operand value for CLUSTER-NAME. This document content type fulfills the relevant requirements of ISO DPA class 1, which is required for interoperability between the BS2000 SPOOL & PRINT subsystems and remote SPOOL and PRINT subsystems.
Jobs to RSO are printed by an RSO printer if it supports the format name specified or if a filter is available which will convert the format name into a format name supported by the printer.
If the value of CLUSTER-NAME refers to a BS2000 cluster or if none was specified, the length of the format name may not exceed 8 characters. If the FORMAT-NAME value is longer, the command is rejected. The file is printed by a printer that supports the specified format name.
Examples
- A document containing only text records is transferred to the local SPOOL:
/PRINT-DOCUMENT FROM-FILE=myfile,DOC-FORMAT=*TEXT
- A document containing only text records is transferred to a Xprint server:
/PRINT-DOCUMENT FROM-FILE=myfile,DOC-FORMAT=*TEXT,
RES-DESCRIPTION(FORM-NAME=x-form),
TO-PRINTER(PRINTER-NAME=xxxxxxxx,
CLUSTER-NAME=x-cluster) - A document containing text records whose tenth data byte is interpreted as EBCDIC-PCC is transferred to a Xprint server:
/PRINT-DOCUMENT FROM-FILE=myfile,DOC-FORMAT=*TEXT(
LINE-SPACING=*BY-EBCDIC-CONTROL,CONTROL-CHAR-POS=10),
RES-DESCRIPTION(FORM-NAME=x-form),
TO-PRINTER(PRINTER-NAME=xxxxxxxx,
CLUSTER-NAME=x-cluster) An HP PCL4 document is transferred to a Xprint server:
/PRINT-DOCUMENT FROM-FILE=myfile,DOC-FORMAT=*SPECIAL-FORMAT(
FORMAT-NAME=HP-LASERJET oder *NONE),
RES-DESCRIPTION(FORM-NAME=x-form),
TO-PRINTER(PRINTER-NAME=xxxxxxxx,
CLUSTER-NAME=x-cluster)You will find further detailed examples in the “Distributed Print Services” manual [10]
- A PCL5 document is transferred to the local SPOOL in transparent mode:
/PRINT-DOCUMENT FROM-FILE=myfile,DOC-FORMAT=*SPECIAL-FORMAT(
FORMAT-NAME=PCL5),
RES-DESCRIPTION(FORM-NAME=FRM001)Please note that FORM FRM001 has to be defined in the SPOOL parameters for a 2050 PCL or 2090 PCL.
A PCL5 document is transferred to RSO in transparent mode:
/PRINT-DOCUMENT FROM-FILE=myfile,DOC-FORMAT=*SPECIAL-FORMAT(
FORMAT-NAME=*NONE oder PCL5),
RES-DESCRIPTION(FORM-NAME=FRM001),
TO-PRINTER=*PARAMETERS(PRINTER-NAME=PRNPCL)You will find further detailed examples in the “Spool & Print commands” manual [42].
An HP job is transferred to a UNIX-based server:
/PRINT-DOCUMENT FROM-FILE=myfile,DOC-FORMAT=*PAGE-FORMAT(
CONTROL-MODE=*PAGE-MODE),
TO-PRINTER=*PARAM(PRINTER-NAME=xxxxxxxx,
CLUSTER-NAME=x-cluster,OUTPUT-FORMAT='HP-LASERJET')The SPCONV product is required in this case. You will find further information in the “SPCONV” manual [41].
LINE-SPACING =
Specifies the number of line feeds and the way in which control characters are interpreted.
LINE-SPACING = *NO
The contents of the first byte of each record are not interpreted as a control character.
LINE-SPACING = 1 / 2 / 3
Permitted only for RSO.
The records are to be printed out with 1-, 2- or 3-line spacing.
LINE-SPACING = *BY-EBCDIC-CONTROL
Permitted only for RSO.
The contents of the first byte of each record are to be interpreted as an EBCIDC feed control character.
LINE-SPACING = *BY-IBM-CONTROL
Permitted only for RSO.
The contents of the first byte of each record are to be interpreted as an IBM feed control character.
LINE-SPACING = *BY-ASA-CONTROL
Permitted only for RSO.
The contents of the first byte of each record are to be interpreted as an ASA feed control character.
PRINT-JOB-CONTROL = *PARAMETERS(...)
Specifies all the parameters for controlling print job processing.
START-PROCESSING =
Time of printout for the system file prior to termination of the job.
START-PROCESSING = *IMMEDIATE
The spoolout job is to be generated and processed immediately after the command is entered.
START-PROCESSING = *AT-FILE-CLOSING
The spoolout job is to be processed immediately after the system file is closed. A system file is closed:
- for primary assignment: by means of the EXIT-JOB (or LOGOFF) or CANCEL-JOB command (from a different identifier), i.e. after the end of the job
for a file assigned to a cataloged file:
by an EXIT-JOB (or LOGOFF) command or by CANCEL-JOB (from another ID), i.e. at the end of the job
by another ASSIGN-SYSFILE command (change of assignment) issued for the same system file
during a procedure run whenever procedure level 0 has been reached
START-PROCESSING = <integer 1..2147483639>
Number of logical pages after which printing is started. The remainder of the relevant file (<= <integer> pages) is printed out after the system file has been closed (see the operand value *AT-FILE-CLOSING). The minimum value for <integer> can be displayed using the SHOW-SPOOL-PARAMETERS command or SPSERVE statement; the information is available in the output field SPOOLOUT-OPTIONS:...ST-SP-LOW-VAL=...
Note
All the operand values from a PRINT-DOCUMENT command with START-PROCESSING= <integer> or START-PROCESSING=*AT-FILE-CLOSING are recorded for each addressed system file.
Each spoolout job is given its own TSN.
FAMILY-PROCESSING =
Specifies whether a common TSN is allocated if two or more file or library elements are specified in a PRINT-DOCUMENT command (in order to ensure that these files are output sequentially on the same printer).
FAMILY-PROCESSING = *STD
For spoolout jobs to local printers and RSO devices, the default value from the SPOOL parameter file is to apply. This can be defined separately (and hence differently) for local and RSO printers in the SPSERVE statement MODIFY-SPOOL-PARAMETERS. You can query the value with the command or SPSERVE statement SHOW-SPOOL-PARAMETERS (FAMILY-PROCESS field).
FAMILY-PROCESSING = *YES
A common TSN (FAMILY-PRINT) is to be allocated if two or more files or library elements are specified in a spoolout job. The individual files or library elements cannot be processed in parallel.
FAMILY-PROCESSING = *NO
The files or library elements specified at the same time in a PRINT-DOCUMENT command are to be processed under separate TSNs. This means that parallel processing is possible.
CHECKPOINT =
This operand is only still available for reasons of compatibility.
PRINT-JOB-NAME =
Job name for the spoolout job.
The job name can be formed from a maximum of 8 characters from the set (A,...Z,0,...9,@, #,$,.,-) but must not start with a hyphen or end with a period. It may only start with a period if this is followed by an alpha character; in this case, the period itself as part of the job name is not printed on the header page. The special character string period and hyphen (.-) may only be specified in quotes.
The job name is printed on the header page in the third uppercase line and also appears in the output of the SHOW-PRINT-JOB-STATUS command. If this operand is omitted the job name from the SET-LOGON-PARAMETERS command is used instead.
PRINT-JOB-NAME = *JOB-NAME
No separate job name for the spoolout job.
If a job name has been assigned (in the SET-LOGON-PARAMETERS command) to the job issuing the command, this name is printed in the third uppercase line on the header page.
PRINT-JOB-NAME = <alphanum-name 1..8> / <c-string 1..8 with-low>
Job name which is to be assigned to the spoolout job (and which will overwrite any job name already assigned to the job issuing the command).
PRINT-JOB-PRIORITY =
Defines the urgency with which this spoolout job is started relative to other spoolout jobs.
PRINT-JOB-PRIORITY = *JOB-PRIORITY
The spoolout job is to have the same priority as the job issuing the command (this is the default).
PRINT-JOB-PRIORITY = <integer 30..255>
Priority to be assigned to the spoolout job. The highest priority you can assign is defined in the user catalog and can be displayed by means of the SHOW-USER-ATTRIBUTES command. If an invalid priority is entered (or no priority at all), the spoolout job is given the same priority as the job issuing the command.
PRINT-JOB-CLASS =
Defines the job class for the spoolout job.
PRINT-JOB-CLASS = *BY-USER-ATTRIBUTES
The preset value for the print job class is copied from the user catalog.
PRINT-JOB-CLASS = <integer 1..255>
Only the SPOOL administrator is allowed to select this value. The specified job class is assigned to the spoolout job.
MONJV =
Specifies the job variable in which information on job processing is to be stored. See also "Contents of the SPOOL job variable".
The command is rejected if the specified variable name is the name of a temporary job variable.
MONJV = *NONE
No job variable is to be linked to the job.
MONJV = *STD
The job variable will be given the name of the file to be printed (without catalog ID and without user ID). It is created under the user ID and catalog ID of the caller.
The PRINT-DOCUMENT command MONJV=*STD is rejected if:
a file generation is specified
a temporary file is specified
an OMF or EAM file is specified
a PLAM element is specified
The command PRINT-DOCUMENT (XX,XX),MONJV=*STD is rejected. The reason for this is that if the job variable XX has been created for the first job, it is no longer available for a second job.
MONJV = <filename 1..54 without-gen>
The job variable should contain the specified name. If the job contains several files, the following suffix is added to the name of the job variable:
a consecutive number <1..9999> if FAMILY-PROCESSING=*YES is also specified
the TSN of the spoolout job if FAMILY-PROCESSING=*NO or START-PROCESSING=<integer 1..2147483639> is also specified
JV-PASSWORD = *NONE / *SECRET / <c-string 1..4> / <x-string 1..8>
Specifies the password with which the job variable is protected. *SECRET or ^ enables a blanked input field to be requested for protected input in unguided dialog and foreground procedures.
See also "Contents of the SPOOL job variable".
PROCESSING-ADMISSION =
Only for spoolout jobs under the user ID with the privilege PRINT-SERVICE-ADMINISTRATION.
This allows the user to specify whether the spoolout job is to be executed under the user's own ID or another specified user ID and account number.
PROCESSING-ADMISSION = *SAME
The spoolout job is to be executed under the user's own ID.
PROCESSING-ADMISSION = *PARAMETERS(...)
The spoolout job is to be executed under another user ID.
USER-IDENTIFICATION = <name 1..8>
User ID under which the spoolout job is to be executed.
ACCOUNT = *NONE / <alphanum-name 1..8>
Account number under which the spoolout job is to be executed.
PASSWORD = *NONE / *SECRET / <c-string 1..8> / <c-string 9..32> / <x-string 1..16>
Password for the user ID. The long password mechanism is supported (<c-string 9..32>). See the MODIFY-USER-PROTECTION command for details of the long password mechanism. The PASSWORD operand has the following special characteristics:
The password entered is not logged.
The input field is automatically blanked out in the guided dialog.
In unguided dialog and foreground procedures, the entry *SECRET or ^, SDF provides a blanked out input field for inputting the password.
FAILURE-PROCESSING =
Specifies whether a specific message page is to be created when an error occurs during current processing on an APA printer.
FAILURE-PROCESSING = *PARAMETERS(...)
Specifies what happens in the event of an error.
MSG-PAGE = *YES / *NO
Specifies whether the APA message page is to be printed. The APA message page contains error messages and warnings. If an APA printer is not being used, this parameter is ignored.
SCHEDULING-TIME = *STD / *EARLIEST(...)
Determines the scheduling time, i.e. the start time of the print job. The default setting is *STD, i.e. the print job is started on the basis of printer availability and the processing rules for print jobs.
SCHEDULING-TIME = *EARLIEST(...)
The job is started at the earliest at the specified time on the specified date.
DATE = *TODAY / <date with-compl>
Day on which the print job is started.
TIME = <time>
Time at which the print job is started.
ENCRYPTION = *NO / *YES
Specifies whether the print file is to be encrypted.
LAYOUT-CONTROL = *PARAMETERS(...)
Specifies all the parameters that control page layout.
PAGE-COPIES = *STD / <integer 0..255>
In local SPOOL mode, only for the printer types HP, HP90 and LP65.
Number of page copies.
In RSO operation, this only applies to the following printer types: 2030-PCL, 4818-PCL, 4821-PCL, 4822-PCL, 4824-PCL, 4825-PCL, 9021, 9022, 9022-200, 9025, 9026-RENO, 9026-PCL, DJET, 9000-PCL.
This specifies how many times each individual page is to be repeated. The ADDITIONAL-COPIES operand allows additional printouts of the whole file to be requested.
A PRINT-DOCUMENT command with the PAGE-COPIES operand is rejected if the line number specified in the LINE-PER-PAGE operand is greater than the number of lines in the loop record minus the number of lines before the line on which the vertical tab “channel 1” is defined.
On an HP or HP90 printer a maximum of 255 copies of a page can be printed in succession. PAGE-COPIES=255 has the same effect as PAGE-COPIES=254: one original and 254 copies are printed.
PAGE-COPIES = *STD
For LP65 printers:
the number of page copies is as specified in the PCL file. For all other printer types:
PAGE-COPIES=0.
LEFT-MARGIN = *STD / <integer 0..31>
For all printers with the exception of RSO printers: The output text is to be indented by the specified number of columns. For all RSO printers: The output text is to be indented by the specified number * 1/10 inch. The default value can be displayed by means of the command or SPSERVE statement SHOW-SPOOL-PARAMETERS; the information is given in the PRINT-CMD-DEFAULTS:...LEFT-MARGIN = ... output field. The LEFT-MARGIN operand is ignored if the operand CONTROL-MODE=*PHYSICAL is specified at the same time.
TWO-SIDED =
Specifies whether the LP65 or RSO printer is to print the paper on one side or two. In conjunction with the ROTATION operand, the TWO-SIDED operand defines the exact type of printing on both sides.
TWO-SIDED= | ROTATION= | Type of double-sided printing |
---|---|---|
*NO | freely selectable | Single-sided printing (SIMPLEX) |
*YES | *NO, 0, 180 | Portrait format, aligned to the long edge |
*YES | 90, 270 | Landscape format, aligned to the short edge |
*TUMBLE | *NO, 0, 180 | Portrait format, aligned to the short edge |
*TUMBLE | 90, 270 | Landscape format, aligned to the long edge |
Notes
For LP65 printers (and for these only) the TWO-SIDED, ELECTRONIC-OVERLAY and PAGE-COPIES functions are linked with one another and form part of one single print command. If only one of the operands is defined, default values will be generated for the others.
Only the operand TWO-SIDED=*STD can be used in conjunction with DOCUMENT-FORMAT=*SPECIAL-FORMAT.
TWO-SIDED = *STD
The paper is printed on one side (simplex mode) or two (duplex mode), as defined in the PCL file.
TWO-SIDED = *NO
The paper is printed on one side (simplex mode).
TWO-SIDED = *YES
The paper is printed on two sides (duplex mode).
TWO-SIDED = *TUMBLE
The paper is printed on two sides (duplex mode), and the pages are turned over from top to bottom rather than left to right. The sheets are bound along a horizontal edge. Beside LP65 printers with single sheet processing, this job can also be printed on 2030-PCL, 9026-PCL, 9026-RENO, 4822-PCL, 4825-PCL, 4824-PCL and 9000-PCL printers.
ROTATION =
Specifies whether the pages to be printed from the spoolout job are to be rotated, and if so by how many degrees. The print page set up in the printer is rotated (clockwise) by a certain number of degrees and printed on the form; for example, paper inserted in the printer in portrait format can be printed in landscape format. A separate loop is needed for pages rotated through 900/2700 (see the LOOP-NAME operand). Unless ROTATION=*NO is specified, output is directed (automatically) to HP and HP90 printers. SHOW-SPOOL-PARAMETERS indicates whether or not an HP or HP90 printer with a page rotation module is available in the current SPOOL configuration: output field DEVICE-TYPE:..., ROT=YES/NO.
Spoolout jobs with page rotation are displayed in the outputs for the commands SHOW-USER-STATUS and SHOW-PRINT-JOB-STATUS JOB-IDENTIFICATION= TSN(TSN=...).
The feed for rotated pages is generally controlled via a separate loop (ROTATION-LOOP-NAME). If you have specified neither a ROTATION-LOOP-NAME for PRINT-DOCUMENT nor a form with a defined ROTATION-LOOP (see ADD-SPOOL-FORM), the default rotation loop R06 in the default form takes on feed control for the rotated pages. Header and trailer pages are not printed out in rotated format.
ROTATION = *NO
Page rotation is not performed. Any control characters for page rotation in the file are not interpreted.
ROTATION = *BY-CONTROL-CODES
Control characters for page rotation in the file are interpreted.
ROTATION = 0 / 90 / 180 / 270 / 0-180 / 180-0 / 90-270 / 270-90
Each print page is rotated by 900 / 1800 / 2700 (clockwise) and printed out. Control characters for page rotation contained in the file are not interpreted. A separate loop is needed for pages rotated through 900 / 2700. You must check that output with the specified loop does not lead to errors. If an error occurs, the job is rejected.
ROTATION = 0-180 / 180-0 / 90-270 / 270-90
The odd pages (number before the hyphen) and even pages (number after the hyphen) are to be printed at different angles. This function is not supported by RSO.
COVER-PAGES = PARAMETERS(...)
Parameters for system exit routines relating to the printing of header and trailer pages.
HEADER-PAGE-TEXT = *NONE / <c-string 1..32>
The specified information (maximum of 32 characters) is stored in the SCB for processing the system exits. The first 8 characters are printed on the header page as an uppercase line under the mailing box. Only alpha characters, digits and a number of special characters are printed on the header page (in outsize type). All other character codes are automatically replaced by the printable character '?'.
Format of the header page:
User ID in outsize letters (10 lines + 2 blank lines)
Account number in outsize letters (10 lines + 2 blank lines)
Job name in outsize letters (10 lines + 2 blank lines)
Mailing box (address and identification field: 12 lines + 2 blank lines)
'text' in outsize letters (10 lines + 2 blank lines)
Priority sequence:
Mailing box (address and identification field: 12 lines + 2 blank lines)
'text' in outsize letters (10 lines + 2 blank lines)
Job name in outsize letters (10 lines + 2 blank lines)
User ID in outsize letters (10 lines + 2 blank lines)
Account number in outsize letters (10 lines + 2 blank lines)
HEADER-EXIT-NUMBER = *NO / <integer 1..2147483639>
Number of header pages required.
The precise significance of this operand depends on the definitions made for the computer center. The default value is *NO (equivalent to 0).
TRAILER-EXIT-NUMBER = *NO / <integer 1..2147483639>
Number of trailer pages required.
The precise significance of this operand depends on the definitions made for the computer center. The default value is *NO (equivalent to 0). The layout of the trailer page for local SPOOL is illustrated in the “SPOOL” manual [43].
TABLE-REFERENCE-CHAR =
Specifies whether users select fonts for print page layout by means of control characters in the text. The selection can be made with the aid of TRCs (table reference characters), which reference a list of fonts from within the records. The list can either be part of the page definition (PAGE-DEFINITION) or can be declared by means of the CHARACTER-SETS operand. For a detailed explanation of how to use the TRC, see the “SPOOL” manual [43].
TABLE-REFERENCE-CHAR = *NO
No font selection control characters (TRCs) are stored in the print file, or these characters are not to be evaluated.
TABLE-REFERENCE-CHAR = *YES
The print file contains font selection control characters (TRCs) that are to be evaluated by SPS. Each TRC value represents a specific font that is to be used to print out the relevant record. The individual values (from X'00' to X'0F') must either be linked to the entries in the font list in PAGE-DEFINITION, in the order in which they occur or must be explicitly linked to the fonts specified in the CHARACTER-SETS operand in the order in which they occur. Regardless of the number of different TRC values in the file, up to four fonts, specified in the form of a list, can be used to print the records. TRC values greater than X‘03’ (corresponding to the fourth value in the list) automatically reference the first font in the list.
LANGUAGE-EXTENSION =
This operand is only still available for reasons of compatibility.
INPUT-TRAY-NUMBER =
Defines the paper input tray for the printer type LP65 or for the RSO printers 2030-PCL, 4011, 4812, 4813, 4818-PCL, 4821-PCL, 4822-PCL, 4824-PCL, 4825-PCL, 9000-EPLQ, 9000-EPSQ, 9000-PCL, 9004, 9011, 9012, 9013, 9014, 9015, 9021, 9022, 9022-200, 9025, 9026-PCL, 9026-RENO, 9097 and DJET. In the case of LP65 printers, the tray numbers 1 to 3 can be specified, whereas for RSO printers the tray numbers 1 to 99 can be specified.
Only for LP65 printers:
The paper input tray is to be selected by means of a PCL file or an entry at the printer control console. The PCL file can in turn select an input tray.
The order of priority for selecting an input tray is as follows:
the number of the input tray specified in PRINT-DOCUMENT
any selection via the PCL file specified in the PRINT-DOCUMENT command
any selection via the PCL file specified in the form definition in the SPOOL parameter file
the default values defined in the device record.
The following applies to all printers listed above:
If a paper input tray is specified here, but is not applicable for the particular printer, the result is a printer error on most printer types.
The PRINT-DOCUMENT command is rejected if the selected paper size is not available on the particular printer or if the paper size in the standard forms entries is larger than that for the selected paper.
Printer resources such as prolog, epilog, DIA, member and font character files are sent before the paper input tray is selected.
INPUT-TRAY-NUMBER = *STD
Paper is taken from the input tray defined in the device record of the printer in the SPOOL parameter file (DEFAULT-TRAY-NUMBER operand of the ADD-SPOOL-DEVICE statement. It is not possible to specify the paper size in this statement
operand). The input tray selection is valid for the entire spoolout process, i.e. including processing of the header and trailer pages. If a standard paper size is specified, the printer selects the first input tray that contains this paper size. If this paper is not available, the printer switches to offline and the operator is prompted in the printer channel to insert the selected paper.
INPUT-TRAY-NUMBER = *IGNORE
Only for RSO printers: Once this operand value is specified, RSO sends no further commands for input tray selection to the printer. The default setting of the printer is used.
INPUT-TRAY-NUMBER = <integer 1..99>
Number of the input tray from which the paper is taken for printing the file itself as well as the header page (HEADER-PAGE) and trailer page (TRAILER-PAGE). RSO does not check the specified value. Possible values: 1...99.
The following table shows the printer types and the corresponding maximum number of input trays (column headed “max.”).
printer | Max. | printer | Max. | printer | Max. | printer | Max. |
---|---|---|---|---|---|---|---|
2030-PCL | 2 | 9000 | 0 | 9002 | 0 | 9022 | 2 |
4011 | 2 | 9000-PCL | 2 | 9003 | 0 | 9022-200 | 2 |
4812 | 2 | 9000-PRO | 0 | 9004 | 3 | 9025 | 2 |
4813 | 2 | 9000-PS | 0 | 9011 | 2 | 9026-PCL | 4 |
4818-PCL | 2 | 9000-EPFX | 0 | 9012 | 2 | 9026-RENO | 4 |
4821-PCL | 2 | 9000-EPLQ | 2 | 9013 | 3 | 9045-ANSI | 0 |
4822-PCL | 3 | 9000-EPSQ | 2 | 9014 | 3 | 9046 | 0 |
4824-PCL | 2 | 9001 | 0 | 9015 | 2 | 9645 | 0 |
4825-PCL | 3 | 9001-31 | 0 | 9021 | 2 | DJET | 1 |
8121 | 0 |
The following table indicates how RSO’s response to certain operand values is governed by the device definition:
INPUT-TRAY-NUMBER operand specified in the PRINT-DOCUMENT command
device definition in the ADD-SPOOL-DEVICE statement with the operand FORM-FEED = *SINGLE-SHEET(DEFAULT-TRAY-NUMBER = ... )
Default in the | Value of the INPUT-TRAY-NUMBER operand | ||
---|---|---|---|
*STD | 1..99 | *IGNORE | |
1..99 | Sets default value (1) or Sets *LISTING value (2) | Sets specified value (1) or Sets *LISTING value (2) | Last tray specified is used |
*IGNORE | Last tray specified is used | Sets specified value (1) or Sets *LISTING value (2) | Last tray specified is used |
(1) | on single-sheet printers and printer type 9015 (list printer) |
(2) | on list printers other than printer type 9015 |
INPUT-TRAY-NUMBER = *BY-FORMAT(...)
Defines the input tray by specifying the paper format.
INPUT-TRAY-FORMAT = *A3 / *A4 / *A5 / *B4 / *B5 / *FOLIO / *INVOICE / *EXEC / *LEGAL /
*LETTER / *DOUBLE-LETTER / *MONARCH / *COMMERCIAL-10 / *DL / *C5 / *MANUAL /
*A3-UNCUT / *A4-UNCUT / *LEDGER
Apart from *MANUAL, each operand value corresponds to a paper format. To ensure that the values for PAGE-SIZE and LINE-SIZE specified in the FORM operand do not exceed the permissible maximum values for the selected paper format, the values of the FORM operand are compared with the permissible maximum values for the paper format.
The table below contains the maximum permissible values for PAGE-SIZE and LINE-SIZE for each paper format and indicates which printers support the paper format. With all paper formats, the sheets are taken from the first input tray which contains sheets in the given format.
Paper format | Maximum PAGE-SIZE | Maximum LINE-SIZE | Applicable to printers of type: |
---|---|---|---|
A3 | 165 | 116 | 9026-PCL and 9026-RENO |
A4 | 116 | 82 | 9021, 9000-PCL, 9026-PCL, 9026-RENO, 2030-PCL, 4818-PCL, 4821-PCL, 4822-PCL, 4824-PCL and 4825-PCL |
A5 | 82 | 58 | 4818-PCL, 4822-PCL, 4825-PCL, 9026-PCL and 9026-RENO |
B4 | 143 | 101 | 2030-PCL, 4818-PCL, 4821-PCL, 4822-PCL, 4825-PCL, 9000-PCL, 9026-RENO |
B5 | 101 | 71 | 9026-PCL and 9026-RENO |
FOLIO | 129 | 85 | 9026-RENO |
INVOICE | 85 | 55 | 9026-PCL and 9026-RENO |
EXEC | 105 | 72 | 9021, 9000-PCL, 9026-PCL, 2030-PCL, 4821-PCL, 4822-PCL, 4824-PCL and 4825-PCL |
LEGAL | 140 | 85 | 9021, 9000-PCL, 9026-PCL, 9026-RENO, 2030-PCL, 4821-PCL, 4822-PCL, 4824-PCL and 4825-PCL |
LETTER | 110 | 85 | 9021, 9000-PCL, 9026-PCL, 9026-RENO, 2030-PCL, 4821-PCL, 4822-PCL, 4824-PCL and 4825-PCL |
DOUBLE-LETTER | 150 | 117 | 9026-RENO |
MONARCH | 75 | 38 | 9021, 9000-PCL, 2030-PCL, 4821-PCL, 4822-PCL, 4824-PCL and 4825-PCL |
COMMERCIAL-10 | 95 | 41 | 9021, 9000-PCL, 2030-PCL, 4821-PCL, 4822-PCL, 4824-PCL and 4825-PCL |
DL | 86 | 43 | 9021, 9000-PCL, 2030-PCL, 4821-PCL, 4822-PCL, 4824-PCL and 4825-PCL |
C5 | 90 | 63 | 9021, 9000-PCL, 2030-PCL, 4821-PCL, 4822-PCL, 4824-PCL and 4825-PCL |
INPUT-TRAY-FORMAT = *MANUAL
Form feed is manual. You should therefore insert a new sheet each time a new page is to be printed or the printer prompts you to do so.
The following printers support manual feed: 9004, 9014, 9015, 9021, 9022, 9022-200, 9026-Reno, 9026-PCL, 2030-PCL, 4812, DJET, 4814-PCL, 4818-PCL, 4821-PCL, 4822-PCL, 4824-PCL, 4825-PCL and 9000-PCL.
OUTPUT-TRAY-NUMBER =
Specifies the paper output tray for LP65 printers and for the RSO printers 2030-PCL, 4818-PCL, 4821-PCL, 4822-PCL, 4824-PCL, 4825-PCL, 9000-PCL, 9014, 9015, 9026-PCL and 9026-RENO.
OUTPUT-TRAY-NUMBER = *STD
Paper is output to the default tray defined in the device record (SPOOL parameter file). The output tray selection is valid for the entire spoolout process, i.e. including processing of header and trailer pages.
Only for LP65 printers:
Selection of the output tray by BS2000 can be prevented by a PCL file or by making an appropriate entry at the printer control console. In these cases, the entries for OUTPUT-TRAY-NUMBER have no effect. An output tray can also be defined in the PCL file.
The order of priority for selecting an output tray is as follows:
the output tray number specified in PRINT-DOCUMENT, provided this is not prevented by a PCL file or an entry at the printer console.
any selection via the PCL file specified in the PRINT-DOCUMENT command.
any selection via the PCL file specified in the form definition in the SPOOL parameter file.
the default values defined in the device record.
OUTPUT-TRAY-NUMBER = *IGNORE
Only for RSO printers.
If this value is specified, the printer controller does not send an output tray selection code to the printer. This allows you to define the output tray in the prolog file.
OUTPUT-TRAY-NUMBER = <integer 1..99>
Specifies the output tray to be used for the current job. Only the values 1..3 are valid for LP65 printers.
RSO printer types | Output tray number | Output tray selection |
---|---|---|
2030-PCL, 4818-PCL, 4821-PCL, 4822-PCL, 4824-PCL, 4825-PCL, 9000-PCL | 1 | Top output tray |
2 | Bottom output tray | |
9014 | 1 | Stacker |
2 | Front output tray | |
9015 | 1 | Uncut in rear output tray |
2 | Cut in rear output tray | |
3 | Uncut in front output tray | |
4 | Cut in front output tray | |
9026-RENO | 1..20 | Appropriate output tray of the sort mechanism |
OUTPUT-TRAY-NUMBER = *SORTER(...)
Only for RSO printers:
Specifies that the sort mechanism is to be used for the current job. OUTPUT-TRAY-NUMBER = *SORTER(...) is permissible for 9026-RENO, 4822-PCL and 4825-PCL printers. This sort mechanism can be used for up to 20 output trays. It cannot be controlled by the default values defined in the device record.
SORT-MODE = *NO
All pages in the document are output to the sort trays from bottom to top. Exception 9026-RENO: here the pages are output to an output tray to provide optimum access.
SORT-MODE = *GROUP
Each copy of a particular page - if multiple copies are specified in PAGE-COPIES - is output to a separate sort tray. The printer does not return to the first sort tray until it is ready to start outputting the next page in sequence. When the print job is completed, each sort tray used contains a complete copy of the printed document.
Example
There are three pages in the file, and PAGE-COPIES=1 is specified:
Page 3 | Page 3 | |
Page 2 | Page 2 | |
Page 1 | Page 1 | |
Tray 1 | Tray 2 | Tray 3 |
SORT-MODE = *COLLATE
All copies of a page - is multiple copies are specified in PAGE-COPIES - are collected in one sort tray. The copies of the next page are placed in the next sort tray. The sort trays are used from bottom to top.
Example
There are three pages in the file, and PAGE-COPIES=2 is specified:
Page 1 | Page 2 | Page 3 |
Page 1 | Page 2 | Page 3 |
Page 1 | Page 2 | Page 3 |
Tray 1 | Tray 2 | Tray 3 |
SORT-MODE = *STACKER
Cannot be used for the 9026 Printer.
All printed pages are output to the stacker of the sort mechanism, to a maximum of 500 pages. This mode is suitable if a single copy of a very long document is to be printed.
All printed pages are output to the stacker of the sort mechanism, to a maximum of 500 pages. This mode is suitable if a single copy of a very long document is to be printed.
SORT-MODE = *AUTOMATIC
Applicable to the 9026 printer only. The sort mode is selected automatically depending on the number of copies per page requested in PAGE-COPIES and the number of sort trays available. The printed pages are output unsorted, as with *NO, if the number of copies specified in PAGE-COPIES is the same as the number of sort trays; they are grouped by document, as with *GROUP, if the number of copies specified in PAGE-COPIES is less than the number of sort trays; and they are collected a page at a time, as with *COLLATE, if the number of copies specified in PAGE-COPIES is greater than the number of sort trays.
Note
Header and trailer pages are printer resources such as prolog, epilog, DIA, member and font character file are sent before output tray selection and are therefore not included in sorting.
TOP-OFFSET =
Defines in millimeters the margin between the top of the physical sheet and the top of the print page. First the print page is positioned on the paper and only then is the lettering within the page rotated and positioned. This means that when the print page is moved with respect to the paper page the orientation of the text within the print page is ignored.
This operand is permissible only for 4818-PCL, 4821-PCL, 4822-PCL, 4824-PCL, 4825-PCL, 9000-PCL, 9021, 9022-200 and 2030-PCL printers.
Note
Only TOP-OFFSET=*IGNORE can be specified in conjunction with DOCUMENT-FORMAT=*SPECIAL-FORMAT.
TOP-OFFSET = *IGNORE
The printer controller does not set a margin between the first line and the top edge of the sheet. The preset printer value or the setting in the prolog file defines the margin that is effective when the document is printed.
TOP-OFFSET = <integer -255..255>
The permissible range of values is -255 to +255. Positive values move the first line down. Negative values move it up.
LEFT-OFFSET =
Defines in millimeters the margin between the left edge of the physical sheet and the left edge of the print page. First the print page is positioned on the paper and only then is the lettering within the page rotated and positioned. This means that when the print page is moved with respect to the paper page the orientation of the text within the print page is ignored.
This operand is permissible only for 4818-PCL, 4821-PCL, 4822-PCL, 4824-PCL, 4825-PCL, 9000-PCL, 9021, 9022-200, 9026-PCL and 2030-PCL printers.
Note
Only LEFT-OFFSET=*IGNORE can be specified in conjunction with DOCUMENT-FORMAT=*SPECIAL-FORMAT.
LEFT-OFFSET = *IGNORE
The printer controller does not set a margin between the print page and the left edge of the sheet. The preset printer value or the setting in the prolog file defines the margin that is effective when the document is printed.
LEFT-OFFSET = <integer -255..255>
The permissible range of values is -255 to +255. Positive values move the print page to the right. Negative values move it to the left.
RESOURCE-DESCRIPTION = *PARAMETERS(...)
Specifies the print resources to be used for the printout.
FORM-NAME =
Specifies the paper (form) to be used for output (e.g. STD, STDSF1, STDWA4). Default forms must be defined in the SPOOL parameter file for all printer types. With SHOW-SPOOL-FORMS you can output the entries to SYSOUT. The SPOOL parameter file also specifies whether header and trailer pages are to be printed.
FORM-NAME = *STD
Default form.
FORM-NAME = <alphanum-name 1..6>
Name of the form with which the spoolout job is to be processed. A loop (or a page and format definition for APA printers) is implicitly named when the form is specified. The associated loop (or the PAGEDEF and FORMDEF) must be in a printer control file. The following table shows which printer control file must contain this loop (or the PAGEDEF and FORMDEF) for the relevant printer type:
Output device | Printer control file with the loop for specified form |
---|---|
Printers 3337, 3338, 3339, 3348, 3349, 3365, LP-EMULATED | $SYSSPOOL.PRFILE |
Printers: 3351, 3353, 2090, 2140, 2240 | $SYSSPOOL.PRFILE or the PRFILE user specified in the USER-RESOURCES-FILE operand |
APA printer | $SYSSPOOL.SYSPRT.SPS.<version> or the SPSLIB user specified in the USER-RESOURCES-FILE operand |
The loop named implicitly via the FORM-NAME operand is ignored if the LOOP-NAME operand is specified at the same time. If the FORM-NAME and LOOP-NAME operands are omitted, the file is printed out using the default form entered for the printer type.
A loop explicitly specified in the LOOP-NAME operand must have the same length as the loop record assigned to the form used.
No loops can be specified for APA printers. If page and format specifications are made in the FORM-NAME operand, these are used for printing header, trailer and message pages, even if the PAGE-DEFINITION and FORM-DEFINITION operands are explicitly assigned.
See also "Controlling spoolout" and the section on APA printers in the “SPOOL” manual [43].
LOOP-NAME =
Name of the loop to be loaded into the feed information buffer (VFB/FCB). The loop name must not include the characters '$', '&' or '@'.
LOOP-NAME = *STD
Feed control for the spoolout job is to be implemented with the default loop of the form used.
LOOP-NAME = <alphanum-name 1..3>
Name of the loop which is to control line feed. The length of the specified loop must match the length of the default loop of the form used.
A loop for feed control is needed for the HP and HP90 printers (3351, 3353, 2090, 2140) and printers of types 3337, 3338, 3339, 3348, 3349 and 3365. Loops are stored in the PRFILE printer control file. If no loop is specified, the implicit entries in the FORM-NAME operand are used. If the FORM-NAME or LOOP-NAME operand is omitted, default values apply.
ROTATION-LOOP-NAME =
Only for HP and HP90 printers with a page rotation module.
Specifies the loop to control output in landscape format.
The loop name must not include the characters '$', '&' or '@'.
ROTATION-LOOP-NAME = *STD
Output of rotated pages is to be controlled by the default rotation loop of the specified form or the default rotation loop R06 of the default form (if no form was specified in the PRINT-DOCUMENT command).
ROTATION-LOOP-NAME = <alphanum-name 1..3>
Name of the loop with which line feed for the rotated pages is to be controlled.
CHARACTER-SETS =
Names of the fonts or font pools (only for HP and HP90 printers) to be used for output. Up to 4 fonts may be specified in the list for local SPOOL, up to 16 for RSO. For local SPOOL, the fonts must be contained in the $SYSSPOOL.PRFILE resource library or in a user PRFILE (specified by means of the USER-RESOURCES-FILE operand).
If more than four fonts are to be used, a font pool must be specified.
If more than one font is to be used in a spoolout job, CONTROL-MODE=*PAGE-MODE must be specified. For DOCUMENT-FORMAT=*TEXT, only the first specified font is used for printing the (entire) file. The name of the first font and the number of specified fonts are shown in the output for the command SHOW-PRINT-JOB-STATUS JOB-ID= *TSN(TSN=...).
If the HEADER-LINE operand is specified, the first font specified or the font pool specified with an index for CHARACTER-SETS=*POOL is used for the header line. The default value for CHARACTER-SETS for the form used can be displayed using SHOW-SPOOL-FORMS; the information is given in the C-S output field.
With HP printers the following must be borne in mind: Systems support can specify whether the header page is printed with the default font or with the font specified in CHARACTER-SETS. This default value can be displayed by means of the command or SPSERVE statement SHOW-SPOOL-PARAMETERS; the information is given in the HEADER-PAGE: CHARACTER-SET=... output field.
CHARACTER-SETS = *STD
The default font is selected for this printer type from the desired form. It can be displayed by means of SHOW-SPOOL-FORMS.
CHARACTER-SETS = *POOL(...)
Only PRFILEs may contain descriptions of font pools. If a font pool is specified, the spoolout job will be processed on an HP or HP90 printer.
POOL-NAME = <alphanum-name 1..4>
Specifies a font pool (with a maximum of 64 fonts for an HP printer or 46 fonts for an HP90 printer) from which one or more fonts are to be used for output. All the fonts of this font pool are loaded into the font buffer when the spoolout job is executed.
POOL-INDEX = 0 / <integer 0..64>
Number of the font from the font pool with which the spoolout job is to be processed. The number of the font is determined by its position in the definition of the font pool. The specified font is used if POOL is specified together with CONTROL-MODE= *PAGE-MODE.
CHARACTER-SETS = *BY-EXTENDED-NAME(...)
Specifies the fonts to be interpreted by SPS when the TABLE-REFERENCE-CHAR operand is used.
NAME = <alphanum-name 1..8>
Names of the fonts to be linked with the TRC values in the print file (each TRC value represents a specific font). Regardless of the number of different TRC values in the file, up to four fonts, specified in the form of a list, can be used to print the records. TRC values greater than X‘03’ (corresponding to the fourth value in the list) automatically reference the first font in the list.
CHARACTER-SETS = list-poss(16): <alphanum-name 1..3>
Names of the fonts with which the spoolout job is to be processed. For DOCUMENT-FORMAT=*TEXT (default), only the first specified font is used for printing.
For laser printers in local SPOOL mode, a maximum of four fonts may be specified. The printer control characters for changing fonts are only interpreted if CONTROL-MODE=*PAGE-MODE is also specified. In the case of RSO printers, a maximum of 16 fonts may be specified. Font identifiers (CSIs) in the text are only interpreted if CONTROL-MODE=*LOGICAL is specified at the same time. The command is rejected if a list of fonts is specified in conjunction with DOCUMENT-FORMAT=*TEXT. See also "Specifying fonts".
CHAR-SET-ATTRIBUTES =
Only for RSO.
Specifies whether all or only selected font attributes are supported for the spoolout job. Such attributes are, for instance, character type, near letter quality (NLQ), color, etc. (see command or SPSERVE statement SHOW-SPOOL-CHARACTER-SETS). This operand does not apply to header and trailer pages.
CHAR-SET-ATTRIBUTES = *ALL
All the attributes of the fonts used for printout are supported for the current spoolout job.
CHAR-SET-ATTRIBUTES = *RESTRICTED
Only the following three attributes are supported:
character type
language
NLQ (NEAR-LETTER-QUALITY)
OVERLAY-RESOURCES = *PARAMETERS(...)
Specifies whether a film overlay - in the case of HP90 and 3365 printers an EFO data overlay - or a FOB data overlay is to be used for processing a spoolout job.
ELECTRONIC-OVERLAY =
Specifies whether a film overlay - in the case of HP90 and 3365 printers an EFO data overlay - is to be used for processing the spoolout job.
ELECTRONIC-OVERLAY = *NONE
No film overlay (HP90 and 3365: no EFO data overlay) is used for output.
ELECTRONIC-OVERLAY = <alphanum-name 2..2>
Name of the film overlay (HP90 and 3365: EFO data overlay) to be used for processing the spoolout job (the name must be agreed with systems support).
OVERLAY =
For local SPOOL only.
Specifies for LP65 printers whether EFO data overlays are to be used on the recto and/or verso.
They must be stored in the printer memory. The OVERLAY, TWO-SIDED and PAGE-COPIES operands are part of one and the same LP65 printer command and are consequently linked to one another. If only the OVERLAY operand is specified, SPOOL will generate default values for the other two operands. These default values are overwritten by each value specified in a PCL file or at the printer control console.
For a summary of the possible combinations of these three linked functions, see the description of the LP65 printer type in the “SPOOL” manual [43].
OVERLAY = *STD
The EFO data overlays defined in the PCL file are used.
OVERLAY = *NONE
No EFO data overlays are used for output.
OVERLAY = *PARAMETERS(...)
The specified EFO data overlays are used for output.
FACE-SIDE = *NONE / <integer 1..127>
Identification number of the overlay to be used on the recto.
REVERSE-SIDE = *NONE / <integer 1..127>
Identification number of the overlay to be used on the verso.
FORMS-OVERLAY-BUFFER =
Specifies whether an FOB data overlay is to be used for processing the spoolout job (see the “SPOOL” manual [43] for a description of an overlay).
FORMS-OVERLAY-BUFFER = *NONE
No FOB data overlay is used for output.
FORMS-OVERLAY-BUFFER = <alphanum-name 1..4>
Name of the overlay to be used for processing the spoolout job.
If an overlay is specified, the file is printed out on an HP or HP90 printer.
Use of an overlay for the spoolout job is indicated in the output of the command SHOW-PRINT-JOB-STATUS JOB-IDENTIFICATION=TSN(TSN=...).
PAGE-DEFINITION =
Specifies which page definition is to be used for output on LP65 or APA printers.
PAGE-DEFINITION = *STD
The standard definition specified in the SPSLIB is to be used (see the table of SPSLIB standard definitions in the „SPOOL“ [43] manual).
PAGE-DEFINITION = <integer 1..50000>
This operand value is only still available for reasons of compatibility.
PAGE-DEFINITION = <alphanum-name 1..8>
The page definition with the specified name is to be used. This must be in the SPSLIB.
FORM-DEFINITION =
Specifies which format definition is to be used for output on APA printers.
FORM-DEFINITION = *STD
The default definition specified in the SPSLIB is to be used.
FORM-DEFINITION = <alphanum-name 1..8>
The format definition with the specified name is to be used. This must be in the SPSLIB.
USER-RESOURCES-FILE =
Specifies a user file containing all the resources required for output on different printer types: user-defined loops, fonts, overlays, font pools, code translation tables, and SPS data stream definitions. The following can be specified:
a user PRFILE containing loops, fonts, overlay entries (FORMS-OVERLAY-BUFFER operand), and font pool entries (CHARACTER-SETS operand)
a user SPSLIB containing the PAGEDEFs (PAGE-DEFINITION operand), FORMDEFs (FORM-DEFINITION operand), fonts, page segments, overlays, and raster image data
a user RSOFILE (only for RSO) containing loops
If no user PRFILE, SPSLIB or RSOFILE is specified, the information is taken from the following files: $SYSSPOOL.PRFILE, $SYSSPOOL.SYSPRT.SPS.<version> or $SYSSPOOL.RSOFILE, respectively.
USER-RESOURCES-FILE = *STD
The required resources are taken from $SYSSPOOL.PRFILE, $SYSSPOOL.SYSPRT.SPS.<version> or $SYSSPOOL.RSOFILE.
USER-RESOURCES-FILE = <filename 1..44 without-gen-vers>
Name of a user PRFILE, SPSLIB or RSOFILE, which may contain a catalog ID and a user ID. SPOOL uses this file name with the suffix .PRFILE, .SPSLIB or .RSOFILE. The string can contain up to 28 characters without the catalog ID and user ID, to ensure that this user file can be called from any ID.
If the file name is specified without a user ID, the file is searched for under the user ID of the caller first, then under SYSSPOOL. If it is not found, the command is rejected. If a user ID is specified, the file is searched for under this ID only.
Example 1
PRINT-DOCUMENT DATEI,USER-RESOURCES-FILE=$XX.XX
A search is carried out for the $XX.XX.PRFILE file. If the file is not found, the command is rejected.
Example 2
If the catalog ID is specified, the search is limited to the specified pubset:
PRINT-DOCUMENT DATEI, USER-RESOURCES-FILE=:A:XXXXX
The file :A:$userid.XXXXX.PRFILE is searched for. If the relevant file is not found, the search for the file :A:$SYSSPOOL.XXXXX.PRFILE is continued. If this file is not found, the command is rejected.
Example 3
PRINT-DOCUMENT DATEI, USER-RESOURCES-FILE=:A:$XX.XXXXX
The file :A:$XX.XXXXX.PRFILE is searched for. If it is not found, the command is rejected.
If the file is on an exported PVS (EXPORT-PUBSET command), all spoolout jobs that require this PVS are placed in the KEEP queue. When the PVS becomes available again (IMPORT-PUBSET command), the spoolout jobs are restarted.
TRANSLATION-TABLE =
Specifies whether a code translation table is to be used for processing the spoolout job. The code translation table is necessary if the default escape character 'FF' is to be replaced by a random character.
TRANSLATION-TABLE = *NONE
No code translation table is used.
TRANSLATION-TABLE = *PARAMETERS(...)
A code translation table is used.
NAME = <alphanum-name 1..8>
Name of the code translation table to be used for processing the spoolout job.
FILE = *STD / *SYSTEM / <filename 1..44 without-gen-vers>
The code translation table from the specified file (if FILE=<filename..>) or from the standard $TSOS.RSOFILE resource file (if FILE=*STD/*SYSTEM) is used for RSO jobs.
Only FILE=*STD applies for SPOOL jobs. Other values are ignored and reset to *STD. Consequently, the code translation table is always taken from the user-specific resource file specified in USER-RESOURCE-FILE or from the standard $SYSSPOOL.PRFILE resource file (if no user-specific resource file was specified).
RESOURCES-LOCATION =
Specifies, when the optional Distributed Print Services subsystem (Dprint) is used, whether the resources of the client or those of the server are to be used for printing the document.
RESOURCES-LOCATION = *STD
The value from the GEN record of the SPOOL parameter file is to be used.
RESOURCES-LOCATION = *HOME
The print job is to be executed using the print resources defined on the client system. In this case, an extract containing all the required print resources is taken from the resource file (i.e. a print resources container is created) and transferred to the selected server.
RESOURCES-LOCATION = *SERVER
The print job is to be executed using the print resources defined on the server system. In this case, no print resources container is created and transferred.
TO-PRINTER = *PARAMETERS(...)
Describes the requested target devices for the print job.
PRINTER-NAME =
Specifies the requested target printer of the print job. You can specify a distributed local printer pool, a nondistributed local printer pool, an RSO printer pool or an RSO printer.
If you specify a printer pool:
The job is output on any printer in the specified device pool. The pool must be defined in the SPOOL parameter file and can contain up to 16 RSO devices or 16 local SPOOL devices, but not both at the same time.
Device pools are managed by means of the SPSERVE statements ADD-, MODIFY-, REMOVE-, and SHOW-PRINTER-POOL (see the “SPSERVE” manual [44]).
The spoolout job is rejected if:
no printer type from the device pool is assigned in the PRINT-DOCUMENT command (see the SHOW-SPOOL-FORMS command or SPSERVE statement)
the ELECTRONIC-OVERLAY operand is specified.
Please bear in mind that the pool can contain various types of devices: if the file to be printed contains control characters that are only interpreted by a certain printer type, a printer of this type should be specified (implicitly) in the PRINT-DOCUMENT command. One possibility is to specify in the PRINT-DOCUMENT command a form that is defined only for the desired printer type (ADD-SPOOL-FORM).
PRINTER-NAME = *STD
The spoolout job is to be processed on the default device type specified in the SPOOL parameters (PRINT-CMD-DEFAULTS).
PRINTER-NAME = <alphanum-name 1..8>
Only for RSO.
Symbolic name of the RSO device on which the spoolout job is to be processed.
PRINTER-NAME = *IPP(...)
Only for RSO.
The spoolout job is to be processed on an IPP printer.
URL = <c-string 1..1023 with-low>
Specifies the Web address of the IPP printer.
FQDN = *NONE / <c-string 1..1023 with-low>
Fully-qualified name of the domain to which the IPP printer is assigned.
PRINTER-TYPE =
Specifies which printer type is to process the print job. Only local printer types may be specified.
PRINTER-TYPE = *ANY
A specific printer type is not requested. In this case, the SPOOL subsystem automatically determines the permitted printer types that can process the user request. *ANY must be specified for output on RSO printers and printers on UNIX-based systems.
PRINTER-TYPE = *HP-PRINTER
The spoolout job is to be processed on an HP or HP90 printer. *HP-PRINTER includes the following printer types: 2090/2140/2240(HP90). The control characters for HP and HP90 laser printers are identical; a spoolout job for an HP printer can be processed on an HP90 printer and vice versa.
Selection of the printer type is affected by whether the CONTROL-MODE operand is specified at the same time:
Printer selection | CONTROL-MODE = *PAGE-MODE (default value) | CONTROL-MODE =*PAGE-MODE (CONTROL-TYPE=*HP) |
---|---|---|
PRINTER- TYPE = *ANY | Output can take place to all printer types | Output can be directed to HP or HP90 printers. |
The following also applies for HP-/HP90 printers: | ||
PRINTER-TYPE = *HP-PRINTER | Output can only be processed on HP and HP90 printers. The OVERPRINT function is converted to the LINE-MERGE function. | |
Restrictions for PRFILE: | Support of the HP-specific control characters. |
Note for HP/HP90 printers
If the entries in PRINT-DOCUMENT specify output to an HP or HP90 laser printer, a PRFILE must be available. If they are not, the command is rejected. If there is no HP/HP90 available in an installation, or only devices with insufficient configurations (not enough fonts, no graphics buffer for FOBs or no page rotation module, for example), the jobs can only be output to replay tape.
Systems support can run the SHOW-PRINT-JOB-STATUS command to obtain information on these jobs.
PRINTER-TYPE = *LP65-PRINTER
The spoolout job is to be processed on an LP65 printer.
PRINTER-TYPE = *APA-PRINTER
The spoolout job is to be processed on a 2050-APA-PRINTER, 2090-APA-PRINTER or 2090-TWIN-PRINTER.
REDIRECTION-ALLOWED =
Specifies whether a device administrator can redirect the spoolout job to a different printer. This does not affect the redirection of jobs by the user or by systems support.
REDIRECTION-ALLOWED = *STD
Means YES for RSO print jobs, for SPOOL print jobs the operand is ignored.
REDIRECTION-ALLOWED = *YES / *NO
Can only be specified for RSO print jobs, not for SPOOL print jobs.
CLUSTER-NAME = *LOCAL-CLUSTER / <alphanum-name 1..8>
Specifies the cluster to which the print job is to be transferred. *LOCAL-CLUSTER means that the print job is to be processed in the local cluster.
Only for Dprint: To transfer the print job to a UNIX-based system, a cluster name defined in the Distributed Print Services (Dprint) configuration file must be specified. The remote clusters defined in the Distributed Print Services (Dprint) configuration file can be displayed by means of the SHOW-DPRINT-REMOTE-CLUSTER command (for a command description and detailed explanation, see the “Dprint” manual [10]).
OUTPUT-FORMAT =
Only relevant for interoperability between BS2000- and UNIX-based systems.
Specifies which printer language is to be used for the print job.
OUTPUT-FORMAT = *NONE
No output format was specified. The document is transferred to the UNIX-based system without any modifications. It is assumed that the printer knows the format name specified in the DOCUMENT-FORMAT=*SPECIAL-FORMAT(...) operand structure.
OUTPUT-FORMAT = <c-string 1..63 with-low>
The format name supported by the printer of the UNIX-based system specified in the PRINTER-NAME operand and known to this printer.
Notes
In order to print out a document, its format name (defined implicitly with FORMAT-NAME=*STD or explicitly through a freely selectable string) has to be compatible with one of the format names supported by the printer. The supported format names can be defined for each printer in the SPOOL parameter file (see “SPSERVE” manual [44]).
As a standard, each printer supports the 'TEXT' format. 2050-APA, 2090-APA and 2090-TWIN printers also support the 'SPDS' format.
If a printer does not support a document’s format, it can only print the document if a filter is available which converts the format name into one supported by the printer.
Example
The print job issued with PRINT-DOCUMENT <datei>,...,FORMAT-NAME=xxx is printed out by a printer
for which 'SUPP-FORMAT-NAME=xxx' was defined
or for which 'SUPP-FORMAT-NAME=yyy' and a filter was defined which converts the input format ’xxx’ into the output format ’yyy’
The filter is defined with the SPSERVE utility. You will find further information on filters in the “SPCONV” manual [41].
VIRTUAL-PRINTER =
This operand defines whether a print job is passed via a virtual printer to an application for processing.
VIRTUAL-PRINTER = *STD
The virtual printer which is to receive the print job is determined through the SPOOL parameter file.
Assignment of the print job to a virtual printer is given precedence. If no virtual printer is active when the print job is added to the list of print jobs, the print job is assigned to a real printer.
VIRTUAL-PRINTER = *ALLOWED
Assignment of the print job to a virtual printer is given precedence. If no virtual device is active when the print job is added to the list of print jobs, the print job is assigned to a real device.
VIRTUAL-PRINTER = *NOT-ALLOWED
This print job should not be transferred to an application program via a virtual device.
VIRTUAL-PRINTER = *MUST(...)
This print job is transferred to the virtual printer specified by the parameters in the brackets. If the printer’s supervisor task is inactive, the print job waits.
NAME = <alphanum-name 1..8>
Device name contained in the SPOOL parameter file.
STRING = *NONE / <c-string 1..32>
Passes a character string on to the application program.
ADDITIONAL-COPIES = 0 / <integer 1..255>
Specifies how many additional times the file is to be printed.
The entry can also be made in parentheses. Each additional printout has its own header page. Default: 0 (no additional printouts).
LOCK-FILE =
Specifies whether the file is to be protected as long as the spoolout job is in the wait state (TYPE 4, see output of the SHOW-PRINT-JOB-STATUS command). During this time the file can only be read. As a rule, tape files are never locked. During processing of the spoolout job (TYPE 5, see output of the SHOW-PRINT-JOB-STATUS command), the file is protected irrespective of the setting of this operand.
A spoolout job is created even if the file to be output is reserved by a SECURE-RESOURCE-ALLOCATION command. This reservation must, however, be canceled by the time the spoolout job is processed; otherwise the job is not executed. The file to be output is locked until the end of the session if the LOCK-FILE=*YES operand is specified in the PRINT-DOCUMENT command and the job cannot be executed owing to reservation.
LOCK-FILE = *STD
The value defined in the SPOOL paramter file is valid (NO or YES).
LOCK-FILE = *YES
The file is protected while the spoolout job is in the wait state. LOCK-FILE=*YES is ignored if one of the values *OMF, *SYSLST or *SYSOUT is specified for the FROM-FILE operand at the same time. A PRINT-DOCUMENT command for a library element with LOCK=*YES is rejected. File protection offered by LOCK-FILE=*YES remains in force even if the spoolout job is not processed until the next system run.
LOCK-FILE = *NO
The file is not protected while the spoolout job is in the wait state. The file can be deleted or modified before processing of the spoolout job commences.
LOCK-FILE=*NO is ignored for temporary files.
DELETE-AFTER-PRINT =
Specifies whether the file is to be deleted at the end of output and, if so, whether its data are to be overwritten with X'00..0'. Default: the file is not deleted after printing and not overwritten with binary zeros. The user must have write access to the file. If the file to be output belongs to a file generation group (see the FROM-FILE operand), the DELETE-AFTER-PRINT operand is ignored. If a spoolout job is used to print several elements of a PLAM library with INPUT-SECTION(...), the DELETE-AFTER-PRINT operand is set to *NO (i.e. suppressed). The operand must not be specified together with *SYSLST, *EAM or *SYSOUT.
DELETE-AFTER-PRINT = *NO
The file is not to be deleted after printing (unless it is an EAM or system file).
DELETE-AFTER-PRINT = *YES(...)
The file is to be deleted as soon as output has been completed.
LINE-TRUNCATION =
Specifies what happens if lines are truncated.
LINE-TRUNCATION = *STD
The default value from the SPOOL parameter is valid. You can display this value by means of the SHOW-SPOOL-PARAMETERS command or SPSERVE statement (field: ERROR-PR=(TRUNC=)).
LINE-TRUNCATION = *DELETE-FILE
Processing of the spoolout job continues (i.e. DELETE-AFTER-PRINT=*YES is executed). An appropriate warning is printed on the trailer page.
LINE-TRUNCATION = *KEEP-FILE
Processing of the spoolout job is continued, but the file is not subsequently deleted.
DELETE-AFTER-PRINT = *DESTROY(...)
Not for EAM and cataloged system files.
Specifies that once the file has been printed its data are to be overwritten with binary zeros.
LINE-TRUNCATION =
Specifies what happens if lines are truncated.
LINE-TRUNCATION = *STD
The default value from the SPOOL parameter is valid. You can display this value by means of the SHOW-SPOOL-PARAMETERS command or SPSERVE statement (field: ERROR-PR=(TRUNC=)).
LINE-TRUNCATION = *DELETE-FILE
Processing of the spoolout job continues (i.e. DELETE-AFTER-PRINT=*DESTROY is executed). An appropriate warning is printed on the trailer page.
LINE-TRUNCATION = *KEEP-FILE
Processing of the spoolout job is continued, but the data of the file itself are overwritten with binary zeros.
NOTIFICATION =
Selects the notification processing for the associated print jobs. The permanent subscriptions are implemented asynchronously. At the print job submission the previous subscriptions can be discarded temporarily for the current print job by selecting NOTIFICATION=*NO. It is also possible to temporarily associate another subscription to the current print job by giving the subscription attributes at the print job submission.
NOTIFICATION = *STD
Notification delivery will be processed for the current print job if the owner of this print job has previously recorded permanent subscriptions in the notification resource file.
NOTIFICATION = *NO
Notification processing is turned off for this print job. Notifications will not be generated even if there are valid subscriptions recorded in the notification resource file belonging to the owner of this print job. However, the notifications generated for subscriptions belonging to other privileged users is not turned off.
NOTIFICATION = *PARAMETERS(...)
This operand creates one temporary subscription resource. This subscription exists as long as the current print job exists. It allows the user to associate subscription resource with a particular job.
OBJECT-ATTRIBUTES =
Specifies the object attributes associated to the notifications. Objects, e.g. a print job, for which notifications are sent may have attributes associated to them. The user may want to have one or more of these associated attributes returned with a particular notification. Generally, these may include any attribute associated to the object emitting the notification.
OBJECT-ATTRIBUTES = *NONE
No attribute is selected.
OBJECT-ATTRIBUTES = *ALL
All the attributes associated to the print job are selected.
OBJECT-ATTRIBUTES = list-poss(20): <text 1..64>
Some of the attributes are selected.
EVENT-NAMES =
List of subscribed events.
EVENT-NAMES = *ALL
All the events associated to the print job are selected.
EVENT-NAMES = list-poss(20): <alphanum 1..24>
Some of the events are selected.
USER-DATA =
Specifies opaque data that some delivery methods include in each notification data; for example, for a notification by mail, the user data is included in the mail text.
USER-DATA = *NONE
No user data is specified.
USER-DATA = <text 1..63 with-low>
Specifies the user data value.
USER-DATA = <c-string 1..63 with-low>
Specifies the user data value.
RECIPIENT = *PARAMETERS(...)
According to the selected method the user has to specify the delivery address for the notifications.
ADDRESS = <text 1..224 with-low> / <c-string 1..63 with-low>
Specifies the delivery address.
METHOD-NAME = <alphanum-name 1..8> / *MAIL
Specifies the notification delivery method. In case of print jobs addressed to a remote XPRINT cluster, the predefined *MAIL keyword must be used. The notification then will be performed by the foreign cluster.
Notes
When NOTIFICATION=*PARAMETERS(...) is used, a new subscription is registered in the notification.parameters file. This subscription is associated to the current print job. This current print job is identified in the frame of the notification system by a16-digit alphanumeric ID of the following form: ttttsssshhhhhhhhwhere tttt is the TSN of the print job, ssss is the sequence number of the print job (range in family processing) and hhhhhhhh is the host name. The subscription is temporary and will be deleted after the processing of the SPOOLJOBABORTED or SPOOLJOBCOMPLETED events. Those events are defined as terminal for that purpose.
The object name of the created subscription is indicated with *ANY in the notification manager display.
Return codes
(SC2) | SC1 | Maincode | Meaning/Guaranteed messages |
---|---|---|---|
0 | CMD0001 | No error | |
2 | 0 | SCP0829 | Command registered |
2 | 0 | SCP0855 | Tape file. LOCK-FILE ignored |
2 | 0 | SCP0862 | Not file owner. DELETE ignored |
2 | 0 | SCP0863 | FGG file. DELETE ignored |
2 | 0 | SCP0864 | File protected by ACCESS=READ. DELETE ignored |
2 | 0 | SCP0865 | File protected by write password. DELETE ignored |
2 | 0 | SCP0866 | File protected by EXDATE. DELETE ignored |
2 | 0 | SCP0930 | PRFILE not available |
2 | 0 | SCP0971 | RECORD-CLASS 164 not accessible (PLAM) |
2 | 0 | SCP0988 | Print element with section. DELETE ignored |
2 | 0 | SCP1000 | JV processing error. MONJV ignored |
2 | 0 | SCP1004 | PLAM error. DELETE/DESTROY ignored |
2 | 0 | SCP1076 | No information available for the job |
2 | 0 | SCP1077 | Job accepted but FAMILY not ready |
2 | 0 | SCP1078 | LOCK error after job acceptance |
1 | CMD0202 | Syntax error | |
1 | SCP0973 | Semantic error | |
32 | SCP0974 | System error. Command rejected | |
64 | SCP0975 | No authorization for command | |
64 | SCP0976 | Invalid operand value | |
128 | SPS0266 | SPOOL subsystem not available | |
128 | SCP0896 | RSO/SPS/DPRINTCL/DPRINTSV/DPRINTCM subsystem not loaded/ready | |
128 | SCP0996 | JV subsystem not loaded/ready | |
128 | SCP1087 | POSIX subsystem not loaded/ready |
Incompatibilities between PRINT-DOCUMENT command operands
The PRINT-DOCUMENT command is rejected if one of the operands in the column on the left is specified at the same time as one of the corresponding operands in the column on the right.
Operand | Incompatible operands |
---|---|
CHARACTERS-SETS =chars-name | PRINTER-TYPE=*LP65-PRINTER / *APA-PRINTER, CONTROL-MODE=*APA |
CHARACTER-SETS=*POOL | CONTROL-MODE=*LOGICAL / *APA / *LINE-MODE / *PHYSICAL, PRINTER-TYPE=*LP65-PRINTER / *APA-PRINTER |
CONTROL-MODE=*APA | RECORD-PART, DOCUMENT-PART (if no sections specified), LEFT-MARGIN, CHECKPOINT=*ON-SECTION-RECORDS |
Only for RSO: | OUTPUT-FORMAT=*HEXADECIMAL, ROTATION=n / *BY-CONTROL-CODES, ELECTRONIC-OVERLAY, ROTATION-LOOP-NAME, CHARACTER-SETS=*POOL, FORMS-OVERLAY-BUFFER, PRINTER-TYPE=*LP65-PRINTER / *APA-PRINTER / *HP-PRINTER, PAGE-CONTROL-CHAR=*NO, |
Only for RSO: | OUTPUT-FORMAT=*HEXADECIMAL,ROTATION=n / *BY-CONTROL-CODES, ROTATION-LOOP-NAME, CHARACTER-SETS=*POOL, FORMS-OVERLAY-BUFFER, PRINTER-TYPE=*LP65 -PRINTER/ *APA-PRINTER / *HP-PRINTER, |
CONTROL-MODE =*PAGE-MODE( СONTROL-TYPE=*HP) | PRINTER-TYPE=*LP65-PRINTER / *APA-PRINTER, INPUT-TRAY-NUMBER, OUTPUT-TRAY-NUMBER |
DELETE-AFTER-PRINT | FROM-FILE = *EAM / *OMF |
DOCUMENT-FORMAT =*SPECIAL-FORMAT | TWO-SIDED=*NO/*YES/*TUMBLE |
ELECTRONIC-OVERLAY | PRINTER-TYPE=*APA-PRINTER, CONTROL-MODE=*LINE-MODE / *APA / *PHYSICAL, DOCUMENT-FORMAT=*SPECIAL-FORMAT |
FAMILY-PROCESSING=*YES | INPUT-SECTION |
FORMS-OVERLAY-BUFFER | CONTROL-MODE=*LOGICAL / *APA / *LINE-MODE / *PHYSICAL,DOCUMENT-FORMAT=*SPECIAL-FORMAT, PRINTER-TYPE=*LP65-PRINTER / *APA-PRINTER |
FROM-FILE=*EAM | DELETE-AFTER-PRINT=*DESTROY, START-PROCESSING |
FROM-FILE =*LIBRARY-ELEMENT | LOCK-FILE=*YES, START-PROCESSING |
FROM-FILE=*OMF | DELETE-AFTER-PRINT=*DESTROY |
INPUT-PART | FAMILY-PROCESSING=*YES |
LEFT-MARGIN | CONTROL-MODE=*APA |
LOCK-FILE=*YES | FROM-FILE=*LIBRARY-ELEMENT |
LOOP-NAME | PRINTER-TYPE=*APA-PRINTER, CONTROL-MODE=*APA |
OUTPUT-FORMAT =*HEXADECIMAL | CONTROL-MODE=*PHYSICAL |
PAGE-COPIES | CONTROL-MODE=*APA, PRINTER-TYPE=*APA-PRINTER |
PRINTER-TYPE=*APA | CONTROL-MODE=*LOGICAL / *PHYSICAL / *LINE-MODE / *PAGE-MODE, DOCUMENT-FORMAT=*SPECIAL-FORMAT, PAGE-COPIES, ROTATION-LOOP-NAME, LOOP-NAME, ROTATION, CHARACTER-SETS, ELECTRONIC-OVERLAY, FORMS-OVERLAY-BUFFER |
RECORD-PART | CONTROL-MODE=*APA |
ROTATION | CONTROL-MODE=*LOGICAL / *APA / *LINE-MODE / *PHYSICAL |
START-PROCESSING=n | DELETE-AFTER-PRINT=*DESTROY, LOCK-FILE=*YES, INPUT-PART |
START-PROCESSING =*AT-FILE-CLOSING | DELETE-AFTER-PRINT=*DESTROY |
USER-RESOURCES-FILE | PRINTER-TYPE=*LP65-PRINTER |
Notes
For reasons of compatibility, the “old” PRINT-FILE command continues to be supported. The new functionality can only be used explicitly with the new PRINT-DOCUMENT command.
Spoolout jobs for which the operand PAGE-COPIES, CONTROL-MODE, USER-RESOURCES-FILE or ELECTRONIC-OVERLAY has been specified in the PRINT-DOCUMENT command cannot be printed on impact printers. The operands automatically ensure that another type of printer is used (laser printers, RSO printers).
For printers with a loadable VFB, specifying the FORM operand causes the VFB to be loaded if nothing else is specified for the LOOP operand. This means that at least one loop must be available in the $SYSSPOOL.PRFILE file.
POSIX path name
The following operands are not supported for UFS files: LOCK-FILE=*YES, DELETE-AFTER-PRINT=*YES and MONJV=*STD.If a POSIX path name (up to 1024 characters) is specified, depending on the code type (ASCII or EBCDIC) of the UFS file, an automatic ASCII/EBCDIC conversion is carried out. The conversion is carried out for the whole UFS file (including metacharacters). The automatic ASCII/EBCDIC conversion is carried out by a preparatory server task that simultaneously creates a copy of the UFS file. This copy is given a name and stored in a DMS work file under the user ID $SYSSPOOL. If the UFS file is in ASCII code and the print job is sent to RSO in transparent mode (DOC-FORMAT=*SPECIAL-FORMAT), no ASCII/EBCDIC conversion is carried out. CCSNAME 88591 is set in the catalog entry of the DMS work file.
If a path name containing wildcards is specified, several UFS files can be processed. If FAMILY-PROCESSING=*YES is specified, all the print jobs are created with the same TSN and cannot be distributed. If FAMILY-PROCESSING=*NO is specified, the print jobs are created with different TSNs and can be distributed.
Print jobs for UFS files cannot be output to magnetic tape.
A POSIX extension allows the record structures of BS2000 files that are to be printed by the BS2000 SPOOL and PRINT subsystems to be preserved. The files can be copied from BS2000 to UFS by means of the RCOPY function with special operands. These files can then be processed only by BS2000 applications. If a print job is issued for them, an RCOPY function is executed in the opposite direction and the original BS2000 files (with the original record structures) restored.
The RCOPY function from UFS to BS2000 with the special operands for storing the BS2000 record structures can be carried out for all print jobs created by means of the PRINT-DOCUMENT command, except if the following operands were specified:
- DOC-FORMAT=*TEXT(...)
- DOC-FORMAT=*SPECIAL(LINE-SPACING=*NO/1/2/3).
- You will find information on outputting print data in a Dprint environment in the “Distributed Print Services” manual [10].
Examples
Example 1
A batch job contains the following commands:
/PRINT-DOCUMENT FROM-FILE=DAT,DELETE-AFTER-PRINT=*YES,ADDITIONAL-COPIES=3,
/ DOCUMENT-FORMAT=*TEXT(LINE-SPACING=*BY-EBCDIC-CONTROL) ———————— (1)
/PRINT-DOCUMENT FROM-FILE=TEST.DAT.,DOCUMENT-FORMAT= -
/ *TEXT(HEADER-LINE=*STD) ——————————————————————————————————————— (2)
/PRINT-DOCUMENT FROM-FILE=(FILE1,FILE2,FILE3),RESOURCES-DESCRIPTION= -
/ *PARAMETERS(FORM-NAME=STDWA4) ————————————————————————————————— (3)
/PRINT-DOCUMENT FROM-FILE=(A,A),DELETE-AFTER-PRINT=*YES —————————————— (4)
(1) | The file DAT is to be printed four times in all, and then deleted. The file contains (EBCDIC) feed control characters. |
(2) | All files whose names start with “TEST.DAT.” are to be printed with a default header line. |
(3) | The files FILE1, FILE2 and FILE3 are to be printed out on white paper (DIN A4). |
(4) | The file A is to be printed once and then deleted. For printing in duplicate, the operand ADDITIONAL-COPIES=1 must be specified. |
Example 2
/print-doc $rz4.sysrme.aid.023.,line-spacing=*by-ebcdic,
print-job-control=*par(family-proc=*yes,print-job-name=aid023) ———— (1)
% SCP0810 SPOOLOUT FOR FILE ':2ORZ:$RZ4.SYSRME.AID.023.D' ACCEPTED. TSN: '9W6B', SPOOLOUT-NAME: 'AID023', MONJV: '*NONE' % SCP0810 SPOOLOUT FOR FILE ':2ORZ:$RZ4.SYSRME.AID.023.E' ACCEPTED. TSN: '9W6B', SPOOLOUT-NAME: 'AID023', MONJV: '*NONE'
/show-print-job-sta —————————————————————————————————————————————————————————— (2)
TSN SERVER SP-NAME RTSN HOST USER-ID ACCOUNT F-C P-C F-T FCB-T F-SIZE 9W6B *HOME AID023 9W5V D016ZE07 QM211 89001 0 0 EAM SAM 20 9W6B *HOME AID023 9W5V D016ZE07 QM211 89001 0 0 EAM SAM 20 % SCP0947 2 JOBS FOUND WITH 40 PAM PAGES. COMMAND TERMINATED
(1) | All files pertaining to the user ID RZ4 that begin with SYSRMEAID.023. are to be printed out. The EBCDIC control characters contained in the first column are to be evaluated. The print jobs are to be given the job name AID023 and are to be given the same job number. |
(2) | The SHOW-PRINT-JOB-STATUS command displays two print jobs (for each of the files found) under the TSN 64CS. |
Example 3
The file FILE has been divided up by SPOOL into 3 print pages with a maximum of 64 lines per page:
Print FILE, starting at line 20.
/PRINT-DOCUMENT FROM-FILE=DATEI,DOCUMENT-PART=*PARAMETERS(-
OUTPUT-PART=*RANGE(FROM=20,DIMENSION=*LINES))The page feed is implemented after line 83 (=64+19) or 147 (=128+19).
Print pages 1 to 3 of FILE.
The whole file is printed/PRINT-DOCUMENT FROM-FILE=DATEI,DOCUMENT-PART=*PARAMETERS(-
OUTPUT-PART=*RANGE(FROM=1,TO=3))- Print the last page of FILE.
/PRINT-DOCUMENT FROM-FILE=DATEI,DOCUMENT-PART=*PARAMETERS(-
OUTPUT-PART=*LAST(LAST=1))
Notes on RSO
Valid character spacings (CPI)
All PRINT-DOCUMENT commands requesting CPI values which are not actually supported by the destination printer are rejected. If the destination is a pool of printers, the selection will be restricted to printer types from the pool which actually support the requested CPI values.
Exceptions to the rule
8121, 9002 and 9645 printers are not provided with escape sequences that set character spacing (the hardware value is 10 cpi). Therefore, RSO only accepts a 10 cpi value on these printer types.
On 9000, 9025 and 9026 RENO printers, RSO cannot send any escape sequence setting the character spacing. However, the character spacing can be set by means of a 256-character string linked to the font (using the product RSOSERVE). RSO nevertheless permits certain CPI values for these printer types. The values 1 through 100 can be specified in the CHARACTERS-PER-INCH operand of the SPSERVE statement ADD-SPOOL-CHARACTER-SET.
This value is not set by RSO, however, but is used for computing the line size, i.e. the maximum number of characters per line used for the header and trailer pages and for detecting possibly truncated lines.
The following table indicates for each printer type the CPI operand values that are supported by RSO for the PRINT-DOCUMENT command and at the start of spoolout, and the CPI values that are translated by RSO into printer commands.
Printer types | CPI values checked for PRINT-DOCUMENT and at start of spoolout (1) | CPI values translated by RSO and sent to the printer (2) |
---|---|---|
2030-PCL | 1..100 | 1..100 |
4011 | 10/12/15/17/20 | 10/12/15/17/20 |
4812 | 1/2/3/4/5/6/8/10/12/15/20/24/30/40/60 | 1/2/3/4/5/6/8/10/12/15/20/24/30/40/60 |
4813 | 10/12/15/17/20 | 10/12/15/17/20 |
4818-PCL | 1..100 | 1..100 |
4821-PCL | 1..100 | 1..100 |
4822-PCL | 1..100 | 1..100 |
4824-PCL | 1..100 | 1..100 |
4825-PCL | 1..100 | 1..100 |
8121 | 10 | - |
9000-EPFX | 10/12/17/20 | 10/12/17/20 |
9000-EPLQ | 10/12/15/17/20 | 10/12/15/17/20 |
9000-EPSQ | 10/12/15/17/20 | 10/12/15/17/20 |
9000-PCL | 1..100 | 1..100 |
9000-PRO | 10/12/17 | 10/12/17 |
9000-PS | 1..100 | 1..100 |
9000 | 1..100 | - |
9001 | 10/12/17 | 10/12/17 |
9001-31 | 10/12/15/17 | 10/12/15/17 |
9002 | 10 | - |
9003 | 10/12/15 | 10/12/15 |
9004 | 1/2/3/4/5/6/8/10/12/15/20/24/30/40/60 | 1/2/3/4/5/6/8/10/12/15/20/24/30/40/60 |
9011 | 10/12/15/17 | 10/12/15/17 |
9012 | 10/12/15/17 | 10/12/15/17 |
9013 | 10/12/15/18 | 10/12/15/18 |
9014 | 10/12/15/17/18/20 | 10/12/15/17/18/20 |
9015 | 10/12/15/17/18/20 | 10/12/15/17/18/20 |
9021 | 1..100 | 1..100 |
9022 | 1/2/3/4/5/6/8/10/12/15/20/24/30/40/60 | 1/2/3/4/5/6/8/10/12/15/20/ 24/30/40/60 |
9022-200 | 1..100 | 1..100 |
9025 | 1..100 | - |
9026-RENO | 1..100 | - |
9026-PCL | 1..100 | 1..100 |
9045-ANSI | 10/12/15/17 | 10/12/15/17 |
9046 | 10/12/13/15/17 | 10/12/13/15/17 |
9097 | 10/12/15/17/20 | 10/12/15/17/20 |
9645 | 10 | - |
DJET | 1..100 | 1..100 |
The table indicates for each printer type the CPI operand values for the font as supported by RSO V2.2A. This check is performed at PRINT-DOCUMENT command validation and print job scheduling time. The specification of other values leads to the following behavior.
For the PRINT-DOCUMENT command: The command is rejected.
At the start of spoolout: The print job is placed in the KEEP queue and the device is put into status “S”.
Some printer types do not support any printer commands that set the horizontal density ('-' in the table). This means that the requested horizontal density is never set by RSO, no matter what the CPI operand value of the font may be.
Nevertheless, on 9000, 9025 and 9026 RENO printers, character spacing can be set by means of a 256-character string linked to a font, using the RSOSERVE utility.
Printing RSO files swapped out with HSMS
In previous versions, when a controller task accessed a file swapped out with HSMS, other printers controlled by the task were blocked until the file was retrieved. RSO tries to prevent this situation arising for four types of RSO resource files (DIA, PROLOG, EPILOG and MEMBER files) by retrieving swapped out files when the PRINT-DOCUMENT command is checked and not only when the command is processed.
DIA file
In the case of a swapped-out DIA file, retrieval of the file is initiated during checking of the PRINT-DOCUMENT command.
When command processing starts, a swapped-out DIA file is treated as a user error. The job is terminated with corresponding information on the trailer page, and a message is sent to the console.PROLOG-/EPILOG file
Nothing is done during checking of the PRINT-DOCUMENT command in the case of swapped-out PROLOG/EPILOG files.
When command processing starts, a swapped-out PROLOG/EPILOG file is regarded as a user error. The job is terminated with corresponding information on the trailer page, and a message is sent to the console.
MEMBER file
Nothing is done during checking of the PRINT-DOCUMENT command in the case of swapped-out MEMBER files.
When command processing starts, a swapped-out MEMBER file is not taken into account.
Validity check for /PRINT-DOCUMENT with USER-RESOURCES-FILE=xxxx
A PRINT-DOCUMENT command with a loop entry in the FORM-NAME operand is also accepted if the file doesn’t exist neither under the user ID of the caller nor under SYSSPOOL. If in this case a loop entry is specified in the operand LOOP-NAME the command will be rejected.
Example 1
/show-spool-form form1
FORM-NAM DEV-TYPE LI-S PA-S H-P T-P VERT-CONTROL ROT-CONTROL OWNER L-N/LPI/C-P/C-S L-N/LPI/C-P/C-S FORM1 9001RP 80 120 YES INF 6 3 101 TSOS
/print-doc from-file=orion,to-printer=*par(printer-name=prn27272),
resources-description=*par(form-name=form1,user-resources-file=xxxx)
% SCP0810 SPOOLOUT FOR FILE ':C:$TSOS.ORION' ACCEPTED: TSN: '4FUN',- SPOOLOUT-NAME: 'LUC', MONJV: '*NONE'
Example 2
/show-spool-form form2
FORM-NAM DEV-TYPE LI-S PA-S H-P T-P VERT-CONTROL ROT-CONTROL OWNER L-N/LPI/C-P/C-S L-N/LPI/C-P/C-S FORM1 9001RP 80 120 YES INF C6 101 TSOS
/print-doc from-file=orion,to-printer=*par(printer-name=prn27272),
resources-description=*par(form-name=form2,user-resources-file=xxxx)
% SCP0810 SPOOLOUT FOR FILE ':C:$TSOS.ORION' ACCEPTED: TSN: '5FUN',- SPOOLOUT-NAME: 'LUC', MONJV: '*NONE'