IBM Support

Configuring a RMTOUTQ to Send SPLFs from one IBM System i to Another using LPR/LPD

Troubleshooting


Problem

This document contains information on configuring and using a Remote Output Queue (RMTOUTQ) to send spooled files to one IBM System i to another using the LPR/LPD (Line Printer Requester/Line Printer Daemon) protocol.

Resolving The Problem

This document contains information on configuring and using a Remote Output Queue (RMTOUTQ) to send spooled files to one IBM System i to another using the LPR/LPD (Line Printer Requester/Line Printer Daemon) protocol. Requirements include a TCP/IP interface and IP address configured on both systems and a Line Print Daemon (LPD) server running on the destination system.

Requirements for using a Remote Output Queue (RMTOUTQ) include the following:
 
o Having a TCP/IP interface configured and started on the IBM System i,
o Having a TCP/IP address assigned to the printer or remote host,
o Having a Line Print Daemon (LPD) TCP/IP process enable and running on the internal or external print server or remote host, and
o Either having a print queue configured on the internal or external print server, which is typically automatic when LPD is enabled on a print server, or having a print queue configured and shared on the remote host.

This document was last updated on 26 November 2013.
 



For information on configuring a Remote Output Queue (RMTOUTQ) for another type of printer, please refer to the following document:

N1010090: Configuring a Remote Output Queue (RMTOUTQ)

For detailed information on configuring a Remote Output Queue (RMTOUTQ) to print to a thermal label or receipt printer, please refer to the following document:

N1019443: Configuring a Remote Output Queue (RMTOUTQ) to a Label or Receipt Printer

For detailed information on configuring a Remote Output Queue (RMTOUTQ) for sending spooled files to a print queue on a PC running a supported version of Microsoft Windows (such as Windows 7, Windows 2003 Server, or Windows XP Professional), please refer to the following document:

N1018931: Configuring a Remote Output Queue (RMTOUTQ) to a Windows Print Queue

For detailed information on configuring a Remote Output Queue (RMTOUTQ) for sending spooled files to an output queue on the same or another IBM i system or logical partition (LPAR) using SNADS, please refer to the following document:

N1019700: Printer Passthrough or Remote Output Queues

Video documentation of this process

This video shows how to send spooled files between two System i systems using a Remote Output Queue (RMTOUTQ).


Requirements and Restrictions

Requirements include a TCP/IP interface configured in the operating system, a TCP/IP address on the printer side, and a Line Print Daemon (LPD) TCP/IP process running on the print server. Restrictions include no page range printing. Controlling the output can also be a problem because of the lack of control over the sending of spooled files. Once a spooled file has started sending, a user may have a tough time stopping the printing from the operating system side. Putting the spooled file on hold or deleting it may not be successful. For a more complete listing of restrictions, please refer to the document:

N1019659: Capabilities and Limitations of Remote Output Queues (RMTOUTQs)


Recommended Fixes (PTFs) and Group PTFs

There are no required PTFs to print using a RMTOUTQ; however, getting the latest print-related TCP fixes for the operating system will typically help you avoid problems when using RMTOUTQs.

For a list of the latest Print PTFs, refer to the Recommended Fixes Web site which is available at:

http://www-912.ibm.com/s_dir/slkbase.nsf/recommendedfixes

For information on the Print and TCP/IP Group PTFs, refer to the PSP - Group PTFs Web site which is available at:

http://www-912.ibm.com/s_dir/sline003.NSF/GroupPTFs?OpenView&view=GroupPTFs


Configuration Instructions

To create a remote output queue, use the Create Output Queue (CRTOUTQ) command. Specify the following parameters:

Output Queue and Library (OUTQ)
The output queue name can be any name that you choose. It is recommended that you set the output queue library to QUSRSYS in case you need to use a dummy device description for some of your applications. For instructions on creating a dummy device description, please refer to the following document:

N1010256: Creating a Dummy Device Description to Use with a Remote Output Queue (RMTOUTQ)

