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