With the enhancement shipped via co-req APAR PK01919 (Enterprise PL/I)
and PK016197 (PL/I for MVS & VM), SYSPRINT can be shared between
Enterprise PL/I and PL/I for MVS & VM at the enclave level and also
in a multi-enclave environment.
Below are the restrictions and the extent to which this shared
SYSPRINT is supported:
- Only the default option DISPLAY(WTO) is supported. Neither
of the compiler options STDSYS nor DISPLAY(STD) should be
used.
- SYSPRINT must have the default or declared attributes
: EXTERNAL, STREAM, OUTPUT, PRINT.
- The shared SYSPRINT could be directed to SYSOUT or to a
permanent data set.
- Shared SYSPRINT is supported when MSGFILE(SYSPRINT) is specified provided
that there are no preinitialized programs and/or stored procedures in
the mix.
- In a multi-enclave environment, the first SYSPRINT that is
opened will determine the attributes of SYSPRINT. The second
and subsequent SYSPRINT will inherit all attributes from the
first SYSPRINT.
- SYSPRINT will remain opened during the entire application.
At enclave termination, all other files will get closed
except for SYSPRINT which will only be closed at process
termination.
- An explicit close of the shared SYSPRINT by either Enterprise
PL/I or PL/I for MVS & VM is honored. Any attempt to write
to SYSPRINT afterward requires SYSPRINT to be explicitly or
implicitly opened again. If SYSPRINT was routed to a
data set which is reused for the second open, data previously
written might be lost.
- SYSPRINT can only be opened (explicitly or implicitly) by
the initial thread (Enterprise PL/I multithreading) or by
the main task (PL/I for MVS & VM multi-tasking). Secondary
thread and subtask should not explicitly or implicitly open
SYSPRINT and should not explicitly close SYSPRINT.
- SYSPRINT cannot be shared with older PL/I under TSO.
With support for shared SYSPRINT, the overriding of attributes
has changed in the following ways:
- when SYSPRINT is routed to SYSOUT, the SYSPRINT attributes specified
via the ENVIRONMENT option or the OPEN statement are allowed to
override those options specified on the DD statement
- when SYSPRINT is routed to a dataset (either TEMPORARY, NEW or OLD)
any mismatch between the attributes specified by the program and
those specified on the DD statment will cause the UNDEFINEDFILE
condition to be raised
To aid in migration, APAR PK63659 introduces a new temporary
environment variable, PLI_SYSPRINT_ATTR_OVERRIDE. To get the
same behavior as before the shared SYSPRINT changes, specify
PLI_SYSPRINT_ATTR_OVERRIDE=YES in the PARM parameter or in the
PLIXOPT string. This will allow attribute overrides when SYSPRINT
is routed to a TEMPORARY or NEW dataset. Note that attribute
overriding is never allowed when SYSPRINT is routed to an existing
or 0LD dataset and that it is always allowed when SYSPRINT is routed
to SYSOUT.
Also note that support for this new environment variable is
only temporary. Starting with LE 1.10Z this environment variable
will be ignored. Affected programs and JCL will need to be changed
or the UNDEFINEDFILE condition will be raised.
|
This information center is powered by Eclipse technology. (http://www.eclipse.org)