Remote System (RMTSYS)
When configuring a RMTOUTQ to another iSeries or AS/400 system, you can either specify the other system's TCP/IP address, host name or DNS name. If a TCP/IP address is used, the Remote System (RMTSYS) parameter should be set to *INTNETADR and then the other system's TCP/IP address should be specified in the Internet Address (INTNETADR) parameter which comes later on in the output queue description. If a host name or DNS name is used, that name should be entered in the Remote System (RMTSYS) parameter.

If a TCP/IP address is used, verify that the system can reach the other system by using the PING or Verify TCP/IP Connection (VFYTCPCNN) command with that TCP/IP address. If a host name or DNS name is used, verify that the system can reach the other system by using the PING or Verify TCP/IP Connection (VFYTCPCNN) command with that host name or DNS name.

Remote Printer Queue (RMTPRTQ)
This specifies the LPR queue name that the LAN-attached printer or LAN print server is expecting for LPD (or Line Printer Daemon) print requests. The LPR queue name is hardware specific. However, when using a RMTOUTQ to send to another IBM i system to another, the RMTPRTQ parameter specifies the destination output queue on the other IBM i system.

It is recommended that the fully-qualified output queue name be used and that the output queue be specified in all capital letters. For example, if the RMTOUTQ is to point to PRT01 printer device description on the destination system, specify the device corresponding output queue of the description, 'QUSRSYS/PRT01'.

Note: If the correct RMTPRTQ parameter is not set to correct LPR queue name, or if it is specified in the wrong case, then the RMTOUTQ will be unable to connect to the Windows PC or server and therefore the spooled file will stay in SND (Sending) status and will not print.

Writers to Autostart (AUTOSTRWTR)
Specifies the number of remote writers that are started automatically by the system. It is recommended that this be set to 1, so the remote writer is automatically be started after an IPL, after restarting the QSYS subsystem, or after making a change to the output queue description. If not, the writer must be started manually using the Start Remote Writer (STRRMTWTR) command.

Connection Type (CNNTYPE)
This must be set to *IP. This indicates that the RMTOUTQ communicates using TCP/IP.

Destination Type (DESTTYPE)
In this case, this must be set to *OS400. This should be set to *OTHER when printing spooled files to printers that are attached to the LAN/WAN using a print server, a PC, or a UNIX server, and should be set to *OS400 when sending spooled files from one operating system system to another.

Host Print Transform (TRANSFORM) or Transform SCS to ASCII (TRANSFORM)
This is typically set to *NO so the source system will send the operating system spooled file to the other System i system without converting it to an ASCII printer data stream. The spooled file on the destination system will be an exact copy of the spooled file on the source system and, therefore, can usually be routed to any type of printer, including SCS, IPDS, or ASCII printers. This is, of course, dependent on the Printer device type (DEVTYPE) spooled file attribute.

User Data Transform and Library (USRDTATFM)
This is typically set to *NONE when using a RMTOUTQ to send spooled files to another System i system.

Manufacturer Type and Model (MFRTYPMDL)
This is typically set to *NONE when using a RMTOUTQ to send spooled files to another System i system.

Workstation Customizing Object (WSCST)
This is typically set to *NONE when using a RMTOUTQ to send spooled files to another System i system.

Internet Address (INTNETADR)
The Internet Address (INTNETADR) parameter must be set to the IP address for the remote system (OS/400) when the Remote System (RMTSYS) parameter has been set to *INTNETADR. The IP address should be entered without leading zeros (for example, use 192.186.10.2 rather than 192.186.010.002).

Destination options (DESTOPT)
This is typically set to *NONE when using a RMTOUTQ to send spooled files to another System i system.

Print separator page (SEPPAGE)
This is typically set to *NO when using a RMTOUTQ to send spooled files to another System i system.


Configuration Example

The following is an example of a Remote Output Queue (RMTOUTQ) to another iSeries or AS/400 system. The ">" indicates important parameters to set. The Remote Output Queue (RMTOUTQ) can be configured using the Create Output Queue (CRTOUTQ) command. Type CRTOUTQ on an operating system command line, press the F4 (Prompt) Key, fill in the following parameters, and press the Enter Key to create the RMTOUTQ:
 
