Understood I look to do better 

Thanks 

> On Dec 17, 2023, at 7:59 AM, Peter Relson <[email protected]> wrote:
> 
> Ed J wrote
> <snip>
> Always code PLISTVER=MAX on the list form but (based on recent
> experience) *never* code it on the execute form of a macro unless you
> want to risk things not working as expected on back-level systems.
> </snip>
> 
> I'd make it "almost always".
> 
> The case that comes up occasionally, and is a reason that the default is not 
> PLISTVER=MAX, is when someone has embedded the list form in a structure (not 
> at the end) so that if the size changed, fields beyond this structure would 
> have changed offsets and if you didn't recompile everything appropriate 
> things would break. That potential incompatibility drives the default. And, 
> yes, the default has the downside that if your list form "gets it wrong", 
> things don't work.
> Compatibility wins in this case.
> 
> The documentation for PLISTVER (at least within the macro itself) includes:
> 
> If your program can
> tolerate this, IBM recommends that you always specify MAX
> when creating the list form parameter list as that will
> ensure that the list form parameter list is always long
> enough to hold whatever parameters might be specified on
> the execute form.
> 
> The part to be careful about is "If your program can tolerate this". Maybe 
> you have embedded within a structure; maybe your program has a highly limited 
> amount of dynamic storage available. Those could be cases where you cannot 
> "tolerate this".
> 
> 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

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

Reply via email to