The QSPSPLI API can tell you.
Have you ever wondered how many spool files are on your system (or more accurately, on a given auxiliary storage pool which, for many companies, is the same thing)? What about the number of spool files a particular user currently owns? If so, don't feel alone. In fact, there have been sufficient requests for this type of management data that IBM has provided the Retrieve Spool Information (QSPSPLI) API to provide you with quick access to this information. The QSPSPLI API, documented here, is standard with 7.1 of the i operating system and is also available on 6.1 with PTFs SI33959 and SI34013.
The QSPSPLI API follows standard system conventions for retrieving information—well, other than not having an 'R' in its name (such as with the APIs QSPROUTQ and QSPRWTRI to retrieve output queue and writer information, respectively) to indicate that the API provides a retrieve function. The first three parameters, respectively, identify the receiver variable used to return information in, the length of the receiver variable, and the format of the information to be returned. The next two parameters identify the auxiliary storage pool (ASP) to be used and the name of the user to be used when gathering the spool information. Related to the fifth parameter, user name, in addition to a specific user profile name, the special values *ALL and *CURRENT are also supported. The last parameter is the API error code.
The following sample program, utilizing the QSPSPLI API, demonstrates displaying the name of the ASP searched, the number of spooled files owned by the current caller of the program, and the total number of spool files in the ASP.
dRtvSplInfo pr extpgm('QSPSPLI')
d Receiver 65535 options(*varsize)
d LenRcvr 10i 0 const
d Format 8 const
d ASP 10 const
d UsrName 10 const
d ErrCde likeds(QUSEC)
dReceiver ds likeds(QSPI010000)
/copy qsysinc/qrpglesrc,qspspli
/copy qsysinc/qrpglesrc,qusec
/free
QUSBPrv = 0;
RtvSplInfo(Receiver :%size(Receiver) :'SPLI0100'
:'*SYSBAS' :'*CURRENT' :QUSEC);
dsply ('For ' + %trimr(Receiver.QSPASPG) + ':');
dsply (%trimr(Receiver.QSPUN01) + ' has ' +
%char(Receiver.QSPNOSF) + ' spool files');
RtvSplInfo(Receiver :%size(Receiver) :'SPLI0100'
:'*SYSBAS' :'*ALL' :QUSEC);
dsply ('All users have ' + %char(Receiver.QSPNOSF) +
' spool files');
*inlr = *on;
return;
/end-free
To compile the program, assuming that your source member is named GETSPLINFO and can be found in source file *LIBL/QRPGLESRC, you might use the command:
CRTBNDRPG GETSPLINFO
Calling the GETSPLINFO program will then display the ASP searched (the system ASP) along with the current user and system spool file totals. Pretty simple! If you need a refresher on how the sample program works, I recommend reviewing my previous articles concerning Retrieve APIs starting with "Retrieving Information, Part I."
As usual, if you have any API questions, send them to me at
as/400, os/400, iseries, system i, i5/os, ibm i, power systems, 6.1, 7.1, V7, V6R1


Business users want new applications now. Market and regulatory pressures require faster application updates and delivery into production. Your IBM i developers may be approaching retirement, and you see no sure way to fill their positions with experienced developers. In addition, you may be caught between maintaining your existing applications and the uncertainty of moving to something new.
IT managers hoping to find new IBM i talent are discovering that the pool of experienced RPG programmers and operators or administrators with intimate knowledge of the operating system and the applications that run on it is small. This begs the question: How will you manage the platform that supports such a big part of your business? This guide offers strategies and software suggestions to help you plan IT staffing and resources and smooth the transition after your AS/400 talent retires. Read on to learn:
LATEST COMMENTS
MC Press Online