Output queue . . . . . . . . . . > SYSTEMB       Name
 Library  . . . . . . . . . . . >   QUSRSYS     Name, *CURLIB
Maximum spooled file size:
 Number of pages  . . . . . . .   *NONE         Number, *NONE
 Starting time  . . . . . . . .                 Time
 Ending time  . . . . . . . . .                 Time
              + for more values
Order of files on queue  . . . .   *FIFO         *FIFO, *JOBNBR
Remote system  . . . . . . . . . > *INTNETADR
Remote printer queue . . . . . . >
Destination OUTQ Name
Writers to autostart . . . . . .   1             1-10, *NONE
Queue for writer messages  . . .   QSYSOPR       Name
 Library  . . . . . . . . . . .     *LIBL       Name, *LIBL, *
Connection type  . . . . . . . . > *IP           *SNA, *IP
Destination type . . . . . . . . > *OS400        *OS400, *OS400
Host print transform . . . . . . > *NO           *YES, *NO
Manufacturer type and model  . . > *NONE

Workstation customizing object   > *NONE         Name, *NONE        
  Library  . . . . . . . . . . .                 Name, *LIBL, *CURLIB
Internet address . . . . . . . . >
Destination IP Address
Destination options  . . . . . . > *NONE
Text 'description' . . . . . . . > 'RMTOUTQ to another iSeries or AS/400'


Configuring a Dummy Device Description to Use with a Remote Output Queue

Dummy device descriptions are typically used when printing from applications that do not support printing directly to an output queue, but only to a printer device description (including Query/400 and the IBM System/36 Environment). They are also useful when moving spooled files from one printer to another from the Work with Output Queue (WRKOUTQ) or Work with Spooled Files (WRKSPLF) commands, or when using Operations Navigator to drag and drop spooled files from one printer to another.
 
Caution: If dummy device descriptions are used with RMTOUTQs and a system save is performed and later a system restore is performed, the dummy device description will be restored as a *VRT 3812 printer device description with a normal output queue, but the RMTOUTQ will not be restored. This occurs because the output queue will already exist as a normal output queue at the time that the RMTOUTQs would normally be restored. When using RMTOUTQs with dummy device descriptions, it is recommended that the RMTOUTQs be fully documented so they can be re-created correctly after performing a system restore.

This information can also be found in the following document:

N1010256: Creating a Dummy Device Description to Use with a Remote Output Queue (RMTOUTQ)

Use the following steps to create a dummy device description:
1. Before a dummy device description can be created, the Remote Output Queue (RMTOUTQ) must reside in the QUSRSYS library. If not, creating the dummy device description will cause you to have two output queues of the same name -- one in the current library for the remote output queue and one in QUSRSYS. Use the following Work with Objects (WRKOBJ) command to verify that the remote output queue is in library QUSRSYS:

WRKOBJ OBJ(*ALL/output-queue) OBJTYPE(*OUTQ)
2. To move the RMTOUTQ to library QUSRSYS, first use the following End Writer (ENDWTR) command with the When to end writer (OPTION) parameter set to *IMMED to end the writer immediately:

ENDWTR WTR(output-queue) OPTION(*IMMED)

Then issue the following Move Object (MOVOBJ) command:

MOVOBJ OBJ(outq-library/output-queue) OBJTYPE(*OUTQ) TOLIB(QUSRSYS)
3. If the RMTOUTQ was configured with the Writers to autostart (AUTOSTRWTR) parameter set to 1, then the remote writer should be ended prior to creating the dummy device description. This is to ensure that the output queue is properly associated with the printer device description that is created.

If the writer was not ended for Step 2 above, then use the following End Writer (ENDWTR) command with the When to end writer (OPTION) parameter set to *IMMED to end the writer immediately:

ENDWTR WTR(output-queue) OPTION(*IMMED)

Note: If the remote writer is not ended before configuring the dummy device description, then the Work with Spooled Files (WRKSPLF) command might fail to find the spooled files in the remote output queue when the device name is specified in the Print device portion of the Select files for (SELECT) parameter.
4. If the RMTOUTQ was configured with the Writers to autostart (AUTOSTRWTR) parameter set to 1, then issuing the above CRTDEVPRT command should automatically restart the remote writer. If not, then the remote writer can be started using the following Start Remote Writer (STRRMTWTR) command:

