View previous topic :: View next topic
|
Author |
Message |
DaveV
New User
Joined: 12 Apr 2016 Posts: 7 Location: United States
|
|
|
|
Hi all - is there a simple way to capture the output of 3.4 (DSLIST) in batch? I know how to run LISTCAT and am aware of DCOLLECT as well, but what I am looking for is to produce a simple list of ALL datasets on our system in a simple linear format that I can download to a text file on the PC. The DSN names would be sufficient, but date created/date referenced would be nice as well. Any thoughts/responses appreciated! |
|
Back to top |
|
|
Joerg.Findeisen
Senior Member
Joined: 15 Aug 2015 Posts: 1341 Location: Bamberg, Germany
|
|
Back to top |
|
|
DaveV
New User
Joined: 12 Apr 2016 Posts: 7 Location: United States
|
|
|
|
Is there another way besides REXX? |
|
Back to top |
|
|
sergeyken
Senior Member
Joined: 29 Apr 2008 Posts: 2147 Location: USA
|
|
|
|
DaveV wrote: |
Hi all - is there a simple way to capture the output of 3.4 (DSLIST) in batch? I know how to run LISTCAT and am aware of DCOLLECT as well, but what I am looking for is to produce a simple list of ALL datasets on our system in a simple linear format that I can download to a text file on the PC. The DSN names would be sufficient, but date created/date referenced would be nice as well. Any thoughts/responses appreciated! |
Use either DSLIST, or LISTCAT, or DCOLLECT, - whatever works for you, and then process its output using any utility like SYNCSORT/DFSORT. You may be satisfied. |
|
Back to top |
|
|
sergeyken
Senior Member
Joined: 29 Apr 2008 Posts: 2147 Location: USA
|
|
|
|
Again, and again, and again:
This topic has nothing to do with neither JCL, nor VSAM. |
|
Back to top |
|
|
Joerg.Findeisen
Senior Member
Joined: 15 Aug 2015 Posts: 1341 Location: Bamberg, Germany
|
|
|
|
DaveV wrote: |
Is there another way besides REXX? |
File #112 from CBTTAPE.ORG for ex. |
|
Back to top |
|
|
Pete Wilson
Active Member
Joined: 31 Dec 2009 Posts: 592 Location: London
|
|
|
|
There's various OEM products out there that could do this so you you should check with your Storage or Sysprog team, or perhaps your Performance team to see what is available in your site.
NOTE: Including creation and last reference dates means accessing the physical volumes to get that which will make it take a lot longer than just a catalog search for names only. |
|
Back to top |
|
|
Joerg.Findeisen
Senior Member
Joined: 15 Aug 2015 Posts: 1341 Location: Bamberg, Germany
|
|
|
|
Basically you can also use NAVIQUEST (ISMF in Batch), although it might take ages to complete on large installations. |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
Is something like this what you have in mind?
Code: |
VOLUME RECFM LRECL BLKSZ DSORG CREDT XPIRDT LASTREF ALLOC USED DATA SET NAME
XXX003 FB 80 3120 PS 15OCT21 ----- 02JAN22 XXXXXX.DSLIST.ASM
XXXSTG VBM 137 27998 PS 04NOV21 ----- 02JAN22 XXXXXX.DSLIST.ASMLIST
XXX006 VB 255 3120 PS 18OCT21 ----- 02JAN22 XXXXXX.DSLIST.CLIST
XXXSTG U 0 32760 PO 04NOV21 ----- 02JAN22 XXXXXX.DSLIST.LOAD
XXX004 FB 80 27920 PS 04NOV21 ----- 02JAN22 XXXXXX.DSLIST.OBJ
XXXSTG VB 4100 27998 PS 04NOV21 ----- 02JAN22 XXXXXX.DSLIST.PCLIST
XXX006 VBA 125 27998 PS 13NOV21 ----- 28DEC21 XXXXXX.DSLIST.XXXXXX.SYSPRINT
XXX006 VBA 125 27998 PS 01JAN22 ----- 02JAN22 XXXXXX.DSLIST.SYSPRINT
|
The code to calculate allocated & used space is not in the program yet, along with a lot of other code. I think the hard part - calling IGGCSI00 and analyzing its output - seems to be working reliably |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
The batch DSLIST program is ready for evaluation. Send me, steve-myers, a PM with your E-mail, and I'll send you a file consisting of a unloaded PDS containing an evaluation copy of the program. They have made it moderately difficult to get to the PM page. From the home page of the web site, click on the Forum link. On that page click on the PM link. This link uses awfully small characters and it's hard to see.
I do ask that you install it, try it, and let me know about any issues you have. I won't promise to correct them, but I'll try. The final distribution will be through cbttape.org. |
|
Back to top |
|
|
Joerg.Findeisen
Senior Member
Joined: 15 Aug 2015 Posts: 1341 Location: Bamberg, Germany
|
|
|
|
@Steve: I personally would change the order of the columns. DSN Volume..
Q: What do you do with Multi Volume Datasets? ISPF displays a plus sign after the volume name. |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
I deliberately chose to put the data set name on the right, for two reasons:
- Since the output is VBA, the SYSPRINT data set will be smaller. The program truncates the output line at the end of the data set name.
- Most testing was done in TSO, so all of the data set attributes, which represents quite a lot of code, was readily available on the terminal.
I will look into your idea about multi-volume data sets. This is not trivial, especially if the data set is the object of an alias as the alias name follows the volume list. |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
The offer of an evaluation copy of DSLIST for batch has been withdrawn; there have been no takers.
Some time in the next month it will appear in CBT tape. I will announce its availability in this thread. |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
DSLIST is now available on cbttape.org. It is "file" 1025.
It is distributed in source, so the proposal to rearrange the output line can be easily accomplished. |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
Joerg.Findeisen wrote: |
@Steve: I personally would change the order of the columns. DSN Volume..
Q: What do you do with Multi Volume Datasets? ISPF displays a plus sign after the volume name. |
Apply this update to the source in CBT File 1025 -
Code: |
./ CHANGE NAME=DSLIST,NEW=PS
./ NUMBER INSERT=YES,SEQ1=02070000,NEW1=02150000,INCR=1000
* V1L0a January 2022
* - Change order of SYSPRINT output
./ NUMBER INSERT=YES,SEQ1=26730000,NEW1=26810000,INCR=1000
NA9000 LA 14,DUSED+L'DUSED Compute address of the end of the ->
detail line
./ DELETE SEQ1=26820000,SEQ2=26820000
./ NUMBER INSERT=YES,SEQ1=80640000,NEW1=80641000,INCR=1000
DC CL45' DATA SET NAME'
./ NUMBER INSERT=YES,SEQ1=80730000,NEW1=80810000,INCR=1000
DC C' LASTREF ALLOC USED'
./ DELETE SEQ1=80820000,SEQ2=80820000
./ NUMBER INSERT=YES,SEQ1=81000000,NEW1=81010000,INCR=1000
DDSNAME DC CL44' ',C' '
./ DELETE SEQ1=81990000,SEQ2=81990000 |
to generate output like this -
Code: |
DATA SET NAME VOLUME RECFM LRECL BLKSZ DSORG CREDT XPIRDT LASTREF ALLOC USED
SYS1.ADFMAC1 XXXRES FB 80 27920 PO 20OCT21 ----- 20OCT21 4 1 |
The code to insert a + after the first volume of a multi-volume data set is in the CBT version of DSLIST. |
|
Back to top |
|
|
Joerg.Findeisen
Senior Member
Joined: 15 Aug 2015 Posts: 1341 Location: Bamberg, Germany
|
|
|
|
@Steve: Is it possible to extend the field for Allocated and Used by two digits at least? I get wrong results when I test against a very large SA-Dump Dataset residing on 15x Model-54 in our shop.
I do get this as:
Code: |
0SSA00+ FBS 4160 24960 PS 14APR12 ----- 07JAN22 401718 1 SYS1.SADMP |
ISPF 3.4 DSLIST however reports as 13516650 Trks or in detail:
Code: |
Data Set Name . . . . : SYS1.SADMP
General Data Current Allocation
Management class . . : **None** Allocated cylinders : 901,110
Storage class . . . : **None** Allocated extents . : 15
Volume serial . . . : 0SSA00 +
Device type . . . . : 3390
Data class . . . . . : **None**
Organization . . . : PS Current Utilization
Record format . . . : FBS Used cylinders . . : 1
Record length . . . : 4160 Used extents . . . : 1
Block size . . . . : 24960
1st extent cylinders: 60074
Secondary cylinders : 60074 Dates
Data set name type : LARGE Creation date . . . : 14.04.1912
Data set encryption : NEI Referenced date . . : 07.01.2022
Expiration date . . : ***None*** |
Something is strange when calculating Allocated for MV Datasets.
I have a Dataset spread on 2 Volumes:
Code: |
Aktion - Zur Auswahl "/" eingeben Spuren %Bel XT
------------------------------------------------------------------------------
&SYSUID..#T 3000 1 16
&SYSUID..#T 1455 99 10 |
DSLIST reports only the first volume as:
Code: |
SMS11E+ FBA 133 27930 PS 20JAN22 ----- 21JAN22 3000 1 &SYSUID..#T |
Hopefully it can be fixed. Fingers crossed. |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
The internal calculation for allocated and used space is correct, but it only displays the rightmost 6 digits after converting the rightmost 7 digits, so 10,000,001 tracks will display as 000001. You run into a problem of output line space vs output line width. Internally, converting 9 digits to display 7 or 8 (or even 9) is not a major problem, but then we run into the issue of line width. When I was preparing the update I posted yesterday I found the basic line width was 118 bytes (with the RDW), so there is 7 available bytes for LRECL=125. Of course, you can expand the LRECL to 137 quit easily, though the page header requires some recalculation to fill out the 137 bytes.
Now it was my guess that there were very few data set with more than 1,000,000 tracks, and 6 digits would be adequate for most data sets. This leave me with inserting separator characters, which have its own set of line width issues (999,999 becomes 7 characters, not 6). I find that 1000001 is quite difficult to interpret, much more so than, say, 125346; 1,000,001 is relatively easy to interpret compared to 1000001.
I will look into expanding allocated and used tracks for the next update, if any defects are reported.
FWIW, while testing the update it got an S002 ABEND, so my first guess was the output line got too long, so I checked that first. It turned out the sub header line was too long; I forgot to remove the right DATA SET NAME text. After I corrected that goof it ran fine. |
|
Back to top |
|
|
Joerg.Findeisen
Senior Member
Joined: 15 Aug 2015 Posts: 1341 Location: Bamberg, Germany
|
|
|
|
I will test the new Update once it is released. Thank you for taking care of the issues. |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
The present version of DSLIST does not support data sets with extended attributes. The largest possible "regular" data set is 491505 tracks on one volume - well below 999999 tracks. Worse, I do not have any "extended" volumes to practice on, just pseudo 3390-9 volumes. |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
DSLIST with extended volume support appears to be working, though it will require more testing.
I have other programs that compute allocated space. The first one I tested failed miserably. I then examined the extent entry in the format 8 DSCB. It did not appear to have valid data: FFFF 0000 for the start of the one and only extent for the data set. Last night I realized it was perfectly OK. Start cylinder 000FFFF is the first cylinder after the track managed space, this made the end extent 004001E after it was normalized to 0010040E (cylinder 0010040 head E).
Since DSLIST does the same calculation I then tried it. It reported 315 allocated tracks, so the basic algorithm was correct. I then went back to the first program and went over its calculation. I discovered (I think) two bugs. After I corrected the bugs it worked! It requires more testing before I send anything to CBT. |
|
Back to top |
|
|
|