z/OS TSO/E Programming Services
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


PL/I Program Using TSOLNK to Invoke a CLIST

z/OS TSO/E Programming Services
SA32-0973-00

Figure 1. PL/I Program Demonstrating the Use of TSOLNK to Invoke a CLIST
 /********************************************************************/
 /*  THIS PL/I PROGRAM INTERFACES WITH THE TSO SERVICE FACILITY.     */
 /*  THE PROGRAM WILL EXECUTE MYCLIST AND THEN PRINT OUT THE         */
 /*  RETURN, REASON AND ABEND CODES AS A RESULT OF USING THE         */
 /*  SERVICE.  SINCE THIS PROGRAM DOES ITS OWN I/O AFTER CALLING THE */
 /*  TSO SERVICE FACILITY, THE USER MUST ALLOCATE THE FILE NAME      */
 /*  FILEOUT, PREFERABLY TO THE TERMINAL WITH THE TSO/E COMMAND:     */
 /*        ALLOC F(FILEOUT) DSN(*)                                   */
 /*                                                                  */
 /*  THIS PROGRAM WILL RUN ON THE OS/VS PL/I COMPILER RELEASE 2 OR   */
 /*  HIGHER.                                                         */
 /********************************************************************/
 TSOCALL:
   PROCEDURE OPTIONS(MAIN);
 /********************************************************************/
 /*  DECLARE PARAMETERS                                              */
 /********************************************************************/
 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 OUTPUT FILE                                             */
 /********************************************************************/
 DECLARE (FILEOUT) FILE;
 /********************************************************************/
 /*  DECLARE TSOLNK ROUTINE PARAMETER LIST                           */
 /********************************************************************/
 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),                   /* REASON CODE              */
   FIXED BINARY(31,0)                    /* FUNCTION ABEND CODE      */
   )
 EXTERNAL OPTIONS(ASSEMBLER RETCODE INTER);
 DECLARE PLIRETV BUILTIN;
 /********************************************************************/
 /*  START OF EXECUTABLE CODE                                        */
 /********************************************************************/
 PARM13='00000001'B;                /* DUMP YES OR NO, SET TO NO     */
 PARM14='00000101'B;                /* INDICATE FUNCTION IS A CLIST  */
 PARM2 ='MYCLIST';                  /* FUNCTION NAME                 */
 PARM3 = 7;                         /* COMMAND LENGTH                */
 /********************************************************************/
 /* CALL TSO SERVICE FACILITY                                        */
 /********************************************************************/
 CALL TSOLNK(PARM1,PARM2,PARM3,PARM4,PARM5,PARM6);
 /********************************************************************/
 
 /* PRINT RESULTS OF CALL                                            */
 /* PRINT OUT RETURN CODE OF TSO SERVICE FACILITY                    */
 /********************************************************************/
 PUT FILE (FILEOUT) EDIT (' THE TSOLNK RETURN CODE IS ',PLIRETV)
                         (A,F(3));
 /********************************************************************/
 /* PRINT OUT RETURN CODE OF MYCLIST                                 */
 /********************************************************************/
 PUT FILE (FILEOUT) EDIT (' THE FUNCTION RETURN CODE IS ',PARM4)
                         (SKIP, A, F(3));
 /********************************************************************/
 /* PRINT OUT REASON CODE OF MYCLIST                                 */
 /********************************************************************/
 PUT FILE (FILEOUT) EDIT ('      THE TSF REASON CODE IS ',PARM5)
                         (SKIP, A, F(3));
 /********************************************************************/
 /* PRINT OUT ABEND CODE OF MYCLIST                                  */
 /********************************************************************/
 PUT FILE (FILEOUT) EDIT (' THE FUNCTION ABEND CODE IS ',PARM6)
                         (SKIP, A, F(3));
  END TSOCALL;

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014