IBM OS/390 User Manual

Page of 673
15.2.3.4 SPIE STAE
As user-program execution options they authorize PL/I to issue SPIE and STAE
macros to intercept program checks and abends. It is possible with NOSPIE and
NOSTAE to prevent this and in this case it is no longer certain that the
management of errors will be handled by system ABEND or by an interruption
handling program. This, therefore, allows an error routine to call PL/I modules
and to continue to secure to itself the management of errors.
15.2.4 The EXEC and PROCESS Cards
It is possible to pass information to the PL/I compiler either by the EXEC or
PROCESS statement. The PROCESS statement has the advantage of being
processed by the PL/I compiler and therefore does not follow the OS JCL
conventions. It can, as for all PL/I statements, be contained in more than one
source program line and is not therefore limited in length. The parameter of the
EXEC statement, on the other hand, is limited to a maximum of 100 characters.
The format of the PROCESS statement is the same in MVS and DOS.
15.3 Linkages Between Languages
15.3.1 Linkages Supported
The linkages supported in MVS PL/I are those with COBOL, FORTRAN and
Assembler. The support is obtained by specifying the necessary information in
the PROC and ENTRY statements, refer to the respective Programmers
′ 
Guides.
In the case of Assembler, it is necessary to guard against modifying the contents
of register 12 if PL/I is to intercept ABENDs or program checks. Modification of
register 12 can cause relatively distracting messages such as:
ERROR IN PL/I ERROR HANDLER
This will occur if a program check or ABEND occurs in the Assembler subroutine
at a time when R12 does not point to the PL/I control block expected by the PL/I
error handler.
15.3.2 Linkages not Supported
The linkage with RPG II is supported in DOS PL/I. The MVS PL/I compiler does
not support linkage with RPG II.
15.4 ENVIRONMENT Attributes
Most of the ENVIRONMENT options are no longer necessary in MVS, as they are
required only at execution time and are therefore specified in the DCB
parameter of the DD statement.
338
VSE to OS/390 Migration Workbook