On Thu, Jun 6, 2019 at 6:38 AM Peter Relson <[email protected]> wrote:
> >AIF ('&ZOS_LVL' LT '02.02.00').NOEXEC
>
> FWIW, The intended way for a program to indicate to z/OS (or other) macros
> what z/OS release the coder is asserting may be assumed is via
> SYSSTATE OSREL=xxx.
>
> This sets GBLC &SYSOSREL. A new possible value is added every release.
>
> The intended way to indicate to z/OS macros what architecture level may be
> assumed is via SYSSTATE ARCHLVL=xxx, but that provides support only up to
> architecture level-sets and thus nothing past zEC12.
>
> This sets GBLA &SYSALVL.
>
> In John's example with conditionally using EXECUTABLE=NO, understandable
> if only for learning purposes, but as has been pointed out, unnecessary
> for reality. If you want "executable=no when z14 and OK to execute when
> before z14" then specifying executable=no works regardless of the machine
> for which you are assembling and regardless of the z/OS release upon which
> you will be running.
>
Thank you for the information. I will put that macro invocation in my code.
The reason for the AIF in this message is that my initial coding is being
done at work, on z/OS 1.12! The STORAGE macro on that version of z/OS does
not have the EXECUTABLE= parameter and so my code was getting an HLASM
error. It is just one of my weirdnesses. I actually have access to a z14
running z/OS 2.3. But that is a friend's machine and he pays for my usage.
So I do my initial coding at work.
>
> Peter Relson
> z/OS Core Technology Design
>
--
This is clearly another case of too many mad scientists, and not enough
hunchbacks.
Maranatha! <><
John McKown