>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.

Peter Relson
z/OS Core Technology Design

Reply via email to