The API Corner: Just How Many Spool Files Do You Have?

APIs
Typography
  • Smaller Small Medium Big Bigger
  • Default Helvetica Segoe Georgia Times

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 This email address is being protected from spambots. You need JavaScript enabled to view it.. I'll see what I can do about answering your burning questions in future columns.

as/400, os/400, iseries, system i, i5/os, ibm i, power systems, 6.1, 7.1, V7, V6R1

BLOG COMMENTS POWERED BY DISQUS

LATEST COMMENTS

Support MC Press Online

$0.00 Raised:
$