CC's response was as usual completely correct.

By the way, I believe that it is stated somewhere not to have this 
situation.. And that means that how the system behaves is undefined. You 
are welcome to hope that the actual behavior matches what you want.

The only case of interest is when something actually requests load of 
"WOMBAT".   Otherwise this is no different than a scenario where no alias 
at all was involved.

So consider that same setup where both FRED and JOE are loaded, and then 
someone loads WOMBAT.  Though not stated in the post, I'll assume that 
FRED is in an earlier data set in the concatenation than JOE since that is 
the order in which they were presented. 

The system first does the equivalent of a BLDL for WOMBAT. As with any 
concatenation, the only one that will be found is the first one, which is 
the one that corresponds to FRED, and the BLDL will indicate that WOMBAT 
is an alias of FRED. If the module is reentrant, the system will then see 
that FRED is already loaded, will create a CDE for WOMBAT and will chain 
the WOMBAT CDE after the CDE for FRED. 
It will create an LLE for WOMBAT which will point to the CDE for WOMBAT.

More interest is the case where nothing is loaded yet.
The BLDL for WOMBAT is done. It indicates this is an alias of FRED
A CDE is built for WOMBAT
A BLDL for FRED is done.
A CDE is built for FRED.
FRED is loaded, FRED's CDE's use count is 1 .
An LLE is built for WOMBAT. Its load count is 1.

Even more interesting is the case where data set 1 has "FRED" and data set 
2 has "FRED" with alias "WOMBAT". This too is a "do not do this" 
situation.

Peter Relson
z/OS Core Technology Design

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to