STRRMTWTR  WTR(output-queue)
5. Use the following Create Device Desc (Printer) (CRTDEVPRT) command to create a device description with the same name as the remote output queue:

CRTDEVPRT DEVD(output-queue-name) DEVCLS(*VRT) TYPE(3812) MODEL(1)
          ONLINE(*NO) FONT(011)

Note: The remote writer uses the settings in the output queue description, not the device description, so there is no need to vary on the *VRT 3812 dummy device description and no need to set the Online at IPL (ONLINE) parameter to *YES. If the *VRT dummy device description is created with the Attached controller (CTL) parameter left blank, attempting to vary on the device will result in error message CPD2609 "Device &25 configuration not valid. Reason code &1" with RC2301, which indicates that device that is not attached to a controller description cannot be varied on.
6. Creating the dummy device description should result in message CPI2611 "Output queue &1 in &2 already exists." This indicates that the printer device description is associated with the remote output queue that has already been created.

If this message is not received, it most likely means that the remote output queue was not in library QUSRSYS and the Create Device Desc (Printer) (CRTDEVPRT) command has created a second output queue (but not a remote output queue) with the same name in library QUSRSYS. The problem with this is that applications typically send spooled files to the output queue in library QUSRSYS; however, because this is not a remote output queue, the spooled files are not sent to the printer.
7. If working in the System/36 Environment, use the Display System/36 Configuration (DSPS36) command to verify the System/36 printer IDs. The Change System/36 Configuration (CHGS36) command can be used to change the System/36 printer IDs or to assign a new System/36 printer ID to point to the new dummy device description.

Note: When a printer is specified in the //PRINTER OCL statement, you are using the System/36 printer ID for that printer. The System/36 Environment then uses a print file in library #LIBRARY that has the same name as the printer ID. If the output is not going to the correct printer, specify the output queue name on the //PRINTER OCL status or use the Change Printer File (CHGPRTF) command to point the printer file directly to the remote output queue:

