Created On: 17 March 2011
Problem:
When you submit JCL to the internal reader using a REXX, the system changes the data set name by prefixing it with the username even though you have placed it within quotes.
For example ,when running this REXX exec
/* REXX */
.
.
.
ADDRESS TSO 'SUBMIT "USER.PROJECT.CNTL(JCL001)" '
.
Exit 0
you will receive this error message ..
DATA SET mfuser."USER.PROJECT.CNTL(JCL001)" NOT FOUND
For example ,when running this REXX exec
/* REXX */
.
.
.
ADDRESS TSO 'SUBMIT "USER.PROJECT.CNTL(JCL001)" '
.
Exit 0
you will receive this error message ..
DATA SET mfuser."USER.PROJECT.CNTL(JCL001)" NOT FOUND
Resolution:
You are using the single and double quote marks in the wrong place.
This syntax will run as expected..
/* REXX */
ADDRESS TSO "SUBMIT 'USER.PROJECT.CNTL(JCL001)' "
Exit 0
Note that the whole SUBMIT comand is double-quoted, the dataset name is single quoted inside the command. Although ,in REXX, single and double quotation marks can normally be freely interchanged; fully qualified data set names must be in single quotes. The failing syntax may appear to have run successfully on a mainframe, but this is affected by the setting of "TSO PREFIX/NOPREFIX".
This syntax will run as expected..
/* REXX */
ADDRESS TSO "SUBMIT 'USER.PROJECT.CNTL(JCL001)' "
Exit 0
Note that the whole SUBMIT comand is double-quoted, the dataset name is single quoted inside the command. Although ,in REXX, single and double quotation marks can normally be freely interchanged; fully qualified data set names must be in single quotes. The failing syntax may appear to have run successfully on a mainframe, but this is affected by the setting of "TSO PREFIX/NOPREFIX".
Incident #2467981
Old KB# 33700
#notfound
#EnterpriseDeveloper
#sub
#Submit
#MFDS
#REXX
#prefix