Request print job from virtual printer
Component: | SPOOL |
Functional area: | Controlling spoolout job |
Domain: | SPOOL-PRINT-SERVICES |
Privileges: | STD-PROCESSING |
Function
The GET-JOB-FROM-VIRTUAL-DEVICE command requests a new print job from the virtual device. It is executed in batch mode only.
By default, the original user file is copied into the calling task’s user ID, and a definition of the print job is generated in a metadata file. Both files are created with a default name which contains the identification number of the print job as a name component. This identification number is stored in the specified S variable.
Optionally a user-specific file name prefix can be defined for each of the files. Creation of the files and S variable can also be suppressed.
The command is part of a set of four commands which enable an application to be created in the form of an S procedure (for an example, see the OPEN-VIRTUAL-DEVICE-DIALOG command). These commands manage the dialog between a virtual device and the application which was started in batch mode as an S procedure:
OPEN-VIRTUAL-DEVICE-DIALOG
GET-JOB-FROM-VIRTUAL-DEVICE
RETURN-JOB-TO-VIRTUAL-DEVICE
CLOSE-VIRTUAL-DEVICE-DIALOG
Format
GET-JOB-FROM-VIRTUAL-DEVICE |
FILE-PREFIX = *STD / *NONE / <partial-filename 1..25> ,METADATA-PREFIX = *STD / *NONE / <partial-filename 1..25> ,OUTPUT-DOC-ID = *STD / *NONE / <structured-name 1..20> |
Operands
FILE-PREFIX = *STD / *NONE / <partial-filename 1..25>
Specifies whether the original user file is to be copied and which prefix should be assigned to the name of the copy.
FILE-PREFIX = *STD
The original user file is copied under the following file name:
$<userid>.S.VIRTUAL.DOC.<document-id>.000
where <userid> is the user ID of the calling task and <document-id> is the identification number of the print job (see the OUTPUT-DOC-ID operand).
FILE-PREFIX = *NONE
The original user file is not to be copied.
FILE-PREFIX = <partial-filename 1..25>
The original user file is copied with a prefix under the following file name:
$<userid>.<file-prefix>.<document-ID>.000
where <userid> is the user ID of the calling task and <document-id> is the identification number of the print job (see the OUTPUT-DOC-ID operand).
METADATA-PREFIX = *STD / *NONE / <partial-filename 1..25>
Specifies whether metadata of the print job is to be created and which prefix should be assigned to the metadata file.
METADATA-PREFIX = *STD
The metadata of the print job is to be created in a file with the following name: $<userid>.<metadata.prefix>.<document-id>
where <userid> is the user ID of the calling task and <document-id> is the identification number of the print job (see the OUTPUT-DOC-ID operand).
METADATA-PREFIX = *NONE
No file containing the metadata of the print job is to be created.
METADATA-PREFIX = <partial-filename 1..25>
The metadata of the print job is to be created in a file with the specified prefix in the name: $<userid>.<metadata-prefix>.<document-id>
where <userid> is the user ID of the calling task and <document-id> is the identification number of the print job (see the OUTPUT-DOC-ID operand).
OUTPUT-DOC-ID = *STD / *NONE / <structured-name 1..20>
Specifies whether the identification number of the print job is to be output in an S variable.
OUTPUT-DOC-ID = *STD
The identification number of the print job is generated in the DOC-ID variable.
OUTPUT-DOC-ID = *NONE
The identification number of the print job is not generated.
OUTPUT-DOC-ID = <structured-name 1..20>
The identification number of the print job is generated in the specified S variable.
Return codes
(SC2) | SC1 | Maincode | Meaning |
---|---|---|---|
0 | CMD0001 | No error; command successfully processed | |
32 | SCP0974 | Unexpected command | |
5 | 32 | SCP0974 | Memory request error |
Notes
If the original user file was copied (value of the FILE-PREFIX operand not equal to *NONE), normalization of this file takes place in the target file. This means that the original user file is copied into a SAM file (conversion, library member is extracted, etc.). This file is stored as not shareable under the calling task’s user ID.
The user ID assigned to the application (i.e. the user ID under which the calling application task is executed) corresponds to the user ID (default: SYSSPOOL) specified for the device record (PROGRAM-NAME operand).
The metadata file is created as an ISAM file with the file attributes KEY-POS=5, KEY-LEN=64, BUF-LEN=STD(2) and USER-ACC=OWNER-ONLY. The ISAM key (64 characters) corresponds to the attribute name and the field (consisting of 1024 characters) corresponds to the attribute value.
If the dialog cannot be initialized, the command is rejected and a return code is set.
If no initialization took place (OPEN-VIRTUAL-DEVICE-DIALOG command), the command is rejected and a return code is set.
If the print job has already been returned (RETURN-JOB-TO-VIRTUAL-DEVICE command), the command is rejected and a return code is set.
This command can only be used in batch mode.
Spin-off processing is activated each time an error is detected.
Output in S variable
Output information | Name of the S variable | T | Contents | Condition |
---|---|---|---|---|
Identification number of the associated print job | var(*LIST).DOC-ID | S | <document-id> |