Retrieve and print DASD usage by library

This program prints the library size for the last 24 runs of the Get Library Size Program.

This program prints the library size for the last 24 runs of the Get Library Size Program. If the Get Library Size Program is run once per month, this program will print the last 24 months of data for each library all on one line. This makes it very easy to see trends for a library.


   
f* written by James Greene on March 13, 2004

f*  TRIPLEJ Inc.                                                  
f*  TRIPLEJ46@hotmail.com                                         
f*  Program ID   -  TJ7004R  - Print Historical DASD usage report 
ftj7001p   if   e             disk                                
ftj7000p   if   e           k disk                                
fqsysprt   o    f  192        printer oflind(*in02) usropn        
d command         s            128    inz('OVRPRTF FILE(QSYSPRT) +
d                                     PAGESIZE(*N 192)')          
d cmdlength       s             15  5 inz(128)                    
d y               s              2  0                             
d mm              s              2                                
d dd              s              2                                
d today           s               d   datfmt(*iso)                
d lrsize          s              4  0 dim(24)                     
d libsize         s              5  1 dim(24)                     
d mmdd            s              6    dim(24)                     
d                 ds                                              
d data                          40    dim(24) descend                  
d size                          15  0 overlay(data) inz                
d dates                           d   overlay(data:16) datfmt(*iso) inz
D PGMST          SDS                                                   
D  #PGMNM           *PROC                                              
D  #PARMS           *PARMS                                             
D  #WSID                244    253                                     
D  #USER                254    263                                     
c*** get last 24 dates *******************************************     
c                   exsr      last24                                   
c*** print report ************************************************     
c                   exsr      printrpt                                 
c*** lr stuff     ************************************************     
c                   eval      *inlr = *on                              
c*****************************************************************     
c     *inzsr        begsr                                              
c                   call      'QCMDEXC'                                
c                   parm                    command                    
c                   parm                    cmdlength                   
c                   open      qsysprt                                   
c                   endsr                                               
c*****************************************************************      
c     printrpt      begsr                                               
c                   dou       %eof(tj7001p)                             
c                   read      tj7001p                                   
c                   if        not %eof(tj7001p)                         
c     odobnm        setll     tj7000p                                   
c                   dou       %eof(tj7000p)                             
c     odobnm        reade     tj7000p                                   
c                   if        not %eof(tj7000p)                         
c                   eval      y = 1                                     
c                   move      date          today                       
c     today         lookup    dates(y)                               01 
c                   if        %found                                    
c                   eval      size(y) = currentsz                       
c                   endif                                               
c                   endif                                          
c                   enddo                                          
c                   eval      libsize = (size / 1000000000)        
c                   except    detail                               
c                   if        *in02                                
c                   except    heading                              
c                   eval      *in02 = *off                         
c                   endif                                          
c                   eval      lrsize = lrsize + (size / 1000000000)
c                   eval      size = 0                             
c                   endif                                          
c                   enddo                                          
c                   except    lrline                               
c                   endsr                                          
c***************************************************************** 
c     last24        begsr                                          
c     'QGPL      '  setll     tj7000p                              
c                   eval      y = 0                                
c                   dou       %eof(tj7000p)           
c     'QGPL      '  reade     tj7000p                 
c                   if        not %eof(tj7000p)       
c                   eval      y = y + 1               
c                   move      date          today     
c                   eval      dates(y) = today        
c                   if        y >= 24                 
c                   eval      y = 1                   
c                   endif                             
c                   endif                             
c                   enddo                             
c                   sorta     dates                   
c                   eval      y = 0                   
c                   dou       y = 24                  
c                   eval      y = y + 1               
c                   extrct    dates(y):*m   mm        
c                   extrct    dates(y):*d   dd        
c                   eval      mmdd(y) = mm + '/' + dd 
                                                      
c                   enddo                                             
c                   except    heading                                 
c                   endsr                                             
c*****************************************************************    
Oqsysprt   e            heading        2 01                           
o                       udate         y     10                        
O                       #pgmnm              22                        
O                                           75 'Historical DASD Usage'
O                       #user              112                        
Oqsysprt   e            heading        2                              
O                                           10 'Library'              
O                       mmdd               159                        
Oqsysprt   e            detail         1                              
O                       odobnm              11                        
O                       libsize            158 '   0. '               
Oqsysprt   e            lrline         1                              
o                                           11 'ALL Libs'             
O                       lrsize             156 '&&   0'               

  

==================================
MORE INFORMATION ON THIS TOPIC
==================================

The Best Web Links: tips, tutorials and more.

Ask your programming questions--or help out your peers by answering them--in our live discussion forums.

Ask the Experts yourself: Our application development gurus are waiting to answer your programming questions.

This was first published in March 2004

Dig deeper on iSeries CL programming

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

-ADS BY GOOGLE

SearchEnterpriseLinux

SearchDataCenter

Close