DESERV can read the directory. http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/dgt2d490/3.7.5.2.2
<quote> 3.7.5.2.2 FUNC=GET_ALL The GET_ALL function returns SMDEs for all the member names in a PDS, a PDSE, or a concatenation of PDSs and PDSEs. Member-level connections can be established for each member found in a PDSE. A caller uses the CONCAT parameter to indicate which data set in the concatenation is to be processed, or if all of the data sets in the concatenation are to be processed. If the caller requests that DESERV GET_ALL return all the SMDE directory entries for an entire concatenation, the SMDEs are returned in sequence as sorted by the SMDE_NAME field without returning duplicate names. As with the GET function, all connections can be associated with a single connect identifier established at the time of the call. This connect identifier can then be used to release all the connections in a single invocation of the RELEASE function. Figure 119 shows an overview of control blocks related to the GET_ALL function. </quote> ________________________________________ From: IBM Mainframe Assembler List [[email protected]] On Behalf Of Steve Smith [[email protected]] Sent: Thursday, September 30, 2010 4:37 PM To: [email protected] Subject: Re: Sample code to read a PDS member using BPAM On 9/29/2010 20:23, Robert A. Rosenberg wrote: <snip> I don't think all that dynamic allocation would be simpler than using BPAM. It would certainly be a lot more overhead. btw, there's been a few allusions to reading the directory. BPAM doesn't provide that facility (nor does dynamic allocation)... you would have to use BSAM or QSAM and parse the directory entries. sas
