IKJEFT01 is the mainframe utility program that allows TSO commands to be run under JCL. When a REXX EXEC is run under IKJEFT01,
the default host command environment is set to "TSO" by the REXX run-time system. This means that any external commands that
are specified in the EXEC will be passed to the TSO command processor for execution. For example:
/* REXX */
"lista"
exit 0
would cause the "lista" command to be executed by the TSO command processor and would result in the display of each of the
DD names allocated to the current job step being displayed.
When running under IKJEFT01, the EXEC may use the
ADDRESS instruction to specify alternative host command environments to be used for the execution of external commands. However,
Enterprise Server for .NET supports only the "TSO" and "MVS" host command environments. Attempting to use any other host command environment, normally
supported on the mainframe, will result in a return code of -3 being set, indicating that the command cannot be found. For
example:
/* REXX */
"lista" /* Will be executed by the TSO host command environment as "TSO" is the default */
address mvs /* Switches the current host command environment to "MVS" */
"execio * diskr datain (finis" /* Will be executed by the MVS host command environment */
address ispexec /* Switches the current host command environment to "ISPEXEC" */
"select service" /* Will result in the command completing with return code -3 */
exit 0
Example JCL used to run REXX under IKJEFT01:
//REXXTSO JOB 'IKJEFT01 REXX',CLASS=A,MSGCLASS=A
//*
//CREATE EXEC PGM=IEBGENER
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=A,HOLD=YES
//SYSUT2 DD DSN=&TEMPREX(REXTSO),DISP=(,PASS),
// SPACE=(CYL,(1,1,1)),UNIT=3390,
// DCB=(LRECL=80,RECFM=FB,DSORG=PO)
//SYSUT1 DD *
/* REXX */
trace all
"lista"
exit 0
/*
//RUN EXEC PGM=IKJEFT01,PARM='REXTSO'
//SYSEXEC DD DSN=&TEMPREX,DISP=(SHR,PASS)
//SYSTSPRT DD SYSOUT=A,HOLD=YES
//SYSTSIN DD DUMMY
//