CBT Tape - File 183 - EXECUTE is a REXX exec

Freeware Page
/*************************************************************** REXX */ /* */ /* MODULE NAME = EXECUTE */ /* */ /* DESCRIPTIVE NAME = Execute an in-stream CLIST or REXX EXEC */ /* */ /* STATUS = R204 */ /* */ /* FUNCTION = EXECUTE is a REXX EXEC which allows you to execute an */ /* in-stream CLIST or a REXX EXEC in a TSO batch TMP step. */ /* Using EXECUTE, you can work around a limitation of */ /* standard TSO/E which can only execute a CLIST or a REXX */ /* EXEC stored in a PDS member or a sequential data set. */ /* */ /* EXECUTE can also be invoked as an EDIT macro to */ /* execute the current data set as a CLIST or REXX exec. */ /* The user can select a line or range of lines to */ /* execute by specifying the C, Cn or CC/CC line commands. */ /* */ /* AUTHOR = Gilbert Saint-Flour <support@gsf-soft.com> */ /* http://gsf-soft.com/Freeware/ */ /* */ /* DEPENDENCIES = TSO/E V2 */ /* */ /* SYNTAX = see below */ /* */ /* EXECUTE CLIST|EXEC */ /* TRACE|NOTRACE */ /* ISPF|ISPSTART */ /* */ /* Default: CLIST,NOTRACE */ /* */ /* Sample JCL with PARM and a CLIST : */ /* */ /* //CLIST EXEC PGM=IKJEFT01,PARM='%EXECUTE' */ /* //SYSPROC DD DSN=<Library which contains EXECUTE>,DISP=SHR */ /* //SYSTSPRT DD SYSOUT=* */ /* //SYSTSIN DD * */ /* WRITE In-line CLIST executed by &SYSUID */ /* /* */ */ /* */ /* Sample JCL with in-line EXECUTE REXX command : */ /* */ /* //EXEC EXEC PGM=IKJEFT01 */ /* //SYSEXEC DD DSN=<Library which contains EXECUTE>,DISP=SHR */ /* //SYSTSPRT DD SYSOUT=* */ /* //SYSTSIN DD * */ /* %EXECUTE EXEC */ /* SAY "In-line EXEC executed by" USERID() */ /* /* */ */ /* */ /* Sample JCL with PARM and ISPF option : */ /* */ /* //ISPF EXEC PGM=IKJEFT01,PARM='%EXECUTE EXEC ISPF' */ /* //SYSEXEC DD DSN=<your EXEC library>,DISP=SHR */ /* //SYSTSPRT DD SYSOUT=* */ /* //SYSTSIN DD * */ /* SAY "In-line EXEC executed by" USERID() in ISPF */ /* SAY "That's it, it's done !" */ /* /* */ */ /* //ISPMLIB DD DSN=ISP.SISPMENU,DISP=SHR */ /* //ISPTLIB DD DSN=ISP.SISPTENU,DISP=SHR */ /* //ISPPROF DD UNIT=VIO,SPACE=(TRK,(1,1,1)),RECFM=FB,LRECL=80 */ /* //ISPPLIB DD DSN=*.ISPPROF,DISP=OLD,VOL=REF=*.ISPPROF */ /* //ISPSLIB DD DSN=*.ISPPROF,DISP=OLD,VOL=REF=*.ISPPROF */ /* //ISPLOG DD SYSOUT=*,RECFM=FB,LRECL=121,DSN=&&ISPLOG */ /* */ /* BATCH mode - execute an in-line CLIST which uses REXXTRY */ /* to execute an in-line REXX exec */ /* */ /* //CLISTRX EXEC PGM=IKJEFT01 */ /* //STEPLIB DD DSN=CBTTAPE.FILE183.LOAD,DISP=SHR REXXTRY */ /* //SYSPROC DD DSN=CBTTAPE.FILE183.PDS,DISP=SHR EXECUTE */ /* //SYSTSPRT DD SYSOUT=* */ /* //SYSTSIN DD * */ /* %EXECUTE CLIST */ /* /* The CLIST starts here */ */ /* CONTROL LIST CONLIST /*CLIST*/ */ /* WRITE Start of the CLIST /*CLIST*/ */ /* REXXTRY A=1; /*REXX*/ + */ /* B=2; /*REXX*/ + */ /* UID=USERID(); /*REXX*/ + */ /* RETURN(A+B UID) /*REXX*/ */ /* WRITE LASTCC=&LASTCC RESULT='&RESULT' /*CLIST*/ */ /* EXIT CODE(&LASTCC) /*CLIST*/ */ /* */ /* OPERATION = see below */ /* */ /* EXECUTE can be executed from SYSPROC or SYSEXEC. */ /* */ /* EXECUTE creates a temporary data set, copies the in-stream */ /* commands into it, then issues the TSO EXEC command. */ /* EXECUTE processes the in-line commands as a CLIST except */ /* when (1) it is invoked with the EXEC key-word or (2) the */ /* REXX word appears in a comment on the first line. */ /* */ /* CHANGES = see below */ /* */ /* 200 New packaging for the CBT tape */ /* 201 Can be invoked as an EDIT macro */ /* 202 Add TRACE option */ /* 203 Add ISPF option */ /* 204 Change PULL to PARSE PULL to prevent conversion to uppercase */ /* */ /**********************************************************************/