<snip> As a general rule for LIST/EXECUTE form macros, avoid coding anything else on the execute call except for E. The reason is that the LIST call determines what data needs to be included in the generated code </snip>
Not for macros written in the base control program (and elsewhere) in the past 30 years. For most of them, nothing can be specified on the list form, aside from PLISTVER. And for all macros, any parameter that has other than a static value must be specified on the execute form. <snip> Eschew MF=(E,...,COMPLETE) ? </snip> Of course not. COMPLETE is the default and is the only thing accepted unless the macro documents that it supports the "M" form. <snip> Something that resolved to "I don't support parmlist version > 2, and you gave me a 3." </snip> You should know what you "gave", as it is perfectly visible in the expansion. And the reason code says exactly that aside from what is the maximum you do support, which is not important to know. Both "bad version" and "reserved field not 0" are typical of asking for "new function" via a "new release" level of the macro and running on "old release". I hope everyone understands that they must avoid doing that. Charles fell into the subtle case that specifying PLISTVER=MAX in effect is saying "I am using new function". Peter rel...@us.ibm.com 1-845-435-8390 8+295-8390 ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN