For calls in PL/I the format for invoking the
TSO/E Service Facility from
functions by using TSOLNK is:
CALL TSOLNK (PARM1,PARM2,PARM3,PARM4,PARM5,PARM6);
In PL/I programs, you should include the following declare statements:
Figure 1. Format of the Parameter
List Written in PL/I DECLARE 1 PARM1,
2 PARM11 FIXED BINARY (15,0), /* RESERVED */
2 PARM13 BIT(8), /* ABEND FLAG */
/* 0 -ABEND WITHOUT DUMP */
/* 1 -ABEND WITH DUMP */
2 PARM14 BIT(8); /* FUNCTION CODE */
DECLARE PARM2 CHARACTER(8); /* NAME OF FUNCTION */
DECLARE PARM3 FIXED BINARY(31,0); /* LENGTH OF CMD OR PROG */
DECLARE PARM4 FIXED BINARY(31,0); /* FUNCTION RETURN CODE */
DECLARE PARM5 FIXED BINARY(31,0); /* TSF REASON CODE */
DECLARE PARM6 FIXED BINARY(31,0); /* FUNCTION ABEND CODE */
DECLARE (FILEOUT) FILE; /* PL/I OUTPUT FILE */
DECLARE TSOLNK ENTRY( /* */
1, /* STRUCTURE OF 4 BYTES */
2 FIXED BINARY(15,0), /* BYTE 1 RESERVED */
2 BIT(8), /* BYTE 3 ABEND FLAG */
2 BIT(8), /* BYTE 4 FUNCTION FLAG */
CHARACTER (*), /* NAME OF PROGRAM OR CMD */
FIXED BINARY(31,0), /* LENGTH OF CMD OR PROG */
FIXED BINARY(31,0), /* FUNCTION RETURN CODE */
FIXED BINARY(31,0), /* TSF REASON CODE */
FIXED BINARY(31,0) /* FUNCTION ABEND CODE */
)
EXTERNAL OPTIONS(ASSEMBLER RETCODE INTER);