On 2014-10-02, at 11:36, David Cole wrote:

> Here's an example of how I would address this issue:
>     ...
> Basically, what I do when I want to create one or more embedded instances of 
> a common data structure is this:
>   * I create one map of the common data structure. (That map can be an entire 
> dsect, but there's a way to use just part of a dsect if the common data is 
> embedded into some sort of primary instance.)
>   * Then for all embedded instances, I create a single field (paying 
> attention to alignment as necessary) whose length is equal to the common data 
> structure's length.
>   * The when I want to reference the fields within the embedded instance, 
> I'll establish a named dependant using to overlay the common data structure's 
> map over on top of the embedded instance.
> When done right, all changes to the common data structure will automagically 
> be propagated to all embedded instances and all code that references them.
>  
I found this a PITA.  I wanted to generate a model (like MF=L) in my
code CSECT; obtain storage of suitable length, copy the model there;
establish addressability, perhaps with labelled/dependent USINGs, and
store values known only at run time into fields in the obtained copy.
I was never able to eliminate completely the "multiple resolutions"
warnings, partly because USING provides for an upper limit to the
addressable object, but no lower limit; partly because I put my
dynamic copy after the RSA so I could use R13 as a base.

-- gil

Reply via email to