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

Reply via email to