Sent: Tuesday, December 07, 1999 8:21 
  AM
  Subject: disk space analysis with OPNQRYF 
  question
  
  I want to build a file of containing the file sizes of each PF 
  and each journal file on our AS/400.  To build this, I need to run DSPFD 
  to an outfile for the PF's, and DSPOBJD to a different outfile for the *JRNRCV 
  files.
  Since I want only one pgm to process the outfile, I used 
  OPNQRYF to make the DSPOBJD outfile look like the DSPFD file, and add the 
  journal records to the end.
  Is there a better way to do this?  I had to map many 
  fields to blanks and zeros.  Isnt there a way to build a record format in 
  OPNQRYF and use blanks and zeros to fill any fields missing in the input 
  file?   This turns a simply OPNQRYF stmt into an ugly 
  mess!
  Any better ideas?  Thanks! 
  CL code: 
              
  DSPFD      FILE(*ALL/*ALL) TYPE(*MBRLIST) 
  +               
  
                         
  OUTPUT(*OUTFILE) OUTFILE(SUPPORTLIB/FDSKHSTW) 
                                                                      
  
            CLOF 
  DSPOBJDOUT                                           
  
            
  DSPOBJD    OBJ(*ALL/*ALL) OBJTYPE(*JRNRCV) 
  +              
  
                         
  OUTPUT(*OUTFILE) OUTFILE(QTEMP/DSPOBJDOUT)   
            
  OVRDBF     FILE(DSPOBJDOUT) TOFILE(QTEMP/DSPOBJDOUT) 
  +    
                         
  SHARE(*YES)                                  
  
            
  OPNQRYF    FILE((DSPOBJDOUT)) FORMAT(FDSKHSTW) 
  +          
                         
  MAPFLD((MLFILE ODOBNM) (MLLIB ODLBNM) +      
  
                         
  (MLSIZE ODOBSZ) (MLCDAT '%SST(ODCDAT 5 2) +  
                         
  *cat %sst(odcdat 1 4)') (MLUDAT 
  +            
  
                         
  '%SST(ODUDAT 5 2) *cat %sst(odUdat 1 4)') +  
                         
  (MLCHGD '%SST(ODLDAT 5 2) *cat 
  +             
  
                         
  %sst(odLdat 1 4)') (MLMTXT ODOBTX) 
  +         
                         
  (MLNAME '" "') (MLNRCD 0) (MLNDTR 0) +       
  
                         
  (MLRCEN '" "') (MLRDAT '" "') (MLRTIM '" +   
                         
  "') (MLFTYP '" "') (MLFILA '" "') (MLMXD +   
                         
  '" "') (MLFATR '" "') (MLSYSN '" "') +       
  
                         
  (MLASP 0) (MLRES '" "') (MLNOMB 0) (MLSEU +  
                          
  '" "') (MLCCEN '" "') (MLCHGC '" "') + 
                          
  (MLCHGT '" "') (MLSEU2 '" "') (MLUCEN 
                          
  "') (MLUCNT 0) (MLTCEN '" "') (MLTDAT 
                          
  "') (MLSIZ2 0) (MLSTFR '" "'))        
  
             
  CPYFRMQRYF FROMOPNID(DSPOBJDOUT) TOFILE(FDSKHSTW) + 
                          
  MBROPT(*ADD) 
  FMTOPT(*MAP)             
  
                          
  CLOF 
  DSPOBJDOUT                       
  
             
  CLOF 
  DSPOBJDOUT                                    
  
                                                                
  
             
  CALL       PGM(pgma)     /* 
  process PFsize records and journal size records.  */