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
