IBM OS/390 User Manual

Page of 673
large enough ISA to reduce subsequent GETMAINs and FREEMAINs to zero (or
some very small number). This is one of the most important things a user can
do to improve the performance of a PL/I program.
15.12 PL/I and CICS
15.12.1 File Support
The only PL/I file supported by PL/I under CICS is SYSPRINT, and its usage must
be limited. The functions LINENO and COUNT are supported under MVS, but give
a null value if they are used under DOS. Other file access facilities are provided
by CICS/VS file access macros and/or EXEC commands.
15.12.2 Statements not Supported
DISPLAY and DELAY are not supported. The functions PLIREST, PLICANC,
PLICKPT and PLISRTx are not supported. MULTITASKING is not supported.
Inter-language linkages are limited to Assembler (with some restrictions).
15.12.3 CALLing DUMP
The only options permitted in calling DUMP are T and NT, S and C, B and NB, K
and NK. The dump is not written to the PLIDUMP file, but is sent by transient
files to a destination of CPLD. K and NK are special CICS/VS-only options on
PLIDUMP.
15.12.4 Execution Options
The execution options can only be communicated to PL/I by means of a PLIXOPT
string:
DCL PLIXOPT CHAR(nn) VAR EXT INIT(
xuxuxx
′ ) ;
The options permitted are COUNT and NOCOUNT, FLOW and NOFLOW, ISASIZE,
REPORT and NOREPORT, STAE and NOSTAE. The option SPIE will be ignored if
it is specified. If a PLIXOPT string is not specified, defaults will be supplied. If
they are wrong, the mistake can be very costly in CICS/VS transaction execution
time. Every PL/I-CICS/VS transaction program should have a PLIXOPT string,
especially to set ISASIZE. Note that the STAE option causes PL/I to issue a CICS
DFHPC SETEXIT macro. It uses CICS error handling. It does not override it.
15.12.5 Compatibility
All these restrictions already exist in DOS. No differences exist at the PL/I level.
The compatibility of CICS transactions written in PL/I appears therefore to be
total.
15.12.6 PL/I-CICS/VS Transaction ABEND Codes
These are documented in the PL/I Programmer
s Guide, not the CICS manuals.
The only one which tends to puzzle users is 
APLS
″, 
which means that the PL/I
ERROR condition was raised, but 
not by a program check or a transaction abend.
For example, CONVERSION might have been raised by the PL/I library.
346
VSE to OS/390 Migration Workbook