<snip>
How can one determine where a module is obtained from when the module is 
in a concatinated dataset list?
So for example you want to load module A and your dataset list is:
//modules  dd  disp=shr,dsn=hlq1.ds1     has modules qwert
//    dd  disp=shr,dsn=hlq1.ds2                 has modules asdf
//    dd  disp=shr,dsn=hlq2.ds5                 has modules zxcv
So now you would get in return that module A comes from hlq1.ds2
</snip>

As has been mentioned, BLDL and DESERV are the answers to the question of 
"which numbered data set in this concatenation has A?".
Finding the data set name itself is more involved (perhaps using a service 
such as RDJFCB). 

<snip>But is there any way "after the LOAD"? IOW I have already loaded the 
module and now I want to learn the source. I don't know. Does CSVQUERY or 
similar return this info?
</snip>

z/OS itself does not, and will not, do anything to capture this 
information as a general approach when it does the LOAD because z/OS has 
no need for it and there would be negative performance ramifications of 
locating the information. 

Relying on the intentionally undocumented contents of CSVQUERY's OUTPDATA 
is unwise. That parameter is provided so that the returned data can be 
input to other services which are in synch with the implementation.

If you'd like a hint of something we might document in the future, with 
data available today, it's the 8 byte data set key (CSVQUERY OUTDSKEY 
keyword).
That consists of a 4-byte UCB address and the CCHH of the data set extent 
(this is information retrieved from the DEB for the concatenation as 
identified by BLDL/DESERV). It is possible to work with that data along 
with additional info (such as the VTOC, I think) and determine the name of 
the data set.

But the OP's use case is not limited to modules. Thus any CSVQUERY 
information is not helpful in general. So doing it yourself via 
BLDL/DESERV against the opened concatenation or using the approach Tom 
Conley mentioned would work. I'd guess that many sites already have some 
tool that can "locate" within an "opened DD" a member and tell you the 
data set name in which the member lives. 

Peter Relson
z/OS Core Technology Design


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to