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

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".
Incident #2467981