> You could write an ASM program The ISMF thing doesn't work for us as we snapshot our production volumes to an offline set of volumes which are in the PPRC relationship. We wrote a little script that issues and then parses the CQUERY UNFORMAT information for those volumes to get us the info when we need it. Uses a DCOLLECT report to drive the addresses needed for the CQUERYs as those snapshot target addresses are all the production addresses + x'80'.....
The DCOLLECT report generated in a job that runs once a day to get a list of production volumes.... //LISTC EXEC PGM=IDCAMS //SYSPRINT DD SYSOUT=* //OUTDS DD DISP=OLD,DSN=SE.PADMIN.BATCH.PRDRGENR.DCOLL //SYSIN DD * DCOLLECT - OFILE(OUTDS) - NODATAINFO - VOLUME(**) //* The script we run to get the info we want on the snapshot targets in the PPRC relationship. You could expand it to parse the primary/secondary info you're looking for.... /* REXX SSID.1 = 9080 SSID.2 = 9180 SSID.3 = 9280 SSID.4 = 9380 SSID.5 = 9480 SSID.6 = 9580 SSID.7 = 9680 SSID.8 = 9780 SSID.9 = 9880 SSID.10 = 9980 SSID.11 = 9A80 SSID.12 = 9B80 SSID.13 = 9C80 SSID.14 = 9D80 SSID.15 = 9E80 SSID.16 = 9F80 SSID.0 = 16 "ALLOC DA('SE.PADMIN.BATCH.PRDRGENR.DCOLL') F(INFILE) SHR" "EXECIO * DISKR INFILE(STEM VOLS. FINIS" "FREE F(INFILE)" VOLSER. = "UNDEFD" DO I = 1 TO VOLS.0 PARSE VAR VOLS.I 25 VVVV 31 . 77 U1 78 U2 79 . UU=RIGHT(D2X(C2D(U1)),2,'0')||RIGHT(D2X(C2D(U2)),2,'0') T2 = RIGHT(D2X(X2D(UU)+128),4,'0') /* ADD HEX80 */ VOLSER.T2 = VVVV END X = OUTTRAP( REP.) PENDING = 0 DUPLEXD = 0 DO J = 1 TO SSID.0 PRIM = SSID.J DO I=0 TO 57 DEVN=D2X(X2D(PRIM)+I) " CQUERY DEVN(X'"DEVN"') UNFORMAT" END END X = OUTTRAP(OFF) "ALLOC DA(VCU) F(OUTFILE) NEW CATALOG DELETE DATACLAS(STD80PS)" DO I = 1 TO REP.0 BY 7 P3 = I + 2 P6 = I + 5 PARSE VAR REP.P3 UNIT","PORS","DUPORPEND",". PARSE VAR REP.P6 .",".","PERCENT",". IF DUPORPEND = "PENDING" THEN PENDING = PENDING + 1 IF DUPORPEND = "DUPLEX" THEN DUPLEXD = DUPLEXD + 1 IF PERCENT ="" THEN QUEUE VOLSER.UNIT UNIT DUPORPEND ELSE QUEUE VOLSER.UNIT UNIT DUPORPEND PERCENT" %" "EXECIO 1 DISKW OUTFILE" END SAY "NUMBER OF PENDING VOLUMES IS "PENDING PDUPLEX = DUPLEXD / 924 SAY "NUMBER OF DUPLEXD VOLUMES IS "DUPLEXD SAY "PERCNT OF DUPLEXD VOLUMES IS "PDUPLEX "EXECIO 1 DISKW OUTFILE(FINIS" "ISPEXEC EDIT DATASET(VCU)" "FREE F(OUTFILE)" The result, for us, is a report that looks like this.... NUMBER OF PENDING VOLUMES IS 0 *** 000001 MAGIC1 9080 DUPLEX 000002 M99001 9081 DUPLEX 000003 M99002 9082 DUPLEX 000004 LRK108 9083 DUPLEX 000005 LRK124 9084 DUPLEX 000006 LRK140 9085 DUPLEX 000007 LRK156 9086 DUPLEX etc..... if the volume is not DUPLEX then it says what percentage is pending. The UNFORMAT format layout is for message ANTP0091I and can be found in the MVS System Messages Volume 1 manual... Jeffrey Deaver, Engineer Systems Engineering jeffrey.dea...@securian.com 651-665-4231(v) IS - "Creating competitive advantage with technology. Providing service that excels." OSS - " Where Innovation Happens" ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html