Start Spool Reclaim (STRSPLRCL)

The Start Spool Reclaim (STRSPLRCL) command repairs output queues and spooled files that are left in unrecoverable states. If a writer job ends abnormally or an incomplete update has occurred, the output queue or spooled files associated with the writer job could remain in various statuses (such as WTR, PRT, PND and MSGW). The STRSPLRCL command does not wait for the spool reclaim function to complete. If * is specified for the ASP group (ASPGRP) parameter and the current thread has an ASP group in its name space, two separate requests to reclaim output queues could be sent. If a matching output queue is found in *SYSBAS, a request will be sent to the spool maintenance job in *SYSBAS. If a matching output queue is found in the specified ASP group, a request will be sent to the spool maintenance job for that ASP group. When the reclaim function is complete, message CPC3309 is sent to the QHST and QSYSOPR message queues by each spool maintenance job.

If *ALL/*ALL is specified for the Output queue (OUTQ) parameter, and *SYSBAS or * is specified for the ASP group (ASPGRP) parameter, additional cleanup will be done on job queues and completed jobs. If a job is in OUTQ status but does not own any active spooled files, the job will be removed from the system.

Restriction:

Parameters

Keyword Description Choices Notes
OUTQ Output queue Qualified object name Required, Positional 1
Qualifier 1: Output queue Generic name, name, *ALL
Qualifier 2: Library Name, *LIBL, *CURLIB, *USRLIBL, *ALL, *ALLUSR
ASPGRP ASP group Name, *, *CURASPGRP, *SYSBAS Optional, Positional 2

Output queue (OUTQ)

Specifies the output queue to be reclaimed.

This is a required parameter.

Qualifier 1: Output queue

*ALL
All output queues in the auxiliary storage pool (ASP) group defined by the ASPGRP parameter will be reclaimed.
generic-name
Specify the generic name of the output queues to be reclaimed.
name
Specify the name of the output queue to be reclaimed.

Qualifier 2: Library

*LIBL
All libraries in the library list for the current thread are searched.
*USRLIBL
If a current library entry exists in the library list for the current thread, the current library and the libraries in the user portion of the library list are searched. If there is no current library entry, only the libraries in the user portion of the library list are searched.
*ALL
All libraries in the auxiliary storage pool (ASP) group defined by the ASPGRP parameter are searched.
*ALLUSR
All user libraries in the auxiliary storage pools (ASPs) defined by the ASP group (ASPGRP) parameter are searched.

User libraries are all libraries with names that do not begin with the letter Q except for the following:

#CGULIB     #DSULIB     #SEULIB
#COBLIB     #RPGLIB
#DFULIB     #SDALIB

Although the following libraries with names that begin with the letter Q are provided by IBM, they typically contain user data that changes frequently. Therefore, these libraries are also considered user libraries:

QDSNX       QRCLxxxxx   QUSRDIRDB   QUSRVI
QGPL        QSRVAGT     QUSRIJS     QUSRVxRxMx
Start of changeQGPL38      QSYS2       QUSRINFSKR  QWQCENT
QMGTC       QSYS2xxxxx  QUSRNOTES   QWQREPOSEnd of change
QMGTC2      QS36F       QUSROND
QMPGDATA    QUSER38     QUSRPOSGS
QMQMDATA    QUSRADSM    QUSRPOSSA
QMQMPROC    QUSRBRM     QUSRPYMSVR
QPFRDATA    QUSRDIRCF   QUSRRDARS
QRCL        QUSRDIRCL   QUSRSYS

  1. 'xxxxx' is the number of a primary auxiliary storage pool (ASP).
  2. A different library name, in the format QUSRVxRxMx, can be created by the user for each previous release supported by IBM to contain any user commands to be compiled in a CL program for the previous release. For the QUSRVxRxMx user library, VxRxMx is the version, release, and modification level of a previous release that IBM continues to support.
*CURLIB
The current library for the job is used to locate the output queue. If no current library entry exists in the library list, QGPL is used.
name
Specify the name of the library in which the output queue is located.

ASP group (ASPGRP)

Specifies the auxiliary storage pool (ASP) group that contains the libraries that have output queues to be reclaimed.

*
Output queues which are found in the ASPs that are currently part of the thread's library name space are reclaimed. This includes the system ASP (ASP 1), all defined basic user ASPs (ASPs 2-32), and if the thread has an ASP group, the primary and secondary ASPs in the thread's ASP group.
*SYSBAS
Output queues which are found in the system ASP (ASP 1) and all defined basic user ASPs (ASPs 2-32) are reclaimed.
*CURASPGRP
Output queues which are found in the primary and secondary ASPs in the thread's ASP group are reclaimed. If no ASP group is associated with the thread, an error will be issued.
name
Specify the name of an ASP group. Output queues which are found in the primary and secondary ASPs of the specified ASP group are reclaimed.

Examples

Example 1: Repair a Single Output Queue

STRSPLRCL   OUTQ(QUSRSYS/PRT01)

This command will reclaim output queue PRT01 and all spooled files that reside on the output queue.

Example 2: Repair Several Output Queues in a Specific Library

STRSPLRCL   OUTQ(QUSRSYS/PRT*)

This command will reclaim output queues in library QUSRSYS that have 'PRT' as the first three characters. The spooled files that reside on the output queues will be reclaimed as well.

Example 3: Repair Output Queues in the Current User's ASP Group

STRSPLRCL   OUTQ(*ALL/PRT01)  ASPGRP(*CURASPGRP)

This command will reclaim output queues named PRT01 in all libraries that are in the current user's ASP group. The spooled files that reside on the selected output queues will be reclaimed as well.

Example 4: Repair All Output Queues and Spooled Files in System and Basic User ASPs

STRSPLRCL   OUTQ(*ALL/*ALL)  ASPGRP(*SYSBAS)

This command will reclaim all output queues in all libraries that are found in the system auxiliary storage pool (ASP 1) and all defined basic user ASPs (ASPs 2-32). The spooled files that reside on the output queues will be reclaimed as well.

Error messages

*ESCAPE Messages

CPF338D
*SPLCTL required to reclaim output queues.
CPF338F
Value for ASPGRP not valid with special value for library.
CPF339A
*CURASPGRP specified and thread has no ASP group.
CPF339B
Output queue &1 in library &2 not found.
CPF9825
Not authorized to device &1.
CPFB8ED
Device description &1 not correct for operation.