CHGPRTF FILE(#LIBRARY/system-36-printer-id)
        OUTQ(outq-library/output-queue)

Additional Notes:
 
1. Do not use the Vary Configuration (VRYCFG) or the Work with Configuration Status (WRKCFGSTS) commands to vary on the printer device description. The remote writer uses the settings in the output queue description, not the device description, so there is no need to vary on the *VRT 3812 dummy device description.

If the *VRT dummy device description is created with the Attached controller (CTL) parameter left blank, attempting to vary on the device will result in error message CPD2609 "Device &25 configuration not valid. Reason code &1" with RC2301, which indicates that device that is not attached to a controller description cannot be varied on.
2. Do not use the Start Print Writer (STRPRTWTR) command or Option 1 (Start) from the Work with Writers (WRKWTR) command to start the writer. Use the Start Remote Writer (STRRMTWTR) command instead to start a writer using the remote output queue.
3. RMTOUTQs use remote writers, not printer writers. However, the WRKWTR command defaults to WTR(*PRT), which only shows all of the active and inactive printer writers. Therefore, using the WRKWTR command without any parameters will show the writer to be in END status, even when the remote writer is started.
4. The settings in the dummy device description have no affect on how the remote writer communicates with the printer or on how the operating system formats spooled files for the printer. This includes, but is not limited to, the settings for the Online at IPL (ONLINE), Attached controller (CTL), Font identifier (FONT), Message queue (MSGQ), and Host print transform (TRANSFORM) parameters. For example, to control which message queue is used for all writer messages, the message queue must be specified in the MSGQ parameter in the output queue description, not in the MSGQ parameter in the dummy device description.
5. To determine if the remote writer is started, use the Work with Writers (WRKWTR) command with the Writer (WTR) parameter set to *ALL. For example, the WRKWTR WTR(*ALL) command shows all active writers rather than showing only all active and inactive printer writers.

Changing a Remote Output Queue (RMTOUTQ) Description

After a Remote Output Queue (RMTOUTQ) has been configured, there is no need to delete and recreate the RMTOUTQ to make any changes. The RMTOUTQ description can be changed by doing the following:
 
1. Use the End Writer (ENDWTR) command with the When to end writer (OPTION) parameter set to *IMMED to end the writer immediately.
2. Use the Work with OUTQ Description (WRKOUTQD) command to display the RMTOUTQ's current settings.
3. Verify that the status shows that a writer is not active to this output queue.
4. Press the F13 (Change) Key to run the Change Output Queue (CHGOUTQ) command.
5. Make the desired changes to the RMTOUTQ description. Press the Enter key or the F16 (Command complete) key when finished.

Note: The F9 (All parameters) and Page Down keys can be used to get to all of the desired parameters.
6. If needed, use the Start Remote Writer (STRRMTWTR) command to restart the writer.


References

For more information on Remote Output Queues (RMTOUTQs), refer to the following Rochester Support Center knowledgebase documents:

N1019443: Configuring a Remote Output Queue (RMTOUTQ) to a Label or Receipt Printer
N1010172: Recommended Remote Printer Queue Values for Remote Output Queues (RMTOUTQs)
N1019659: Capabilities and Limitations of Remote Output Queues (RMTOUTQs)
N1019713: Using Host Print Transform (HPT) with a Remote Output Queue (RMTOUTQ)
N1010256: Creating a Dummy Device Description to Use with a Remote Output Queue (RMTOUTQ)
N1010092: Controlling the TCP/IP Trailer Page Using the Print Separator Page (SEPPAGE) Parameter
N1019582: Getting Support for Form Types in a RMTOUTQ
N1019620: Forcing a Remote Output Queue (RMTOUTQ) to Select a Particular Paper Size
N1019605: Information on Printers from Various Manufacturers
N1019698: Printer Model Settings for Host Print Transform (HPT)

The TSPRWPR exit program allows a user to print a specific page range when using a remote output queue (RMTOUTQ) that is configured with a connection type of *IP or when using the Send TCP/IP Spooled File (SNDTCPSPLF or LPR) command. For more information on the unsupported TSPRWPR remote writer page range support exit program, refer to the following document:

N1019686: TSPRWPR Remote Writer Page Range Support Exit Program

The TSPLPRD exit program is an unsupported utility that can be used to configure a *LAN 3812 printer device description to send spooled files to an ASCII printer using LPR/LPD. RMTOUTQs also send using LPR/LPD, but the TSPLPRD exit program uses a printer writer, rather than a remote writer. For more information on the unsupported TSPLPRD LPR print driver exit program, refer to the following documents:

N1019586: Configuring a *LAN 3812 Device Description that Uses the LPR Print Driver (TSPLPRD) Exit Program
N1019586: Configuring a *LAN 3812 Device Description that Uses the LPR Print Driver (TSPLPRD) Exit Program

[{"Product":{"code":"SWG60","label":"IBM i"},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Component":"Print","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"Version Independent;7.2.0;7.2;7.1.0;7.1;6.1.1;6.1.0;6.1;5.4.5;5.4.0;5.3.5;5.3.0;5.2.0;5.1.0;4.5.0;4.4.0;4.3.0;4.2.0;4.1.0;3.7.0;3.6.0;3.2.0","Edition":"","Line of Business":{"code":"LOB08","label":"Cognitive Systems"}},{"Product":{"code":"SSC5L9","label":"IBM i 7.2"},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Component":" ","Platform":[{"code":"","label":null}],"Version":"","Edition":"","Line of Business":{"code":"","label":""}},{"Product":{"code":"SSC52E","label":"IBM i 7.1"},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Component":" ","Platform":[{"code":"","label":null}],"Version":"","Edition":"","Line of Business":{"code":"","label":""}},{"Product":{"code":"SSC3X7","label":"IBM i 6.1"},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Component":" ","Platform":[{"code":"","label":null}],"Version":"","Edition":"","Line of Business":{"code":"","label":""}}]

Historical Number

24305723

Document Information

Modified date:
25 January 2021

UID

nas8N1019442