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
