Radoslaw,

I use a REXX process.

Via naming standards, it can find all CSI datasets on all on-line target, dlib, 
and SMP volumes. The CSI naming standards ensure that the CSI dataset 
names contains enough information to identify the GLOBAL and TARGET/DLIB 
zone.

Then I can go through all the zones, listing the DDDEFs.

End result is a single dataset containing one line per DDDEF entry in all 
zones, 
and another dataset containing all the PATH type DDDEF entries.

Since I started by IEHLISTing all the VTOCs of my relevent volumes, I can 
check if the DDDEF dataset entry actually matches a valid dataset on disk, 
and I can also identify all datasets on target and dlib volumes which are not 
described by a DDDEF. 

Currently the REXX contains 985 lines, including comments. I wrote it last 
December, during the change freeze.

The "interesting" bit is where I call SMP dynamically to process each CSI that 
I 
had previously extracted from the IEHLIST report.

(warning, very incomplete extract)

Say "Processing zone" zone_name ,                      
    "from volume" vtoclist.zonename_csi_data ,         
    "in Global zone" global_id                         
                                                       
"ALLOC F(SMPCSI) DA(" global_datasetname ") SHR REUS"  
alloc_rc = rc                                          
If alloc_rc = 0 Then Do                                
  smpcntl.1 = "  SET BDY(" zone_name ") ."             
  smpcntl.2 = "  LIST DDDEF  .           "             
  "EXECIO 2 DISKW SMPCNTL (FINIS STEM SMPCNTL."        
  "CALL *(GIMSMP)"                                     
  smpe_rc = rc                                         
  dddef_name   =                                       
  dddef_dsname =                                       
  dddef_volser =                                       
  dddef_unit   =                                       
  dddef_disp_i =                                       
  dddef_disp_f =                                       
  If smpe_rc = 0 Then Do                               
    "EXECIO * DISKR SMPLIST (FINIS STEM SMPLIST."      
    Do smplist_cnt = 1 to smplist.0                    

The IEHLIST stuff is also built in the same exec:

Call Bjcl "//LISTVTOC EXEC PGM=IEHLIST"                                 
Call Bjcl "//SYSPRINT DD  DISP=(NEW,CATLG),"                            
Call Bjcl "//             SPACE=(TRK,(15,15),RLSE),"                    
Call Bjcl "//             LRECL=121,BLKSIZE=27951,DSORG=PS,RECFM=FB,"   
Call Bjcl "//             UNIT=SYSDA,"                                  
Call Bjcl "//             DSN=" || vtoclist_dataset_name                
                                                                        
Do cnt = 1 to volser_list_cnt                                           
  Call Bjcl "//" || volser_list.cnt || "   DD  UNIT=3390,"              
  Call Bjcl "//             DISP=OLD,"                                  
  Call Bjcl "//             VOLUME=SER=" || volser_list.cnt             
End                                                                     
                                                                        
Call Bjcl "//SYSIN    DD  *"                                            
                                                                        
Do cnt = 1 to volser_list_cnt                                           
  Call Bjcl "     LISTVTOC   VOL=3390=" || volser_list.cnt              
End                                                                     
                                                                        
Call Bjcl "/*"                                                          

Last time I ran this:


                                                                                
        
13.42.13 J0045972 ---- FRIDAY,    13 JUL 2007 ----
                                      
13.42.13 J0045972  IRR010I  USERID SYDBH    IS ASSIGNED TO THIS 
JOB.                    
13.57.18 J0045972  ICH70001I SYDBH    LAST ACCESS AT 13:42:36 ON 
FRIDAY, JULY 13, 2007  
13.57.18 J0045972  $HASP373 SYDBHDDF STARTED - WLM INIT  - SRVCLASS 
ALLBATCH - SYS SS08 
13.57.21 J0045972  -                                         --TIMINGS 
(MINS.)--        
13.57.21 J0045972  -JOBNAME  STEPNAME PROCSTEP    RC   EXCP    CPU    
SRB  CLOCK   SERV 
13.57.21 J0045972  -SYDBHDDF          DELETE      00     
30    .00    .00    .05     37 
13.58.14 J0045972  -SYDBHDDF          LISTVTOC    00  
15484    .03    .00    .87  49003               
14.43.58 J0045972  -SYDBHDDF          PROCESS1    00   510K   1.42    .06  
45.74  2110K 
14.43.59 J0045972  -SYDBHDDF          SORT        00     
30    .00    .00    .00    501 
14.43.59 J0045972  -SYDBHDDF          PROCESS2    00     
33    .00    .00    .00    539 
14.43.59 J0045972  -SYDBHDDF ENDED.  NAME-Validate SSMF DDDEFs TOTAL 
CPU TIME=  1.45  TO
14.43.59 J0045972  $HASP395 SYDBHDDF 
ENDED                                              
------ JES2 JOB STATISTICS ------                                               
        
  13 JUL 2007 JOB EXECUTION DATE                                                
        
          194 CARDS READ                                                        
        
       21,282 SYSOUT PRINT RECORDS                                              
        
            0 SYSOUT PUNCH RECORDS                                              
        
        1,352 SYSOUT SPOOL KBYTES                                               
        
        46.68 MINUTES EXECUTION TIME       

This generated a report containing 30,110 lines of DDDEF dataset related 
information.                                             

Hoping this interests you.

Regards
Bruce Hewson

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to