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

Reply via email to