Offline storage for "text-based" report images made easy.
Normally on the AS/400, all printer output is placed into files for later processing. Known as print spooling, this is a great feature which makes report management on the system quite easy. However, these spooled files cannot be directly saved to offline storage.
The two sister commands from QUSRTOOL library presented here can help you with this problem.
The Copy from Output Queue Command
The Copy from Output Queue (CPYFRMOUTQ) command allows the user to copy spooled files from a selected output queue and store those files in database file members. The database file can be saved offline and restored, and the spooled files made ready for printing again with the Copy to Output Queue (CPYTOOUTQ) command.
The CPYFRMOUTQ command supports spooled files with record lengths of 210 bytes or shorter. The command cannot be used to copy spooled files that contain graphics or advanced printer function output.
When you execute the command, CPYFRMOUTQ adds a member to the OUTFILE for each spooled file found. The members are named MBR001, MBR002, and so on. The member text provides identification for the spooled file, and includes the original spooled file name and the qualified job name that created the spooled file.
Because all spooled files for an output queue which are restored by the CPYTOOUTQ command are restored with the same attributes (CPI, LPI, etc.), you should avoid mixing spooled files with different attributes in the same output queue.
Required Parameters
OUTQ Specify the qualified name of the output queue to copy. All spooled files within the output queue, with the exception of open spooled files, are copied to the database file specified in OUTFILE. The possible library values are:
*LIBL: The library list is used to locate the output queue.
library-name: Specify the name of the library where the output queue is located.
output-queue-name: Specify the name of the output queue containing the spooled files to be copied.
OUTFILE Specify the qualified name of the database file to contain the copies of the spooled files from the output queue specified in OUTQ. The OUTFILE must not exist before executing this command. If the OUTFILE exists, an escape message is sent and the command does not execute. The possible library values are:
*CURLIB: The output file is created in the current library.
library-name: Specify the name of the library where the output file is to be created.
output-file-name: Specify the name of the output file to be created to contain copies of the spooled files.
Optional Parameters
DLTSPLF Specify whether or not the spooled files are to be deleted after they are copied to the database file specified in OUTFILE.
*NO: The spooled files are not to be deleted. They remain in the output queue specified in OUTQ after being copied to the database file specified in OUTFILE.
*YES: The spooled files are deleted from the output queue specified in OUTQ after being copied to the database file specified in OUTFILE.
Example
CPYFRMOUTQ OUTQ(MYLIB/MYOUTQ) + OUTFILE(MYLIB/MYFILE) DLTSPLF(*YES)
This command copies all spooled files (except those that are currently open) from output queue MYOUTQ located in library MYLIB to database file MYFILE in library MYLIB. The database file is created by this command. After the spooled files are copied to the database file, they are deleted from the output queue.
Source Members
INFO: CPYFRMOUTQ (QATTINFO) CDO: TAASPLM (QATTCMD) CPP: TAASPLMC (QATTCL)
Prerequisites
The following QUSRTOOL tools must exist on your system:
CVTOUTQ EDTVAR
The Copy to Output Queue Command
The Copy to Output Queue (CPYTOOUTQ) command is used to copy spooled files created with the CPYFRMOUTQ command from a database file to the specified output queue. This command prepares the saved spooled files for printing.
When spooled files are restored with this command, the user must be aware of the spooled file attributes that were in effect when the spooled files were originally created. Because the spooled files are saved as database file members, no information is kept about the attributes of the spooled file, such as CPI, LPI, and so forth. Upon restoration of the spooled files, a printer file is specified that is used to determine which attributes to use. The printer file attributes used in the restore should match the printer file attributes used when the spooled files were originally created.
Required Parameters
DBFILE Specify the qualified name of the database file containing the saved spooled file members. This file must have been created by the CPYFRMOUTQ command for this command to work properly. The possible library values are:
*LIBL: The library list is used to locate the database file.
library-name: Specify the name of the library where the output file is located.
file-name: Specify the name of the database file that contains the saved spooled files.
OUTQ Specify the qualified name of the output queue that is to contain the restored spooled files. The possible library values are:
*LIBL: The library list is used to locate the output queue. library-name: Specify the name of the library where the output queue is located.
output-queue-name: Specify the name of the output queue.
Optional Parameters
PRTFILE Specify the qualified name of the printer file to be used to restore the spooled files. The spooled file attributes of the printer file should match the attributes of the saved spooled files; otherwise, unpredictable printing results may occur. The possible library values are:
*LIBL: The library list is used to locate the printer file.
library-name: Specify the name of the library containing the printer file to be used.
The possible printer file values are:
QSYSPRT: The system-defined printer file QSYSPRT is used to restore the spooled files.
printer-file: Specify the name of a printer file to be used to restore the spooled files. An externally described printer file cannot be used.
MBR
Specify whether all members in DBFILE are to be restored, or if a specific member is to be restored.
*ALL: Restore all members contained in DBFILE to output queue OUTQ.
member-name: Specify the name of a member in DBFILE to be restored.
PRTWIDTH Specify the record width of the printer file used.
*PRTF: Use the record width of the printer file specified in the PRTF parameter. The record width of file QSYSPRT is 132.
print-record-width: Specify the printer file record width, up to 210 bytes wide. If a value is specified in this parameter, a printer file other than QSYSPRT may need to be specified in the FILE parameter.
Example
CPYTOOUTQ DBFILE(MYLIB/MYFILE) + OUTQ(MYLIB/MYOUTQ) PRTFILE(PRT15)
This command restores all members saved in file MYFILE located in library MYLIB to output queue MYOUTQ located in library MYLIB. The printer file PRT15 is used to print the spooled files.
Source Members
INFO: CPYFRMOUTQ (QATTINFO) CDO: TAASPLM2 (QATTCMD) CPP: TAASPLMC2 (QATTCL)
Prerequisites
The following QUSRTOOL tool must exist on your system:
EDTVAR
The foregoing article was adapted from Midrange Computing's QUSRTOOL Command Reference. The manual contains explanations and syntax diagrams for more than 250 useful, yet poorly documented tools.
The Copy from Output Queue (CPRFRMOUTQ) ->*LIBL/--------- | |--output-queue-name--------> CPYFRMOUTQ---OUTQ--| | --library-name/-- ->*CURLIB/------- | |--output-file-name---------> >---OUTFILE--------| | --library-name/-- Required __________________________________________________________________ Optional ->*NO----- | |--------------------|P|------------ >---DLTSPLF--------| | --*YES---- Job: B,I Pgm: B,I REXX: B, I Exec The Copy to Output Queue (CPRTOOUTQ) ->*LIBL/--------- | |--file-name--------------> CPYTOOUTQ----DBFILE--| | --library-name/-- ->*LIBL/------- | |--output-queue-name------> >---OUTQ-------------| | --library-name/-- Required __________________________________________________________________ Optional ->*LIBL/--------- ->QSYSPRT------- | |--| -----------> >--PRTFILE-----| | | | --library-name/-- --printer-file-- ->*ALL------- ->PRTF-------------- | |--PRTWIDTH--| |------|P|- >---MBR---| | | | -member-name- -print-record-width- Job: B,I Pgm: B,I REXX: B, I Exec
LATEST COMMENTS
MC Press Online