I confess that my advice was based on (geologically) ancient experience. I don't remember what macro I was using, but I truly hit the problem I alluded to. Illustrates the down-side of 'experience'. The longer you've done something, the less likely you are to haul out the manual (physically or virtually) when doing it yet again.
I once assigned an MVS task to a long-time VM sysprog. He found a great solution because--with no knowledge of RACF--he was forced to search the doc. He discovered a feature none of the MVS sysprogs were aware of. Didn't hurt that he was really smart. ;-) . . J.O.Skip Robinson Southern California Edison Company Electric Dragon Team Paddler SHARE MVS Program Co-Manager 323-715-0595 Mobile 626-543-6132 Office ⇐=== NEW robin...@sce.com -----Original Message----- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Charles Mills Sent: Friday, February 01, 2019 6:27 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: (External):Re: Cause of CsvdylpaRsnBadVersion? Thanks all. > Charles fell > into the subtle case that specifying PLISTVER=MAX in effect is saying > "I am using new function". I plead guilty. I fell into the trap of reading > If you can tolerate the size change, IBM recommends that you always > specify PLISTVER=MAX on the list form of the macro. and not focusing on those last five words. I just read MAX as meaning "sure, it's all in a dynamic area sized with equates and so forth, just make it as big as you like." I understand it now. Thanks again, Charles -----Original Message----- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Peter Relson Sent: Friday, February 1, 2019 4:59 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Cause of CsvdylpaRsnBadVersion? <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