IBM Support

Troubleshooting a Remote Output Queue (RMTOUTQ) to another IBM i System

Troubleshooting


Problem

This document provides information on troubleshooting issues using a remote output queue to send spooled files to another IBM i (or LPAR), as well as the Send TCP/IP Spooled File (SNDTCPSPLF or LPR) command.

Resolving The Problem

Remote output queues and the SNDTCPSPLF and LPR commands can be used to send spooled files to an output queue on another IBM i system, or another output queue on the same system.

To configure a remote output queue to send spooled files to another IBM i system, refer to Configuring a RMTOUTQ to Send SPLFs from one IBM System i to Another using LPR/LPD.

The success of the connection is dependent on the configuration settings on both the source and target systems. The TCP/IP network will also have some bearing on performance and starting of the remote writer. The following list of items to check is intended to assist in troubleshooting problems with using TCP to send spooled files to an output queue on a target IBM i.
 
 
 On the Source System:

  • Is the remote output queue configured correctly on the source system?
    Refer to Configuring a RMTOUTQ to Send SPLFs from one IBM System i to Another using LPR/LPD for configuration instructions.
  • Is the writer started?
    To check:
    • WRKWTR WTR(*ALL)
    • WRKOUTQ OUTQ(LibraryName/OutputQueueName), then look at the status in the upper right corner.  
      If the status is RLS, a writer is not started for the output queue.  STRRMTWTR OUTQ(QUSRSYS/OutputQueueName) to start the remote writer.
      If the status is RLS/WTR, a writer is started for the output queue.
  • Is the IP address or host name of the target system reachable from the source system:
    • Use PING or VFYTCPCNN to confirm the IP address, host or DNS name can  be reached.
    • Note: The TCP/IP address should not be specified with leading zeroes in the Internet address (INTNETADR) parameter of output queue description.  For example, specify the TCP/IP address as '192.168.2.51', rather than '192.168.002.051'.
  • Is the remote printer queue (RMTPRTQ) specified correctly?
    • The remote printer queue identifies the output queue and library to place the spooled file on the target system.  The output queue name should be qualified with the library name.  For example, QUSRSYS/SYSTEMA.  
      • *NOTE:  An additional space in the remote printer queue value will cause the spooled to not arrive on the expected output queue.  For example, where '~' marks the extra space:   '~QUSRSYS/SYSTEMA' or 'QUSRSYS/~SYSTEMA' or 'QUSRSYS~/SYSTEMA' or 'QUSRSYS/SYSTEM~A'.
      • The space in the remote printer queue field is not readily seen using working with the output queue description (WRKOUTQD).  Use the change output queue command (CHGOUTQ) to see if there are blanks in the field.

To change settings in the remote output queue on the source system, end the writer and use the change output queue command (CHGOUTQ) and press F4=Prompt.  Note that changes can only be made if the writer is ended.  When <ENTER> is pressed, the remote writer will restart if the writers to autostart parameter is set to 1. 

NOTE:  If unable to make any changes to the output queue, end the writer again and be sure to prompt on the CHGOUTQ command.

  • - On the target system:
    • Does the output queue specified in the remote printer queue on the source system exist on the target system?
      • Use the work with output queue command, WRKOUTQ, to locate the output queue. 
        WRKOUTQ OUTQ(library/target-outq-name)

        If the spooled file reaches the target system, but the target output queue cannot be accessed, the files will be sent to output queue QPRINT in library QUSRSYS.


  • - Does the QTMPLPD user profile exist and is it enabled on the host system? On the target system?
    • WRKUSRPRF USRPRF(QTMPLPD)
      Select option 5=Display or 2=Change, and verify:
      • The status is *ENABLED
      • The date password expires has not passed.
      • The maximum storage is *NOMAX.
       If any changes are made to the QTMPLPD user profile, end and restart LPD:
  1. ENDTCPSVR SERVER(*LPD)
  2. Verify all QTLPDxxxxx jobs in subsystem QSYSWRK have ended
  3. STRTCPSVR SERVER(*LPD)
  • - Does the sending user ID have an enabled, matching user ID on the target system?



    If the sending user ID does not have a matching, enabled user ID on the receiving system, LPD uses QTMPLPD user profile to spool the file. However, if PUBLIC authority to QTMPLPD is set to *EXCLUDE, the file is not spooled.

    1. Check what user id owns the spooled file that is being sent. Find the spooled file by using Work with Output Queue (WRKOUTQ) or Work with Spooled Files (WRKSPLF) command, then check the value of the User field. The User is the spooled file owner.
    2. On the target system, do WRKUSRPRF on that user ID. If it does not exist there, the user profile must either be created or QTMPLPD user profile must have PUBLIC authority set to OPR Object Authority, at minimum. Do one or both of the following:
     
    • Enable the existing user profile on the target system, or, if it doesn't exist yet, create the user profile on the target system with the CRTUSRPRF command.
    • To check PUBLIC authority to QTMPLPD, do WRKOBJ QTMPLPD, then take option 5 to Display Authority. To change PUBLIC authority to QTMPLPD, do WRKOBJ QTMPLPD, then take Option 2 Edit Authority. Set Object Authority to USER DEF, then F11 and select OPR authority. Hit enter to accept this change.
  • - Are LPD services running on the host system? On the target system?
    1. NETSTAT
    2. Select Option 3 to Work with TCP/IP connection status.
    3. Look for LPD under the Local Port column. If found, verify that it is in a LISTEN state.

    LPD found and in LISTEN state?
    No - go to Step 4.
    Yes - go to Step 5.
    4. Are there QTLPDxxxxx jobs in the QSYSWRK subsystem?

    WRKACTJOB SBS(QSYSWRK)

    No - go to Step 5.
    Yes - go to Step 6.
    5. If LPD is not in a LISTEN state, or if there are no QTLPDxxxxx jobs in the QSYSWRK subsystem, use the Start TCP/IP Server (STRTCPSVR) command to start the LPD server. For example:

    STRTCPSVR SERVER(*LPD)
    6. If LPD is in a LISTEN state, or if there are QTLPDxxxxx jobs in the QSYSWRK subsystem, use the End TCP/IP Server (ENDTCPSVR) and Start TCP/IP Server (STRTCPSVR) commands to end and restart the LPD server. For example:

    ENDTCPSVR SERVER(*LPD)

    STRTCPSVR SERVER(*LPD)
  • - Does the failing spooled file have OUTPTY set higher than the QTMPLPD user profile's PTYLMT on the target?
     
    1. Use the following Display User Profile (DSPUSRPRF) command to display the QTMPLPD user profile:

    DSPUSRPRF USRPRF(QTMPLPD)

    Verify the value for the Highest schedule priority (PTYLMT) parameter.
    2. If target system is another Power Systems server, locate the QTLPDxxxxx jobs on the receiving system. Use the following Work with Active Jobs (WRKACTJOB) command:

    WRKACTJOB SBS(QSYSWRK)
    3. Page down to find the QTLPDxxxxx jobs. Select Option 5 (Work with), Option 10 (Display job log, if active or on job queue), and press F10 (Display detailed messages) for each QTLPDxxxxx job listed in the QSYSWRK subsystem.
    4. If message CPF4355 - OUTPTY value &6 exceeds priority limit for user QTMPLPD is found in one or more of the QTLPDxxxxx jobs, go to the sending operating system, select Option 8 (Attributes) on the spooled file in SND (Sending) status, and determine if the Output priority (OUTPTY) parameter is higher than the Highest schedule priority (PTYLMT) parameter in the QTMPLPD user profile on the receiving system.
    5. Resolve the problem using one of the following methods:
     
    • End the writer with OPTION(*IMMED), select Option 2 (Change) on the spooled file in SND status, then set the Output priority (OUTPTY) parameter to the value for the Highest schedule priority (PTYLMT) parameter in the QTMPLPD user profile on the receiving system, and then restart the remote writer.
       
    • End the writer with OPTION(*IMMED), use the Change User Profile (CHGUSRPRF) command to increase the value in the PTYLMT parameter for the QTMPLPD user profile on the receiving system, then restart the remote writer.
  • - Is port 515 blocked on a firewall between the two systems?



    Remote Output Queues use source ports 256 through 1024 on the System i host and use destination port 515 on the target. If a firewall exists between the host and target systems, check with the network administrator to ensure that the appropriate ports are open.

  • - Is the SPOOL pool size large enough?



    The amount of memory allocated to the *SPOOL pool and the maximum number of active jobs can have an effect on whether a writer is able to print, or how quickly a writer is able to print, to a network attached printer. To check and change the size of the *SPOOL, do the following:

    1. Use the Work with System Status (WRKSYSSTS) command and press the F11 key twice to display the pool data, including the pool names. Note both the Pool Size and the Max Active settings for the *SPOOL pool.
    2. Examine the *SPOOL pool and estimate if it is an acceptable size for the printing needs of the system:

    Refer to the Pool Configuration information in the Work Management Guide (SC41-4306) for a list of the suggested values. The Printing V Redbooks recommends a minimum of 6 MB. There should be about 5 MB for every writer job that might be active at one time.

    To change the size of the *SPOOL pool, use the WRKSYSSTS command and press the F11 key two times, as was done in Step A above. Type over the existing values for the Pool Size and Max Active settings and press the Enter key to change the settings. Any additional memory allocated to the *SPOOL pool will be taken from the *BASE pool.

    Note: If the QPFRADJ (Performance adjustment) system value is set to 1 (Adjustment at IPL), 2 (Adjustment at IPL and automatic adjustment) or 3 (Automatic adjustment), the Work with Shared Storage Pools (WRKSHRPOOL) command should be used to set a minimum percentage for the *SPOOL pool based on the main storage size and the desired minimum size.

  • - Recommended Fixes (PTFs) and Group PTFs

    There are no required PTFs to print using a remote output queue; however, getting the latest print-related TCP/IP fixes for the operating system will typically help avoid problems when using remote output queues.

    For a list of the latest Print PTFs, refer to IBM i Support Recommended fixes:
    https://www.ibm.com/support/pages/node/667303


  • - Check for errors in the QTLPDxxxxx joblogs on both the target and host systems
    1. Change the QTMPLPD job description in library QTCP to set the Message logging (LOG) parameter to LOG(4 00 *SECLVL) on the receiving system to ensure that the QTLPDxxxxx job logs are generated. This is done by using the following Change Job Description (CHGJOBD) command:

    CHGJOBD JOBD(QTCP/QTMPLPD) LOG(4 00 *SECLVL)
    2. End and restart the LPD server on the receiving system using the following End TCP/IP Server (ENDTCPSVR) and Start TCP/IP Server (STRTCPSVR) commands:

    ENDTCPSVR SERVER(*LPD)

    STRTCPSVR SERVER(*LPD)
    3. Reproduce the problem sending spooled files to the receiving system.
    4. After the problem has been reproduced, use the following Work with Spooled Files (WRKSPLF) command to find the QTLPDxxxxx job logs:

    WRKSPLF SELECT(QTCP *ALL *ALL QTLPD*)

[{"Type":"MASTER","Line of Business":{"code":"LOB68","label":"Power HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m0z0000000CJHAA2","label":"Print-\u003EPrinter Configurations-\u003ERemote Output Queue"}],"ARM Case Number":"","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"All Versions"}]

Document Information

More support for:
IBM i

Component:
Print->Printer Configurations->Remote Output Queue

Software version:
All Versions

Operating system(s):
IBM i

Document number:
643011

Modified date:
02 October 2024

UID

nas8N1018564

Manage My Notification Subscriptions